{ inputs, config, lib, pkgs, system, ... }: { imports = [ ./disks.nix ./syncthing.nix ../../common/modules/secureboot.nix # ../../common/modules/yubikey-auth.nix # ../../common/modules/boot.nix ../../common/modules/ssh-luks.nix ../../common/services/openrazer.nix ../../common/services/podman.nix ../../common/services/tailscale-autoconnect.nix ../../common/modules/builder.nix ]; #### TEMPORARY TODO #### environment.variables = { MOZ_ENABLE_WAYLAND = 1; NIXOS_OZONE_WL = "1"; # __GL_YIELD = "usleep"; # KWIN_TRIPLE_BUFFER = 1; }; services.displayManager.sddm = { wayland.enable = true; wayland.compositor = "kwin"; enableHidpi = true; }; hardware.keyboard.zsa.enable = true; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "thunderbolt" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" "acpi_call" ]; boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; networking.useDHCP = lib.mkDefault true; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; # Set your time zone. time.timeZone = "Europe/Warsaw"; services.automatic-timezoned.enable = true; # Set the networking hostname: networking.hostName = "nixos-desktop"; services.xserver.videoDrivers = [ "nvidia" ]; services.hardware = { openrgb = { enable = true; motherboard = "intel"; }; }; hardware = { opengl = { enable = true; }; nvidia = { modesetting.enable = true; forceFullCompositionPipeline = true; nvidiaSettings = true; open = false; }; }; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver { version = "555.58"; sha256_64bit = "sha256-bXvcXkg2kQZuCNKRZM5QoTaTjF4l2TtrsKUvyicj5ew="; sha256_aarch64 = "sha256-7XswQwW1iFP4ji5mbRQ6PVEhD4SGWpjUJe1o8zoXYRE="; openSha256 = "sha256-hEAmFISMuXm8tbsrB+WiUcEFuSGRNZ37aKWvf0WJ2/c="; settingsSha256 = "sha256-vWnrXlBCb3K5uVkDFmJDVq51wrCoqgPF03lSjZOuU8M="; persistencedSha256 = "sha256-lyYxDuGDTMdGxX3CaiWUh1IQuQlkI2hPEs5LI20vEVw="; }; programs.gamemode = { enable = true; enableRenice = true; settings = { general = { renice = 10; }; custom = { start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'"; end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'"; }; }; }; environment.systemPackages = [ # deployments and development environments inputs.deploy-rs.packages.${system}.deploy-rs pkgs.distrobox # nVidia gpu options pkgs.nvtopPackages.nvidia # WINE # support 32-bit only pkgs.wine # support 64-bit only ( pkgs.wine.override { wineBuild = "wine64"; } ) pkgs.wineWowPackages.staging pkgs.winetricks pkgs.wineWowPackages.waylandFull # RGB stuff pkgs.openrgb-with-all-plugins # Other pkgs.android-udev-rules ]; nixpkgs.overlays = [ (final: prev: { logseq = prev.logseq.overrideAttrs (oldAttrs: { postFixup = '' makeWrapper ${prev.electron_27}/bin/electron $out/bin/${oldAttrs.pname} \ --add-flags $out/share/${oldAttrs.pname}/resources/app \ --add-flags "--use-gl=desktop" \ --prefix LD_LIBRARY_PATH : "${prev.lib.makeLibraryPath [ prev.stdenv.cc.cc.lib ]}" ''; }); }) ]; }