{ pkgs, lib, ... }: with lib; with lib.metacfg; { imports = [ ./hardware-configuration.nix ./xremap.nix ./sound.nix ]; powerManagement.cpuFreqGovernor = "performance"; services.rustdesk-server.signal.enable = false; networking.firewall.allowedTCPPorts = [ 22000 ]; services.cratedocs-mcp.enable = true; services.openssh = { enable = true; }; services.tailscale.enable = true; services.resolved.enable = true; metacfg = { hardware.wooting.enable = true; base.enable = true; gui.enable = true; nix-ld.enable = true; nix.enable = true; podman.enable = true; secureboot.enable = true; homeprinter.enable = true; build.enable = true; system = { limits = { enable = true; nofileLimit = 32768; memlockLimit = 32768; }; }; # User configuration tools = { direnv.enable = true; }; user.extraGroups = [ "docker" "dialout" "tss" ]; system.kernelTweaks.enable = true; }; system.autoUpgrade = { enable = true; operation = "boot"; allowReboot = false; }; nixpkgs.config.permittedInsecurePackages = [ "electron-27.3.11" ]; # Additional kernel tuning beyond the module defaults boot.kernel.sysctl = { # Reduce swap usage (you have zram) "vm.swappiness" = 10; # Prefer keeping directory/inode caches "vm.vfs_cache_pressure" = 50; # Faster dirty page writeback "vm.dirty_ratio" = 10; "vm.dirty_background_ratio" = 5; }; # SSD TRIM support services.fstrim = { enable = true; interval = "weekly"; }; programs.steam = { enable = true; }; environment.systemPackages = with pkgs; [ attic-client azure-cli claude-code claude-desktop-with-fhs desktop-file-utils gnome-terminal gnome-remote-desktop gtypist k9s klavaro kubectl kubectx logseq nvtopPackages.amd obsidian piper-tts tipp10 uv vscode cider-2 opencode oversteer ]; # zram swap with zstd compression for better performance zramSwap = { algorithm = "zstd"; memoryPercent = 50; }; services.ratbagd.enable = true; # Logitech racing wheel permissions (oversteer) services.udev.extraRules = '' # Match Logitech HID devices for racing wheel support ACTION!="unbind", ACTION!="remove", SUBSYSTEM=="hid", ATTRS{idVendor}=="046d", GOTO="logitech-rules" GOTO="end" LABEL="logitech-rules" DRIVER=="logitech", GOTO="logitech-driver" DRIVER!="logitech-hidpp-device", GOTO="end" # Logitech G PRO Racing Wheel for PlayStation and PC ATTRS{idProduct}=="c268", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G PRO Racing Wheel for Xbox One and PC ATTRS{idProduct}=="c272", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G923 Racing Wheel for Xbox One and PC ATTRS{idProduct}=="c26e", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G920 Driving Force Racing Wheel ATTRS{idProduct}=="c262", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range'" GOTO="end" LABEL="logitech-driver" # Logitech G923 Racing Wheel for PlayStation 4 and PC ATTRS{idProduct}=="c266", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G29 Driving Force Racing Wheel ATTRS{idProduct}=="c24f", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G27 Driving Force Racing Wheel ATTRS{idProduct}=="c29b", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G25 Driving Force Racing Wheel ATTRS{idProduct}=="c299", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech Driving Force GT Racing Wheel ATTRS{idProduct}=="c29a", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech Driving Force Pro Racing Wheel ATTRS{idProduct}=="c298", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech Driving Force Racing Wheel ATTRS{idProduct}=="c294", RUN+="/bin/sh -c 'cd %S%p; chmod 666 alternate_modes combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech Momo Force Racing Wheel ATTRS{idProduct}=="c295", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech MOMO Racing USB ATTRS{idProduct}=="ca03", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech WingMan Formula Force GP USB ATTRS{idProduct}=="c293", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range gain autocenter spring_level damper_level friction_level ffb_leds peak_ffb_level'" # Logitech Racing Wheel USB ATTRS{idProduct}=="ca04", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range'" # Logitech WingMan Formula GP ATTRS{idProduct}=="c20e", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range'" # Logitech WingMan Formula (Yellow) (USB) ATTRS{idProduct}=="c202", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range'" # Logitech Speed Force Wireless ATTRS{idProduct}=="c29c", RUN+="/bin/sh -c 'cd %S%p; chmod 666 combine_pedals range'" LABEL="end" ''; virtualisation = { libvirtd.enable = true; docker.enable = true; podman.dockerCompat = false; }; services.trezord.enable = true; services.ollama = { enable = false; acceleration = "rocm"; environmentVariables = { HSA_OVERRIDE_GFX_VERSION = "10.1.0"; }; }; /* environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; # NIXOS_OZONE_WL = "1"; # DRI_PRIME = "pci-0000_24_00_0"; DRI_PRIME = "pci-0000_00_02_0"; }; */ system.stateVersion = "25.11"; }