diff --git a/flake.nix b/flake.nix index 1f9b830..d0a0954 100644 --- a/flake.nix +++ b/flake.nix @@ -75,7 +75,7 @@ repos = [ { repo = "https://gitlab.com/vojko.pribudic/pre-commit-update"; - rev = "f4886322eb7fc53c49e28cc1991674deb1f790bd"; + rev = "bbd69145df8741f4f470b8f1cf2867121be52121"; hooks = [ { id = "pre-commit-update"; diff --git a/modules/hydra.nix b/modules/hydra.nix new file mode 100644 index 0000000..c8cd50e --- /dev/null +++ b/modules/hydra.nix @@ -0,0 +1,17 @@ +{ config, lib, ... }: + +let + cfg = config.services.hydra; +in +{ + config = { + services.hydra.extraConfig = lib.mkDefault (lib.concatLines [ + cfg.extraConfig + '' + + timeout = 3600 + + '' + ]); + }; +} diff --git a/systems/palatine-hill/configuration.nix b/systems/palatine-hill/configuration.nix index 6d397fe..8be196d 100644 --- a/systems/palatine-hill/configuration.nix +++ b/systems/palatine-hill/configuration.nix @@ -17,34 +17,37 @@ nixpkgs.config.packageOverrides = pkgs: { vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; }; - hardware.opengl = { - enable = true; - extraPackages = with pkgs; [ - intel-media-driver # LIBVA_DRIVER_NAME=iHD - vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) - vaapiVdpau - libvdpau-va-gl - intel-compute-runtime - intel-media-sdk - ]; + + hardware = { + enableAllFirmware = true; + opengl = { + enable = true; + extraPackages = with pkgs; [ + intel-media-driver # LIBVA_DRIVER_NAME=iHD + vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) + vaapiVdpau + libvdpau-va-gl + intel-compute-runtime + intel-media-sdk + ]; + }; }; - hardware.enableAllFirmware = true; virtualisation = { docker = { enable = true; recommendedDefaults = true; logDriver = "local"; + storageDriver = "overlay2"; daemon."settings" = { experimental = true; + data-root = "/var/lib/docker2"; exec-opts = [ "native.cgroupdriver=systemd" ]; log-opts = { max-size = "10m"; max-file = "5"; }; - data-root = "/var/lib/docker2"; }; - storageDriver = "overlay2"; }; # Disabling as topgrade apparently prefers podman over docker and now I cant update anything :( @@ -62,13 +65,42 @@ services = { samba.enable = true; nfs.server.enable = true; - openssh.ports = [ 666 ]; smartd.enable = true; + zfs = { trim.enable = true; autoScrub.enable = true; }; + + postgresql = { + enable = true; + enableJIT = true; + upgrade = { + enable = true; + stopServices = [ "hydra" ]; + }; + + ensureUsers = map + (user: { + name = user; + ensureDBOwnership = true; + }) [ "hydra" ]; + + ensureDatabases = [ "hydra" ]; + }; + + hydra = { + enable = true; + hydraURL = "http://localhost:3000"; + smtpHost = "alicehuston.xyz"; + notificationSender = "hydra@alicehuston.xyz"; + gcRootsDir = "/ZFS/ZFS-Primary/hydra"; + buildMachinesFiles = [ ]; + useSubstitutes = true; + minimumDiskFree = 50; + minimumDiskFreeEvaluator = 100; + }; }; networking.firewall.enable = false;