{ pkgs, sls-steam, options, ... }: { imports = [ ./boot.nix ./drives.nix ./packages.nix ./hardware-configuration.nix ../../modules/git.nix ../../modules/scripts.nix ../../modules/desktop/vr.nix ../../modules/programs/nixvim/neovim.nix ]; environment.etc."libinput/local-overrides.quirks".text = '' [No Debounce] MatchUdevType=mouse ModelBouncingKeys=1 ''; nix.settings.experimental-features = [ "nix-command" "flakes" ]; xdg = { mime.defaultApplications = { "inode/directory" = [ "nemo.desktop" ]; "application/x-gnome-saved-search" = [ "nemo.desktop" ]; }; }; hardware.graphics.enable = true; hardware.graphics.enable32Bit = true; services.hardware.openrgb.enable = true; hardware.bluetooth = { enable = true; powerOnBoot = false; }; environment.systemPackages = [ (pkgs.writeShellScriptBin "enable-hypervisor" '' sudo modprobe -r kvm_amd kvm sudo modprobe cpuid_fault_emulation '') (pkgs.writeShellScriptBin "disable-hypervisor" '' sudo modprobe -r cpuid_fault_emulation sudo modprobe kvm_amd kvm '') ]; networking.hostName = "nixos-desktop"; networking.firewall.enable = true; networking.networkmanager.enable = true; # Set your time zone. time.timeZone = "Europe/Berlin"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8"; LC_MEASUREMENT = "de_DE.UTF-8"; LC_MONETARY = "de_DE.UTF-8"; LC_NAME = "de_DE.UTF-8"; LC_NUMERIC = "de_DE.UTF-8"; LC_PAPER = "de_DE.UTF-8"; LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; console.keyMap = "de"; programs.fish.enable = true; users.users.user = { isNormalUser = true; description = "user"; uid = 1000; extraGroups = [ "networkmanager" "wheel" "docker" "audio" ]; shell = pkgs.fish; }; nixpkgs.config.allowUnfree = true; programs.niri.enable = true; programs.hyprland = { enable = true; xwayland.enable = true; }; programs.hyprlock.enable = true; # qt = { # enable = true; # platformTheme = "qt5ct"; # style = "breeze"; # }; programs.appimage = { enable = true; binfmt = true; package = pkgs.appimage-run.override { extraPkgs = pkgs: [ pkgs.zstd ]; }; }; services.gvfs.enable = true; services.goxlr-utility.enable = true; services.flatpak.enable = true; services.lact.enable = true; programs.kdeconnect.enable = true; services.rsync.enable = true; programs.neovim.enable = true; programs.gnupg.agent = { enable = true; pinentryPackage = pkgs.pinentry-curses; }; programs.nh = { enable = true; flake = "/home/user/nix-config"; }; programs.steam = { enable = true; protontricks.enable = true; extraCompatPackages = with pkgs; [ proton-ge-bin ]; package = pkgs.steam.override { extraEnv = { LD_AUDIT = "${sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam}/library-inject.so:${ sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam }/SLSsteam.so"; }; }; }; programs.nix-ld = { enable = true; libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [ dbus # libdbus-1.so.3 fontconfig # libfontconfig.so.1 freetype # libfreetype.so.6 glib # libglib-2.0.so.0 libGL # libGL.so.1 libxkbcommon # libxkbcommon.so.0 libx11 # libX11.so.6 wayland krb5 qt6.qtdeclarative qt6.qtbase qt6.qtwayland brotli ]); }; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; extraConfig.pipewire."92-no-crackling" = { "context.properties" = { "default.clock.quantum" = 2048; "default.clock.min-quantum" = 256; "default.clock.max-quantum" = 4096; }; }; }; security.pam.loginLimits = [ { domain = "@users"; item = "rtprio"; type = "-"; value = "95"; } { domain = "@users"; item = "memlock"; type = "-"; value = "unlimited"; } ]; system.stateVersion = "24.11"; system.autoUpgrade.enable = false; system.autoUpgrade.allowReboot = true; }