Compare commits

...

5 commits

Author SHA1 Message Date
75958b0566
laptop: git: use relative paths for worktrees 2025-06-27 02:25:32 +04:00
5f104d82e6
laptop: enable nvidia power management 2025-06-27 02:25:08 +04:00
221e196e41
flake.lock: Update
Flake lock file updates:

• Updated input 'authentik-nix':
    'github:nix-community/authentik-nix/f20474660332903be6b47f3c1fdfc531f6f75f1d' (2025-05-16)
  → 'github:nix-community/authentik-nix/271a38f7c4e2551f0674b894e2adf7cd1ddb8168' (2025-06-05)
• Updated input 'authentik-nix/authentik-src':
    'github:goauthentik/authentik/ae47624761f05040149d856d5e55a90cd7492740' (2025-05-15)
  → 'github:goauthentik/authentik/bda30c5ad5838fea36dc0a06f8580cca437f0fc0' (2025-06-04)
• Updated input 'authentik-nix/pyproject-build-systems':
    'github:pyproject-nix/build-system-pkgs/7dba6dbc73120e15b558754c26024f6c93015dd7' (2025-04-14)
  → 'github:pyproject-nix/build-system-pkgs/33bd58351957bb52dd1700ea7eeefe34de06a892' (2025-05-29)
