summaryrefslogtreecommitdiff
path: root/modules/system
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system')
-rw-r--r--modules/system/applications.nix23
1 files changed, 17 insertions, 6 deletions
diff --git a/modules/system/applications.nix b/modules/system/applications.nix
index dcfd7a4..dfcfd4f 100644
--- a/modules/system/applications.nix
+++ b/modules/system/applications.nix
@@ -22,14 +22,25 @@ in
system.activationScripts.applications.text = ''
# Set up applications.
- echo "setting up ~/Applications..." >&2
-
- mkdir -p ~/Applications
+ echo "setting up /Applications/Nix Apps..." >&2
+
+ # Clean up for links created at the old location in HOME
+ if [ -L ~/Applications
+ -a $(readlink ~/Applications | grep --quiet
+ '/nix/store/.*-system-applications/Applications')
+ ]
+ rm ~/Applications
+ elif [ -L '~/Applications/Nix Apps'
+ -a $(readlink '~/Applications/Nix Apps' | grep --quiet
+ '/nix/store/.*-system-applications/Applications')
+ ]
+ rm '~/Applications/Nix Apps'
+ fi
- if [ ! -e ~/Applications/Nix\ Apps -o -L ~/Applications/Nix\ Apps ]; then
- ln -sfn ${cfg.build.applications}/Applications ~/Applications/Nix\ Apps
+ if [ ! -e '/Applications/Nix Apps' -o -L '/Applications/Nix Apps' ]; then
+ ln -sfn ${cfg.build.applications}/Applications '/Applications/Nix Apps'
else
- echo "warning: ~/Applications/Nix Apps is not owned by nix-darwin, skipping App linking..." >&2
+ echo "warning: /Applications/Nix Apps is not owned by nix-darwin, skipping App linking..." >&2
fi
'';