system/settings/darwin.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | {
pkgs,
lib,
...
}:
{
imports = [
./configuration/nix.nix
./fonts.nix
];
services.nix-daemon = {
enableSocketListener = false;
};
environment.profiles =
with lib;
mkMerge [
(mkOrder 800 [ "\${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile" ])
[
"/run/current-system/sw"
"/nix/var/nix/profiles/default"
]
];
nix = {
settings.extra-platforms = "aarch64-darwin x86_64-darwin";
settings.trusted-users = [ "@admin" ];
};
services.angrr = {
enable = true;
timer.enable = true;
};
nixpkgs.config = {
allowUnfree = true;
};
services.lorri.enable = true;
launchd.user.agents.lorri-notify = {
path = with pkgs; [
gnugrep
jq
lorri
terminal-notifier
];
script =
let
jqFile = ''
(
(.Started? | values | ["starting", .nix_file]),
(.Completed? | values | ["complete", .nix_file]),
(.Failure? | values | ["failed", .nix_file])
)
| @tsv
'';
in
''
set -euo pipefail
lorri info --shell-file . | grep -q 'Lorri Daemon Status:.*running'
lorri internal stream-events --kind live \
| jq --unbuffered -r '${jqFile}' \
| while IFS=$'\t' read -r status nixFile icon; do
nixFile=$(dirname ''${nixFile#$HOME/})
terminal-notifier -group "lorri-$nixFile-$status" -title "Lorri" \
-subtitle "Build $status" -message "$nixFile" \
-ignoreDnD
sh -c "sleep 1 && terminal-notifier -remove \"lorri-$nixFile-$status\""
done
'';
serviceConfig = {
RunAtLoad = true;
};
};
launchd.daemons.limit-maxfiles = {
serviceConfig = {
Label = "limit-maxfiles";
RunAtLoad = true;
ProgramArguments = [
"launchctl"
"limit"
"maxfiles"
"64000"
"52428"
];
};
};
environment.systemPackages = with pkgs; [
watch
coreutils-prefixed
iproute2mac
];
services.dnsmasq = {
enable = true;
bind = "::1";
port = 5553;
addresses = {
localhost = "::1";
test = "::1";
};
};
}
|