• Updated input 'authentik-nix/uv2nix':
    'github:pyproject-nix/uv2nix/fe540e91c26f378c62bf6da365a97e848434d0cd' (2025-05-07)
  → 'github:pyproject-nix/uv2nix/a4dd471de62b27928191908f57bfcd702ec2bfc9' (2025-06-03)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/c621e8422220273271f52058f618c94e405bb0f5' (2025-04-01)
  → 'github:hercules-ci/flake-parts/49f0870db23e8c1ca0b5259734a02cd9e1e371a1' (2025-06-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/e4822aea2a6d1cdd36653c134cacfd64c97ff4fa' (2025-03-30)
  → 'github:nix-community/nixpkgs.lib/656a64127e9d791a334452c6b6606d17539476e2' (2025-06-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/ae755329092c87369b9e9a1510a8cf1ce2b1c708' (2025-05-16)
  → 'github:nix-community/home-manager/2d7d65f65b61fdfce23278e59ca266ddd0ef0a36' (2025-06-06)
• Updated input 'lix-module':
    'cd2a9c028d.tar.gz?narHash=sha256-11R4K3iAx4tLXjUs%2BhQ5K90JwDABD/XHhsM9nkeS5N8%3D' (2025-05-10)
  → 'cd2a9c028d.tar.gz?narHash=sha256-11R4K3iAx4tLXjUs%2BhQ5K90JwDABD/XHhsM9nkeS5N8%3D&rev=cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc' (2025-05-10)
• Updated input 'mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/433520257af7170824ab6e567d49b8e305e776e9' (2025-05-15)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/8b27add0883067e990bff4f847b6f7b6f53324b9' (2025-06-06)
• Removed input 'mailserver/nixpkgs-24_11'
• Added input 'mailserver/nixpkgs-25_05':
    'github:NixOS/nixpkgs/ca49c4304acf0973078db0a9d200fd2bae75676d' (2025-05-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e06158e58f3adee28b139e9c2bcfcc41f8625b46' (2025-05-15)
  → 'github:NixOS/nixpkgs/d3d2d80a2191a73d1e86456a751b83aa13085d7d' (2025-06-05)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e93ee1d900ad264d65e9701a5c6f895683433386' (2025-05-05)
  → 'github:Mic92/sops-nix/8d215e1c981be3aa37e47aeabd4e61bb069548fd' (2025-05-18)
2025-06-07 20:57:00 +04:00
1fc45dc200
vps1: fix vscode server 2025-05-31 14:29:40 +04:00
d6a6f51490
laptop: link jdks in /opt/java 2025-05-31 14:29:12 +04:00
7 changed files with 82 additions and 53 deletions

76
flake.lock generated
View file

@ -18,11 +18,11 @@
"uv2nix": "uv2nix" "uv2nix": "uv2nix"
}, },
"locked": { "locked": {
"lastModified": 1747386678, "lastModified": 1749129962,
"narHash": "sha256-+4pIDo56iXWUklX1U+biw/cfC8TiSXTMh2N6V/+JMUg=", "narHash": "sha256-gc1l5z5dWw9a9DWsrp0ZiD+SSMsNpEwMEiRi8K5sh5c=",
"owner": "nix-community", "owner": "nix-community",
"repo": "authentik-nix", "repo": "authentik-nix",
"rev": "f20474660332903be6b47f3c1fdfc531f6f75f1d", "rev": "271a38f7c4e2551f0674b894e2adf7cd1ddb8168",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -34,16 +34,16 @@
"authentik-src": { "authentik-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1747329052, "lastModified": 1749043670,
"narHash": "sha256-idShMSYIrf3ViG9VFNGNu6TSjBz3Q+GJMMeCzcJwfG4=", "narHash": "sha256-gwHngqb23U8By7jhxFWQZOXy+vPQApJSkvr4gHI5ifQ=",
"owner": "goauthentik", "owner": "goauthentik",
"repo": "authentik", "repo": "authentik",
"rev": "ae47624761f05040149d856d5e55a90cd7492740", "rev": "bda30c5ad5838fea36dc0a06f8580cca437f0fc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "goauthentik", "owner": "goauthentik",
"ref": "version/2025.4.1", "ref": "version/2025.4.2",
"repo": "authentik", "repo": "authentik",
"type": "github" "type": "github"
} }
@ -100,11 +100,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1743550720, "lastModified": 1748821116,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5", "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -242,11 +242,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747439237, "lastModified": 1749243446,
"narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=", "narHash": "sha256-P1gumhZN5N9q+39ndePHYrtwOwY1cGx+VoXGl+vTm7A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708", "rev": "2d7d65f65b61fdfce23278e59ca266ddd0ef0a36",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -284,7 +284,7 @@
"narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=", "narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=",
"rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc", "rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc",
"type": "tarball", "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": { "original": {
"type": "tarball", "type": "tarball",
@ -301,14 +301,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-24_11": "nixpkgs-24_11" "nixpkgs-25_05": "nixpkgs-25_05"
}, },
"locked": { "locked": {
"lastModified": 1747320434, "lastModified": 1749244584,
"narHash": "sha256-wOW99SCOovRlX5y8+W1cRrS3mEN1QA0XTHMRfr3NMB8=", "narHash": "sha256-BGmEptAyP2NrP4gX7VMYWo53h5e8r2iE/uo2+YPMcfo=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "433520257af7170824ab6e567d49b8e305e776e9", "rev": "8b27add0883067e990bff4f847b6f7b6f53324b9",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -361,11 +361,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1747327360, "lastModified": 1749143949,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -375,29 +375,29 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-24_11": { "nixpkgs-25_05": {
"locked": { "locked": {
"lastModified": 1747209494, "lastModified": 1747610100,
"narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=", "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5d736263df906c5da72ab0f372427814de2f52f8", "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1743296961, "lastModified": 1748740939,
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", "rev": "656a64127e9d791a334452c6b6606d17539476e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -438,11 +438,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1744599653, "lastModified": 1748562898,
"narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=", "narHash": "sha256-STk4QklrGpM3gliPKNJdBLSQvIrqRuwHI/rnYb/5rh8=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "build-system-pkgs", "repo": "build-system-pkgs",
"rev": "7dba6dbc73120e15b558754c26024f6c93015dd7", "rev": "33bd58351957bb52dd1700ea7eeefe34de06a892",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -496,11 +496,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746485181, "lastModified": 1747603214,
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386", "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -566,11 +566,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746649034, "lastModified": 1748916602,
"narHash": "sha256-gmv+ZiY3pQnwgI0Gm3Z1tNSux1CnOJ0De+xeDOol1+0=", "narHash": "sha256-GiwjjmPIISDFD0uQ1DqQ+/38hZ+2z1lTKVj/TkKaWwQ=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "uv2nix", "repo": "uv2nix",
"rev": "fe540e91c26f378c62bf6da365a97e848434d0cd", "rev": "a4dd471de62b27928191908f57bfcd702ec2bfc9",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -11,6 +11,7 @@ in
{ {
imports = [ imports = [
./thinkfan.nix ./thinkfan.nix
./jdks.nix
./mounts.nix ./mounts.nix
./akkotest.nix ./akkotest.nix
]; ];
@ -128,8 +129,10 @@ in
open = false; open = false;
# Enable the nvidia settings menu # Enable the nvidia settings menu
nvidiaSettings = true; nvidiaSettings = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
# Optionally, you may need to select the appropriate driver version for your specific GPU. # 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 # NVIDIA

View file

@ -16,7 +16,7 @@ in
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "ahci" "nvme" "usbhid" "uas" "usb_storage" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "ahci" "nvme" "usbhid" "uas" "usb_storage" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ "dm-snapshot" ]; boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ]; 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 ]; boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
fileSystems."/" = fileSystems."/" =

View file

@ -97,20 +97,26 @@
# dev # dev
# Wrap idea-community to add libraries required for Minecraft Moddev # Wrap idea-community to add libraries required for Minecraft Moddev
jetbrains.idea-community jetbrains.idea-community
(mylib.IDEAappwrapper { (mylib.appwrapper {
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; inherit pkgs;
inputpkg = jetbrains.idea-community; inputpkg = jetbrains.idea-community;
pkgsuffix = "mcdev-jbr21"; pkgsuffix = "mcdev-jbr21";
libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]; 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 packwiz
# vscodium # see programs.vscode # vscodium # see programs.vscode
#nnn # terminal file manager #nnn # terminal file manager
@ -225,6 +231,7 @@
init = { init = {
defaultBranch = "main"; defaultBranch = "main";
}; };
worktree.useRelativePaths = true;
}; };
}; };

22
hosts/laptop/jdks.nix Normal file
View file

@ -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"
];
}

View file

@ -51,7 +51,6 @@ in
services.vscode-server = { services.vscode-server = {
enable = true; enable = true;
nodejsPackage = pkgs.nodejs_18;
installPath = "$HOME/.vscodium-server"; installPath = "$HOME/.vscodium-server";
}; };

View file

@ -5,7 +5,6 @@
inputpkg, inputpkg,
pkgsuffix, pkgsuffix,
libraries, libraries,
extrapathpkgs
}: with pkgs; let }: with pkgs; let
name = "${inputpkg.pname}-${pkgsuffix}"; name = "${inputpkg.pname}-${pkgsuffix}";
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -17,8 +16,7 @@
mkdir -p $out/share/applications mkdir -p $out/share/applications
cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop
makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \ makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}"
--prefix PATH : "${lib.makeBinPath extrapathpkgs}"
substituteInPlace $out/share/applications/${name}.desktop \ substituteInPlace $out/share/applications/${name}.desktop \
--replace-fail "=${inputpkg.pname}" "=${name}" --replace-fail "=${inputpkg.pname}" "=${name}"
sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop" sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop"