From 16bdea6a9bcb8095c3083865980048732ec3717a Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sat, 29 Nov 2025 06:15:53 +0100 Subject: [PATCH] export per-host home-manager configurations --- flake.nix | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/flake.nix b/flake.nix index 339b028..588b39c 100644 --- a/flake.nix +++ b/flake.nix @@ -239,6 +239,7 @@ modules = modules ++ [{ home = { inherit username homeDirectory; }; imports = [ + { home.stateVersion = "25.05"; } inputs.sops-nix.homeManagerModules.sops inputs.nix-index-database.homeModules.nix-index ]; @@ -254,23 +255,40 @@ }]; extraSpecialArgs = { inherit inputs; }; }; + pipe = builtins.foldl' (x: f: f x); + attrsToList = a: builtins.attrValues (builtins.mapAttrs (name: value: { inherit name value; }) a); in - { - # TODO: static - fhs - # TODO: pvv - nfs home - # TODO: nix-portable - heid - # TODO: garmr - # TODO: furios? - pbsds = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-edge [ ./users/pbsds/home/minimal.nix ]; - pbsds-edge = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-edge [ ./users/pbsds/home ]; - pbsds-2505 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-2505 [ ./users/pbsds/home ]; - pbsds-2411 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-2411 [ ./users/pbsds/home ]; - pbsds-gnome-edge = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-edge [ ./users/pbsds/home/gnome.nix ]; - pbsds-gnome-2505 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-2505 [ ./users/pbsds/home/gnome.nix ]; - pbsds-gnome-2411 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views.inputs-2411 [ ./users/pbsds/home/gnome.nix ]; - - "pederbs@pvv" = mkHome "pederbs" "/home/pvv/d/pederbs" "x86_64-linux" input-views.inputs-2505 [ ./users/pbsds/home/minimal.nix ]; - }; + pipe ["edge" "2505" "2411"] [ + (map (release: { + # TODO: static - fhs + # TODO: pvv - nfs home + # TODO: nix-portable - heid + # TODO: garmr + # TODO: furios? + "pbsds-minimal-${release}" = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views."inputs-${release}" [ ./users/pbsds/home/profiles/minimal ]; + "pbsds-headless-${release}" = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views."inputs-${release}" [ ./users/pbsds/home/profiles/headless ]; + "pbsds-comfy-${release}" = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views."inputs-${release}" [ ./users/pbsds/home/profiles/comfy ]; + "pbsds-desktop-${release}" = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views."inputs-${release}" [ ./users/pbsds/home/profiles/desktop ]; + "pbsds-desktop-gnome-${release}" = mkHome "pbsds" "/home/pbsds" "x86_64-linux" input-views."inputs-${release}" [ ./users/pbsds/home/profiles/desktop/gnome ]; + })) + (map attrsToList) + builtins.concatLists + builtins.listToAttrs + ] + // pipe (builtins.attrNames self.nixosConfigurations) [ + (map (machine: { + "pbsds@${machine}" = rec { + config = self.nixosConfigurations.${machine}.config.home-manager.users.pbsds; + inherit (config.home) activationPackage; + }; + })) + (map attrsToList) + builtins.concatLists + builtins.listToAttrs + ] + // { + "pederbs@pvv" = mkHome "pederbs" "/home/pvv/d/pederbs" "x86_64-linux" input-views.inputs-2505 [ ./users/pbsds/home/profiles/minimal ]; + }; # TODO: use this to pull changes to repo homeFileMap = let