nix-config/nixos/pruflas/configuration.nix

122 lines
2.4 KiB
Nix

{
config,
pkgs,
lib,
...
}:
with lib; {
imports = [./hardware-configuration.nix];
networking.hostName = "pruflas";
services.logind.lidSwitch = "ignore";
services.hydra = {
enable = true;
package = pkgs.hydra-unstable;
hydraURL = "https://hydra.dadada.li";
notificationSender = "hydra@localhost";
buildMachinesFiles = [];
useSubstitutes = true;
listenHost = "hydra.dadada.li";
port = 3000;
};
nix.buildMachines = [
{
hostName = "localhost";
system = "x86_64-linux";
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
maxJobs = 8;
}
];
services.nginx = {
recommendedTlsSettings = true;
recommendedOptimisation = true;
recommendedGzipSettings = true;
logError = "/dev/null";
appendHttpConfig = ''
access_log off;
'';
};
dadada.admin.enable = true;
dadada.backupClient = {
bs.enable = true;
};
networking.useDHCP = false;
networking.interfaces."enp0s25".useDHCP = true;
networking.firewall = {
enable = true;
allowPing = true;
allowedTCPPorts = [
22 # SSH
80
443 # HTTPS
3000 # Hydra
];
allowedUDPPorts = [
51234 # Wireguard
51235 # Wireguard
];
};
boot.kernelModules = ["kvm-intel"];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
swapDevices = [
{
device = "/var/swapfile";
size = 32768;
}
];
# Desktop things for media playback
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
hardware.pulseaudio.enable = false;
environment.systemPackages = [pkgs.spotify pkgs.mpv];
users.users."media" = {
isNormalUser = true;
description = "Media playback user";
extraGroups = ["users" "video"];
};
networking.domain = "dadada.li";
users.mutableUsers = true;
dadada.networking.localResolver.enable = true;
dadada.autoUpgrade.enable = mkDefault true;
documentation.enable = false;
documentation.nixos.enable = false;
services.journald.extraConfig = ''
SystemKeepFree = 2G
'';
system.stateVersion = "20.09";
}