lkadjkladskl

This commit is contained in:
2025-06-06 00:02:51 +02:00
parent 9cfae10856
commit 813fa17cec
7 changed files with 53 additions and 50 deletions

View File

@@ -121,6 +121,9 @@
nix.settings.min-free = 3 * 1024 * 1024 * 1024; # starts cg
nix.settings.max-free = 20 * 1024 * 1024 * 1024; # condition to end gc triggered by min-free
# should not be needed since https://github.com/NixOS/nixpkgs/pull/383052
nix.settings.system-features = lib.mkIf (pkgs.stdenv.hostPlatform.system == "x86_64-linux" && (lib.versionOlder (lib.versions.majorMinor lib.version) "25.05")) [ "nixos-test" "big-parallel" "kvm" ];
security.sudo.execWheelOnly = true;
services.thermald.enable = lib.all (x: x) [

View File

@@ -80,11 +80,23 @@ boot-and-reboot *_:
sudo nixos-rebuild boot --accept-flake-config --show-trace --flake . "$@"
sudo reboot
push hostname=`just _a_host` cmd=`gum choose test switch boot --header "Select mode..."`:
nixos-rebuild build --flake .#{{hostname}}
@printf "%s\n" pushing...
NIX_NO_NOM=1 nixos-rebuild {{cmd}} --flake .#{{hostname}} --target-host root@$(nix eval ".#nixosConfigurations.\"{{hostname}}\".config.networking.fqdn" --json | jq . -r) --use-substitutes
#NIX_NO_NOM=1 NIX_SSHOPTS="-tt" nixos-rebuild {{cmd}} --flake .#"{{hostname}}" --use-remote-sudo --target-host $(nix eval .#nixosReports."{{hostname}}".fqdn --json | jq . -r) --use-substitutes
push $hostname=`just _a_host` cmd=`gum choose test switch boot --header "Select mode..."`:
#!/usr/bin/env -S bash -euo pipefail
remote_sudo=1
gum confirm "Use '--use-remote-sudo'?" || remote_sudo=0
# build once first for nom output
(set -x; nixos-rebuild build --flake .#"$hostname") || exit $?
# target_host="root@$(nix eval --log-format raw ".#nixosConfigurations.\"$hostname\".config.networking.fqdn" --json | jq . -r)"
target_host="$hostname"
printf "%s\n" pushing...
# nixos-rebuild will perform a build still, meaning another full eval...
# TODO: support a simple copy-closure with no activation on remote
if [[ "$remote_sudo" -eq 1 ]]; then
# set -x; NIX_NO_NOM=1 NIX_SSHOPTS="-t" nixos-rebuild {{cmd}} --flake .#"$hostname" --target-host "$target_host" --use-substitutes --use-remote-sudo
set -x; NIX_NO_NOM=1 IX_SSHOPTS="-o RequestTTY=force" nixos-rebuild {{cmd}} --flake .#"$hostname" --target-host "$target_host" --use-substitutes --use-remote-sudo
else
set -x; NIX_NO_NOM=1 nixos-rebuild {{cmd}} --flake .#"$hostname" --target-host "root@$target_host" --use-substitutes
fi
test-files $hostname=`just _a_host` *filenames:
#!/usr/bin/env -S bash -euo pipefail

View File

@@ -1,14 +0,0 @@
{ pkgs, ... }:
{
# run/build weird binaries
# TODO: somehow make sure this is in sync with remote-builders
boot.binfmt.emulatedSystems = [
#"wasm32-wasi"
#"wasm64-wasi"
#"x86_64-windows"
#"aarch64-linux"
#"riscv64-linux"
#"x86_64-darwin"
#"aarch64-darwin"
];
}

View File

@@ -54,7 +54,7 @@ buildMachine.maxJobs = 3 # 12 threads 32GB
buildMachine.speedFactor = 4 # ???
buildMachine.supportedFeatures = ["kvm", "nixos-test", "ccache" ]
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeOB/57N1fQPVorIUlkkJZaQduBo+4+km2Qbj4ebd/k"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
# wakeonlan e4:54:e8:51:8c:e9
["eple.pbsds.net"] # r9 290x
@@ -65,7 +65,7 @@ buildMachine.speedFactor = 3 # i7-5820K
buildMachine.supportedFeatures = ["kvm", "nixos-test", "ccache" ]
# useAsSubstituter = true
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH03MEINNnjBvtmvN2QsCDCLkvF9ow5FQJp9uiyQ1Iwi"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
# wakeonlan 4c:cc:6a:05:51:01
["garp.pbsds.net"] # gtx 1080
@@ -75,7 +75,7 @@ buildMachine.maxJobs = 2 # 8 threads 32GB
buildMachine.speedFactor = 4 # i7-6700
buildMachine.supportedFeatures = ["kvm", "nixos-test", "cuda", "ccache" ]
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOkcZ3cUAKk8uUvZPsX7PDBInkb3Eps3Xh+xVrhPY+sx"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
# wakeonlan 4c:cc:6a:61:d0:20
["noximilien.pbsds.net"]
@@ -169,7 +169,7 @@ buildMachine.speedFactor = 2 # ???
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBswbjEdrTjExfZD0PwVbN5Wfu0UkPbl2M6rgreEPzStBwVdAjv979Y6TrZNLve/TYiIGRaX2OdAX6lt/aS/cLo="
["hildring.pvv.ntnu.no"]
["login.pvv.ntnu.no"]
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGurF7rdnrDP/VgIK2Tx38of+bX/QGCGL+alrWnZ1Ca5llGneMulUt1RB9xZzNLHiaWIE+HOP0i4spEaeZhilfU="
@@ -187,7 +187,7 @@ buildMachine.supportedFeatures = [ "big-parallel" ]
buildMachine.mandatoryFeatures = [ "big-parallel" ]
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHzLWPq7O9OiUXEDtwm/xfdBmLqEZXWlXDdRuJmb2Gou"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
# ["bob.pvv.ntnu.no"]
# buildMachine.maxJobs = 10 # 40 threads
@@ -232,7 +232,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJfJV5Ov3D0qErVnbQZ3oxhA3i0zuAmjmVUf3JV08aSg"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab02.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -240,7 +240,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHNhQPotOGWZdFeW4B3eDYGcaF/2xB56hNL+x3QEURa6"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab03.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -248,7 +248,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH5srnYPuULchLvlCOlWOwrhQEBznQn61kj0Oawnp44Y"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab04.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -256,7 +256,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICgMxLYYiYb/6IAH6nyc9eGXASgDPTE2JcRZ9ODjhQt5"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab05.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -264,7 +264,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHw4h4dH689bLYWjrhhsvfljyWfUEClPa1Kb0cYxLRaD"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab06.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -272,7 +272,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDVZ394P3124lSxkzVodFqbindIvCB3kcn4YcgbaPrAs"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab07.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -280,7 +280,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILKQfcOmWC73bmE2mlWEcXFHiDUhsYWA7Xy9Dtq8kKmn"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab08.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -288,7 +288,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKlyZq3uTBCgkvPgs6nWRzsdhHmXHph14dmYWgt1vuBx"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab09.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -296,7 +296,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAj4eXT/k7iiUYx+CXq5ShLWm1N6SNO23EIs4xYEaQaW"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab10.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -304,7 +304,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG5xEUkiwXWaUCA+QfMDq2vHfXKzcpXlrHpJMNQ8EU+K"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab11.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -312,7 +312,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFlKZhdQBrjafzzwdRR3arem3TXnnPucQskd7RWW9L5V"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab12.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -320,7 +320,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDEr2zGzev8JffE67Hkb3Qli7K0kzVdu8VXxJW47PK7m"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab13.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -328,7 +328,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIZgIhgpMCdegJaW6Huad7Dj4YfyR8Zhi1UmDsgcJYK2"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab14.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -336,7 +336,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL3pAYx5rtbaUCf4xsiy+7/qKqnGMnSa9KCp42j+XmEh"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab15.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -344,7 +344,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP7XwwhLJGwK+a7zShr2Ok9f2GlvPkP+FxKdbGYsNHtd"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab16.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -352,7 +352,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJKAaMXBAYsDd2QQOAQhXAAJCejbylQNLI9KsN3/EsY+"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab20.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -360,7 +360,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGBbcKU5uDTgaQoREjaNuzQkCKNm5wlnhln6ZNiL3o2"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab22.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -368,7 +368,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMHlaYq184VDBoEOtaIIu2jnuBihhWiGPlyku0SMKORG"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab23.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -376,7 +376,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAsIRgqoFF900olTCy6DSrFMpZyRmtK6aVP2oYQhNi8g"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab24.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -384,7 +384,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICqh/Sp13OcUnZ8gVgiylcLsqAgIw+twQG92GyZK3FBZ"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab25.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -392,7 +392,7 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdL5coXj0geu9O1cMLdYuUE0TWlIkKLNj71/XF0e8eg"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"
["clab26.idi.ntnu.no"] # gtx 4090
# buildMachine.maxJobs = 1 # 24 threads 64GB
@@ -400,4 +400,4 @@ buildMachine.speedFactor = 5 # AMD Ryzen 9 7900X
buildMachine.supportedFeatures = ["big-parallel"] # "cuda"
ssh.listenUser = "pederbs"
ssh.listenPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINqqxg0hVT/gPBM1xqrR9QtMRHVBZDYWZ3pzbJv9MHUG"
ssh.proxyJump = "hildring.pvv.ntnu.no"
ssh.proxyJump = "login.pvv.ntnu.no"

View File

@@ -5,7 +5,8 @@
# https://wiki.nixos.org/wiki/ZFS
# https://search.nixos.org/options?query=services.zfs
boot.kernelPackages = lib.mkForce pkgs.zfs.latestCompatibleLinuxPackages;
# boot.kernelPackages = lib.mkForce pkgs.zfs.latestCompatibleLinuxPackages;
boot.kernelPackages = pkgs.linuxPackages; # should conflict if we try for e.g. linuxPackages_latest
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.forceImportRoot = false;
@@ -19,7 +20,7 @@
# Only datasets with the com.sun:auto-snapshot property set to true will be snapshotted.
# zfs set com.sun:auto-snapshot=true DATASET
services.zfs.autoSnapshot.enable = true; # simply runs zfstools
# default args, can be overriden per-dataset
# default args, can be overridden per-dataset
# zfs set com.sun:auto-snapshot:weekly=false DATASET
services.zfs.autoSnapshot.frequent = 4; # 15 min
services.zfs.autoSnapshot.hourly = 24;

View File

@@ -40,6 +40,8 @@ in
denix = "sed -E 's@/nix/store/[^ /]+@@g'";
denix-ellipsis = "sed -E 's@/nix/store/[^ /-]+-?@/nix/store/...@g'";
nom-instantiate = "nix-instantiate";
inom = mkArgsAlias ''nom "$@" --system i686-linux -j0'';
inix = mkArgsAlias ''nix "$@" --system i686-linux -j0'';
rnom = mkArgsAlias ''nom "$@" --system riscv64-linux -j0'';

View File

@@ -104,8 +104,7 @@
/* "clab28.idi.ntnu.no".proxyJump = "snotra-login1.idi.ntnu.no"; */
# NVG
"nvg.ntnu.no".hostname = "login.stud.ntnu.no";
"login.stud.ntnu.no" = {};
"login.nvg.ntnu.no" = {};
# pvv
"balduzius.pvv.ntnu.no".user = "root";