1
0
Fork 0
nixos-config/home-manager/target.nix
2020-10-11 15:03:01 +02:00

18 lines
631 B
Nix

let
sources = import ../nix/sources.nix;
inherit (import sources.nixpkgs { }) lib pkgs;
modes = import ./machines.nix;
home-manager = import "${sources.home-manager}/home-manager/home-manager.nix";
buildHomeManager = attr:
(home-manager {
confPath = ../home.nix;
confAttr = attr;
}).activationPackage;
in lib.mapAttrs (host: configs:
(pkgs.runCommand "${host}-modes" { } ''
mkdir $out
${lib.concatStringsSep "\n" (lib.mapAttrsToList
(mode: config: "ln -s ${buildHomeManager "${host}-${mode}"} $out/${mode}")
configs)}
'').overrideAttrs (_: { preferLocalBuild = true; })) modes