{ pkgs , ... }: { imports = [ ../common/default.nix ../common/keychron.nix ../common/network.nix ../common/nvidia/default.nix ./hardware-configuration.nix ]; boot = { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; }; environment.etc."libwacom/intuos4-4x6.tablet".text = '' # Wacom # Intuos4 Small [Device] Name=Wacom Intuos4 4x6 DeviceMatch=usb:056a:00b8 Class=Intuos4 Width=6 Height=4 Layout=intuos4-4x6.svg IntegratedIn= Styli=0x802;0x804;0x806;0x80a;0x80c;0x902;0x90a;0x100802;0x100804;0x10080a;0x10080c;0x100902;0x10090a;0x120802;0x140802;0x14080a;0x160802;0x16080a; [Features] Reversible=true Stylus=true Ring=true Buttons=7 StatusLEDs=Ring [Buttons] Left=A;B;C;D;E;F;G Ring=A RingNumModes=4 ''; environment = { systemPackages = with pkgs; [ act btrfs-progs cudatoolkit networkmanagerapplet libwacom wacomtablet gnome-tweaks gnome-session ]; variables = { NIXOS_HOST = "nixstation"; NIXOS_DE = "wayland"; }; sessionVariables = { NIXOS_OZONE_WL = "1"; XDG_SESSION_TYPE = "wayland"; QT_QPA_PLATFORM = "wayland"; GDK_BACKEND = "wayland"; }; }; hardware = { sane.enable = true; graphics.enable = true; }; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "pt_BR.UTF-8"; LC_IDENTIFICATION = "pt_BR.UTF-8"; LC_MEASUREMENT = "pt_BR.UTF-8"; LC_MONETARY = "pt_BR.UTF-8"; LC_NAME = "pt_BR.UTF-8"; LC_NUMERIC = "pt_BR.UTF-8"; LC_PAPER = "pt_BR.UTF-8"; LC_TELEPHONE = "pt_BR.UTF-8"; LC_TIME = "pt_BR.UTF-8"; }; networking.firewall = { enable = true; allowPing = true; allowedTCPPorts = [ 11434 8888 8000 8080 ]; }; nix = { settings = { auto-optimise-store = true; }; }; programs = { # steam = { # enable = true; # remotePlay.openFirewall = true; # dedicatedServer.openFirewall = true; # localNetworkGameTransfers.openFirewall = true; # }; dconf.enable = true; virt-manager.enable = true; }; security.pam.services.gdm.enableGnomeKeyring = true; security.rtkit.enable = true; services = { xserver = { enable = true; desktopManager.gnome.enable = true; displayManager.gdm = { enable = true; wayland = true; }; displayManager.defaultSession = "gnome"; }; udev.packages = [ pkgs.libwacom ]; avahi = { enable = true; nssmdns4 = true; openFirewall = true; extraConfig = '' [server] allow-interfaces=wlp7s0 ''; }; earlyoom = { enable = true; freeMemThreshold = 5; freeSwapThreshold = 10; }; flatpak.enable = true; pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; }; systemd = { services."getty@tty1".enable = false; services."autovt@tty1".enable = false; }; systemd.timers.btrfs-scrub = { description = "Run Btrfs Scrub Daily"; wantedBy = [ "timers.target" ]; timerConfig = { OnCalendar = "daily"; Persistent = true; }; }; systemd.services = { btrfs-scrub = { description = "Daily Btrfs Scrub"; serviceConfig = { Type = "oneshot"; Nice = 19; IOSchedulingClass = "idle"; ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -n 2 -B / && ${pkgs.btrfs-progs}/bin/btrfs scrub start -n 2 -B /mnt/hdd0"; }; }; }; system.stateVersion = "25.11"; # keep it! time.timeZone = "America/Sao_Paulo"; virtualisation = { vmware.host.enable = false; spiceUSBRedirection.enable = true; libvirtd = { enable = true; qemu.ovmf.enable = true; qemu.package = pkgs.qemu_full; }; }; zramSwap = { enable = true; memoryPercent = 25; algorithm = "zstd"; }; }