server-configuration/configuration.nix
2025-03-31 00:50:17 +02:00

76 lines
1.5 KiB
Nix
Executable file

# Main configuration entrypoint file
{
pkgs,
inputs,
...
}: {
imports = [
./services/nginx.nix
./services/openssh.nix
./services/forgejo.nix
./services/vaultwarden.nix
./services/jellyfin.nix
./services/website.nix
./services/mailserver.nix
./services/fail2ban.nix
./services/zed.nix # IMPORTANTE
./services/auto-torrent.nix
./services/misc.nix
./services/website.nix
./modules/age.nix
./modules/git.nix
./modules/nix-settings.nix
./modules/zfs.nix
(import ./modules/microvm.nix {routed = true;})
(import ./modules/networking-shared.nix {hostname = "server";})
(import ./modules/users.nix {main-user = "baritone";})
];
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
timeout = 0;
};
boot.kernel.sysctl = {"vm.swappiness" = 85;};
# Enable microcode updates
hardware.enableRedistributableFirmware = true;
# programs.zsh = {
# enable = true;
# enableGlobalCompInit = true;
# shellAliases = {
# "nrb" = "sudo nixos-rebuild switch --flake /etc/nixos";
# };
# };
environment.systemPackages = with pkgs; [
wget
curl
git
vim
inputs.agenix.packages."${system}".default
];
programs.nano.enable = false;
environment.variables = {
EDITOR = "vim"; # FUCK NANO
};
time.timeZone = "Europe/Copenhagen";
security.sudo = {
enable = true;
# I know what im doing
extraConfig = ''
Defaults lecture = never
'';
};
system.stateVersion = "24.11";
}