2017-05-20 14:23:05 +02:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
cfg = config.system;
|
|
|
|
|
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
options = {
|
|
|
|
};
|
|
|
|
|
|
|
|
config = {
|
|
|
|
|
|
|
|
system.build.applications = pkgs.buildEnv {
|
|
|
|
name = "system-applications";
|
|
|
|
paths = config.environment.systemPackages;
|
|
|
|
pathsToLink = "/Applications";
|
|
|
|
};
|
|
|
|
|
|
|
|
system.activationScripts.applications.text = ''
|
|
|
|
# Set up applications.
|
2022-06-25 13:12:54 +02:00
|
|
|
echo "setting up /Applications/Nix Apps..." >&2
|
|
|
|
|
2022-06-26 09:18:11 +02:00
|
|
|
ourLink () {
|
|
|
|
local link
|
|
|
|
link=$(readlink "$1")
|
|
|
|
[ -L "$1" ] && [ "''${link#*-}" = 'system-applications/Applications' ]
|
|
|
|
}
|
|
|
|
|
2022-06-25 13:12:54 +02:00
|
|
|
# Clean up for links created at the old location in HOME
|
2022-06-26 09:18:11 +02:00
|
|
|
if ourLink ~/Applications; then
|
2022-06-25 13:12:54 +02:00
|
|
|
rm ~/Applications
|
2022-06-26 09:18:11 +02:00
|
|
|
elif ourLink ~/Applications/'Nix Apps'; then
|
|
|
|
rm ~/Applications/'Nix Apps'
|
2022-06-25 13:12:54 +02:00
|
|
|
fi
|
2020-09-05 18:12:07 -04:00
|
|
|
|
2022-06-26 09:18:11 +02:00
|
|
|
if [ ! -e '/Applications/Nix Apps' ] \
|
|
|
|
|| ourLink '/Applications/Nix Apps'; then
|
2022-06-25 13:12:54 +02:00
|
|
|
ln -sfn ${cfg.build.applications}/Applications '/Applications/Nix Apps'
|
2017-05-20 14:38:32 +02:00
|
|
|
else
|
2022-06-25 13:12:54 +02:00
|
|
|
echo "warning: /Applications/Nix Apps is not owned by nix-darwin, skipping App linking..." >&2
|
2017-05-20 14:23:05 +02:00
|
|
|
fi
|
|
|
|
'';
|
|
|
|
|
|
|
|
};
|
|
|
|
}
|