diff --git a/flake.lock b/flake.lock index 2eb090f..71c3240 100644 --- a/flake.lock +++ b/flake.lock @@ -18,11 +18,11 @@ "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1753369162, - "narHash": "sha256-pSAsUVueht3WyyFJ3K+QJKWqFZNbyvsXijHOAHApeLk=", + "lastModified": 1759322529, + "narHash": "sha256-yiv/g/tiJI3PI95F7vhTnaf1TDsIkFLrmmFTjWfb6pQ=", "owner": "nix-community", "repo": "authentik-nix", - "rev": "1361d269fe10c527528264185567a053252e22b0", + "rev": "69fac057b2e553ee17c9a09b822d735823d65a6c", "type": "github" }, "original": { @@ -34,16 +34,16 @@ "authentik-src": { "flake": false, "locked": { - "lastModified": 1753187012, - "narHash": "sha256-bs/ThY3YixwBObahcS7BrOWj0gsaUXI664ldUQlJul8=", + "lastModified": 1759190535, + "narHash": "sha256-pIzDaoDWc58cY/XhsyweCwc4dfRvkaT/zqsV1gDSnCI=", "owner": "goauthentik", "repo": "authentik", - "rev": "23ffad1c6be80bea223caf5f1cf265b984b76328", + "rev": "8d3a289d12c7de2f244c76493af7880f70d08af2", "type": "github" }, "original": { "owner": "goauthentik", - "ref": "version/2025.6.4", + "ref": "version/2025.8.4", "repo": "authentik", "type": "github" } @@ -100,11 +100,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "type": "github" }, "original": { @@ -200,11 +200,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1758108966, + "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "type": "github" }, "original": { @@ -242,11 +242,11 @@ ] }, "locked": { - "lastModified": 1754613544, - "narHash": "sha256-ueR1mGX4I4DWfDRRxxMphbKDNisDeMPMusN72VV1+cc=", + "lastModified": 1760500983, + "narHash": "sha256-zfY4F4CpeUjTGgecIJZ+M7vFpwLc0Gm9epM/iMQd4w8=", "owner": "nix-community", "repo": "home-manager", - "rev": "cc2fa2331aebf9661d22bb507d362b39852ac73f", + "rev": "c53e65ec92f38d30e3c14f8d628ab55d462947aa", "type": "github" }, "original": { @@ -259,11 +259,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1754569551, - "narHash": "sha256-P+WiN95OjCqHhfygglS/VOFTSj7qNdL5XQDo2wxhQqg=", - "rev": "8bbd5e1d0df9c31b4d86ba07bc85beb952e42ccb", + "lastModified": 1760552848, + "narHash": "sha256-ibkmGcXZUpSSMMePfD+CFML5BFUHKVycSwh2FPRx2qg=", + "rev": "cac395ffbccbd0ebdbd6c7aa46f003a0be212112", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/8bbd5e1d0df9c31b4d86ba07bc85beb952e42ccb.tar.gz?rev=8bbd5e1d0df9c31b4d86ba07bc85beb952e42ccb" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/cac395ffbccbd0ebdbd6c7aa46f003a0be212112.tar.gz?rev=cac395ffbccbd0ebdbd6c7aa46f003a0be212112" }, "original": { "type": "tarball", @@ -282,11 +282,11 @@ ] }, "locked": { - "lastModified": 1751909859, - "narHash": "sha256-gbpuESxl/An4GTh7QEbQRYJozVIxWkwVGbWK0/0GoRc=", - "rev": "4d4c2b8f0a801c91ce5b717c77fe3a17efa1402f", + "lastModified": 1759851320, + "narHash": "sha256-n5dRAIC3/78drQtFxmQRrBLd6TKfotUnX7GWu0mAcSg=", + "rev": "7c31a18259b8358ac196cf803a26967c0fa1d3e4", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/4d4c2b8f0a801c91ce5b717c77fe3a17efa1402f.tar.gz?rev=4d4c2b8f0a801c91ce5b717c77fe3a17efa1402f" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/7c31a18259b8358ac196cf803a26967c0fa1d3e4.tar.gz?rev=7c31a18259b8358ac196cf803a26967c0fa1d3e4" }, "original": { "type": "tarball", @@ -306,11 +306,11 @@ "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1754605910, - "narHash": "sha256-kVWxzm44ywJTb4REfwWCYXnROISykG0yE+X5A3Gov24=", + "lastModified": 1759489698, + "narHash": "sha256-2lT2i5ha23I2vrolEaBaAS/63ChgZPh181Awt6q1bDY=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "57d9624c71ca65bee69b30d72b11f6c5257e9500", + "rev": "6005d88bed7a5418f9772b4058a73cd0fd1e69a1", "type": "gitlab" }, "original": { @@ -363,11 +363,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754498491, - "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", + "lastModified": 1760524057, + "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", + "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", "type": "github" }, "original": { @@ -379,11 +379,11 @@ }, "nixpkgs-25_05": { "locked": { - "lastModified": 1753749649, - "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=", + "lastModified": 1759143472, + "narHash": "sha256-TvODmeR2W7yX/JmOCmP+lAFNkTT7hAxYcF3Kz8SZV3w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a", + "rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23", "type": "github" }, "original": { @@ -395,11 +395,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1753579242, - "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "lastModified": 1754788789, + "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "rev": "a73b9c743612e4244d865a2fdee11865283c04e6", "type": "github" }, "original": { @@ -440,11 +440,11 @@ ] }, "locked": { - "lastModified": 1749519371, - "narHash": "sha256-UJONN7mA2stweZCoRcry2aa1XTTBL0AfUOY84Lmqhos=", + "lastModified": 1757296493, + "narHash": "sha256-6nzSZl28IwH2Vx8YSmd3t6TREHpDbKlDPK+dq1LKIZQ=", "owner": "pyproject-nix", "repo": "build-system-pkgs", - "rev": "7c06967eca687f3482624250428cc12f43c92523", + "rev": "5b8e37fe0077db5c1df3a5ee90a651345f085d38", "type": "github" }, "original": { @@ -461,11 +461,11 @@ ] }, "locked": { - "lastModified": 1750499893, - "narHash": "sha256-ThKBd8XSvITAh2JqU7enOp8AfKeQgf9u7zYC41cnBE4=", + "lastModified": 1757246327, + "narHash": "sha256-6pNlGhwOIMfhe/RLjHdpXveKS4FyLHvlGe+KtjDild4=", "owner": "pyproject-nix", "repo": "pyproject.nix", - "rev": "e824458bd917b44bf4c38795dea2650336b2f55d", + "rev": "8d77f342d66ad1601cdb9d97e9388b69f64d4c8e", "type": "github" }, "original": { @@ -499,11 +499,11 @@ ] }, "locked": { - "lastModified": 1754328224, - "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", + "lastModified": 1760393368, + "narHash": "sha256-8mN3kqyqa2PKY0wwZ2UmMEYMcxvNTwLaOrrDsw6Qi4E=", "owner": "Mic92", "repo": "sops-nix", - "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", + "rev": "ab8d56e85b8be14cff9d93735951e30c3e86a437", "type": "github" }, "original": { @@ -569,11 +569,11 @@ ] }, "locked": { - "lastModified": 1750987094, - "narHash": "sha256-GujDElxLgYatnNvuL1U6qd18lcuG6anJMjpfYRScV08=", + "lastModified": 1757925761, + "narHash": "sha256-7Hwz0vfHuFqCo5v7Q07GQgLBWuPvZCuf/5/pk4NoADg=", "owner": "pyproject-nix", "repo": "uv2nix", - "rev": "4b703d851b61e664a70238711a8ff0efa1aa2f52", + "rev": "780494c40895bb7419a73d942bee326291e80b3b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 14359b7..291804b 100644 --- a/flake.nix +++ b/flake.nix @@ -89,7 +89,7 @@ }; my-overlays = [ overlay-stable - overlay-vaapiIntel + # overlay-vaapiIntel overlay-nitrokey-udev-update ]; inherit (inputs.nix-cfg-extra.lib) extra-data; diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index a947b43..0b0b405 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -111,12 +111,12 @@ in hardware.graphics = { enable = true; # These extrapackages I added later but it didn't help - extraPackages = with pkgs; [ - intel-media-driver # LIBVA_DRIVER_NAME=iHD - vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) - vaapiVdpau - libvdpau-va-gl - ]; + # extraPackages = with pkgs; [ + # intel-media-driver # LIBVA_DRIVER_NAME=iHD + # vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) + # vaapiVdpau + # libvdpau-va-gl + # ]; }; # Tell Xorg to use the nvidia driver (also valid for Wayland) services.xserver.videoDrivers = ["nvidia"]; @@ -126,7 +126,7 @@ in modesetting.enable = true; # Use the open source version of the kernel module # Only available on driver 515.43.04+ - open = false; + open = true; # Enable the nvidia settings menu nvidiaSettings = true; powerManagement.enable = true; @@ -136,7 +136,7 @@ in }; # NVIDIA - hardware.nvidia.prime = { + hardware.nvidia.prime = lib.mkIf (config.specialisation != {}) { offload = { enable = true; enableOffloadCmd = true; @@ -147,13 +147,33 @@ in nvidiaBusId = "PCI:1:0:0"; }; + specialisation."dGPU-only".configuration = { + environment.etc."specialisation".text = "dGPU-only"; + system.nixos.tags = ["dGPU-only"]; + # hardware.nvidia.prime = { + # offload.enable = lib.mkForce false; + # offload.enableOffloadCmd = lib.mkForce false; + # sync.enable = lib.mkForce true; + # }; + environment.systemPackages = [ + (pkgs.writeShellScriptBin "nvidia-offload" '' + echo "nvidia full mode on, simply executing $@" + exec "$@" + '') + ]; + # boot.kernelParams = [ "module_blacklist=i915" ]; + }; + specialisation."nvidia-full".configuration = { environment.etc."specialisation".text = "nvidia-full"; system.nixos.tags = ["nvidia-full"]; hardware.nvidia.prime = { - offload.enable = lib.mkForce false; - offload.enableOffloadCmd = lib.mkForce false; - sync.enable = lib.mkForce true; + offload.enable = false; + offload.enableOffloadCmd = false; + sync.enable = true; + + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; }; environment.systemPackages = [ (pkgs.writeShellScriptBin "nvidia-offload" '' @@ -266,6 +286,7 @@ in enable = true; gamescopeSession.enable = true; remotePlay.openFirewall = true; + extest.enable = true; # dedicatedServer.openFirewall = true; }; @@ -363,6 +384,9 @@ in kdePackages.calendarsupport kdePackages.kdepim-addons kdePackages.akonadi-import-wizard + kdePackages.flatpak-kcm + + mono # for Duck Game Rebuit git git-crypt @@ -435,6 +459,11 @@ in settings.PermitRootLogin = "no"; }; + services.mullvad-vpn = { + enable = true; + package = pkgs.mullvad-vpn; + }; + # Open ports in the firewall. networking.firewall.trustedInterfaces = [ "p2p-wl+" "tailscale0" ]; # 24800 for input-leap @@ -460,6 +489,11 @@ in }; services.fprintd.enable = true; + services.udev.extraRules = '' + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06cb", ATTR{idProduct}=="00bd", TEST=="power/control", ATTR{power/control}="on" + ''; + + services.fwupd.enable = true; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; diff --git a/hosts/laptop/hardware-configuration.nix b/hosts/laptop/hardware-configuration.nix index 5138656..bb94530 100644 --- a/hosts/laptop/hardware-configuration.nix +++ b/hosts/laptop/hardware-configuration.nix @@ -16,7 +16,7 @@ in boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "ahci" "nvme" "usbhid" "uas" "usb_storage" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = [ "dm-snapshot" ]; boot.kernelModules = [ "kvm-intel" ]; - boot.kernelParams = [ "i915.enable_psr=0" "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ]; + boot.kernelParams = [ "i915.enable_psr=0" ]; boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; fileSystems."/" = diff --git a/hosts/laptop/home/default.nix b/hosts/laptop/home/default.nix index 93797c6..62a6d28 100644 --- a/hosts/laptop/home/default.nix +++ b/hosts/laptop/home/default.nix @@ -69,6 +69,7 @@ kdePackages.kgpg # for Application Title Bar plasmoid kdePackages.kconfig + plasma-panel-colorizer # messaging (discord.override { @@ -101,7 +102,26 @@ inherit pkgs; inputpkg = jetbrains.idea-community; pkgsuffix = "mcdev-jbr21"; - libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]; + libraries = with pkgs; [ + (lib.getLib stdenv.cc.cc) + + glfw3-minecraft + openal + + alsa-lib + libjack2 + libpulseaudio + pipewire + + libGL + xorg.libX11 + xorg.libXcursor + xorg.libXext + xorg.libXrandr + xorg.libXxf86vm + udev + flite + ]; }) # (mylib.IDEAappwrapper { # inherit pkgs; @@ -208,7 +228,7 @@ programs.floorp = { enable = true; - + # package = pkgs.unstable.floorp-bin; }; # --------- @@ -256,7 +276,15 @@ programs.obs-studio = { enable = true; + + package = ( + pkgs.obs-studio.override { + cudaSupport = true; + } + ); + plugins = with pkgs.obs-studio-plugins; [ + obs-websocket obs-vkcapture obs-pipewire-audio-capture obs-tuna