{ config, lib, pkgs, inputs, ... }: let inherit (import ../../modules/lib.nix { inherit lib; inherit pkgs; }) nLib; in with lib; with nLib; { imports = [ ../options.nix ../common/programs/core.nix ../common/programs/devel.nix ../common/programs/emacs.nix ./programs/core.nix ]; options = { }; config = { # Link applications in spotlight/launchpad home.activation = 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 ''; }; home.stateVersion = "22.05"; programs.home-manager.enable = true; nathan.programs.emacs.package = lib.mkDefault pkgs.emacs28NativeComp; }; }