103 lines
2.1 KiB
Nix
103 lines
2.1 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
# Many settings should be handled by home manager. System-wide settings are however managed here.
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
nix = {
|
|
gc = {
|
|
automatic = true;
|
|
options = "--delete-older-than 2d";
|
|
};
|
|
|
|
settings.experimental-features = ["nix-command" "flakes"];
|
|
};
|
|
|
|
# System packages for all users
|
|
environment = {
|
|
systemPackages = with pkgs; [
|
|
findutils
|
|
gnugrep
|
|
ripgrep
|
|
wget
|
|
sshfs
|
|
];
|
|
|
|
variables = {
|
|
EDITOR = "nvim";
|
|
VISUAL = "nvim";
|
|
};
|
|
};
|
|
|
|
users.users.felixalb = {
|
|
home = "/Users/felixalb";
|
|
shell = pkgs.zsh;
|
|
};
|
|
|
|
programs.zsh.enable = true;
|
|
system.activationScripts.postActivation.text = ''sudo chsh -s ${pkgs.zsh}/bin/zsh''; # Since it's not possible to declare default shell, run this command after build
|
|
|
|
|
|
fonts = {
|
|
fontDir.enable = true;
|
|
fonts = with pkgs; [
|
|
font-awesome
|
|
fira-code
|
|
hack-font
|
|
(nerdfonts.override {
|
|
fonts = [
|
|
"Hack"
|
|
];
|
|
})
|
|
];
|
|
};
|
|
|
|
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 = 45;
|
|
static-only = false;
|
|
showhidden = false;
|
|
show-recents = false;
|
|
show-process-indicators = true;
|
|
orientation = "bottom";
|
|
mru-spaces = false;
|
|
};
|
|
};
|
|
|
|
system.keyboard = {
|
|
enableKeyMapping = true;
|
|
remapCapsLockToControl = true;
|
|
};
|
|
|
|
# Auto upgrade nix package and the daemon service.
|
|
services.nix-daemon.enable = true;
|
|
nix.package = pkgs.nix;
|
|
}
|