1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-22 08:10:07 +00:00
home-manager/nix-darwin/default.nix

29 lines
961 B
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.home-manager;
in {
imports = [ ../nixos/common.nix ];
config = lib.mkMerge [
{ home-manager.extraSpecialArgs.darwinConfig = config; }
(lib.mkIf (cfg.users != { }) {
system.activationScripts.postActivation.text = lib.concatStringsSep "\n"
(lib.mapAttrsToList (username: usercfg: ''
echo Activating home-manager configuration for ${usercfg.home.username}
sudo -u ${usercfg.home.username} --set-home ${
pkgs.writeShellScript "activation-${usercfg.home.username}" ''
${lib.optionalString (cfg.backupFileExtension != null)
"export HOME_MANAGER_BACKUP_EXT=${
lib.escapeShellArg cfg.backupFileExtension
}"}
${lib.optionalString cfg.verbose "export VERBOSE=1"}
exec ${usercfg.home.activationPackage}/activate
''
}
'') cfg.users);
})
];
}