From a556bc0e8a21e915b01115de0cb6fc648925c3e3 Mon Sep 17 00:00:00 2001 From: materus Date: Tue, 19 Aug 2025 11:59:56 +0200 Subject: [PATCH] Updates --- .../host/flamaster/configuration.nix | 6 +- .../host/flamaster/hardware-configuration.nix | 13 +- .../host/flamaster/home/materus/default.nix | 4 + .../host/materusPC/hardware/filesystem.nix | 2 +- .../host/materusPC/home/materus/default.nix | 7 +- configurations/host/materusPC/network.nix | 2 +- configurations/host/materusPC/other/apps.nix | 3 + .../host/materusPC/vm/win-vfio/default.nix | 40 +----- .../host/valkyrie/secrets/private/default.nix | Bin 16164 -> 16764 bytes flake.lock | 120 +++++++++--------- 10 files changed, 92 insertions(+), 105 deletions(-) diff --git a/configurations/host/flamaster/configuration.nix b/configurations/host/flamaster/configuration.nix index 8251b5e..06211c7 100644 --- a/configurations/host/flamaster/configuration.nix +++ b/configurations/host/flamaster/configuration.nix @@ -157,9 +157,13 @@ # Enable the OpenSSH daemon. services.openssh.enable = true; + services.openssh.settings.PermitRootLogin = "no"; + services.openssh.settings.PasswordAuthentication = false; + services.openssh.openFirewall = true; + programs.ssh.startAgent = true; # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 22 27015 25565 24454 8123 24800 ]; + networking.firewall.allowedTCPPorts = [ 22 27015 25565 25570 8123 8100 24800 ]; networking.firewall.allowedTCPPortRanges = [{ from = 16262; to = 16272; }]; networking.firewall.allowedUDPPorts = [ 22 16261 16262 8766 8767 25565 24454 8123 24800 ]; # Or disable the firewall altogether. diff --git a/configurations/host/flamaster/hardware-configuration.nix b/configurations/host/flamaster/hardware-configuration.nix index 309d817..0be147b 100644 --- a/configurations/host/flamaster/hardware-configuration.nix +++ b/configurations/host/flamaster/hardware-configuration.nix @@ -26,6 +26,12 @@ fsType = "btrfs"; options = [ "subvol=@nix" "noatime" "compress=zstd" "ssd" "space_cache=v2" ]; }; + fileSystems."/data" = + { + device = "/dev/disk/by-label/HDD_DATA"; + fsType = "btrfs"; + options = [ "noatime" "compress=zstd" "nossd" "autodefrag" ]; + }; fileSystems."/boot" = { device = "/dev/disk/by-label/NixOS_Root_Laptop"; @@ -48,10 +54,15 @@ }; swapDevices = [{ - device = "/var/.swapfile"; + device = "/data/.swapfile"; size = 32 * 1024; }]; + zramSwap = { + enable = true; + memoryPercent = 50; + }; + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/configurations/host/flamaster/home/materus/default.nix b/configurations/host/flamaster/home/materus/default.nix index 317a326..94c435a 100644 --- a/configurations/host/flamaster/home/materus/default.nix +++ b/configurations/host/flamaster/home/materus/default.nix @@ -2,6 +2,10 @@ { home.stateVersion = "23.05"; home.homeDirectory = "/home/materus"; + + xdg.dataFile."java-runtimes/graalvm-oracle-17".source = pkgs.graalvmPackages.graalvm-oracle_17; + xdg.dataFile."java-runtimes/graalvm-oracle-latest".source = pkgs.graalvmPackages.graalvm-oracle; + xdg.dataFile."java-runtimes/openjdk21".source = pkgs.jdk21; materus.profile = { fonts.enable = lib.mkDefault true; diff --git a/configurations/host/materusPC/hardware/filesystem.nix b/configurations/host/materusPC/hardware/filesystem.nix index 14f76f7..c84a25f 100644 --- a/configurations/host/materusPC/hardware/filesystem.nix +++ b/configurations/host/materusPC/hardware/filesystem.nix @@ -2,7 +2,7 @@ { zramSwap = { enable = true; - memoryPercent = 25; + memoryPercent = 50; }; swapDevices = [ diff --git a/configurations/host/materusPC/home/materus/default.nix b/configurations/host/materusPC/home/materus/default.nix index 028d59f..217ea91 100644 --- a/configurations/host/materusPC/home/materus/default.nix +++ b/configurations/host/materusPC/home/materus/default.nix @@ -15,7 +15,7 @@ materus.profile.wezterm.enable = true; programs.git.signing.signByDefault = true; - + xdg.userDirs.enable = true; materus.profile = { @@ -133,7 +133,10 @@ org.gradle.home=${pkgs.jdk21} ''; - + xdg.dataFile."java-runtimes/graalvm-oracle-17".source = pkgs.graalvmPackages.graalvm-oracle_17; + xdg.dataFile."java-runtimes/graalvm-oracle-latest".source = pkgs.graalvmPackages.graalvm-oracle; + xdg.dataFile."java-runtimes/openjdk21".source = pkgs.jdk21; + xdg.desktopEntries.brave-browser = let env = lib.concatStringsSep " " [ diff --git a/configurations/host/materusPC/network.nix b/configurations/host/materusPC/network.nix index ed350f5..2636ff7 100644 --- a/configurations/host/materusPC/network.nix +++ b/configurations/host/materusPC/network.nix @@ -26,7 +26,7 @@ networking.firewall.allowedTCPPorts = [ 24800 5900 5357 4656 8080 9943 9944 22000 config.services.syncthing.relay.statusPort config.services.syncthing.relay.port # Syncthing - 25565 8100 # Minecraft + BlueMap + 25565 25570 8100 # Minecraft + BlueMap + Velocity ]; networking.firewall.allowedUDPPorts = [ (lib.strings.toInt materusArg.wireguard.port) 24800 5900 3702 4656 6000 9943 9944 diff --git a/configurations/host/materusPC/other/apps.nix b/configurations/host/materusPC/other/apps.nix index 1609ae9..6334d56 100644 --- a/configurations/host/materusPC/other/apps.nix +++ b/configurations/host/materusPC/other/apps.nix @@ -14,6 +14,9 @@ programs.chromium.enable = true; programs.chromium.enablePlasmaBrowserIntegration = true; + services.guix.enable = true; + + environment.systemPackages = with pkgs; [ vivaldi diff --git a/configurations/host/materusPC/vm/win-vfio/default.nix b/configurations/host/materusPC/vm/win-vfio/default.nix index 45f9c3d..c4ed45a 100644 --- a/configurations/host/materusPC/vm/win-vfio/default.nix +++ b/configurations/host/materusPC/vm/win-vfio/default.nix @@ -14,18 +14,6 @@ let renice -n "-15" -p "$pid"; done renice -n "-10" -p "$QEMU_PID"; - - echo "${materusArg.materusPC.hostCoresMask}" > /proc/irq/default_smp_affinity - for irq in /proc/irq/[0-9]*/smp_affinity; do - if [ $(cat $irq) = "${materusArg.materusPC.allCoresMask}" ]; then - echo "${materusArg.materusPC.hostCoresMask}" > $irq 2> /dev/null - fi; - done; - for irq in $(cat /proc/interrupts | grep vfio | cut -d ":" -f 1); do - echo "${materusArg.materusPC.vmCoresMask}" > /proc/irq/$irq/smp_affinity; - done - - ''; startHook = /*'' @@ -50,29 +38,9 @@ let chmod 0 /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-card fuser -k /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-render fuser -k /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-card - #pkill Xwayland # Seems to fix reset bug for 7900 XTX echo "0" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/d3cold_allowed" - - ##################################################################### - # Weird bug on kernel 6.7+, after changing bar sizes and binding to vfio driver, performance after returning to host will be lower than expected - # binding to amdgpu after changing bar sizes and binding after it to vfio will work as expected. - # I could skip changing bar sizes since I'm able to use full bar, but keeping it just in case - #echo ''$VIRSH_GPU_VIDEO > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/driver/unbind" - #sleep 1s - #echo "${bar0_host}" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/resource0_resize" - #echo "${bar2_host}" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/resource2_resize" - - #echo ''$VIRSH_GPU_VIDEO > /sys/bus/pci/drivers/amdgpu/bind - - #sleep 1s - #echo remove > /sys/bus/pci/devices/$VIRSH_GPU_VIDEO/drm/card*/uevent - #chmod 0 /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-card - #chmod 0 /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-render - #fuser -k /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-render - #fuser -k /dev/dri/by-path/pci-$VIRSH_GPU_VIDEO-card - ##################################################################### echo ''$VIRSH_GPU_VIDEO > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/driver/unbind" echo ''$VIRSH_GPU_AUDIO > "/sys/bus/pci/devices/''${VIRSH_GPU_AUDIO}/driver/unbind" @@ -116,12 +84,6 @@ let sysctl vm.stat_interval=1 sysctl -w kernel.watchdog=1 - echo "${materusArg.materusPC.allCoresMask}" > /proc/irq/default_smp_affinity - for irq in /proc/irq/[0-9]*/smp_affinity; do - if [ $(cat $irq) = "${materusArg.materusPC.hostCoresMask}" ] || [ $(cat $irq) = "${materusArg.materusPC.vmCoresMask}" ]; then - echo "${materusArg.materusPC.allCoresMask}" > $irq 2> /dev/null - fi; - done; sleep 1s @@ -178,7 +140,7 @@ in fi #if [ ''$2 = "started" ] && [ ''$3 = "begin" ]; then - + ${startedHook} #fi if [ ''$2 = "release" ] && [ ''$3 = "end" ]; then diff --git a/configurations/host/valkyrie/secrets/private/default.nix b/configurations/host/valkyrie/secrets/private/default.nix index 45d624358c7bb89eae0ab79b199af48c02eb5812..13b986b909331fdf2fda47c86d93a425a23ffe35 100644 GIT binary patch literal 16764 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 E0JigjYybcN literal 16164 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 LqK8pYQ8DcRPRYgZ diff --git a/flake.lock b/flake.lock index 4aef523..f0d2c51 100644 --- a/flake.lock +++ b/flake.lock @@ -159,11 +159,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1753549647, - "narHash": "sha256-xGJsvyqRiALpue6g4ZfFANS9CXLGsBdrHmu716UZ5c4=", + "lastModified": 1755594710, + "narHash": "sha256-ShyH8K/qF8E5FhgU0ymh4eVgsR1f0m9ShRVzKawLaw8=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "983dc5dacc3654f92e9c914c10d678ff32f5ca13", + "rev": "c67dd16b807bc8089f5bacc9480c97ea89f973b3", "type": "github" }, "original": { @@ -182,11 +182,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1753549647, - "narHash": "sha256-xGJsvyqRiALpue6g4ZfFANS9CXLGsBdrHmu716UZ5c4=", + "lastModified": 1755594710, + "narHash": "sha256-ShyH8K/qF8E5FhgU0ymh4eVgsR1f0m9ShRVzKawLaw8=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "983dc5dacc3654f92e9c914c10d678ff32f5ca13", + "rev": "c67dd16b807bc8089f5bacc9480c97ea89f973b3", "type": "github" }, "original": { @@ -436,11 +436,11 @@ ] }, "locked": { - "lastModified": 1753479839, - "narHash": "sha256-E/rPVh7vyPMJUFl2NAew+zibNGfVbANr8BP8nLRbLkQ=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "0b9bf983db4d064764084cd6748efb1ab8297d1e", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { @@ -458,11 +458,11 @@ ] }, "locked": { - "lastModified": 1753567913, - "narHash": "sha256-eYrqSRI1/mrnVGCGYO+zkKHUszwJQodq/qDHh+mzvkI=", + "lastModified": 1755569926, + "narHash": "sha256-s7D28zPHlFWVZ7dDxm0L1o5+t423rMJUfgCMGUeyYSk=", "owner": "nix-community", "repo": "home-manager", - "rev": "2b73c2fcca690b6eca4f520179e54ae760f25d4e", + "rev": "c613ac14f5600033bf84ae75c315d5ce24a0229b", "type": "github" }, "original": { @@ -477,11 +477,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1753567913, - "narHash": "sha256-eYrqSRI1/mrnVGCGYO+zkKHUszwJQodq/qDHh+mzvkI=", + "lastModified": 1755569926, + "narHash": "sha256-s7D28zPHlFWVZ7dDxm0L1o5+t423rMJUfgCMGUeyYSk=", "owner": "nix-community", "repo": "home-manager", - "rev": "2b73c2fcca690b6eca4f520179e54ae760f25d4e", + "rev": "c613ac14f5600033bf84ae75c315d5ce24a0229b", "type": "github" }, "original": { @@ -501,11 +501,11 @@ ] }, "locked": { - "lastModified": 1753495822, - "narHash": "sha256-aGZhjaICmLAW0BnG+V0zGCP6xqoYFfr/d4LlLIvap9A=", + "lastModified": 1755568911, + "narHash": "sha256-3hukAjjalnsIpH1N8jkacT5xHA0Z3f+TTW3O63mQWC0=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "14f622f160847effcdfae7ef15b8aa9745addf7f", + "rev": "8bb1109dab2a4477e226144ba139066b7720af61", "type": "github" }, "original": { @@ -527,11 +527,11 @@ ] }, "locked": { - "lastModified": 1753495822, - "narHash": "sha256-aGZhjaICmLAW0BnG+V0zGCP6xqoYFfr/d4LlLIvap9A=", + "lastModified": 1755568911, + "narHash": "sha256-3hukAjjalnsIpH1N8jkacT5xHA0Z3f+TTW3O63mQWC0=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "14f622f160847effcdfae7ef15b8aa9745addf7f", + "rev": "8bb1109dab2a4477e226144ba139066b7720af61", "type": "github" }, "original": { @@ -597,11 +597,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1753122741, - "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", + "lastModified": 1755330281, + "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "type": "github" }, "original": { @@ -613,11 +613,11 @@ }, "nixos-hardware_2": { "locked": { - "lastModified": 1753122741, - "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", + "lastModified": 1755330281, + "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "type": "github" }, "original": { @@ -677,11 +677,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1753345091, - "narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=", + "lastModified": 1755471983, + "narHash": "sha256-axUoWcm4cNQ36jOlnkD9D40LTfSQgk8ExfHSRm3rTtg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9", + "rev": "48f4c982de68d966421d2b6f1ddbeb6227cc5ceb", "type": "github" }, "original": { @@ -741,11 +741,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -757,11 +757,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -773,11 +773,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -812,11 +812,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1741294988, - "narHash": "sha256-3408u6q615kVTb23WtDriHRmCBBpwX7iau6rvfipcu4=", + "lastModified": 1753980880, + "narHash": "sha256-aj1pbYxL6N+XFqBHjB4B1QP0bnKRcg1AfpgT5zUFsW8=", "owner": "nix-community", "repo": "NUR", - "rev": "b30c245e2c44c7352a27485bfd5bc483df660f0e", + "rev": "16db3e61da7606984a05b4dfc33cd1d26d22fb22", "type": "github" }, "original": { @@ -851,11 +851,11 @@ "treefmt-nix": "treefmt-nix_4" }, "locked": { - "lastModified": 1741294988, - "narHash": "sha256-3408u6q615kVTb23WtDriHRmCBBpwX7iau6rvfipcu4=", + "lastModified": 1753980880, + "narHash": "sha256-aj1pbYxL6N+XFqBHjB4B1QP0bnKRcg1AfpgT5zUFsW8=", "owner": "nix-community", "repo": "NUR", - "rev": "b30c245e2c44c7352a27485bfd5bc483df660f0e", + "rev": "16db3e61da7606984a05b4dfc33cd1d26d22fb22", "type": "github" }, "original": { @@ -871,11 +871,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1753562419, - "narHash": "sha256-hSutp1wLoj2DBGdhkFUCy8gJHu7YJ8Nt/OgsYrQ/O50=", + "lastModified": 1755595965, + "narHash": "sha256-EBXB+Up0CL+Twt6gHyrk1x7p3g8AZ6vUExFzJor9D8Y=", "owner": "nix-community", "repo": "NUR", - "rev": "294f62a0da32efbda589682cc1f038e773530959", + "rev": "bf9b3a8dd0bb5d78e440cd5b4f0646b581abce79", "type": "github" }, "original": { @@ -895,11 +895,11 @@ ] }, "locked": { - "lastModified": 1748196248, - "narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=", + "lastModified": 1754501628, + "narHash": "sha256-FExJ54tVB5iu7Dh2tLcyCSWpaV+lmUzzWKZUkemwXvo=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "b7697abe89967839b273a863a3805345ea54ab56", + "rev": "cca090f8115c4172b9aef6c5299ae784bdd5e133", "type": "github" }, "original": { @@ -921,11 +921,11 @@ ] }, "locked": { - "lastModified": 1748196248, - "narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=", + "lastModified": 1754501628, + "narHash": "sha256-FExJ54tVB5iu7Dh2tLcyCSWpaV+lmUzzWKZUkemwXvo=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "b7697abe89967839b273a863a3805345ea54ab56", + "rev": "cca090f8115c4172b9aef6c5299ae784bdd5e133", "type": "github" }, "original": { @@ -971,11 +971,11 @@ ] }, "locked": { - "lastModified": 1752544651, - "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=", + "lastModified": 1754988908, + "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2c8def626f54708a9c38a5861866660395bb3461", + "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", "type": "github" }, "original": { @@ -993,11 +993,11 @@ ] }, "locked": { - "lastModified": 1752544651, - "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=", + "lastModified": 1754988908, + "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2c8def626f54708a9c38a5861866660395bb3461", + "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", "type": "github" }, "original": {