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-27 11:33:44 +02:00
environment = {
systemPackages = with pkgs ; [
2023-07-27 13:13:03 +02:00
findutils
gnugrep
2023-07-27 11:33:44 +02:00
ripgrep
wget
2023-08-08 08:51:20 +02:00
sshfs
2023-07-27 11:33:44 +02:00
] ;
variables = {
EDITOR = " n v i m " ;
VISUAL = " n v i m " ;
} ;
} ;
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-27 11:33:44 +02:00
fonts = {
fontDir . enable = true ;
fonts = with pkgs ; [
font-awesome
2023-07-27 13:13:03 +02:00
fira-code
2023-07-27 11:33:44 +02:00
hack-font
( nerdfonts . override {
fonts = [
2023-07-27 13:13:03 +02:00
" H a c k "
2023-07-27 11:33:44 +02:00
] ;
} )
] ;
} ;
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 ;
2023-08-08 08:51:20 +02:00
tilesize = 45 ;
2023-07-26 15:22:24 +02:00
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 ;
}