1
0
Fork 0
nixos-config/home-manager/target.nix

17 lines
701 B
Nix
Raw Normal View History

2020-05-16 11:20:32 +00:00
let
2020-05-28 16:14:56 +00:00
sources = import ../nix/sources.nix;
2020-12-07 02:05:57 +00:00
inherit (import sources.nixos-unstable { }) lib pkgs;
2020-06-27 19:54:32 +00:00
modes = import ./machines.nix;
2020-12-07 02:35:44 +00:00
home-manager = channel: import "${sources."${channel}"}/home-manager/home-manager.nix";
2020-12-07 02:05:57 +00:00
buildHomeManager = host: mode:
(home-manager (import ../channels.nix).${host}.home-manager-channel {
2020-05-16 15:08:57 +00:00
confPath = ../home.nix;
2020-12-07 02:05:57 +00:00
confAttr = "${host}-${mode}";
2020-05-16 11:20:32 +00:00
}).activationPackage;
2020-10-18 18:15:13 +00:00
buildModesForHost = host: modes:
pkgs.runCommandLocal "${host}-modes" { } ''
mkdir $out
${lib.concatStringsSep "\n" (lib.mapAttrsToList (mode: config:
2020-12-07 02:05:57 +00:00
"ln -s ${buildHomeManager host mode} $out/${mode}") modes)}'';
2020-10-18 18:15:13 +00:00
in lib.mapAttrs buildModesForHost modes