2023-07-26 09:06:51 +02:00
{ pkgs , . . . }:
{
2023-07-26 10:48:52 +02:00
# Many settings should be handled by home manager. System-wide settings are however managed here.
2023-07-26 15:22:24 +02:00
nixpkgs . config . allowUnfree = true ;
nix = {
gc = {
automatic = true ;
options = " - - d e l e t e - o l d e r - t h a n 2 d " ;
} ;
settings . experimental-features = [ " n i x - c o m m a n d " " f l a k e s " ] ;
} ;
2023-07-26 10:48:52 +02:00
# System packages for all users
2023-07-26 09:06:51 +02:00
environment . systemPackages = [
2023-07-26 10:48:52 +02:00
pkgs . ripgrep
pkgs . wget
2023-07-26 09:06:51 +02:00
] ;
2023-07-26 10:48:52 +02:00
users . users . felixalb = {
home = " / U s e r s / f e l i x a l b " ;
shell = pkgs . zsh ;
} ;
programs . zsh . enable = true ;
system . activationScripts . postActivation . text = '' s u d o c h s h - s ${ pkgs . zsh } / b i n / z s h '' ; # Since it's not possible to declare default shell, run this command after build
2023-07-26 15:22:24 +02:00
system . defaults = {
# login window settings
loginwindow = {
# disable guest account
GuestEnabled = false ;
# show name instead of username
SHOWFULLNAME = false ;
} ;
finder = {
AppleShowAllExtensions = true ;
FXEnableExtensionChangeWarning = true ;
_FXShowPosixPathInTitle = true ;
} ;
# firewall settings
alf = {
# 0 = disabled 1 = enabled 2 = blocks all connections except for essential services
globalstate = 1 ;
loggingenabled = 0 ;
stealthenabled = 1 ;
} ;
# dock settings
dock = {
autohide = true ;
autohide-delay = 0 .0 ;
autohide-time-modifier = 1 .0 ;
tilesize = 80 ;
static-only = false ;
showhidden = false ;
show-recents = false ;
show-process-indicators = true ;
orientation = " b o t t o m " ;
mru-spaces = false ;
} ;
} ;
system . keyboard = {
enableKeyMapping = true ;
remapCapsLockToControl = true ;
} ;
2023-07-26 09:06:51 +02:00
# Auto upgrade nix package and the daemon service.
services . nix-daemon . enable = true ;
nix . package = pkgs . nix ;
}