{ flake, inputs, outputs, lib, # config, pkgs, ... }: { networking.hostName = "foxtrot"; imports = [ inputs.disko.nixosModules.disko flake.diskoConfigurations.standard ] ++ (with outputs.nixosModules; [ desktop-usage podman postgres wifi ]) ++ [ inputs.hardware.nixosModules.common-cpu-amd # inputs.hardware.nixosModules.common-cpu-amd-pstate inputs.hardware.nixosModules.common-pc-laptop-ssd ]; # TODO: hibernation? does sleep suffice? # TODO: perform a hardware scan boot = { loader = { efi.canTouchEfiVariables = true; systemd-boot.enable = true; }; kernelPackages = pkgs.linuxPackages_6_5; kernelParams = ["amdgpu.sg_display=0"]; initrd.availableKernelModules = ["xhci_pci" "nvme" "thunderbolt"]; kernelModules = ["kvm-amd"]; }; hardware.bluetooth.enable = true; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; services.printing.enable = true; services.power-profiles-daemon.enable = false; services.tlp = { enable = true; settings = { CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_MIN_PERF_ON_AC = 0; CPU_MAX_PERF_ON_AC = 100; CPU_MIN_PERF_ON_BAT = 0; CPU_MAX_PERF_ON_BAT = 20; }; }; powerManagement.powertop.enable = true; networking = { firewall = { enable = true; allowPing = true; allowedTCPPorts = [22]; allowedUDPPorts = []; }; }; system.stateVersion = "23.11"; }