dots/modules/darwin/nix.nix

33 lines
840 B
Nix

{ config, lib, pkgs, ... }:
{
system.activationScripts.applications.text = let
appsSrc = config.system.build.applications + /Applications;
baseDir = "/Applications/Nix Apps";
in
pkgs.lib.mkForce ''
echo 'Setting up /Applications/Nix Apps...' >&2
appsSrc="${appsSrc}"
if [ -d "$appsSrc" ]; then
baseDir="${baseDir}"
rsyncFlags=(
--archive
--checksum
--chmod=-w
--copy-unsafe-links
--delete
--no-group
--no-owner
)
$DRY_RUN_CMD mkdir -p "$baseDir"
$DRY_RUN_CMD ${lib.getBin pkgs.rsync}/bin/rsync \
''${VERBOSE_ARG:+-v} "''${rsyncFlags[@]}" "$appsSrc/" "$baseDir"
fi
'';
# use determinate nix
nix.enable = false;
# changing this might break
system.stateVersion = 5;
}