nix-dotfiles/systems/palatine-hill/configuration.nix

143 lines
3.3 KiB
Nix
Raw Normal View History

{ config, pkgs, ... }: {
2023-12-23 07:39:10 +01:00
time.timeZone = "America/New_York";
console.keyMap = "us";
systemd.services.hydra-notify.serviceConfig.EnvironmentFile = config.sops.secrets."hydra/environment".path;
programs.git.lfs.enable = false;
networking = {
hostId = "dc2f9781";
firewall.enable = false;
};
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override {
enableHybridCodec = true;
};
};
2023-12-26 04:07:18 +01:00
boot = {
zfs.extraPools = [ "ZFS-primary" ];
2023-12-27 10:03:13 +01:00
loader.grub.device = "/dev/sda";
filesystem = "zfs";
useSystemdBoot = true;
kernelParams = [ "i915.force_probe=56a5" "i915.enable_guc=2" ];
2023-12-26 04:07:18 +01:00
};
2023-12-23 07:39:10 +01:00
2024-02-03 22:00:35 +01:00
nix = {
extraOptions = ''
allowed-uris = github: gitlab: git+https:// git+ssh:// https://
builders-use-substitutes = true
2024-02-03 22:00:35 +01:00
'';
buildMachines = [{
hostName = "localhost";
maxJobs = 2;
protocol = "ssh-ng";
speedFactor = 2;
2024-02-07 00:51:31 +01:00
systems = [
"x86_64-linux"
"aarch64-linux"
];
supportedFeatures = [
"kvm"
"nixos-test"
"big-parallel"
"benchmark"
];
2024-02-03 22:00:35 +01:00
}];
};
2024-02-02 06:31:40 +01:00
2024-02-01 05:24:04 +01:00
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
];
};
};
2023-12-23 07:39:10 +01:00
virtualisation = {
# Disabling Podman as topgrade apparently prefers podman over docker and now I cant update anything :(
2023-12-23 07:39:10 +01:00
docker = {
enable = true;
recommendedDefaults = true;
logDriver = "local";
2024-02-01 05:24:04 +01:00
storageDriver = "overlay2";
2023-12-23 07:39:10 +01:00
daemon."settings" = {
2023-12-25 19:17:39 +01:00
experimental = true;
2024-02-01 05:24:04 +01:00
data-root = "/var/lib/docker2";
2023-12-23 07:39:10 +01:00
exec-opts = [ "native.cgroupdriver=systemd" ];
log-opts = {
max-size = "10m";
max-file = "5";
};
};
};
};
environment.systemPackages = with pkgs; [
docker-compose
jellyfin-ffmpeg
];
2023-12-23 07:39:10 +01:00
services = {
samba.enable = true;
nfs.server.enable = true;
openssh.ports = [ 666 ];
smartd.enable = true;
zfs = {
trim.enable = true;
autoScrub.enable = true;
};
2024-02-01 05:24:04 +01:00
postgresql = {
enable = true;
enableJIT = true;
2024-02-02 04:25:10 +01:00
identMap = ''
# ArbitraryMapName systemUser DBUser
superuser_map root postgres
superuser_map alice postgres
# Let other names login as themselves
superuser_map /^(.*)$ \1
'';
2024-02-01 05:24:04 +01:00
upgrade = {
enable = true;
stopServices = [ "hydra" ];
};
};
hydra = {
enable = true;
hydraURL = "http://localhost:3000";
smtpHost = "alicehuston.xyz";
notificationSender = "hydra@alicehuston.xyz";
gcRootsDir = "/ZFS/ZFS-primary/hydra";
2024-02-01 05:24:04 +01:00
useSubstitutes = true;
minimumDiskFree = 50;
minimumDiskFreeEvaluator = 100;
};
nix-serve = {
enable = true;
secretKeyFile = config.sops.secrets."nix-serve/secret-key".path;
};
2023-12-23 07:39:10 +01:00
};
sops = {
defaultSopsFile = ./secrets.yaml;
secrets = {
"hydra/environment".owner = "hydra";
"nix-serve/secret-key".owner = "root";
};
};
2023-12-23 08:27:00 +01:00
system.stateVersion = "23.05";
}