diff options
Diffstat (limited to 'lib/mk_home.nix')
-rw-r--r-- | lib/mk_home.nix | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/lib/mk_home.nix b/lib/mk_home.nix index b2f87dc..a1466ba 100644 --- a/lib/mk_home.nix +++ b/lib/mk_home.nix @@ -3,7 +3,7 @@ { username, hostname, pkgs, version, extraModules ? null }: let entrypoint = "${self}/home/${hostname}/${username}.nix"; - defaultModule = { lib, ... }: { + defaultModule = { lib, config, ... }: { _module.args.inputs = self.inputs; _module.args.self = self; @@ -15,9 +15,33 @@ let home = { inherit username; - homeDirectory = "/home/${username}"; + homeDirectory = if pkgs.stdenv.isDarwin then "/Users/${username}" else "/home/${username}"; stateVersion = version; }; + + # Make applications pop up in finder/spotlight + home.activation = lib.mkIf pkgs.stdenv.isDarwin { + copyApplications = + let + apps = pkgs.buildEnv { + name = "home-manager-applications"; + paths = config.home.packages; + pathsToLink = "/Applications"; + }; + in + lib.hm.dag.entryAfter [ "writeBoundary" ] '' + baseDir="$HOME/Applications/Home Manager Apps" + if [ -d "$baseDir" ]; then + rm -rf "$baseDir" + fi + mkdir -p "$baseDir" + for appFile in ${apps}/Applications/*; do + target="$baseDir/$(basename "$appFile")" + $DRY_RUN_CMD cp ''${VERBOSE_ARG:+-v} -fHRL "$appFile" "$baseDir" + $DRY_RUN_CMD chmod ''${VERBOSE_ARG:+-v} -R +w "$target" + done + ''; + }; }; in home-manager.lib.homeManagerConfiguration { |