141 lines
3.0 KiB
Nix
141 lines
3.0 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
# Many settings should be handled by home manager. System-wide settings are however managed here.
|
|
imports = [
|
|
./yabai.nix
|
|
];
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
nix = {
|
|
# gc = {
|
|
# automatic = true;
|
|
# options = "--delete-older-than 2d";
|
|
# };
|
|
|
|
settings = {
|
|
allow-dirty = true;
|
|
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
|
auto-optimise-store = true;
|
|
builders-use-substitutes = true;
|
|
log-lines = 50;
|
|
};
|
|
|
|
buildMachines = [
|
|
{
|
|
hostName = "voyager.home.feal.no";
|
|
system = "x86_64-linux";
|
|
|
|
maxJobs = 4;
|
|
supportedFeatures = [ "kvm" "big-parallel" "benchmark" "nixos-test" ];
|
|
mandatoryFeatures = [ ];
|
|
|
|
sshUser = "felixalb";
|
|
sshKey = "/var/root/.ssh/nix-builder";
|
|
}
|
|
{
|
|
hostName = "sarek.home.feal.no";
|
|
system = "x86_64-linux";
|
|
|
|
maxJobs = 6;
|
|
supportedFeatures = [ "big-parallel" "benchmark" "nixos-test" ];
|
|
mandatoryFeatures = [ ];
|
|
|
|
sshUser = "felixalb";
|
|
sshKey = "/var/root/.ssh/nix-builder";
|
|
}
|
|
];
|
|
|
|
distributedBuilds = true;
|
|
extraOptions = "builders-use-substitutes = true";
|
|
};
|
|
|
|
# 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; [
|
|
noto-fonts
|
|
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;
|
|
}
|