2020-05-16 11:20:32 +00:00
|
|
|
let
|
2020-05-28 16:14:56 +00:00
|
|
|
sources = import ../nix/sources.nix;
|
|
|
|
inherit (import sources.nixpkgs { }) lib pkgs;
|
2020-06-27 19:54:32 +00:00
|
|
|
modes = import ./machines.nix;
|
2020-05-28 16:14:56 +00:00
|
|
|
home-manager = import "${sources.home-manager}/home-manager/home-manager.nix";
|
2020-05-16 11:20:32 +00:00
|
|
|
buildHomeManager = attr:
|
|
|
|
(home-manager {
|
2020-05-16 15:08:57 +00:00
|
|
|
confPath = ../home.nix;
|
2020-05-16 11:20:32 +00:00
|
|
|
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)}
|
|
|
|
'') modes
|