begin migration to dendritic pattern
This commit is contained in:
153 files changed
+3352
-53
No files matched your search
@@ -0,0 +1,9 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.ly = { config, pkgs, ... }: {
|
||||
services.displayManager.ly = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.noctalia = { pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inputs.noctalia.packages.${system}.default
|
||||
];
|
||||
|
||||
programs.noctalia.enable = true;
|
||||
};
|
||||
|
||||
flake.homeModules.noctalia = { lib, pkgs, osConfig, ... }: {
|
||||
home.activation = {
|
||||
symlinkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.local/state/noctalia/settings.toml ]; then
|
||||
rm /home/grey/.local/state/noctalia/settings.toml
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/settings.toml /home/grey/.local/state/noctalia/settings.toml
|
||||
|
||||
if [ -d /home/grey/.local/state/noctalia/plugins ]; then
|
||||
rm -rf /home/grey/.local/state/noctalia/plugins
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/plugins /home/grey/.local/state/noctalia/plugins
|
||||
'';
|
||||
|
||||
copyNoctaliaConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.config/noctalia/settings.toml ]; then
|
||||
rm /home/grey/.config/noctalia/settings.toml
|
||||
fi
|
||||
cp ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/settings.toml /home/grey/.config/noctalia/settings.toml
|
||||
|
||||
if [ -d /home/grey/.config/noctalia/plugins ]; then
|
||||
rm -rf /home/grey/.config/noctalia/plugins
|
||||
fi
|
||||
cp -r ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/plugins /home/grey/.config/noctalia/plugins
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.niri = { config, pkgs, inputs, lib, ... }: {
|
||||
imports = with self.nixosModules; [
|
||||
nautilus
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
wl-clipboard
|
||||
libsecret
|
||||
cage
|
||||
wev
|
||||
qalculate-qt
|
||||
];
|
||||
|
||||
services.upower.enable = true;
|
||||
|
||||
services.udisks2.enable = true;
|
||||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
useNautilus = true;
|
||||
# override niri source to use https://github.com/niri-wm/niri/pull/3642
|
||||
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs:
|
||||
{
|
||||
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "niri-wm";
|
||||
repo = "niri";
|
||||
rev = "cb41d54703eef73883bb2be58e19bcf3715d777c";
|
||||
sha256 = "sha256-cLzTeMcCdQJ+kHGcOposjeheFyEG/tGOA1jFAORMHjI=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname src version;
|
||||
hash = finalAttrs.cargoHash;
|
||||
};
|
||||
}
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
flake.homeModules.niri = { lib, osConfig, ... }:
|
||||
{
|
||||
home.activation.symlinkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.config/niri/config.kdl ]; then
|
||||
rm /home/grey/.config/niri/config.kdl
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/niri.kdl /home/grey/.config/niri/config.kdl
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.desktopManager.gnome.enable = true;
|
||||
|
||||
# To disable installing GNOME's suite of applications
|
||||
# and only be left with GNOME shell.
|
||||
services.gnome = {
|
||||
core-apps.enable = true;
|
||||
core-developer-tools.enable = false;
|
||||
games.enable = false;
|
||||
gnome-browser-connector.enable = true;
|
||||
};
|
||||
|
||||
environment.gnome.excludePackages = with pkgs; [
|
||||
gnome-tour
|
||||
gnome-user-docs
|
||||
];
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.desktopManager.plasma6 = {
|
||||
enable = true;
|
||||
enableQt5Integration = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs.kdePackages; [
|
||||
kcalc
|
||||
];
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
konsole
|
||||
qrca
|
||||
discover
|
||||
];
|
||||
|
||||
services.displayManager.defaultSession = "plasma";
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.displayManager.gdm.enable = true;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.lightdm = {
|
||||
enable = true;
|
||||
greeters.gtk.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.displayManager.ly = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "grey";
|
||||
};
|
||||
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
enableHidpi = true;
|
||||
autoNumlock = true;
|
||||
|
||||
autoLogin.relogin = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ inputs, self, ...}: {
|
||||
imports = [
|
||||
inputs.home-manager.flakeModules.home-manager
|
||||
];
|
||||
|
||||
config.systems = [
|
||||
"x86_64-linux"
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.home-manager = { pkgs, ... }: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.global = { pkgs, config, ... }: {
|
||||
environment.systemPackages = [
|
||||
inputs.nh.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
flake = "/home/grey/nixos";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.stylix = { pkgs, ... }: {
|
||||
imports = [
|
||||
inputs.stylix.nixosModules.stylix
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.global = { pkgs, config, lib, ... }: {
|
||||
options = {
|
||||
info.rootPath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/grey/nixos";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
persistent = true;
|
||||
dates = "Sun 05:00";
|
||||
};
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
time.timeZone = "Europe/London";
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_GB.UTF-8";
|
||||
LC_IDENTIFICATION = "en_GB.UTF-8";
|
||||
LC_MEASUREMENT = "en_GB.UTF-8";
|
||||
LC_MONETARY = "en_GB.UTF-8";
|
||||
LC_NAME = "en_GB.UTF-8";
|
||||
LC_NUMERIC = "en_GB.UTF-8";
|
||||
LC_PAPER = "en_GB.UTF-8";
|
||||
LC_TELEPHONE = "en_GB.UTF-8";
|
||||
LC_TIME = "en_GB.UTF-8";
|
||||
};
|
||||
|
||||
services.xserver.xkb = {
|
||||
layout = "gb";
|
||||
variant = "";
|
||||
};
|
||||
console.keyMap = "uk";
|
||||
|
||||
users.users."grey" = {
|
||||
isNormalUser = true;
|
||||
description = "grey";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
fzf
|
||||
jq
|
||||
busybox
|
||||
ethtool
|
||||
wayland-utils
|
||||
mesa-demos
|
||||
vulkan-tools
|
||||
hyperfine
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
iosevka-comfy.comfy
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
|
||||
programs.nano = {
|
||||
enable = true;
|
||||
nanorc = ''
|
||||
set nowrap
|
||||
set tabstospaces
|
||||
set tabsize 2
|
||||
'';
|
||||
};
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = false;
|
||||
};
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake.homeModules.global = { config, pkgs, ... }: {
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
persistent = true;
|
||||
dates = "Sun 05:00";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
bibata-cursors
|
||||
x264
|
||||
speedtest-go
|
||||
gparted
|
||||
vlc
|
||||
];
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
lfs.enable = true;
|
||||
|
||||
settings = {
|
||||
user.name = "Grey Jones";
|
||||
user.email = "grey@greyweather.dev";
|
||||
};
|
||||
|
||||
signing = {
|
||||
format = "openpgp";
|
||||
key = "CC7388DF8E1890729921BCFF7C67C51C2FF524D9";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
settings = {
|
||||
"git.greyweather.dev" = {
|
||||
HostName = "git.greyweather.dev";
|
||||
Port = "222";
|
||||
User = "git";
|
||||
IdentityFile = "~/.ssh/id_gitea";
|
||||
};
|
||||
"github.com" = {
|
||||
HostName = "github.com";
|
||||
Port = 22;
|
||||
User = "git";
|
||||
IdentityFile = "~/.ssh/id_github";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.shell.enableBashIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inputs.home-manager.packages.${system}.default
|
||||
];
|
||||
|
||||
home-manager.backupFileExtension = "bak";
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{ inputs, self, ... }: {
|
||||
# flake.nixosModules.graphics =
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.kitagawa = { pkgs, lib, ... }: {
|
||||
programs.zsh.initContent = lib.mkOrder 1500 "fastfetch";
|
||||
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
logo = {
|
||||
type = "builtin";
|
||||
padding = {
|
||||
top = 1;
|
||||
left = 2;
|
||||
right = 2;
|
||||
};
|
||||
};
|
||||
|
||||
modules = [
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌────────────────── Software ──────────────────┐";
|
||||
}
|
||||
{
|
||||
type = "title";
|
||||
key = " Session";
|
||||
format = "{user-name}@{host-name}";
|
||||
}
|
||||
{
|
||||
type = "os";
|
||||
key = " Distro";
|
||||
format = "{pretty-name}";
|
||||
}
|
||||
{
|
||||
type = "host";
|
||||
key = " Device";
|
||||
format = "{version}";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = " Kernel";
|
||||
}
|
||||
{
|
||||
type = "shell";
|
||||
key = " Shell";
|
||||
}
|
||||
{
|
||||
type = "terminal";
|
||||
key = " Terminal";
|
||||
}
|
||||
{
|
||||
type = "wm";
|
||||
key = " WM";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└──────────────────────────────────────────────┘";
|
||||
}
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌────────────────── Hardware ──────────────────┐";
|
||||
}
|
||||
{
|
||||
type = "cpu";
|
||||
key = " CPU";
|
||||
format = "{name}";
|
||||
}
|
||||
{
|
||||
type = "memory";
|
||||
key = " RAM";
|
||||
percent = {
|
||||
green = 50;
|
||||
yellow = 80;
|
||||
type = 0;
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "swap";
|
||||
key = " Swap";
|
||||
percent = {
|
||||
green = 50;
|
||||
yellow = 80;
|
||||
type = 0;
|
||||
};
|
||||
separate = false;
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = " Disk";
|
||||
showRegular = true;
|
||||
showExternal = false;
|
||||
showHidden = false;
|
||||
showSubvolumes = false;
|
||||
showReadOnly = true;
|
||||
ShowUnknown = false;
|
||||
hideFolders = "/efi:/boot:/boot/*:/run/media/*";
|
||||
useAvailable = false;
|
||||
percent = {
|
||||
green = 50;
|
||||
yellow = 80;
|
||||
type = 0;
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "localip";
|
||||
key = " IP";
|
||||
showIpv4 = true;
|
||||
showIpv6 = false;
|
||||
showMac = false;
|
||||
showLoop = false;
|
||||
showPrefixLen = true;
|
||||
showMtu = false;
|
||||
showSpeed = false;
|
||||
showFlags = false;
|
||||
compact = false;
|
||||
defaultRouteOnly = true;
|
||||
showAllIps = false;
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└──────────────────────────────────────────────┘";
|
||||
}
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌──────────────── Age + Uptime ────────────────┐";
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = " OS Age";
|
||||
folders = "/";
|
||||
format = "{create-time:10} ({days} days)";
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = " Uptime";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└──────────────────────────────────────────────┘";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.kitagawa = { pkgs, config, lib, ... }: {
|
||||
programs.kitty = {
|
||||
font = lib.mkForce {
|
||||
name = "Iosevka Comfy";
|
||||
package = pkgs.iosevka-comfy.comfy;
|
||||
size = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.kitagawa = { config, pkgs, ... }: {
|
||||
programs.zsh.shellAliases = {
|
||||
wake-takamaki = "ssh sakamoto .local/bin/wake-takamaki";
|
||||
shutdown-takamaki = "ssh takamaki universal-shutdown";
|
||||
reboot-takamaki = "ssh takamaki universal-reboot";
|
||||
switch-takamaki-os = "ssh takamaki switch-os";
|
||||
apply-config = "zsh -c 'cd /home/grey/nixos; git add .; nh os switch .'";
|
||||
update-system = "zsh -c 'cd /home/grey/nixos; git add .; nh os switch -u .'";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosConfigurations.kitagawa = inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
self.nixosModules.kitagawa
|
||||
];
|
||||
};
|
||||
|
||||
flake.nixosModules.kitagawa = { config, pkgs, ... }: {
|
||||
system.stateVersion = "26.05";
|
||||
|
||||
networking.hostName = "kitagawa";
|
||||
|
||||
imports = with self.nixosModules; [
|
||||
global
|
||||
home-manager
|
||||
stylix
|
||||
ly
|
||||
niri
|
||||
noctalia
|
||||
zsh
|
||||
];
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "nixremote";
|
||||
systems = [ "x86_64-linux" "i686-linux" ];
|
||||
protocol = "ssh-ng";
|
||||
maxJobs = 250;
|
||||
speedFactor = 1000;
|
||||
supportedFeatures = [ "benchmark" "kvm" "big-parallel" ];
|
||||
}
|
||||
];
|
||||
|
||||
nix.distributedBuilds = true;
|
||||
nix.settings.builders-use-substitutes = true;
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.tailscale = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
github-desktop
|
||||
moonlight-qt
|
||||
];
|
||||
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
boot = {
|
||||
# Enable "Silent boot"
|
||||
consoleLogLevel = 3;
|
||||
initrd.verbose = false;
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"rd.udev.log_level=3"
|
||||
"rd.systemd.show_status=auto"
|
||||
];
|
||||
|
||||
loader.limine = {
|
||||
enable = true;
|
||||
maxGenerations = 10;
|
||||
};
|
||||
};
|
||||
|
||||
stylix.enable = true;
|
||||
stylix.image = ./wallpaper.jpg;
|
||||
stylix.polarity = "dark";
|
||||
|
||||
home-manager.users.grey = self.homeModules.kitagawa;
|
||||
};
|
||||
|
||||
flake.homeModules.kitagawa = { config, pkgs, inputs, lib, ... }: {
|
||||
home.stateVersion = "26.05";
|
||||
|
||||
imports = with self.homeModules; [
|
||||
global
|
||||
niri
|
||||
noctalia
|
||||
vscode
|
||||
kitty
|
||||
zsh
|
||||
floorp
|
||||
equibop
|
||||
spotify
|
||||
];
|
||||
|
||||
features.spicetify.enable = true;
|
||||
|
||||
/*
|
||||
imports = [
|
||||
#"${global-configs}/gnome.nix"
|
||||
#./configs/fetch.nix
|
||||
];
|
||||
*/
|
||||
|
||||
home.packages = with pkgs; [
|
||||
obsidian
|
||||
thunderbird
|
||||
jetbrains.clion
|
||||
jetbrains.idea
|
||||
proton-vpn
|
||||
ente-auth
|
||||
signal-desktop
|
||||
xarchiver
|
||||
kdePackages.filelight
|
||||
remmina
|
||||
freerdp
|
||||
loupe
|
||||
];
|
||||
|
||||
stylix.targets.floorp.profileNames = [ "default" ];
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
gtk3.bookmarks = [
|
||||
"file:///home/grey/nixos NixOS"
|
||||
"file:///home/grey/Downloads Downloads"
|
||||
"file:///home/grey/Documents Documents"
|
||||
"file:///home/grey/Pictures Pictures"
|
||||
"file:///home/grey/Music Music"
|
||||
"file:///home/grey/Videos Videos"
|
||||
"file:/// Root"
|
||||
];
|
||||
};
|
||||
|
||||
services.udiskie = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# workaround for
|
||||
# https://github.com/nix-community/home-manager/issues/632
|
||||
program_options = {
|
||||
# replace with your favorite file manager
|
||||
file_manager = "${pkgs.nautilus}/bin/nautilus";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
mimeApps.defaultApplications = {
|
||||
"x-scheme-handler/x-github-client" = [ "github-desktop.desktop" ];
|
||||
"x-scheme-handler/x-github-desktop-dev-auth" = [ "github-desktop.desktop" ];
|
||||
"x-scheme-handler/http" = [ "floorp.desktop" ];
|
||||
"text/html" = [ "floorp.desktop" ];
|
||||
"application/xhtml+xml" = [ "floorp.desktop" ];
|
||||
"x-scheme-handler/https" = [ "floorp.desktop" ];
|
||||
"text/calendar" = [ "thunderbird.desktop" ];
|
||||
};
|
||||
};
|
||||
|
||||
programs.ssh = {
|
||||
settings = {
|
||||
"takamaki" = {
|
||||
HostName = "greyweather.dev";
|
||||
Port = "2222";
|
||||
User = "grey";
|
||||
IdentityFile = "~/.ssh/id_takamaki";
|
||||
};
|
||||
"sakamoto" = {
|
||||
HostName = "greyweather.dev";
|
||||
Port = "22";
|
||||
User = "grey";
|
||||
IdentityFile = "~/.ssh/id_sakamoto";
|
||||
};
|
||||
"nixremote" = {
|
||||
HostName = "greyweather.dev";
|
||||
Port = "2222";
|
||||
User = "nixremote";
|
||||
IdentityFile = "~/.ssh/id_takamaki";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
home.activation = {
|
||||
linkRemminaPresets = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -d /home/grey/.local/share/remmina ]; then
|
||||
rm -rf /home/grey/.local/share/remmina
|
||||
fi
|
||||
ln -s /home/grey/nixos/assets/dotfiles/remmina-presets /home/grey/.local/share/remmina
|
||||
'';
|
||||
};
|
||||
*/
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.kitagawa = { config, lib, pkgs, modulesPath, ... }: {
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/b17296df-a72e-4b9d-a3b6-54fc0c97c685";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/b17296df-a72e-4b9d-a3b6-54fc0c97c685";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/b17296df-a72e-4b9d-a3b6-54fc0c97c685";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/68F7-4D8F";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/e85559e0-a039-4178-929a-8c5ec0328b64"; }
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.kitagawa = { pkgs, config, ... }: {
|
||||
systemd.sleep.settings.Sleep = {
|
||||
AllowSuspend = "no";
|
||||
AllowHibernation = "yes";
|
||||
};
|
||||
|
||||
services.logind.settings.Login.HandleLidSwitch = "ignore";
|
||||
|
||||
systemd.services.disable-lid-wakeup = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Prevent the lid switch from waking laptop from hibernation";
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = "root";
|
||||
ExecStart = "/bin/sh -c \"if [ \\\"$(cat /proc/acpi/wakeup | grep 'LID' | grep 'enabled')\\\" != \\\"\\\" ]; then echo LID > /proc/acpi/wakeup; fi\"";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.disable-tty-switch = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Prevent alt+arrow keys from switching tty";
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = "root";
|
||||
ExecStart = "/bin/sh -c \"${pkgs.kbd}/bin/dumpkeys -k|grep -v Incr_Console|grep -v Decr_Console|${pkgs.kbd}/bin/loadkeys\"";
|
||||
};
|
||||
};
|
||||
|
||||
services.fprintd.enable = true;
|
||||
|
||||
services.iio-niri.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.kitagawa = { pkgs, config, ... }:
|
||||
let
|
||||
plymouthTheme = "double";
|
||||
in {
|
||||
stylix.targets.plymouth.enable = false;
|
||||
|
||||
boot.plymouth = {
|
||||
enable = true;
|
||||
theme = plymouthTheme;
|
||||
themePackages = with pkgs; [
|
||||
(adi1090x-plymouth-themes.override {
|
||||
selected_themes = [ plymouthTheme ];
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
@@ -1,16 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
nautilus
|
||||
code-nautilus
|
||||
adwaita-icon-theme
|
||||
];
|
||||
|
||||
programs.nautilus-open-any-terminal = {
|
||||
enable = true;
|
||||
terminal = "kitty";
|
||||
};
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inputs.nh.packages.${system}.default
|
||||
];
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
flake = "/home/grey/nixos";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.equibop = { pkgs, lib, osConfig, ... }: {
|
||||
programs.equibop.enable = true;
|
||||
|
||||
home.activation = {
|
||||
linkEquibopConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.config/equibop/settings.json ]; then
|
||||
rm /home/grey/.config/equibop/settings.json
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/equibop/settings.json /home/grey/.config/equibop/settings.json
|
||||
|
||||
if [ -f /home/grey/.config/equibop/settings/settings.json ]; then
|
||||
rm /home/grey/.config/equibop/settings/settings.json
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/equibop/equicord-settings.json /home/grey/.config/equibop/settings/settings.json
|
||||
|
||||
if [ -f /home/grey/.config/equibop/settings/quickCss.css ]; then
|
||||
rm /home/grey/.config/equibop/settings/quickCss.css
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/equibop/quickCss.css /home/grey/.config/equibop/settings/quickCss.css
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.floorp = { pkgs, ... }:
|
||||
let
|
||||
firefox-addons = with pkgs; inputs.firefox-addons.packages.${system};
|
||||
in {
|
||||
programs.floorp = {
|
||||
enable = true;
|
||||
nativeMessagingHosts = [
|
||||
pkgs.firefoxpwa
|
||||
];
|
||||
policies = {
|
||||
AIControls.Default = {
|
||||
Value = "blocked";
|
||||
Locked = true;
|
||||
};
|
||||
AutofillAddressEnabled = false;
|
||||
AutofillCreditCardEnabled = false;
|
||||
DisableAppUpdate = true;
|
||||
DisableFeedbackCommands = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisablePocket = true;
|
||||
DisableTelemetry = true;
|
||||
NoDefaultBookmarks = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
};
|
||||
profiles.default = {
|
||||
extensions = {
|
||||
packages = with firefox-addons; [
|
||||
adnauseam
|
||||
bitwarden
|
||||
indie-wiki-buddy
|
||||
pwas-for-firefox
|
||||
gnome-shell-integration
|
||||
];
|
||||
|
||||
settings = {
|
||||
${firefox-addons.adnauseam.addonId} = {
|
||||
force = true;
|
||||
settings = {
|
||||
"firstInstall" = false;
|
||||
"hidingAds" = true;
|
||||
"clickingAds" = true;
|
||||
"blockingMalware" = true;
|
||||
"disableClickingForDNT" = true;
|
||||
"clickProbability" = 0.75;
|
||||
selectedFilterLists = [
|
||||
"user-filters"
|
||||
"adnauseam-filters"
|
||||
"eff-dnt-whitelist"
|
||||
"ublock-filters"
|
||||
"ublock-badware"
|
||||
"ublock-privacy"
|
||||
"ublock-quick-fixes"
|
||||
"ublock-unbreak"
|
||||
"easylist"
|
||||
"easyprivacy"
|
||||
"urlhaus-1"
|
||||
"fanboy-cookiemonster"
|
||||
"ublock-cookies-easylist"
|
||||
"adguard-cookies"
|
||||
"ublock-cookies-adguard"
|
||||
"fanboy-ai-suggestions"
|
||||
"easylist-chat"
|
||||
"easylist-newsletters"
|
||||
"easylist-notifications"
|
||||
"easylist-annoyances"
|
||||
"adguard-mobile-app-banners"
|
||||
"adguard-other-annoyances"
|
||||
"adguard-popup-overlays"
|
||||
"adguard-widgets"
|
||||
"ublock-annoyances"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
settings = {
|
||||
"signon.rememberSignons" = false;
|
||||
"signon.autofillForms" = false;
|
||||
"floorp.panelSidebar.enabled" = false;
|
||||
"floorp.workspaces.enabled" = false;
|
||||
"browser.toolbars.bookmarks.visibility" = "newtab";
|
||||
"floorp.browser.welcome.page.shown" = true;
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.adsfeed" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.weatherfeed" = false;
|
||||
"browser.newtabpage.activity-stream.newtabWallpapers.user.enabled" = true;
|
||||
"browser.newtabpage.activity-stream.widgets.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.discoverystream.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.newtabWallpapers.wallpaper" = "suspension-bridge";
|
||||
"floorp.design.configs" = {
|
||||
globalConfigs = {
|
||||
userInterface = "proton";
|
||||
uiCustomization = {
|
||||
qrCode.disableButton = true;
|
||||
disableFloorpStart = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
"ui.key.menuAccessKeyFocuses" = false;
|
||||
"floorp.keyboardshortcut.enabled" = true;
|
||||
"floorp.keyboardshortcut.config" = {
|
||||
enabled = true;
|
||||
shortcuts = {
|
||||
gecko-close-tab = {
|
||||
modifiers = {
|
||||
alt = true;
|
||||
ctrl = false;
|
||||
meta = false;
|
||||
shift = false;
|
||||
};
|
||||
key = "Q";
|
||||
action = "gecko-close-tab";
|
||||
};
|
||||
gecko-open-new-tab = {
|
||||
modifiers = {
|
||||
alt = true;
|
||||
ctrl = false;
|
||||
meta = false;
|
||||
shift = false;
|
||||
};
|
||||
key = "Enter";
|
||||
action = "gecko-open-new-tab";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
search = {
|
||||
force = true;
|
||||
default = "ddg-noai";
|
||||
engines = {
|
||||
ddg-noai = {
|
||||
name = "DuckDuckGo No-AI";
|
||||
urls = [
|
||||
{
|
||||
template = "https://noai.duckduckgo.com/?q={searchTerms}";
|
||||
}
|
||||
];
|
||||
icon = "https://duckduckgo.com/favicon.ico";
|
||||
definedAliases = ["@noai"];
|
||||
};
|
||||
nixpkgs = {
|
||||
name = "nixpkgs packages";
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages?query={searchTerms}";
|
||||
}
|
||||
];
|
||||
icon = "https://wiki.nixos.org/favicon.ico";
|
||||
definedAliases = ["@np"];
|
||||
};
|
||||
nixos-options = {
|
||||
name = "NixOS options";
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/options?query={searchTerms}";
|
||||
}
|
||||
];
|
||||
icon = "https://wiki.nixos.org/favicon.ico";
|
||||
definedAliases = ["@no"];
|
||||
};
|
||||
nixos-wiki = {
|
||||
name = "NixOS Wiki";
|
||||
urls = [
|
||||
{
|
||||
template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
|
||||
}
|
||||
];
|
||||
icon = "https://wiki.nixos.org/favicon.ico";
|
||||
definedAliases = ["@nw"];
|
||||
};
|
||||
noogle = {
|
||||
name = "Noogle";
|
||||
urls = [
|
||||
{
|
||||
template = "https://noogle.dev/q/?term={searchTerms}";
|
||||
}
|
||||
];
|
||||
icon = "https://noogle.dev/favicon.ico";
|
||||
definedAliases = ["@ng"];
|
||||
};
|
||||
arch-wiki = {
|
||||
name = "ArchWiki";
|
||||
urls = [
|
||||
{
|
||||
template = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
||||
}
|
||||
];
|
||||
icon = "https://wiki.archlinux.org/favicon.ico";
|
||||
definedAliases = ["@aw"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.kitty = { pkgs, ... }: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
shellIntegration.enableBashIntegration = true;
|
||||
enableGitIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.nautilus = { pkgs, config, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
nautilus
|
||||
code-nautilus
|
||||
adwaita-icon-theme
|
||||
];
|
||||
|
||||
programs.nautilus-open-any-terminal = {
|
||||
enable = true;
|
||||
terminal = "kitty";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.spotify = { pkgs, config, lib, ... }: {
|
||||
imports = [
|
||||
inputs.spicetify.homeManagerModules.default
|
||||
];
|
||||
|
||||
options = {
|
||||
features.spicetify.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
home.packages = with pkgs; lib.mkIf (config.features.spicetify.enable == false) [
|
||||
spotfify
|
||||
];
|
||||
|
||||
programs.spicetify =
|
||||
let
|
||||
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
||||
in lib.mkIf (config.features.spicetify.enable) {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
hidePodcasts
|
||||
];
|
||||
enabledSnippets = with spicePkgs.snippets; [
|
||||
spinningCdCoverArt
|
||||
oneko
|
||||
hideMiniPlayerButton
|
||||
hideFullScreenButton
|
||||
declutterNowPlayingBar
|
||||
modernScrollbar
|
||||
];
|
||||
enabledCustomApps = with spicePkgs.apps; [
|
||||
# marketplace
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.homeModules.vscode = { osConfig, pkgs, lib, ... }: {
|
||||
home.packages = [ pkgs.vscode ];
|
||||
|
||||
home.activation = {
|
||||
linkVsCodeConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.config/Code/User/settings.json ]; then
|
||||
rm /home/grey/.config/Code/User/settings.json
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/global/vscode/settings.json /home/grey/.config/Code/User/settings.json
|
||||
|
||||
if [ -f /home/grey/.config/Code/User/keybindings.json ]; then
|
||||
rm /home/grey/.config/Code/User/keybindings.json
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/global/vscode/keybindings.json /home/grey/.config/Code/User/keybindings.json
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.zsh = { config, pkgs, ... }: {
|
||||
programs.zsh.enable = true;
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
users.users."grey".shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
flake.homeModules.zsh = { pkgs, ... }: {
|
||||
home.shell.enableZshIntegration = true;
|
||||
|
||||
programs.kitty.shellIntegration.enableZshIntegration = true;
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
completionInit = "";
|
||||
antidote = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"getantidote/use-omz"
|
||||
"ohmyzsh/ohmyzsh path:lib"
|
||||
"ohmyzsh/ohmyzsh path:plugins/command-not-found"
|
||||
"ohmyzsh/ohmyzsh path:themes/nanotech.zsh-theme"
|
||||
"zsh-users/zsh-autosuggestions"
|
||||
"zdharma-continuum/fast-syntax-highlighting"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inputs.noctalia.packages.${system}.default
|
||||
xdg-desktop-portal-gnome
|
||||
wl-clipboard
|
||||
libsecret
|
||||
cage
|
||||
wev
|
||||
];
|
||||
|
||||
services.upower.enable = true;
|
||||
|
||||
services.udisks2.enable = true;
|
||||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
useNautilus = true;
|
||||
# override niri source to use https://github.com/niri-wm/niri/pull/3642
|
||||
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs:
|
||||
{
|
||||
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "niri-wm";
|
||||
repo = "niri";
|
||||
rev = "cb41d54703eef73883bb2be58e19bcf3715d777c";
|
||||
sha256 = "sha256-cLzTeMcCdQJ+kHGcOposjeheFyEG/tGOA1jFAORMHjI=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname src version;
|
||||
hash = finalAttrs.cargoHash;
|
||||
};
|
||||
}
|
||||
));
|
||||
};
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.zsh.enable = true;
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
users.users."grey".shell = pkgs.zsh;
|
||||
}
|
||||
Reference in new issue
Block a user