-
-
Save elliottminns/211ef645ebd484eb9a5228570bb60ec3 to your computer and use it in GitHub Desktop.
system.activationScripts.applications.text = let | |
env = pkgs.buildEnv { | |
name = "system-applications"; | |
paths = config.environment.systemPackages; | |
pathsToLink = "/Applications"; | |
}; | |
in | |
pkgs.lib.mkForce '' | |
# Set up applications. | |
echo "setting up /Applications..." >&2 | |
rm -rf /Applications/Nix\ Apps | |
mkdir -p /Applications/Nix\ Apps | |
find ${env}/Applications -maxdepth 1 -type l -exec readlink '{}' + | | |
while read -r src; do | |
app_name=$(basename "$src") | |
echo "copying $src" >&2 | |
${pkgs.mkalias}/bin/mkalias "$src" "/Applications/Nix Apps/$app_name" | |
done | |
''; |
Just a suggestion, I've used this utility on my flake.nix and it worked like a charm. No need to define an activation script
https://github.com/hraban/mac-app-util
Credits to the developer @hraban
Thanks for the video tutorial, it really helped.
+1 ☝️ to using @hraban https://github.com/hraban/mac-app-util
Worked like a charm
++1 ☝🏽using https://github.com/hraban/mac-app-util
Worked perfectly and was super easy to add to my config file.
++1 ☝🏽using https://github.com/hraban/mac-app-util
Worked perfectly and was super easy to add to my config file.
Do you mind sharing your flake.nix with mac-app-util? I tried it, and it doesn't work for me.
@tylercritchlow Sure! I've uploaded a copy here: https://gist.github.com/frarredondo/192930a454c992f306143bfc4eefc948
I will say that after posting my comment above i very quickly learned that very few packages were actually available for aarch64-darwin
and found that i needed to install everything via homebrew so i didn't see the point in using nix at least on apple silicon atm and uninstalled it and went back to using homebrew for package management.
it does have to be an environment system package for it to be read.
this script works for kitty for example, but doesn't for wezterm because i have it as a home manager module. the creature comfort with spotlight isn't great because aliases are a little lower than a websearch. i use raycast as a spotlight replacement through homebrew.
but what is great about this script is that it gives you an opening to adapt it to add home manager aliases, just replace /Applications/Nix\ Apps to ~/Applications/Home\ Manager (i'm not a fan of bash).