# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). { pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ./filesystems.nix ./boot.nix ./apps.nix ./grafana.nix ./networking.nix ./nixpkgs.nix ./ups.nix ./users.nix ./samba.nix ./services.nix ./sops.nix ../default.nix ../../modules/desktop-environments/cosmic/default.nix ]; powerManagement.cpuFreqGovernor = "powersave"; share.hardware.nvidia = { enable = true; enableBeta = true; enableOpen = true; nvidiaSettings = true; enableNvidiaDocker = true; }; security.tpm2 = { enable = true; }; # Configure environment environment = { etc.crypttab.text = '' ssd1 UUID=eff4b19c-aba7-41ab-b452-a8c6654d8754 none tpm2-device=auto ssd2 UUID=c8640e19-6cd9-49d0-a355-bac09d17ea0d none tpm2-device=auto hdd1 UUID=8d7dd657-d9b0-47ed-97e1-a9d1eba12b56 none tpm2-device=auto hdd2 UUID=11ee92b0-6334-4be7-bb2d-d85f5a3f51a6 none tpm2-device=auto hdd3 UUID=4463ea6f-3fcf-4e49-80c8-ba7f424471f0 none tpm2-device=auto hdd4 UUID=13fe7737-b72b-4d5f-a79d-1ca0d438f8f0 none tpm2-device=auto hdd5 UUID=2b4be219-613d-4512-8277-0260989d5377 none tpm2-device=auto ''; etc.machine-id.text = '' 57cdf5fc27f3469f80d0a339f1238aeb ''; systemPackages = with pkgs; [ authentik binutils cryptsetup clinfo cmake coolercontrol.coolercontrol-gui deconz duperemove efibootmgr ffmpeg gcc git glances gparted htop ipset jq llama-cpp lm_sensors nano ninja nixfmt-rfc-style nix-inspect nix-ld networkmanagerapplet nmon nodejs-18_x nut packagekit pass pciutils protonmail-bridge protonvpn-cli python3 unstable.python3Packages.llama-cpp-python qrencode rcon sbctl sops speedtest-cli tailscale tigervnc tpm2-tools tpm2-tss usbutils vim vulkan-tools wget xorg.xinit xorg.xauth ]; }; # Configure programs programs = { fish.enable = false; virt-manager.enable = true; nix-ld.enable = true; screen.enable = true; coolercontrol = { enable = true; nvidiaSupport = true; }; nix-index = { enable = true; enableBashIntegration = true; enableZshIntegration = true; }; }; hardware.fancontrol = { enable = false; config = '' # Configuration file generated by pwmconfig, changes will be lost # hwmon6/temp9_input -- chipset temp? # hwmon2/temp1_input -- cpu temp? # hwmon6/pwm5 -- chipset fan? # hwmon6/pwm2, hwmon6/pwm3 -- cpu fans? # hwmon6/pwm4 -- case fans? INTERVAL=10 DEVPATH=hwmon2=devices/pci0000:00/0000:00:18.3 hwmon6=devices/platform/nct6775.656 DEVNAME=hwmon2=k10temp hwmon6=nct6798 FCTEMPS=hwmon6/pwm5=hwmon6/temp9_input hwmon6/pwm2=hwmon2/temp1_input hwmon6/pwm3=hwmon2/temp1_input hwmon6/pwm4=hwmon2/temp1_input FCFANS=hwmon6/pwm5=hwmon6/fan5_input hwmon6/pwm2=hwmon6/fan2_input hwmon6/pwm3=hwmon6/fan3_input hwmon6/pwm4=hwmon6/fan4_input MINTEMP=hwmon6/pwm5=20 hwmon6/pwm2=20 hwmon6/pwm3=20 hwmon6/pwm4=20 MAXTEMP=hwmon6/pwm5=60 hwmon6/pwm2=90 hwmon6/pwm3=90 hwmon6/pwm4=90 MINSTART=hwmon6/pwm5=16 hwmon6/pwm2=90 hwmon6/pwm3=45 hwmon6/pwm4=60 MINSTOP=hwmon6/pwm5=14 hwmon6/pwm2=0 hwmon6/pwm3=30 hwmon6/pwm4=45 MINPWM=hwmon6/pwm5=14 hwmon6/pwm2=0 hwmon6/pwm3=0 hwmon6/pwm4=0 MAXPWM=hwmon6/pwm5=255 hwmon6/pwm2=255 hwmon6/pwm3=255 hwmon6/pwm4=255 ''; }; # Enable binfmt emulation for ARM boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; # Virtualisation virtualisation = { podman = { enable = true; dockerCompat = true; autoPrune.enable = true; defaultNetwork.settings = { dns_enabled = true; }; }; libvirtd.enable = true; }; }