nixos-config/hosts/worf/configuration.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;
}