My NixOS configuration (mirror)
1# Edit this configuration file to define what should be installed on
2# your system. Help is available in the configuration.nix(5) man page
3# and in the NixOS manual (accessible by running ‘nixos-help’).
4{
5 config,
6 pkgs,
7 inputs,
8 ...
9}: {
10 imports = [
11 ./hardware-configuration.nix
12 ../../system
13
14 inputs.solaar.nixosModules.default
15 ];
16
17 modules = {
18 hardware.amd.enable = true;
19 hardware.bluetooth.enable = true;
20
21 programs.discord.enable = true;
22 programs.fonts.enable = true;
23 programs.libre.enable = true;
24 programs.plasma.enable = true;
25 programs.steam.enable = true;
26
27 services.boot.enable = true;
28 services.docker.enable = true;
29 services.greetd.enable = true;
30 services.network.enable = true;
31 services.openssh.enable = true;
32 services.openvpn.enable = true;
33 services.pipewire.enable = true;
34 services.security.enable = true;
35 };
36
37 networking.hostName = "thwomp";
38
39 services.xserver.enable = true;
40
41 services.udev.extraRules = ''
42 ACTION=="add|change", SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c547", ATTR{power/wakeup}="disabled"
43 '';
44
45 systemd.services."disable-xhc2-wakeup" = {
46 description = "disable wakeup from usb controller XHC2";
47 wantedBy = ["multi-user.target"];
48 serviceConfig = {
49 Type = "oneshot";
50 ExecStart = ''/bin/sh -c 'echo XHC2 > /proc/acpi/wakeup' '';
51 };
52 };
53
54 hardware.enableAllFirmware = true;
55 boot.kernelPackages = pkgs.linuxPackages_latest;
56
57 boot.kernelPatches = [
58 {
59 name = "btusb-patch";
60 patch = ./btusb.patch;
61 }
62 ];
63
64 environment.sessionVariables = {
65 ELECTRON_OZONE_PLATFORM_HINT = "auto";
66 OZONE_PLATFORM = "wayland";
67 };
68
69 environment.systemPackages = with pkgs; [
70 prismlauncher
71 protonup-qt
72 tidal-hifi
73 rocmPackages.rocm-smi
74 satisfactorymodmanager
75 ];
76
77 services.solaar.enable = true;
78
79 hardware.logitech.wireless.enable = true;
80
81 # This value determines the NixOS release from which the default
82 # settings for stateful data, like file locations and database versions
83 # on your system were taken. It‘s perfectly fine and recommended to leave
84 # this value at the release version of the first install of this system.
85 # Before changing this value read the documentation for this option
86 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
87 system.stateVersion = "24.11"; # Did you read the comment?
88}