{ lib, pkgs, ... }: { imports = [ ./filesystems.nix ./steam.nix ]; boot = { kernelModules = [ "kvm-amd" ]; kernelPackages = pkgs.linuxKernel.packages.linux_zen; kernelParams = [ "video=DP-1:2560x1440@165" ]; initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; lanzaboote = { enable = true; pkiBundle = "/var/lib/sbctl"; }; loader = { systemd-boot = { enable = lib.mkForce false; configurationLimit = 10; consoleMode = "max"; editor = false; windows."11" = { title = "Windows 11 Pro N"; efiDeviceHandle = "HD2d"; }; }; efi.canTouchEfiVariables = true; }; supportedFilesystems = [ "ntfs" ]; }; environment.systemPackages = with pkgs; [ ffmpeg-full gparted sbctl ]; hardware.i2c.enable = true; networking = { firewall = { enable = true; allowedTCPPorts = [ 8000 42595 1420 7777 8080 ]; allowedUDPPorts = [ 24642 ]; }; hostName = "totsugeki"; networkmanager.enable = true; useDHCP = lib.mkDefault true; }; time = { hardwareClockInLocalTime = false; timeZone = "Europe/Madrid"; }; i18n = { defaultLocale = "es_ES.UTF-8"; supportedLocales = [ "C.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" "es_ES.UTF-8/UTF-8" "ja_JP.UTF-8/UTF-8" # Monster Hunter Frontier Z Zenith ]; }; nixpkgs.config.allowUnfree = true; fonts = { packages = with pkgs; [ inter ubuntu-sans twitter-color-emoji nerd-fonts.iosevka nerd-fonts.ubuntu-mono ]; fontconfig = { defaultFonts = { serif = [ "Inter" ]; sansSerif = [ "Inter" ]; monospace = [ "Iosevka Nerd Font" ]; }; }; }; programs = { corectrl = { enable = true; gpuOverclock.enable = true; }; dconf.enable = true; nix-ld.enable = true; hyprland.enable = true; virt-manager.enable = true; }; security.polkit = { enable = true; }; xdg.portal = { config.common = { default = "gtk"; }; enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; services = { avahi = { enable = true; nssmdns4 = true; openFirewall = true; }; greetd = { enable = true; settings = rec { initial_session = { command = "${pkgs.zsh}/bin/zsh -c Hyprland"; user = "avery"; }; default_session = initial_session; }; }; gvfs.enable = true; jellyfin = { enable = true; openFirewall = true; }; pipewire = { enable = true; alsa = { enable = true; support32Bit = true; }; pulse.enable = true; }; printing = { enable = true; drivers = with pkgs; [ brlaser ]; }; udisks2.enable = true; udev.extraRules = '' SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666" # Atmel DFU ### ATmega16U2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess" ### ATmega32U2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess" ### ATmega16U4 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess" ### ATmega32U4 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess" ### AT90USB64 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess" ### AT90USB162 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess" ### AT90USB128 SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess" # Input Club SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess" # STM32duino SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess" # STM32 DFU SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess" # BootloadHID SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess" # USBAspLoader SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess" # USBtinyISP SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="0c9f", TAG+="uaccess" # ModemManager should ignore the following devices # Atmel SAM-BA (Massdrop) SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # Caterina (Pro Micro) ## pid.codes shared PID ### Keyboardio Atreus 2 Bootloader SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ## Spark Fun Electronics ### Pro Micro 3V3/8MHz SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ### Pro Micro 5V/16MHz SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ### LilyPad 3V3/8MHz (and some Pro Micro clones) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ## Pololu Electronics ### A-Star 32U4 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ## Arduino SA ### Leonardo SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ### Micro SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ## Adafruit Industries LLC ### Feather 32U4 SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ### ItsyBitsy 32U4 3V3/8MHz SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ### ItsyBitsy 32U4 5V/16MHz SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ## dog hunter AG ### Leonardo SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" ### Micro SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # hid_listen KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl" # hid bootloaders ## QMK HID SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", TAG+="uaccess" ## PJRC's HalfKay SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", TAG+="uaccess" # APM32 DFU SUBSYSTEMS=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", TAG+="uaccess" # GD32V DFU SUBSYSTEMS=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", TAG+="uaccess" # WB32 DFU SUBSYSTEMS=="usb", ATTRS{idVendor}=="342d", ATTRS{idProduct}=="dfa0", TAG+="uaccess" ''; }; systemd = { services = { NetworkManager-wait-online.enable = false; }; }; sops = { defaultSopsFile = "/etc/nixos/secrets/greatyamada.yaml"; age.keyFile = "/home/avery/.config/sops/age/keys.txt"; }; system.stateVersion = "24.05"; virtualisation = { libvirtd.enable = true; spiceUSBRedirection = true; }; users.users.avery.extraGroups = [ "corectrl" "libvirt" ]; }