Flake for my NixOS devices
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}