From d326c448571f39a9409c473410522b5f4e11630e Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 00:40:06 +0200 Subject: [PATCH 01/11] Use regreet and playmouth --- modules/nixos/roles/desktop/hyprland.nix | 83 ++++++++++++++++++++---- 1 file changed, 72 insertions(+), 11 deletions(-) diff --git a/modules/nixos/roles/desktop/hyprland.nix b/modules/nixos/roles/desktop/hyprland.nix index c9d854f1..8cc9f19b 100644 --- a/modules/nixos/roles/desktop/hyprland.nix +++ b/modules/nixos/roles/desktop/hyprland.nix @@ -6,26 +6,87 @@ }: let cfg = config.hostConfig.roles.desktop; + catppuccinFlavor = "mocha"; + catppuccinAccent = "mauve"; + cursorTheme = { + name = "catppuccin-${catppuccinFlavor}-${catppuccinAccent}-cursors"; + package = pkgs.catppuccin-cursors.mochaMauve; + }; + gtkTheme = { + name = "Catppuccin-GTK-Mauve-Dark"; + package = pkgs.magnetic-catppuccin-gtk.override { + tweaks = [ "black" ]; + accent = [ catppuccinAccent ]; + }; + }; in { config = lib.mkIf cfg { - programs.hyprland = { + boot.plymouth.enable = true; + + catppuccin = { enable = true; - withUWSM = false; + autoEnable = true; + flavor = catppuccinFlavor; + accent = catppuccinAccent; + + cursors.enable = true; + plymouth.enable = true; + tty.enable = true; }; - programs.niri.enable = true; + programs = { + hyprland = { + enable = true; + withUWSM = false; + }; + + niri.enable = true; + + regreet = { + enable = true; + + theme = gtkTheme; + + font = { + name = "CaskaydiaCove Nerd Font"; + package = pkgs.nerd-fonts.caskaydia-cove; + size = 15; + }; + + inherit cursorTheme; + + settings = { + background = { + path = ../../../../extra/wallpapers/minimal-space.jpg; + fit = "Cover"; + }; + + GTK.application_prefer_dark_theme = true; + }; + + extraCss = '' + window { + background-color: rgba(17, 17, 27, 0.92); + } + + box#body { + background-color: rgba(24, 24, 37, 0.78); + border: 1px solid rgba(203, 166, 247, 0.35); + border-radius: 12px; + padding: 32px; + } + + button { + border-radius: 8px; + } + ''; + }; + }; services.greetd = { enable = true; - - settings.default_session.command = '' - ${pkgs.tuigreet}/bin/tuigreet \ - --time \ - --remember \ - --theme 'border=magenta;text=cyan;prompt=green;time=red;action=blue;button=yellow;container=black;input=red' \ - --cmd start-hyprland - ''; + greeterManagesPlymouth = true; }; }; } From 3b123cc14446184b79d5013d2e43e3445fe40798 Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 00:58:52 +0200 Subject: [PATCH 02/11] Flake update --- README.md | 6 +- flake.lock | 92 +++++++++++------------ modules/home/browsers/firefox/default.nix | 2 + 3 files changed, 51 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index b5bdfb25..a113cc32 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,9 @@ nh home switch -c nix@firefly . # nix build installer iso nix build .#nixosConfigurations.vinox.config.system.build.isoImage -# nh remote switch -nh os switch --hostname kubex . -d always --target-host kubex -nh os switch --hostname nixberry . -d always --target-host +# nh remote switch / update +nh os boot --hostname kubex . -d always --target-host kubex +nh os boot --hostname nixberry . -d always --target-host # nix remote switch nixos-rebuild switch --flake .#kubex --target-host 192.168.55.10 --sudo diff --git a/flake.lock b/flake.lock index e54688b8..e76881c2 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1778857089, - "narHash": "sha256-TclWRW2SdFeETLaiTG4BA8C8C4m/LppQEldncqyTzAQ=", + "lastModified": 1780756231, + "narHash": "sha256-tXQxKdG5716uB9/LIkLQqQwHKf5mRSpHoZhz3lyI2Cg=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "ab2b0af63fbc9fb779d684f19149b790978be8a8", + "rev": "6ecde03f47172753fe5a2f334f9d3facfb7e6784", "type": "github" }, "original": { @@ -38,11 +38,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1780833533, - "narHash": "sha256-0StMUC1sOkiQq7qoLQpobwVlad09EA5cy7HZit172Fw=", + "lastModified": 1782117778, + "narHash": "sha256-x6vIJpJziw3Hs0JKKDP+AeRPWwqyMDOmK6I26tqbYj4=", "owner": "catppuccin", "repo": "nix", - "rev": "4dd4177dc14b0c0b23bf3ce403f813be0c4c30de", + "rev": "e98afe2dfd950bda4e6a8ef32bb563ec2f04505a", "type": "github" }, "original": { @@ -58,11 +58,11 @@ ] }, "locked": { - "lastModified": 1780290312, - "narHash": "sha256-eTAlX0CwgB84Ts3GaBd944A3DRXVMzgA0EqroZBISUo=", + "lastModified": 1781152676, + "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", "owner": "nix-community", "repo": "disko", - "rev": "115e5211780054d8a890b41f0b7734cafad54dfe", + "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", "type": "github" }, "original": { @@ -252,11 +252,11 @@ ] }, "locked": { - "lastModified": 1780679734, - "narHash": "sha256-KmRNvpNOb7QEORa06bVgjW9kITcx0VhsI7w0vhmZyD8=", + "lastModified": 1782233665, + "narHash": "sha256-h/xOtrByoA/Ak1lWHn0O1lVZz4qWYbwOSLQ8YSwQO0I=", "owner": "nix-community", "repo": "home-manager", - "rev": "b2b7db486e06e098711dc291bb25db82850e1d16", + "rev": "062581938b4a378a82dfbb294b494808157153a1", "type": "github" }, "original": { @@ -342,11 +342,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1780768552, - "narHash": "sha256-J2gBzBBE9C6LMMJec8buysLAQl7QmqtP/oMrPfVioYc=", + "lastModified": 1782226626, + "narHash": "sha256-aFkQmqXUPXzV117P853JKe6s/pzohzxZSjzCs9Pw9fc=", "owner": "hyprwm", "repo": "hyprland", - "rev": "20ee7553c95dd1fa30a00564561f40f7986ffbc7", + "rev": "049595e196db4a4ab162ce58aadd016e929327c8", "type": "github" }, "original": { @@ -519,11 +519,11 @@ ] }, "locked": { - "lastModified": 1779475241, - "narHash": "sha256-Nw4DN0A5krWNcPBvuWe5Gz2yuxsUUPiDgtu6SVPJQeU=", + "lastModified": 1780251518, + "narHash": "sha256-fG9xbb1SOAAJ+2kJRakp3ch+BmA/3dEg/K3PoAZTKkw=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "3cd3972b2ee658a14d2610d8494e09259e530124", + "rev": "40ede2e7bdec80ba5d4c443160d905e9f841ae5f", "type": "github" }, "original": { @@ -692,11 +692,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1780694373, - "narHash": "sha256-wuj6QmOlLsGjBOut+Ki/hiOT/H5ONzBePqOkOolsNfo=", + "lastModified": 1781795508, + "narHash": "sha256-VKrApQ3WCkEe9D8DbaeFjGqLAh7zqYGYjbQYtY5ikxc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "8f7043c852210cd0875a1bbe9ca872c90ab5ac74", + "rev": "493ce1e33e72f86312584f331c8cf52b3432ec99", "type": "github" }, "original": { @@ -725,11 +725,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1780637332, - "narHash": "sha256-FeKyLRxLZu2EUnhifijZPDZRl0sVnPVHMtizAINNiN4=", + "lastModified": 1781781064, + "narHash": "sha256-Ii/koEm/sRyg65qbAQWqEgboSEIhdH0EL4KglAc14p0=", "owner": "YaLTeR", "repo": "niri", - "rev": "f717ae030fe56fc52522ebef69f17f3f09064ac4", + "rev": "49fc6117fd6c043adaa2ead316b82db5ed735d36", "type": "github" }, "original": { @@ -743,11 +743,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1780310866, - "narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=", + "lastModified": 1782166108, + "narHash": "sha256-/EtnQBcKbsaCAGQ5VRcplrHRkR4ryqyLMpBfkVuG9Xw=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "4ed851c979641e28597a05086332d75cdc9e395f", + "rev": "875776f0252fcb8618bb948640a0d1f7a5b362be", "type": "github" }, "original": { @@ -759,11 +759,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1780365719, - "narHash": "sha256-JX05Ms/dk0c+UoW9IqQriB53HNZFckX9Qd3EJqmcqEw=", - "rev": "ffa10e26ae11d676b2db836259889f1f571cb14f", + "lastModified": 1781607440, + "narHash": "sha256-eM+l4TVD26SNoEjcxRcpispqZi5Qrqj/G0ZY4LfqwfM=", + "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1009182.ffa10e26ae11/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1017567.3e41b24abd26/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -772,11 +772,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1780511130, - "narHash": "sha256-2v9lT4ya59Lh1FqPeLnz1MoX9y/wz2huqfe9RtQZITk=", + "lastModified": 1781509190, + "narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "535f3e6942cb1cead3929c604320d3db54b542b9", + "rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4", "type": "github" }, "original": { @@ -817,11 +817,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1780243769, - "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "lastModified": 1781577229, + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", "type": "github" }, "original": { @@ -909,11 +909,11 @@ ] }, "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", + "lastModified": 1781733627, + "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", + "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", "type": "github" }, "original": { @@ -1027,11 +1027,11 @@ ] }, "locked": { - "lastModified": 1778265244, - "narHash": "sha256-8jlPtGSsv/CQY6tVVyLF4Jjd0gnS+Zbn9yk/V13A9nM=", + "lastModified": 1780133819, + "narHash": "sha256-0YPKIY3dlnR7SPq7Z8ekFVvzFsfeiAtEj+QUI3KHrlI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "813ea5ca9a1702a9a2d1f5836bc00172ef698968", + "rev": "4a170c0ba96fd37374f93d8f91c9ed91814828ac", "type": "github" }, "original": { @@ -1060,11 +1060,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1779745227, - "narHash": "sha256-yqY7RtEJGJiENzR0GwL6q69tSAy6xAAmAcLuIhLjPf8=", + "lastModified": 1781226823, + "narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "5d1efbc9dc3ab1c10160b656e0247f3325daf0f2", + "rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e", "type": "github" }, "original": { diff --git a/modules/home/browsers/firefox/default.nix b/modules/home/browsers/firefox/default.nix index 28d0ff2f..b8d07d95 100644 --- a/modules/home/browsers/firefox/default.nix +++ b/modules/home/browsers/firefox/default.nix @@ -40,6 +40,8 @@ in "widget.use-xdg-desktop-portal.file-picker" = 0; # Use new gtk file picker instead of legacy one + "widget.wayland.fractional-scale.enabled" = false; # Disable buggy scaling + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "layers.acceleration.force-enabled" = true; "gfx.webrender.all" = true; From e1d5ab66b426e10dab55ea03e0da279fa302db69 Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 14:30:28 +0200 Subject: [PATCH 03/11] Set sk-keys everywhere, remove tech-key --- hosts/kubex/default.nix | 4 ++-- hosts/nixberry/default.nix | 3 ++- hosts/vinox/default.nix | 5 ++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hosts/kubex/default.nix b/hosts/kubex/default.nix index fc3c4c0c..f01448a6 100644 --- a/hosts/kubex/default.nix +++ b/hosts/kubex/default.nix @@ -21,8 +21,8 @@ name = "kubex"; initialHashedPassword = "$y$j9T$8uQSJbY6w9kjXnj74JKjA1$pWYgNf.gb497suX//oIw6aggEPoD2Xv1kvMKZfDTOU/"; keys = [ - "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIKX8MmA9KdHCny6rKCGZlyd/J5qCXh+YDM0/3ZGDmfyaAAAABHNzaDo= yubi@rapsn.me" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqKYXW07z0llbDKRIakLD1PjHe3HxK9iu6czXs+ZU7v techkey@rapsn" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIB1twcfSmy7xyUA5iWl51kfBHS1Dxpmmog0x55Z6HRNlAAAABHNzaDo= swiss" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIKX8MmA9KdHCny6rKCGZlyd/J5qCXh+YDM0/3ZGDmfyaAAAABHNzaDo= yubi" ]; extraOptions = { }; extraGroups = [ ]; diff --git a/hosts/nixberry/default.nix b/hosts/nixberry/default.nix index 0f32d00d..9194bf81 100644 --- a/hosts/nixberry/default.nix +++ b/hosts/nixberry/default.nix @@ -14,7 +14,8 @@ name = "rap"; initialHashedPassword = "$y$j9T$8uQSJbY6w9kjXnj74JKjA1$pWYgNf.gb497suX//oIw6aggEPoD2Xv1kvMKZfDTOU/"; keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqKYXW07z0llbDKRIakLD1PjHe3HxK9iu6czXs+ZU7v techkey@rapsn" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIB1twcfSmy7xyUA5iWl51kfBHS1Dxpmmog0x55Z6HRNlAAAABHNzaDo= swiss" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIKX8MmA9KdHCny6rKCGZlyd/J5qCXh+YDM0/3ZGDmfyaAAAABHNzaDo= yubi" ]; extraOptions = { }; extraGroups = [ ]; diff --git a/hosts/vinox/default.nix b/hosts/vinox/default.nix index faf32ae6..a58eb360 100644 --- a/hosts/vinox/default.nix +++ b/hosts/vinox/default.nix @@ -24,7 +24,10 @@ initialHashedPassword = ""; extraOptions = { }; extraGroups = [ ]; - keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqKYXW07z0llbDKRIakLD1PjHe3HxK9iu6czXs+ZU7v" ]; + keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIB1twcfSmy7xyUA5iWl51kfBHS1Dxpmmog0x55Z6HRNlAAAABHNzaDo= swiss" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIKX8MmA9KdHCny6rKCGZlyd/J5qCXh+YDM0/3ZGDmfyaAAAABHNzaDo= yubi" + ]; }; }; From b379645f7ce44dae023b25103314b8628dce3beb Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 15:37:41 +0200 Subject: [PATCH 04/11] plymouth + greeter --- modules/nixos/roles/desktop/hyprland.nix | 82 ++++-------------------- 1 file changed, 12 insertions(+), 70 deletions(-) diff --git a/modules/nixos/roles/desktop/hyprland.nix b/modules/nixos/roles/desktop/hyprland.nix index 8cc9f19b..a23a7ce5 100644 --- a/modules/nixos/roles/desktop/hyprland.nix +++ b/modules/nixos/roles/desktop/hyprland.nix @@ -6,87 +6,29 @@ }: let cfg = config.hostConfig.roles.desktop; - catppuccinFlavor = "mocha"; - catppuccinAccent = "mauve"; - cursorTheme = { - name = "catppuccin-${catppuccinFlavor}-${catppuccinAccent}-cursors"; - package = pkgs.catppuccin-cursors.mochaMauve; - }; - gtkTheme = { - name = "Catppuccin-GTK-Mauve-Dark"; - package = pkgs.magnetic-catppuccin-gtk.override { - tweaks = [ "black" ]; - accent = [ catppuccinAccent ]; - }; - }; in { config = lib.mkIf cfg { - boot.plymouth.enable = true; - - catppuccin = { + boot.plymouth = { enable = true; - autoEnable = true; - flavor = catppuccinFlavor; - accent = catppuccinAccent; - - cursors.enable = true; - plymouth.enable = true; - tty.enable = true; }; - programs = { - hyprland = { - enable = true; - withUWSM = false; - }; - - niri.enable = true; - - regreet = { - enable = true; - - theme = gtkTheme; - - font = { - name = "CaskaydiaCove Nerd Font"; - package = pkgs.nerd-fonts.caskaydia-cove; - size = 15; - }; - - inherit cursorTheme; - - settings = { - background = { - path = ../../../../extra/wallpapers/minimal-space.jpg; - fit = "Cover"; - }; - - GTK.application_prefer_dark_theme = true; - }; - - extraCss = '' - window { - background-color: rgba(17, 17, 27, 0.92); - } - - box#body { - background-color: rgba(24, 24, 37, 0.78); - border: 1px solid rgba(203, 166, 247, 0.35); - border-radius: 12px; - padding: 32px; - } + programs.hyprland = { + enable = true; + withUWSM = false; + }; - button { - border-radius: 8px; - } - ''; - }; + catppuccin = { + enable = true; + flavor = "macchiato"; }; + programs.niri.enable = true; + services.greetd = { enable = true; - greeterManagesPlymouth = true; + + settings.default_session.command = "${pkgs.tuigreet}/bin/tuigreet --cmd start-hyprland"; }; }; } From a29c7d58a5fc52021b90fdf87bb07a8ca9f4802f Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 15:54:48 +0200 Subject: [PATCH 05/11] keyring shit --- modules/home/services/keyring.nix | 18 ++++++++++-------- modules/nixos/roles/desktop/default.nix | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/modules/home/services/keyring.nix b/modules/home/services/keyring.nix index 8d27aa7f..111e8d49 100644 --- a/modules/home/services/keyring.nix +++ b/modules/home/services/keyring.nix @@ -1,12 +1,14 @@ -{ pkgs, ... }: { - services.gnome-keyring = { - enable = true; - components = [ - "pkcs11" - "secrets" - ]; - }; + config, + lib, + pkgs, + ... +}: +{ + # On NixOS, PAM starts and unlocks the login keyring. On generic Linux hosts, + # Home Manager still needs to provide the user service. + services.gnome-keyring.enable = lib.mkForce config.targets.genericLinux.enable; + home.packages = builtins.attrValues { inherit (pkgs) gcr seahorse; }; diff --git a/modules/nixos/roles/desktop/default.nix b/modules/nixos/roles/desktop/default.nix index 502715d1..ef9c9b52 100644 --- a/modules/nixos/roles/desktop/default.nix +++ b/modules/nixos/roles/desktop/default.nix @@ -1,3 +1,11 @@ +{ + lib, + config, + ... +}: +let + cfg = config.hostConfig.roles.desktop; +in { imports = [ ./hyprland.nix @@ -5,4 +13,13 @@ ./power.nix ./explorer.nix ]; + + config = lib.mkIf cfg { + services.gnome.gnome-keyring.enable = true; + + security.pam.services = { + greetd.enableGnomeKeyring = true; + login.enableGnomeKeyring = true; + }; + }; } From 4857cefe2a51a75ab862ad03e67e51641df8197e Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 15:54:50 +0200 Subject: [PATCH 06/11] lel --- modules/nixos/system/boot.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/nixos/system/boot.nix b/modules/nixos/system/boot.nix index 244a8961..946bc878 100644 --- a/modules/nixos/system/boot.nix +++ b/modules/nixos/system/boot.nix @@ -26,7 +26,6 @@ in kernelParams = [ "quiet" - "splash" "boot.shell_on_fail" "udev.log_priority=3" "rd.systemd.show_status=auto" From b2d6fbf6054fb514f6c57cc68c0e99333727ff4e Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 20:05:50 +0200 Subject: [PATCH 07/11] refactor(home-cli): flatten tool module paths --- modules/home/cli/{tools => }/atuin/default.nix | 0 modules/home/cli/{tools => }/core/default.nix | 0 modules/home/cli/{tools => }/core/packages.nix | 0 modules/home/cli/{tools => }/core/programs.nix | 0 modules/home/cli/{tools => }/custom/default.nix | 0 modules/home/cli/{tools => }/custom/shell-scripts.nix | 0 modules/home/cli/{tools => }/direnv/default.nix | 0 modules/home/cli/{tools => }/git/default.nix | 0 modules/home/cli/{tools => }/k8s/default.nix | 0 modules/home/cli/{tools => }/k8s/k9s.nix | 0 modules/home/cli/{tools => }/k8s/krewfile.nix | 0 modules/home/cli/{tools => }/k8s/kubecolor.nix | 0 modules/home/cli/{tools => }/langs/default.nix | 0 modules/home/cli/{tools => }/langs/go.nix | 0 modules/home/cli/{tools => }/langs/rust.nix | 0 modules/home/cli/{tools => }/lazygit/default.nix | 0 modules/home/cli/{tools => }/pet/default.nix | 0 modules/home/cli/{tools => }/starship/default.nix | 0 18 files changed, 0 insertions(+), 0 deletions(-) rename modules/home/cli/{tools => }/atuin/default.nix (100%) rename modules/home/cli/{tools => }/core/default.nix (100%) rename modules/home/cli/{tools => }/core/packages.nix (100%) rename modules/home/cli/{tools => }/core/programs.nix (100%) rename modules/home/cli/{tools => }/custom/default.nix (100%) rename modules/home/cli/{tools => }/custom/shell-scripts.nix (100%) rename modules/home/cli/{tools => }/direnv/default.nix (100%) rename modules/home/cli/{tools => }/git/default.nix (100%) rename modules/home/cli/{tools => }/k8s/default.nix (100%) rename modules/home/cli/{tools => }/k8s/k9s.nix (100%) rename modules/home/cli/{tools => }/k8s/krewfile.nix (100%) rename modules/home/cli/{tools => }/k8s/kubecolor.nix (100%) rename modules/home/cli/{tools => }/langs/default.nix (100%) rename modules/home/cli/{tools => }/langs/go.nix (100%) rename modules/home/cli/{tools => }/langs/rust.nix (100%) rename modules/home/cli/{tools => }/lazygit/default.nix (100%) rename modules/home/cli/{tools => }/pet/default.nix (100%) rename modules/home/cli/{tools => }/starship/default.nix (100%) diff --git a/modules/home/cli/tools/atuin/default.nix b/modules/home/cli/atuin/default.nix similarity index 100% rename from modules/home/cli/tools/atuin/default.nix rename to modules/home/cli/atuin/default.nix diff --git a/modules/home/cli/tools/core/default.nix b/modules/home/cli/core/default.nix similarity index 100% rename from modules/home/cli/tools/core/default.nix rename to modules/home/cli/core/default.nix diff --git a/modules/home/cli/tools/core/packages.nix b/modules/home/cli/core/packages.nix similarity index 100% rename from modules/home/cli/tools/core/packages.nix rename to modules/home/cli/core/packages.nix diff --git a/modules/home/cli/tools/core/programs.nix b/modules/home/cli/core/programs.nix similarity index 100% rename from modules/home/cli/tools/core/programs.nix rename to modules/home/cli/core/programs.nix diff --git a/modules/home/cli/tools/custom/default.nix b/modules/home/cli/custom/default.nix similarity index 100% rename from modules/home/cli/tools/custom/default.nix rename to modules/home/cli/custom/default.nix diff --git a/modules/home/cli/tools/custom/shell-scripts.nix b/modules/home/cli/custom/shell-scripts.nix similarity index 100% rename from modules/home/cli/tools/custom/shell-scripts.nix rename to modules/home/cli/custom/shell-scripts.nix diff --git a/modules/home/cli/tools/direnv/default.nix b/modules/home/cli/direnv/default.nix similarity index 100% rename from modules/home/cli/tools/direnv/default.nix rename to modules/home/cli/direnv/default.nix diff --git a/modules/home/cli/tools/git/default.nix b/modules/home/cli/git/default.nix similarity index 100% rename from modules/home/cli/tools/git/default.nix rename to modules/home/cli/git/default.nix diff --git a/modules/home/cli/tools/k8s/default.nix b/modules/home/cli/k8s/default.nix similarity index 100% rename from modules/home/cli/tools/k8s/default.nix rename to modules/home/cli/k8s/default.nix diff --git a/modules/home/cli/tools/k8s/k9s.nix b/modules/home/cli/k8s/k9s.nix similarity index 100% rename from modules/home/cli/tools/k8s/k9s.nix rename to modules/home/cli/k8s/k9s.nix diff --git a/modules/home/cli/tools/k8s/krewfile.nix b/modules/home/cli/k8s/krewfile.nix similarity index 100% rename from modules/home/cli/tools/k8s/krewfile.nix rename to modules/home/cli/k8s/krewfile.nix diff --git a/modules/home/cli/tools/k8s/kubecolor.nix b/modules/home/cli/k8s/kubecolor.nix similarity index 100% rename from modules/home/cli/tools/k8s/kubecolor.nix rename to modules/home/cli/k8s/kubecolor.nix diff --git a/modules/home/cli/tools/langs/default.nix b/modules/home/cli/langs/default.nix similarity index 100% rename from modules/home/cli/tools/langs/default.nix rename to modules/home/cli/langs/default.nix diff --git a/modules/home/cli/tools/langs/go.nix b/modules/home/cli/langs/go.nix similarity index 100% rename from modules/home/cli/tools/langs/go.nix rename to modules/home/cli/langs/go.nix diff --git a/modules/home/cli/tools/langs/rust.nix b/modules/home/cli/langs/rust.nix similarity index 100% rename from modules/home/cli/tools/langs/rust.nix rename to modules/home/cli/langs/rust.nix diff --git a/modules/home/cli/tools/lazygit/default.nix b/modules/home/cli/lazygit/default.nix similarity index 100% rename from modules/home/cli/tools/lazygit/default.nix rename to modules/home/cli/lazygit/default.nix diff --git a/modules/home/cli/tools/pet/default.nix b/modules/home/cli/pet/default.nix similarity index 100% rename from modules/home/cli/tools/pet/default.nix rename to modules/home/cli/pet/default.nix diff --git a/modules/home/cli/tools/starship/default.nix b/modules/home/cli/starship/default.nix similarity index 100% rename from modules/home/cli/tools/starship/default.nix rename to modules/home/cli/starship/default.nix From aece6379e4cee1576139b3a66ebc09efe855e878 Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 20:08:39 +0200 Subject: [PATCH 08/11] refactor(home-cli): flatten shell and terminal module paths --- modules/home/cli/{terminals => }/alacritty/default.nix | 0 modules/home/cli/{shells => }/zsh/default.nix | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename modules/home/cli/{terminals => }/alacritty/default.nix (100%) rename modules/home/cli/{shells => }/zsh/default.nix (100%) diff --git a/modules/home/cli/terminals/alacritty/default.nix b/modules/home/cli/alacritty/default.nix similarity index 100% rename from modules/home/cli/terminals/alacritty/default.nix rename to modules/home/cli/alacritty/default.nix diff --git a/modules/home/cli/shells/zsh/default.nix b/modules/home/cli/zsh/default.nix similarity index 100% rename from modules/home/cli/shells/zsh/default.nix rename to modules/home/cli/zsh/default.nix From 157e340b2ca87332cd98b2d21dbc1782c3c822bb Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 20:09:20 +0200 Subject: [PATCH 09/11] refactor(home): inline trivial wrapper modules --- modules/home/cli/custom/default.nix | 27 +++++++++++++++++++++- modules/home/cli/custom/shell-scripts.nix | 26 --------------------- modules/home/programs/default.nix | 28 ++++++++++++++++++++--- modules/home/programs/guis/default.nix | 27 ---------------------- 4 files changed, 51 insertions(+), 57 deletions(-) delete mode 100644 modules/home/cli/custom/shell-scripts.nix delete mode 100644 modules/home/programs/guis/default.nix diff --git a/modules/home/cli/custom/default.nix b/modules/home/cli/custom/default.nix index 58b56c44..6ca6248d 100644 --- a/modules/home/cli/custom/default.nix +++ b/modules/home/cli/custom/default.nix @@ -1 +1,26 @@ -{ imports = [ ./shell-scripts.nix ]; } +{ pkgs, ... }: +let + # nix helpers + nix-run = pkgs.writeShellScriptBin "nr" '' + nix run $(printf 'nixpkgs#%s ' "$@") + ''; + + nix-shell = pkgs.writeShellScriptBin "ns" '' + nix shell $(printf 'nixpkgs#%s ' "$@") + ''; + + # kubeconfig selector + selc_ = pkgs.writeShellScriptBin "selc_" '' + BASE_PATH=$HOME/.config/kubeconfigs + YAMLS=$(find "$BASE_PATH" -name '*.yaml' | awk -F/ '{ print $NF }') + KUBECONFIG=$(fzf <<<"$YAMLS") + export KUBECONFIG="$BASE_PATH/$KUBECONFIG" + ''; +in +{ + home.packages = [ + nix-run + nix-shell + selc_ + ]; +} diff --git a/modules/home/cli/custom/shell-scripts.nix b/modules/home/cli/custom/shell-scripts.nix deleted file mode 100644 index 6ca6248d..00000000 --- a/modules/home/cli/custom/shell-scripts.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ pkgs, ... }: -let - # nix helpers - nix-run = pkgs.writeShellScriptBin "nr" '' - nix run $(printf 'nixpkgs#%s ' "$@") - ''; - - nix-shell = pkgs.writeShellScriptBin "ns" '' - nix shell $(printf 'nixpkgs#%s ' "$@") - ''; - - # kubeconfig selector - selc_ = pkgs.writeShellScriptBin "selc_" '' - BASE_PATH=$HOME/.config/kubeconfigs - YAMLS=$(find "$BASE_PATH" -name '*.yaml' | awk -F/ '{ print $NF }') - KUBECONFIG=$(fzf <<<"$YAMLS") - export KUBECONFIG="$BASE_PATH/$KUBECONFIG" - ''; -in -{ - home.packages = [ - nix-run - nix-shell - selc_ - ]; -} diff --git a/modules/home/programs/default.nix b/modules/home/programs/default.nix index 1a9fd6eb..0f50d4ca 100644 --- a/modules/home/programs/default.nix +++ b/modules/home/programs/default.nix @@ -1,5 +1,27 @@ +{ pkgs, ... }: { - imports = [ - ./guis - ]; + home.packages = builtins.attrValues { + # Audio + inherit (pkgs) + pavucontrol + spek + vlc + + # Screenshot / Recording + grimblast + wf-recorder + + # Tools + nwg-displays + nwg-look + gparted + gnome-disk-utility + + # Explorer + thunar + + # Note taking + obsidian + ; + }; } diff --git a/modules/home/programs/guis/default.nix b/modules/home/programs/guis/default.nix deleted file mode 100644 index 0f50d4ca..00000000 --- a/modules/home/programs/guis/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = builtins.attrValues { - # Audio - inherit (pkgs) - pavucontrol - spek - vlc - - # Screenshot / Recording - grimblast - wf-recorder - - # Tools - nwg-displays - nwg-look - gparted - gnome-disk-utility - - # Explorer - thunar - - # Note taking - obsidian - ; - }; -} From de3b6be725da8d5eb9588b27d3a55c424352a708 Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 20:10:04 +0200 Subject: [PATCH 10/11] refactor(home-cli): inline core module fragments --- modules/home/cli/core/default.nix | 70 ++++++++++++++++++++++++++++-- modules/home/cli/core/packages.nix | 58 ------------------------- modules/home/cli/core/programs.nix | 17 -------- 3 files changed, 66 insertions(+), 79 deletions(-) delete mode 100644 modules/home/cli/core/packages.nix delete mode 100644 modules/home/cli/core/programs.nix diff --git a/modules/home/cli/core/default.nix b/modules/home/cli/core/default.nix index ccf22c23..430b3953 100644 --- a/modules/home/cli/core/default.nix +++ b/modules/home/cli/core/default.nix @@ -1,6 +1,68 @@ +{ pkgs, ... }: { - imports = [ - ./packages.nix - ./programs.nix - ]; + home.packages = builtins.attrValues { + # Core utility + inherit (pkgs) + coreutils + dnsutils + gnumake + gnutar + gzip + unzip + gnused + gnugrep + killall + pciutils + parallel + + # Inspection + htop + + # Network tools + inetutils + curl + wget + + # Network inspection + termshark + nmap + netcat + tcpdump + iproute2 + + # Text processing + jq + yq-go + gawk + + # Find utils + fd + ripgrep + + # Copy tools + rclone + + # SSH / Security + openssh + libfido2 + keepassxc + sops + + # Clipboard + wl-clipboard + + # Monitor / I2C com + ddcutil + ; + }; + + programs = { + bat.enable = true; + fzf.enable = true; + btop.enable = true; + + zoxide.enable = true; + neonix.enable = true; + eza.enable = true; + }; } diff --git a/modules/home/cli/core/packages.nix b/modules/home/cli/core/packages.nix deleted file mode 100644 index cb8d269b..00000000 --- a/modules/home/cli/core/packages.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = builtins.attrValues { - # Core utility - inherit (pkgs) - coreutils - dnsutils - gnumake - gnutar - gzip - unzip - gnused - gnugrep - killall - pciutils - parallel - - # Inspection - htop - - # Network tools - inetutils - curl - wget - - # Network inspection - termshark - nmap - netcat - tcpdump - iproute2 - - # Text processing - jq - yq-go - gawk - - # Find utils - fd - ripgrep - - # Copy tools - rclone - - # SSH / Security - openssh - libfido2 - keepassxc - sops - - # Clipboard - wl-clipboard - - # Monitor / I2C com - ddcutil - ; - }; -} diff --git a/modules/home/cli/core/programs.nix b/modules/home/cli/core/programs.nix deleted file mode 100644 index 889d1a85..00000000 --- a/modules/home/cli/core/programs.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - # catppuccin = { - # bat.enable = true; - # fzf.enable = true; - # btop.enable = true; - # }; - - programs = { - bat.enable = true; - fzf.enable = true; - btop.enable = true; - - zoxide.enable = true; - neonix.enable = true; - eza.enable = true; - }; -} From a9d8c9dc8bd16f7bc758c35e6c1954a0e1238167 Mon Sep 17 00:00:00 2001 From: RAPSNX Date: Wed, 24 Jun 2026 20:10:45 +0200 Subject: [PATCH 11/11] refactor(home-cli): inline language module fragments --- modules/home/cli/langs/default.nix | 28 ++++++++++++++++++++++++---- modules/home/cli/langs/go.nix | 18 ------------------ modules/home/cli/langs/rust.nix | 14 -------------- 3 files changed, 24 insertions(+), 36 deletions(-) delete mode 100644 modules/home/cli/langs/go.nix delete mode 100644 modules/home/cli/langs/rust.nix diff --git a/modules/home/cli/langs/default.nix b/modules/home/cli/langs/default.nix index 966a2031..bd423763 100644 --- a/modules/home/cli/langs/default.nix +++ b/modules/home/cli/langs/default.nix @@ -1,6 +1,26 @@ { - imports = [ - ./go.nix - ./rust.nix - ]; + pkgs, + config, + lib, + ... +}: +{ + programs.go = { + enable = true; + package = pkgs.go; + env = { + GOPATH = "${config.home.homeDirectory}/go"; + GOPRIVATE = [ + "github.com/stackitcloud" + "dev.azure.com/*" + ]; + }; + }; + + config = lib.mkIf (!config.roles.work) { + home.packages = builtins.attrValues { + inherit (pkgs) clang rustup; + }; + home.sessionPath = [ "$HOME/.cargo/bin" ]; + }; } diff --git a/modules/home/cli/langs/go.nix b/modules/home/cli/langs/go.nix deleted file mode 100644 index b2375cd0..00000000 --- a/modules/home/cli/langs/go.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - pkgs, - config, - ... -}: -{ - programs.go = { - enable = true; - package = pkgs.go; - env = { - GOPATH = "${config.home.homeDirectory}/go"; - GOPRIVATE = [ - "github.com/stackitcloud" - "dev.azure.com/*" - ]; - }; - }; -} diff --git a/modules/home/cli/langs/rust.nix b/modules/home/cli/langs/rust.nix deleted file mode 100644 index 956782bd..00000000 --- a/modules/home/cli/langs/rust.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -{ - config = lib.mkIf (!config.roles.work) { - home.packages = builtins.attrValues { - inherit (pkgs) clang rustup; - }; - home.sessionPath = [ "$HOME/.cargo/bin" ]; - }; -}