mirror of
https://github.com/LnL7/nix-darwin.git
synced 2025-03-05 08:17:01 +00:00
applications: Drop store prefix to generalize
While the Nix store is almost always at `/nix/store`, we shouldn't assume it to be. Checking only the trailing part of the link is less exact but removes this bad assumption. I also added a check for the symlink's contents when overwriting it to more accurately check whether we own it and should replace it.
This commit is contained in:
parent
fbe795f39d
commit
ed1e73d01e
1 changed files with 11 additions and 10 deletions
|
@ -24,20 +24,21 @@ in
|
|||
# Set up applications.
|
||||
echo "setting up /Applications/Nix Apps..." >&2
|
||||
|
||||
ourLink () {
|
||||
local link
|
||||
link=$(readlink "$1")
|
||||
[ -L "$1" ] && [ "''${link#*-}" = 'system-applications/Applications' ]
|
||||
}
|
||||
|
||||
# Clean up for links created at the old location in HOME
|
||||
if [ -L ~/Applications
|
||||
-a $(readlink ~/Applications | grep --quiet
|
||||
'/nix/store/.*-system-applications/Applications')
|
||||
]
|
||||
if ourLink ~/Applications; then
|
||||
rm ~/Applications
|
||||
elif [ -L '~/Applications/Nix Apps'
|
||||
-a $(readlink '~/Applications/Nix Apps' | grep --quiet
|
||||
'/nix/store/.*-system-applications/Applications')
|
||||
]
|
||||
rm '~/Applications/Nix Apps'
|
||||
elif ourLink ~/Applications/'Nix Apps'; then
|
||||
rm ~/Applications/'Nix Apps'
|
||||
fi
|
||||
|
||||
if [ ! -e '/Applications/Nix Apps' -o -L '/Applications/Nix Apps' ]; then
|
||||
if [ ! -e '/Applications/Nix Apps' ] \
|
||||
|| ourLink '/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
|
||||
|
|
Loading…
Add table
Reference in a new issue