109 lines
2.2 KiB
Nix
Raw Permalink Normal View History

{
config,
pkgs,
lib,
...
}:
{
imports = [
./acme.nix
./attic
./docker
./gitea.nix
2024-10-22 17:43:51 -04:00
./firewall.nix
./haproxy
./hardware-changes.nix
2025-03-26 02:43:56 -04:00
./hydra.nix
./minio.nix
./networking.nix
./nextcloud.nix
./postgresql.nix
2025-03-26 02:05:17 -04:00
./samba.nix
./zfs.nix
];
2024-04-10 18:23:40 -04:00
programs.git.lfs.enable = false;
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
2023-12-26 04:07:18 +01:00
boot = {
2023-12-27 10:03:13 +01:00
loader.grub.device = "/dev/sda";
useSystemdBoot = true;
kernelParams = [
"i915.force_probe=56a5"
"i915.enable_guc=2"
];
kernel.sysctl = {
"vm.overcommit_memory" = lib.mkForce 1;
"vm.swappiness" = 10;
};
binfmt.emulatedSystems = [ "aarch64-linux" ];
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;
graphics = {
2024-02-01 05:24:04 +01:00
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
];
};
};
environment.systemPackages = with pkgs; [
chromedriver
chromium
docker-compose
intel-gpu-tools
jellyfin-ffmpeg
jq
yt-dlp
yq
];
2023-12-23 07:39:10 +01:00
services = {
samba.enable = true;
nfs.server.enable = true;
openssh.ports = [ 666 ];
smartd.enable = true;
calibre-server.enable = false;
2024-02-01 05:24:04 +01:00
};
nix.gc.options = "--delete-older-than 150d";
# TODO: revert this once UPS is plugged in
# Not reverting this before the merge as the UPS not being plugged in is
# causing upgrades to fail
power.ups = {
enable = false;
ups."LX1325GU3" = {
driver = "usbhid-ups";
port = "auto";
description = "CyberPower LX1325GU3";
};
users.upsmon = {
passwordFile = config.sops.secrets."upsmon/password".path;
upsmon = "primary";
};
upsmon.monitor."LX1325GU3".user = "upsmon";
};
sops = {
defaultSopsFile = ./secrets.yaml;
secrets = {
"postgres/init".owner = "postgres";
"upsmon/password".owner = "root";
};
};
2023-12-23 08:27:00 +01:00
system.stateVersion = "23.05";
}