53 lines
1.5 KiB
Nix
53 lines
1.5 KiB
Nix
{ pkgs, ... }: {
|
||
imports = [ ./apps.nix ./system.nix ];
|
||
|
||
networking.hostName = "poppy";
|
||
|
||
system.primaryUser = "mikl";
|
||
system.stateVersion = 7;
|
||
|
||
nixpkgs.config.allowUnfree = true;
|
||
nix.enable = false;
|
||
|
||
# Автоматический сбор мусора: удалять пути старше 14 дней, по ночам в 3:00.
|
||
# nix.gc не работает с nix.enable=false, поэтому launchd-агент напрямую.
|
||
launchd.user.agents.nix-gc = {
|
||
serviceConfig = {
|
||
Label = "local.nix.gc";
|
||
ProgramArguments = [
|
||
"/nix/var/nix/profiles/default/bin/nix-collect-garbage"
|
||
"--delete-older-than"
|
||
"14d"
|
||
];
|
||
StartCalendarInterval = {
|
||
Weekday = 0;
|
||
Hour = 3;
|
||
};
|
||
StandardOutPath = "/tmp/nix-gc.log";
|
||
StandardErrorPath = "/tmp/nix-gc.log";
|
||
};
|
||
};
|
||
|
||
users.users.mikl = {
|
||
home = "/Users/mikl";
|
||
shell = pkgs.zsh;
|
||
};
|
||
|
||
environment.systemPackages = [ pkgs.vim pkgs.android-tools ];
|
||
|
||
# Apply default apps via duti on activation
|
||
system.activationScripts.defaultApps.text = ''
|
||
if [ -f "/Users/mikl/.config/duti/config" ]; then
|
||
${pkgs.duti}/bin/duti -d /Users/mikl/.config/duti/config || true
|
||
fi
|
||
'';
|
||
|
||
home-manager.users.mikl = {
|
||
imports = [ ../../home/kitty.nix ../../home/duti.nix ];
|
||
programs.zsh.shellAliases = {
|
||
switch = "darwin-rebuild switch --flake .#poppy";
|
||
update = "nix flake update && darwin-rebuild switch --flake .#poppy";
|
||
cleanup = "nix-collect-garbage -d";
|
||
};
|
||
};
|
||
}
|