nixos-config/config/nutty-noon.nix

161 lines
4.3 KiB
Nix
Raw Normal View History

2022-06-12 15:39:15 +00:00
{
config,
pkgs,
modulesPath,
lib,
nixos-hardware,
...
}: {
2022-01-18 10:23:54 +00:00
networking.hostName = "nutty-noon";
networking.hostId = "e77e1829";
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
./systemd-boot.nix
2022-01-18 13:55:16 +00:00
./desktop.nix
2022-04-20 12:40:09 +00:00
./services/tpm2.nix
nixos-hardware.nixosModules.common-cpu-amd
2022-09-29 20:23:36 +00:00
nixos-hardware.nixosModules.common-gpu-amd
nixos-hardware.nixosModules.common-pc-ssd
2022-12-16 07:26:04 +00:00
./services/postgres.nix
2023-04-08 08:33:48 +00:00
./services/woodpecker-agent.nix
2023-01-14 13:57:00 +00:00
./users/remote-build.nix
2022-01-18 10:23:54 +00:00
];
2022-01-19 19:56:15 +00:00
hardware.cpu.amd.updateMicrocode = true;
2022-06-12 15:39:15 +00:00
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" "k10temp"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd"];
2022-01-21 15:15:48 +00:00
boot.extraModulePackages = [
config.boot.kernelPackages.zenpower
];
2022-01-18 10:23:54 +00:00
2023-11-05 14:37:01 +00:00
boot.kernelPackages = lib.mkForce (pkgs.linuxPackagesFor pkgs.linux_xanmod_latest);
2023-03-18 09:03:44 +00:00
2022-03-26 12:52:53 +00:00
fileSystems."/" = {
2023-11-04 17:38:38 +00:00
device = "/dev/disk/by-partuuid/53773b73-fb8a-4de8-ac58-d9d8ff1be430";
fsType = "btrfs";
options = ["compress=zstd"];
};
fileSystems."/home/darkkirb/hdd" = {
device = "/dev/disk/by-partuuid/d4c6a94f-2ae9-e446-9613-2596c564078c";
fsType = "btrfs";
options = ["compress=zstd"];
2022-03-26 12:52:53 +00:00
};
2022-01-18 10:23:54 +00:00
2022-03-26 12:52:53 +00:00
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/CA0B-E049";
fsType = "vfat";
};
2022-01-18 10:23:54 +00:00
2023-11-04 17:38:38 +00:00
services.btrfs.autoScrub = {
enable = true;
fileSystems = ["/" "/home/darkkirb/hdd"];
};
services.snapper.configs.main = {
SUBVOLUME = "/";
TIMELINE_LIMIT_HOURLY = "5";
TIMELINE_LIMIT_DAILY = "7";
TIMELINE_LIMIT_WEEKLY = "4";
TIMELINE_LIMIT_MONTHLY = "12";
TIMELINE_LIMIT_YEARLY = "0";
};
services.snapper.configs.hdd = {
SUBVOLUME = "/home/darkkirb/hdd";
TIMELINE_LIMIT_HOURLY = "5";
TIMELINE_LIMIT_DAILY = "7";
TIMELINE_LIMIT_WEEKLY = "4";
TIMELINE_LIMIT_MONTHLY = "12";
TIMELINE_LIMIT_YEARLY = "0";
};
services.beesd.filesystems.root = {
spec = "/";
hashTableSizeMB = 2048;
verbosity = "crit";
extraOptions = ["--loadavg-target" "5.0"];
};
services.beesd.filesystems.hdd = {
spec = "/home/darkkirb/hdd";
hashTableSizeMB = 2048;
verbosity = "crit";
extraOptions = ["--loadavg-target" "5.0"];
};
2022-01-18 10:23:54 +00:00
networking.interfaces.enp34s0.useDHCP = true;
system.stateVersion = "21.11";
2022-01-18 10:33:32 +00:00
2022-06-12 15:39:15 +00:00
networking.wireguard.interfaces."wg0".ips = ["fd0d:a262:1fa6:e621:47e6:24d4:2acb:9437/64"];
2022-01-18 11:05:39 +00:00
2022-06-12 15:39:15 +00:00
services.xserver.videoDrivers = ["amdgpu"];
2022-01-19 19:56:15 +00:00
environment.etc."sysconfig/lm_sensors".text = ''
# Generated by sensors-detect on Tue Aug 7 10:54:09 2018
# This file is sourced by /etc/init.d/lm_sensors and defines the modules to
# be loaded/unloaded.
#
# The format of this file is a shell script that simply defines variables:
# HWMON_MODULES for hardware monitoring driver modules, and optionally
# BUS_MODULES for any required bus driver module (for example for I2C or SPI).
HWMON_MODULES="nct6775"
'';
2022-01-21 15:15:48 +00:00
nix.settings.cores = 16;
2022-02-10 16:01:58 +00:00
boot.binfmt.emulatedSystems = [
"armv7l-linux"
"powerpc-linux"
"powerpc64-linux"
"powerpc64le-linux"
"wasm32-wasi"
2023-10-19 08:02:43 +00:00
"riscv32-linux"
"riscv64-linux"
2022-02-10 16:01:58 +00:00
];
2022-03-04 12:46:58 +00:00
hardware.enableRedistributableFirmware = true;
2022-03-20 09:15:54 +00:00
nix.daemonCPUSchedPolicy = "idle";
nix.daemonIOSchedClass = "idle";
2022-04-07 13:30:09 +00:00
networking.wireguard.interfaces.wg0.peers = [
2022-04-24 08:39:44 +00:00
# nas
2022-04-07 13:30:09 +00:00
{
2022-04-24 08:39:44 +00:00
publicKey = "RuQImASPojufJMoJ+zZ4FceC+mMN5vhxNR+i+m7g9Bc=";
2022-04-07 13:30:09 +00:00
allowedIPs = [
2022-04-24 08:39:44 +00:00
"fd0d:a262:1fa6:e621:bc9b:6a33:86e4:873b/128"
2022-04-07 13:30:09 +00:00
];
2022-05-05 19:58:29 +00:00
endpoint = "192.168.2.1:51820";
2022-04-07 13:30:09 +00:00
}
];
nix.settings.system-features = [
"kvm"
"nixos-test"
"big-parallel"
"benchmark"
"gccarch-znver2"
"gccarch-znver1"
"gccarch-skylake"
"ca-derivations"
];
2022-06-12 15:39:15 +00:00
networking.firewall.allowedTCPPorts = [58913];
2023-04-02 08:48:30 +00:00
environment.etc."pipewire/pipewire.conf.d/hi-res.conf".text = ''
context.properties = {
default.clock.rate = 384000
default.clock.allowedRates = [
44100
48000
88200
96000
176400
192000
352800
384000
]
default.clock.quantum = 8192
}
'';
2023-02-01 20:01:01 +00:00
services.tailscale.useRoutingFeatures = "client";
2023-05-02 15:58:15 +00:00
home-manager.users.darkkirb._module.args.withNSFW = lib.mkForce true;
2023-11-07 17:34:42 +00:00
system.autoUpgrade.allowReboot = true;
2023-11-23 14:50:11 +00:00
networking.extraHosts = "192.168.2.1 speedport.ip";
2022-01-18 13:55:16 +00:00
}