nix/nixos/hosts/steamdeck/default.nix
2024-11-18 20:48:16 +01:00

46 lines
1.5 KiB
Nix

{ inputs, config, lib, username, hostname, pkgs, ... }: {
imports = [
inputs.jovian.nixosModules.default
./disks.nix
../../common/modules/boot.nix
../../common/services/tailscale-autoconnect.nix
../../common/services/geoclue.nix
];
nixpkgs.config.permittedInsecurePackages = [
"electron-27.3.11"
];
nixpkgs.config.allowUnfree = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "thunderbolt" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "acpi_call" ];
boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
networking.useDHCP = lib.mkDefault true;
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.bluetooth.enable = true; # enables support for Bluetooth
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
# Set the networking hostname:
networking.hostName = hostname;
environment.systemPackages = with pkgs; [
python3 # decky-loader required
jupiter-dock-updater-bin
jellyfin-media-player
];
jovian = {
decky-loader = {
enable = true;
user = username;
};
steam = {
enable = true;
autoStart = true;
user = username;
desktopSession = "plasma";
};
devices.steamdeck.enable = true;
hardware.has.amd.gpu = true;
};
}