From f182b2418aaca670b95027ccf708bc3a6312a0cd Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 17:37:12 +0100 Subject: [PATCH 01/15] feature(argon): add config for argon --- flake.nix | 17 +++++++++++ hosts/argon/configuration.nix | 26 +++++++++++++++++ hosts/argon/hardware-configuration.nix | 39 ++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 hosts/argon/configuration.nix create mode 100644 hosts/argon/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 43a080d..9683f2f 100644 --- a/flake.nix +++ b/flake.nix @@ -53,6 +53,23 @@ } ]; }; + + argon = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + ./hosts/argon/hardware-configuration.nix + ./hosts/argon/configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.aaron.imports = [ + nixvim.homeModules.nixvim + ./users/aaron/home.nix + ]; + } + ]; + }; }; }; } diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix new file mode 100644 index 0000000..e06071b --- /dev/null +++ b/hosts/argon/configuration.nix @@ -0,0 +1,26 @@ +{ config, pkgs, inputs, ... }: + +{ + imports = [ + ../../modules/nixos/audio.nix + ../../modules/nixos/bootloader.nix + ../../modules/nixos/certificates.nix + ../../modules/nixos/docker.nix + ../../modules/nixos/gnupg.nix + ../../modules/nixos/locales.nix + ../../modules/nixos/networking.nix + ../../modules/nixos/niri.nix + ../../modules/nixos/noctalia.nix + ../../modules/nixos/openssh.nix + ../../modules/nixos/packages.nix + ../../modules/nixos/sddm.nix + ../../modules/nixos/services.nix + ../../modules/nixos/settings.nix + ../../modules/nixos/steam.nix + ../../modules/nixos/users.nix + ]; + + # install state version + system.stateVersion = "25.11"; # Don't change +} + diff --git a/hosts/argon/hardware-configuration.nix b/hosts/argon/hardware-configuration.nix new file mode 100644 index 0000000..8518772 --- /dev/null +++ b/hosts/argon/hardware-configuration.nix @@ -0,0 +1,39 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ "dm-crypt dm-mod" ]; + boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-label/nixcrypt"; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/mapper/lvmroot-root"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/AC1C-20EB"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + fileSystems."/home" = + { device = "/dev/mapper/lvmroot-home"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/mapper/lvmroot-swap"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} -- 2.47.3 From 6a132670e22d1c6dcfc3d2de22295d5698dc5f82 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 17:38:00 +0100 Subject: [PATCH 02/15] fix(hostnames): move hostname to configuration.nix --- hosts/argon/configuration.nix | 5 ++++- hosts/neon/configuration.nix | 3 +++ modules/home-manager/shell.nix | 2 +- modules/nixos/networking.nix | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix index e06071b..03b2aed 100644 --- a/hosts/argon/configuration.nix +++ b/hosts/argon/configuration.nix @@ -5,7 +5,7 @@ ../../modules/nixos/audio.nix ../../modules/nixos/bootloader.nix ../../modules/nixos/certificates.nix - ../../modules/nixos/docker.nix + #../../modules/nixos/docker.nix ../../modules/nixos/gnupg.nix ../../modules/nixos/locales.nix ../../modules/nixos/networking.nix @@ -20,6 +20,9 @@ ../../modules/nixos/users.nix ]; + # set hostname + networking.hostName = "argon"; + # install state version system.stateVersion = "25.11"; # Don't change } diff --git a/hosts/neon/configuration.nix b/hosts/neon/configuration.nix index e06071b..458c32f 100644 --- a/hosts/neon/configuration.nix +++ b/hosts/neon/configuration.nix @@ -20,6 +20,9 @@ ../../modules/nixos/users.nix ]; + # set hostname + networking.hostName = "neon"; + # install state version system.stateVersion = "25.11"; # Don't change } diff --git a/modules/home-manager/shell.nix b/modules/home-manager/shell.nix index 4ca04ec..fad41cf 100644 --- a/modules/home-manager/shell.nix +++ b/modules/home-manager/shell.nix @@ -7,7 +7,7 @@ syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; - theme = "agnoster"; + theme = "gentoo"; #plugins = [ "git" "ssh-agent" ]; }; }; diff --git a/modules/nixos/networking.nix b/modules/nixos/networking.nix index 2c2fde1..c393e35 100644 --- a/modules/nixos/networking.nix +++ b/modules/nixos/networking.nix @@ -1,8 +1,8 @@ { config, lib, pkgs, ... }: { - # set hostnname - networking.hostName = "neon"; + ## set hostnname + #networking.hostName = "neon"; # user networkmanager networking.networkmanager.enable = true; -- 2.47.3 From 7566d0d1ef23d52e5025c46b8c7c981c330a2db1 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 20:50:50 +0100 Subject: [PATCH 03/15] fix(graphics): explicitly add graphics accelleration --- hosts/argon/configuration.nix | 2 +- modules/nixos/graphics.nix | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/graphics.nix diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix index 03b2aed..9ed142c 100644 --- a/hosts/argon/configuration.nix +++ b/hosts/argon/configuration.nix @@ -5,8 +5,8 @@ ../../modules/nixos/audio.nix ../../modules/nixos/bootloader.nix ../../modules/nixos/certificates.nix - #../../modules/nixos/docker.nix ../../modules/nixos/gnupg.nix + ../../modules/nixos/graphics.nix ../../modules/nixos/locales.nix ../../modules/nixos/networking.nix ../../modules/nixos/niri.nix diff --git a/modules/nixos/graphics.nix b/modules/nixos/graphics.nix new file mode 100644 index 0000000..4eb9fa5 --- /dev/null +++ b/modules/nixos/graphics.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + # enable GPU acceleration (mesa, vulkan, egl) + hardware.graphics = { + enable = true; + enable32Bit = true; + }; +} -- 2.47.3 From 404868aa85fca77ef0dfd774222575127891aa3d Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 20:52:19 +0100 Subject: [PATCH 04/15] refactor(shell): remove omz config from users file and add to home-manager --- modules/home-manager/ghostty.nix | 4 ++-- modules/home-manager/shell.nix | 4 ++-- modules/nixos/users.nix | 5 ----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/modules/home-manager/ghostty.nix b/modules/home-manager/ghostty.nix index 65436bd..d71c719 100644 --- a/modules/home-manager/ghostty.nix +++ b/modules/home-manager/ghostty.nix @@ -7,9 +7,9 @@ clipboard-paste-protection = false; clipboard-read = "allow"; font-family = "0xProto Nerd Font Mono"; - font-size = 9; + font-size = 12; gtk-titlebar = false; - scrollback-limit = 10000; + scrollback-limit = 100000; shell-integration = "zsh"; theme = "noctalia"; # generated by noctalia-shell window-decoration = "auto"; diff --git a/modules/home-manager/shell.nix b/modules/home-manager/shell.nix index fad41cf..1e141f3 100644 --- a/modules/home-manager/shell.nix +++ b/modules/home-manager/shell.nix @@ -7,8 +7,8 @@ syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; - theme = "gentoo"; - #plugins = [ "git" "ssh-agent" ]; + theme = "agnoster"; + plugins = [ "git" "ssh-agent" "gpg-agent" ]; }; }; diff --git a/modules/nixos/users.nix b/modules/nixos/users.nix index 305806e..3cd98a3 100644 --- a/modules/nixos/users.nix +++ b/modules/nixos/users.nix @@ -14,10 +14,5 @@ enable = true; enableCompletion = true; autosuggestions.enable = true; - ohMyZsh = { - enable = true; - plugins = [ "git" "sudo" ]; - theme = "gentoo"; - }; }; } -- 2.47.3 From d60bdd124591461f0ff050d932b08bbb697c16f5 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 20:52:51 +0100 Subject: [PATCH 05/15] fix(noctalia): add quickshell since it is a dependency of noctalia --- modules/nixos/noctalia.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nixos/noctalia.nix b/modules/nixos/noctalia.nix index f280cd8..73f2796 100644 --- a/modules/nixos/noctalia.nix +++ b/modules/nixos/noctalia.nix @@ -8,5 +8,6 @@ adwaita-qt6 brightnessctl playerctl + quickshell ]; } -- 2.47.3 From a0fd1e92641aa84f9bdbd6e1e9bdc3ae946df6e2 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 20:53:40 +0100 Subject: [PATCH 06/15] feature(drives): add encrypted drives for argon --- hosts/argon/configuration.nix | 1 + modules/nixos/drives.nix | 48 +++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 modules/nixos/drives.nix diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix index 9ed142c..5035aad 100644 --- a/hosts/argon/configuration.nix +++ b/hosts/argon/configuration.nix @@ -5,6 +5,7 @@ ../../modules/nixos/audio.nix ../../modules/nixos/bootloader.nix ../../modules/nixos/certificates.nix + ../../modules/nixos/drives.nix ../../modules/nixos/gnupg.nix ../../modules/nixos/graphics.nix ../../modules/nixos/locales.nix diff --git a/modules/nixos/drives.nix b/modules/nixos/drives.nix new file mode 100644 index 0000000..1afc77e --- /dev/null +++ b/modules/nixos/drives.nix @@ -0,0 +1,48 @@ +{ config, lib, pkgs, ... }: + +{ + # decrypt data drives with keyfiles + boot.initrd.luks.devices = { + "data1" = { + device = "/dev/disk/by-uuid/dfae62cc-bad1-4879-bf9a-461bde833625"; + keyFile = "/etc/nixos/keys/data1.key"; + fallbackToPassword = true; + }; + "data2" = { + device = "/dev/disk/by-uuid/8312edae-9247-481b-a313-52a7f848f027"; + keyFile = "/etc/nixos/keys/data2.key"; + fallbackToPassword = true; + }; + "nvmecache" = { + device = "/dev/disk/by-uuid/2352250e-4ebe-4f9a-bf66-0d4aaa961bd8"; + keyFile = "/etc/nixos/keys/nvmecache.key"; + fallbackToPassword = true; + }; + }; + + # copy keyfiles into initrd to make them available during early boot + boot.initrd.secrets = { + "/etc/nixos/keys/data1.key" = "/etc/nixos/keys/data1.key"; + "/etc/nixos/keys/data2.key" = "/etc/nixos/keys/data2.key"; + "/etc/nixos/keys/nvmecache.key" = "/etc/nixos/keys/nvmecache.key"; + }; + + # mount decrypted filesystems + fileSystems."/mnt/data1" = { + device = "/dev/mapper/data1"; + fsType = "ext4"; + options = [ "nofail" ]; + }; + + fileSystems."/mnt/data2" = { + device = "/dev/mapper/data2"; + fsType = "ext4"; + options = [ "nofail" ]; + }; + + fileSystems."/mnt/nvmecache" = { + device = "/dev/mapper/nvmecache"; + fsType = "ext4"; + options = [ "nofail" ]; + }; +} -- 2.47.3 From 8cdcb1561853819579f5180377228eab0c8457b2 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 21:23:34 +0100 Subject: [PATCH 07/15] fix(drives): remove password fallback --- modules/nixos/drives.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/nixos/drives.nix b/modules/nixos/drives.nix index 1afc77e..dce4353 100644 --- a/modules/nixos/drives.nix +++ b/modules/nixos/drives.nix @@ -1,22 +1,19 @@ { config, lib, pkgs, ... }: { - # decrypt data drives with keyfiles + # decrypt data drives with keyfiles for argon boot.initrd.luks.devices = { "data1" = { device = "/dev/disk/by-uuid/dfae62cc-bad1-4879-bf9a-461bde833625"; keyFile = "/etc/nixos/keys/data1.key"; - fallbackToPassword = true; }; "data2" = { device = "/dev/disk/by-uuid/8312edae-9247-481b-a313-52a7f848f027"; keyFile = "/etc/nixos/keys/data2.key"; - fallbackToPassword = true; }; "nvmecache" = { device = "/dev/disk/by-uuid/2352250e-4ebe-4f9a-bf66-0d4aaa961bd8"; keyFile = "/etc/nixos/keys/nvmecache.key"; - fallbackToPassword = true; }; }; -- 2.47.3 From d7a08c25716e0838f4ace2e6b507cbfcc2f1ea09 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 21:36:10 +0100 Subject: [PATCH 08/15] feature(protonvpn): add protonvpn nix module --- hosts/argon/configuration.nix | 1 + modules/nixos/protonvpn.nix | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 modules/nixos/protonvpn.nix diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix index 5035aad..8431291 100644 --- a/hosts/argon/configuration.nix +++ b/hosts/argon/configuration.nix @@ -14,6 +14,7 @@ ../../modules/nixos/noctalia.nix ../../modules/nixos/openssh.nix ../../modules/nixos/packages.nix + ../../modules/nixos/protonvpn.nix ../../modules/nixos/sddm.nix ../../modules/nixos/services.nix ../../modules/nixos/settings.nix diff --git a/modules/nixos/protonvpn.nix b/modules/nixos/protonvpn.nix new file mode 100644 index 0000000..19e8af8 --- /dev/null +++ b/modules/nixos/protonvpn.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + networking.firewall.checkReversePath = false; + environment.systemPackages = with pkgs; [ + wireguard-tools + protonvpn-gui + ]; +} -- 2.47.3 From afd3113cf30205c34a2f30dfbc6ce12d0489b0ef Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 21:50:46 +0100 Subject: [PATCH 09/15] feature(graphics): add amdgpu to the initrd --- modules/nixos/graphics.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/nixos/graphics.nix b/modules/nixos/graphics.nix index 4eb9fa5..cfa9407 100644 --- a/modules/nixos/graphics.nix +++ b/modules/nixos/graphics.nix @@ -5,5 +5,10 @@ hardware.graphics = { enable = true; enable32Bit = true; + extraPackages = with pkgs; [ + ]; }; + + # sets boot.initrd.kernelModules = amdgpu + hardware.amdgpu.initrd.enable = true; } -- 2.47.3 From 16ea94e160c720685e02fe23afae87b71f17c8a5 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 21:58:36 +0100 Subject: [PATCH 10/15] feature(graphics): add amdgpu_top to the default pkgs --- modules/nixos/graphics.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/nixos/graphics.nix b/modules/nixos/graphics.nix index cfa9407..2f7e1e6 100644 --- a/modules/nixos/graphics.nix +++ b/modules/nixos/graphics.nix @@ -1,11 +1,12 @@ { config, lib, pkgs, ... }: { - # enable GPU acceleration (mesa, vulkan, egl) + # enable amd GPU acceleration (mesa, vulkan, egl) hardware.graphics = { enable = true; enable32Bit = true; extraPackages = with pkgs; [ + amdgpu_top ]; }; -- 2.47.3 From e4674e5828f9dc9c25b7a49d03d8ec302d8a2268 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 21:58:56 +0100 Subject: [PATCH 11/15] refactor(networking): remove general hostname --- modules/nixos/networking.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/nixos/networking.nix b/modules/nixos/networking.nix index c393e35..8f91a18 100644 --- a/modules/nixos/networking.nix +++ b/modules/nixos/networking.nix @@ -1,9 +1,6 @@ { config, lib, pkgs, ... }: { - ## set hostnname - #networking.hostName = "neon"; - # user networkmanager networking.networkmanager.enable = true; -- 2.47.3 From 80638a920bc291b5fdab7190a431e35f659368af Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 5 Mar 2026 22:15:56 +0100 Subject: [PATCH 12/15] feature(greeter): replace sddm with greetd since sddm has issues with rdna4 --- hosts/argon/configuration.nix | 2 +- modules/nixos/greetd.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/greetd.nix diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix index 8431291..386e2a0 100644 --- a/hosts/argon/configuration.nix +++ b/hosts/argon/configuration.nix @@ -8,6 +8,7 @@ ../../modules/nixos/drives.nix ../../modules/nixos/gnupg.nix ../../modules/nixos/graphics.nix + ../../modules/nixos/greetd.nix ../../modules/nixos/locales.nix ../../modules/nixos/networking.nix ../../modules/nixos/niri.nix @@ -15,7 +16,6 @@ ../../modules/nixos/openssh.nix ../../modules/nixos/packages.nix ../../modules/nixos/protonvpn.nix - ../../modules/nixos/sddm.nix ../../modules/nixos/services.nix ../../modules/nixos/settings.nix ../../modules/nixos/steam.nix diff --git a/modules/nixos/greetd.nix b/modules/nixos/greetd.nix new file mode 100644 index 0000000..a5000b3 --- /dev/null +++ b/modules/nixos/greetd.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +{ + # greetd display manager with tuigreet + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd niri-session"; + user = "greeter"; + }; + }; + }; +} -- 2.47.3 From 53c2cf1a63ddbf7397661fa18f2e9062d3eaccf3 Mon Sep 17 00:00:00 2001 From: aaron Date: Fri, 6 Mar 2026 18:16:40 +0100 Subject: [PATCH 13/15] refactor(graphics): add amdgpu_top to systempackages --- modules/nixos/graphics.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/nixos/graphics.nix b/modules/nixos/graphics.nix index 2f7e1e6..668a0e9 100644 --- a/modules/nixos/graphics.nix +++ b/modules/nixos/graphics.nix @@ -5,11 +5,13 @@ hardware.graphics = { enable = true; enable32Bit = true; - extraPackages = with pkgs; [ - amdgpu_top - ]; }; + + # install amdgpu_top + environment.systemPackages = with pkgs; [ + amdgpu_top + ]; - # sets boot.initrd.kernelModules = amdgpu + # add amdgpu to the initrd for plymouth hardware.amdgpu.initrd.enable = true; } -- 2.47.3 From bd6546263b34d1efc9caea78958ec342b3cf6e4d Mon Sep 17 00:00:00 2001 From: aaron Date: Fri, 6 Mar 2026 18:25:28 +0100 Subject: [PATCH 14/15] refactor(greetd): rename package to omit warning --- modules/nixos/greetd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nixos/greetd.nix b/modules/nixos/greetd.nix index a5000b3..cca87ec 100644 --- a/modules/nixos/greetd.nix +++ b/modules/nixos/greetd.nix @@ -6,7 +6,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd niri-session"; + command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session"; user = "greeter"; }; }; -- 2.47.3 From 9b02617698054a610436062d2ef0ab4845092375 Mon Sep 17 00:00:00 2001 From: aaron Date: Fri, 6 Mar 2026 18:34:15 +0100 Subject: [PATCH 15/15] refactor(drives): add disclaimer and change order --- modules/nixos/drives.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/nixos/drives.nix b/modules/nixos/drives.nix index dce4353..6cc1df2 100644 --- a/modules/nixos/drives.nix +++ b/modules/nixos/drives.nix @@ -1,6 +1,15 @@ { config, lib, pkgs, ... }: +# Add encrypted drives to argon + { + # copy keyfiles into initrd to make them available during early boot + boot.initrd.secrets = { + "/etc/nixos/keys/data1.key" = "/etc/nixos/keys/data1.key"; + "/etc/nixos/keys/data2.key" = "/etc/nixos/keys/data2.key"; + "/etc/nixos/keys/nvmecache.key" = "/etc/nixos/keys/nvmecache.key"; + }; + # decrypt data drives with keyfiles for argon boot.initrd.luks.devices = { "data1" = { @@ -17,13 +26,6 @@ }; }; - # copy keyfiles into initrd to make them available during early boot - boot.initrd.secrets = { - "/etc/nixos/keys/data1.key" = "/etc/nixos/keys/data1.key"; - "/etc/nixos/keys/data2.key" = "/etc/nixos/keys/data2.key"; - "/etc/nixos/keys/nvmecache.key" = "/etc/nixos/keys/nvmecache.key"; - }; - # mount decrypted filesystems fileSystems."/mnt/data1" = { device = "/dev/mapper/data1"; -- 2.47.3