2
2
mirror of https://git.feal.no/felixalb/nixos-config.git synced 2024-12-22 20:17:31 +01:00
nixos-config/hosts/worf/configuration.nix

149 lines
3.2 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" ];
builders-use-substitutes = true;
extra-platforms = [ "x86_64-darwin" "aarch64-darwin" ];
log-lines = 50;
# https://github.com/NixOS/nix/issues/7273
# auto-optimise-store = true;
};
buildMachines = [
{
hostName = "defiant.home.feal.no";
system = "x86_64-linux";
maxJobs = 6;
supportedFeatures = [ "kvm" "big-parallel" "benchmark" "nixos-test" ];
mandatoryFeatures = [ ];
sshUser = "felixalb";
sshKey = "/var/root/.ssh/nix-builder";
}
{
hostName = "challenger.home.feal.no";
system = "x86_64-linux";
maxJobs = 6;
supportedFeatures = [ "kvm" "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; [
eza
findutils
gnugrep
jq
nix-output-monitor
nixpkgs-review
ripgrep
skhd
sshfs
wget
];
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.packages = 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;
system.stateVersion = 5;
}