diff --git a/flake.lock b/flake.lock index bb36dd5..bd5f3a1 100644 --- a/flake.lock +++ b/flake.lock @@ -18,11 +18,11 @@ "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1747386678, - "narHash": "sha256-+4pIDo56iXWUklX1U+biw/cfC8TiSXTMh2N6V/+JMUg=", + "lastModified": 1749129962, + "narHash": "sha256-gc1l5z5dWw9a9DWsrp0ZiD+SSMsNpEwMEiRi8K5sh5c=", "owner": "nix-community", "repo": "authentik-nix", - "rev": "f20474660332903be6b47f3c1fdfc531f6f75f1d", + "rev": "271a38f7c4e2551f0674b894e2adf7cd1ddb8168", "type": "github" }, "original": { @@ -34,16 +34,16 @@ "authentik-src": { "flake": false, "locked": { - "lastModified": 1747329052, - "narHash": "sha256-idShMSYIrf3ViG9VFNGNu6TSjBz3Q+GJMMeCzcJwfG4=", + "lastModified": 1749043670, + "narHash": "sha256-gwHngqb23U8By7jhxFWQZOXy+vPQApJSkvr4gHI5ifQ=", "owner": "goauthentik", "repo": "authentik", - "rev": "ae47624761f05040149d856d5e55a90cd7492740", + "rev": "bda30c5ad5838fea36dc0a06f8580cca437f0fc0", "type": "github" }, "original": { "owner": "goauthentik", - "ref": "version/2025.4.1", + "ref": "version/2025.4.2", "repo": "authentik", "type": "github" } @@ -100,11 +100,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", "type": "github" }, "original": { @@ -242,11 +242,11 @@ ] }, "locked": { - "lastModified": 1747439237, - "narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=", + "lastModified": 1749243446, + "narHash": "sha256-P1gumhZN5N9q+39ndePHYrtwOwY1cGx+VoXGl+vTm7A=", "owner": "nix-community", "repo": "home-manager", - "rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708", + "rev": "2d7d65f65b61fdfce23278e59ca266ddd0ef0a36", "type": "github" }, "original": { @@ -284,7 +284,7 @@ "narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=", "rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz?rev=cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc" }, "original": { "type": "tarball", @@ -301,14 +301,14 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-24_11": "nixpkgs-24_11" + "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1747320434, - "narHash": "sha256-wOW99SCOovRlX5y8+W1cRrS3mEN1QA0XTHMRfr3NMB8=", + "lastModified": 1749244584, + "narHash": "sha256-BGmEptAyP2NrP4gX7VMYWo53h5e8r2iE/uo2+YPMcfo=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "433520257af7170824ab6e567d49b8e305e776e9", + "rev": "8b27add0883067e990bff4f847b6f7b6f53324b9", "type": "gitlab" }, "original": { @@ -361,11 +361,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747327360, - "narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", + "lastModified": 1749143949, + "narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", + "rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d", "type": "github" }, "original": { @@ -375,29 +375,29 @@ "type": "github" } }, - "nixpkgs-24_11": { + "nixpkgs-25_05": { "locked": { - "lastModified": 1747209494, - "narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=", + "lastModified": 1747610100, + "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d736263df906c5da72ab0f372427814de2f52f8", + "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", "type": "github" }, "original": { @@ -438,11 +438,11 @@ ] }, "locked": { - "lastModified": 1744599653, - "narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=", + "lastModified": 1748562898, + "narHash": "sha256-STk4QklrGpM3gliPKNJdBLSQvIrqRuwHI/rnYb/5rh8=", "owner": "pyproject-nix", "repo": "build-system-pkgs", - "rev": "7dba6dbc73120e15b558754c26024f6c93015dd7", + "rev": "33bd58351957bb52dd1700ea7eeefe34de06a892", "type": "github" }, "original": { @@ -496,11 +496,11 @@ ] }, "locked": { - "lastModified": 1746485181, - "narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", + "lastModified": 1747603214, + "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e93ee1d900ad264d65e9701a5c6f895683433386", + "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", "type": "github" }, "original": { @@ -566,11 +566,11 @@ ] }, "locked": { - "lastModified": 1746649034, - "narHash": "sha256-gmv+ZiY3pQnwgI0Gm3Z1tNSux1CnOJ0De+xeDOol1+0=", + "lastModified": 1748916602, + "narHash": "sha256-GiwjjmPIISDFD0uQ1DqQ+/38hZ+2z1lTKVj/TkKaWwQ=", "owner": "pyproject-nix", "repo": "uv2nix", - "rev": "fe540e91c26f378c62bf6da365a97e848434d0cd", + "rev": "a4dd471de62b27928191908f57bfcd702ec2bfc9", "type": "github" }, "original": { diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index 54b35fa..72c6361 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -11,6 +11,7 @@ in { imports = [ ./thinkfan.nix + ./jdks.nix ./mounts.nix ./akkotest.nix ]; @@ -128,8 +129,10 @@ in open = false; # Enable the nvidia settings menu nvidiaSettings = true; + powerManagement.enable = true; + powerManagement.finegrained = false; # Optionally, you may need to select the appropriate driver version for your specific GPU. - package = config.boot.kernelPackages.nvidiaPackages.stable; + package = config.boot.kernelPackages.nvidiaPackages.beta; }; # NVIDIA diff --git a/hosts/laptop/hardware-configuration.nix b/hosts/laptop/hardware-configuration.nix index bb94530..5138656 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" ]; + boot.kernelParams = [ "i915.enable_psr=0" "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ]; boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; fileSystems."/" = diff --git a/hosts/laptop/home/default.nix b/hosts/laptop/home/default.nix index cb55740..93797c6 100644 --- a/hosts/laptop/home/default.nix +++ b/hosts/laptop/home/default.nix @@ -97,20 +97,26 @@ # dev # Wrap idea-community to add libraries required for Minecraft Moddev jetbrains.idea-community - (mylib.IDEAappwrapper { - inherit pkgs; - inputpkg = jetbrains.idea-community; - pkgsuffix = "mcdev-jbr17"; - libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]; - jdk = pkgs.jetbrains.jdk-no-jcef-17; - }) - (mylib.IDEAappwrapper { + (mylib.appwrapper { inherit pkgs; inputpkg = jetbrains.idea-community; pkgsuffix = "mcdev-jbr21"; libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]; - jdk = pkgs.jetbrains.jdk-no-jcef; }) + # (mylib.IDEAappwrapper { + # inherit pkgs; + # inputpkg = jetbrains.idea-community; + # pkgsuffix = "mcdev-jbr17"; + # libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]; + # jdk = pkgs.jetbrains.jdk-no-jcef-17; + # }) + # (mylib.IDEAappwrapper { + # inherit pkgs; + # inputpkg = jetbrains.idea-community; + # pkgsuffix = "mcdev-jbr21"; + # libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]; + # jdk = pkgs.jetbrains.jdk-no-jcef; + # }) packwiz # vscodium # see programs.vscode #nnn # terminal file manager @@ -225,6 +231,7 @@ init = { defaultBranch = "main"; }; + worktree.useRelativePaths = true; }; }; diff --git a/hosts/laptop/jdks.nix b/hosts/laptop/jdks.nix new file mode 100644 index 0000000..368900e --- /dev/null +++ b/hosts/laptop/jdks.nix @@ -0,0 +1,22 @@ +# https://discourse.nixos.org/t/system-wide-installation-of-gradle-and-jdk/11305/4 +{ config, pkgs, ...}: +let + jdkEnv = pkgs.runCommand "jdk-env" { + buildInputs = with pkgs; [ + pkgs.jetbrains.jdk-no-jcef + pkgs.jetbrains.jdk-no-jcef-17 + ]; + } '' + mkdir -p $out/jdks + ln -s ${pkgs.jetbrains.jdk-no-jcef}/lib/openjdk $out/jdks/jdk-no-jcef + ln -s ${pkgs.jetbrains.jdk-no-jcef-17}/lib/openjdk $out/jdks/jdk-no-jcef-17 + ''; +in { + environment.systemPackages = [ + jdkEnv + ]; + systemd.tmpfiles.rules = [ + "d /opt 755 root root -" + "L+ /opt/java - - - - ${jdkEnv}/jdks" + ]; +} \ No newline at end of file diff --git a/hosts/vps1/configuration.nix b/hosts/vps1/configuration.nix index 5f53599..e04b937 100644 --- a/hosts/vps1/configuration.nix +++ b/hosts/vps1/configuration.nix @@ -51,7 +51,6 @@ in services.vscode-server = { enable = true; - nodejsPackage = pkgs.nodejs_18; installPath = "$HOME/.vscodium-server"; }; diff --git a/lib/default.nix b/lib/default.nix index 356d1d8..21ce51a 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -5,7 +5,6 @@ inputpkg, pkgsuffix, libraries, - extrapathpkgs }: with pkgs; let name = "${inputpkg.pname}-${pkgsuffix}"; in stdenv.mkDerivation { @@ -17,8 +16,7 @@ mkdir -p $out/share/applications cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" \ - --prefix PATH : "${lib.makeBinPath extrapathpkgs}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" substituteInPlace $out/share/applications/${name}.desktop \ --replace-fail "=${inputpkg.pname}" "=${name}" sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop"