Flake for my NixOS devices
at stylus-try 102 lines 2.7 kB view raw
1{ 2 outputs, 3 inputs, 4 ... 5}: { 6 system = "x86_64-linux"; 7 specialArgs.inputs = inputs // inputs.spoon.inputs // {inherit (inputs) self;}; 8 9 modules = [ 10 inputs.spoon.nixosModules.black-mesa 11 (outputs.lib.applyRoles ["base" "latest-linux" "wireless" "ssh" "graphics" "games" "fun" "dev" "normalboot" "mc-server"]) 12 { 13 imports = [inputs.bingus.nixosModules.default]; 14 nixpkgs.overlays = [inputs.bingus.overlays.default]; 15 16 services.bingus-bot = { 17 enable = true; 18 replyChannels = [1295447496948191262 1295245646542143489]; 19 }; 20 } 21 ({ 22 modulesPath, 23 lib, 24 config, 25 pkgs, 26 ... 27 }: { 28 imports = [(modulesPath + "/installer/scan/not-detected.nix")]; 29 networking.hostName = "black-mesa"; 30 system.stateVersion = "25.05"; 31 32 boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; 33 boot.initrd.kernelModules = ["amdgpu"]; 34 boot.kernelModules = ["kvm-amd"]; 35 boot.extraModulePackages = []; 36 37 services.pulseaudio.enable = false; 38 39 security.rtkit.enable = true; # Allows pipewire and friends to run realtime 40 41 services.pipewire = { 42 enable = true; 43 pulse.enable = true; 44 alsa = { 45 enable = true; 46 support32Bit = true; 47 }; 48 }; 49 50 programs.steam = { 51 enable = true; 52 remotePlay.openFirewall = true; 53 dedicatedServer.openFirewall = true; 54 localNetworkGameTransfers.openFirewall = true; 55 }; 56 57 programs.gamescope = { 58 enable = true; 59 # package = pkgs.gamescope.overrideAttrs (new: old: { 60 # src = pkgs.fetchFromGitHub { 61 # owner = "ValveSoftware"; 62 # repo = "gamescope"; 63 # rev = "186f3a3ed0ce8eb5f3a956d3916a3331ea4e3ab2"; 64 # fetchSubmodules = true; 65 # hash = "sha256-zAzIi3syJYtbKjydp19d1OxZvMjXb+eO+mXT/mJPEuA="; 66 # }; 67 # }); 68 capSysNice = true; 69 }; 70 71 fileSystems."/" = { 72 device = "/dev/nvme0n1p2"; 73 fsType = "ext4"; 74 }; 75 76 fileSystems."/boot" = { 77 device = "/dev/nvme0n1p1"; 78 fsType = "vfat"; 79 }; 80 81 fileSystems."/mnt/storage" = { 82 device = "/dev/sda1"; 83 fsType = "btrfs"; 84 }; 85 86 swapDevices = []; 87 88 hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 89 90 hardware.graphics.enable = true; 91 services.xserver.videoDrivers = ["amdgpu"]; 92 93 networking.interfaces.enp4s0.wakeOnLan.enable = true; 94 95 # services.nix-serve = { 96 # enable = true; 97 # secretKeyFile = "/etc/nix-serve-key"; 98 # openFirewall = true; 99 # }; 100 }) 101 ]; 102}