nix-config/hosts/servers/default.nix

98 lines
1.8 KiB
Nix

{ inputs, outputs, lib, pkgs, ... }:
{
system.stateVersion = "24.05";
nix = {
settings = {
trusted-users = [ "@wheel" "root" ];
experimental-features = lib.mkDefault [
"nix-command"
"flakes"
"pipe-operators"
];
auto-optimise-store = true;
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
};
nixpkgs = {
overlays = [ outputs.overlays.unstable-packages ];
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
};
security = {
sudo.enable = lib.mkDefault false;
doas = {
enable = lib.mkDefault true;
extraRules = [{
groups = [ "wheel" ];
keepEnv = true;
persist = true;
}];
};
polkit.enable = true;
};
networking = {
firewall.enable = true;
networkmanager.enable = true;
};
time.timeZone = "America/Detroit";
system.autoUpgrade = {
enable = true;
flake = inputs.self.outPath;
flags = [
"--update-input"
"nixpkgs"
"-L"
];
dates = "Sat *-*-* 06:00:00";
randomizedDelaySec = "45min";
allowReboot = true;
};
programs = {
git.enable = true;
htop.enable = true;
neovim = {
enable = true;
package = pkgs.unstable.neovim-unwrapped;
viAlias = true;
vimAlias = true;
defaultEditor = true;
};
zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
promptInit = ''
PS1="%m%% "
'';
loginShellInit = ''
if command -v motd &> /dev/null; then
motd
fi
'';
};
};
environment.systemPackages = with pkgs; [
curl
fd
ripgrep
rsync
];
}