Compare commits

..

No commits in common. "main" and "add-remote-hydra-eval" have entirely different histories.

13 changed files with 352 additions and 367 deletions

View file

@ -3,7 +3,8 @@
lib, lib,
modulesPath, modulesPath,
... ...
} @ args: { }@args:
{
networking.hostName = "instance-20221213-1915"; networking.hostName = "instance-20221213-1915";
networking.hostId = "746d4523"; networking.hostId = "746d4523";
@ -32,9 +33,9 @@
"virtio_pci" "virtio_pci"
"usbhid" "usbhid"
]; ];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [ ];
boot.kernelModules = []; boot.kernelModules = [ ];
boot.extraModulePackages = []; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" = {
device = "tank/local/root"; device = "tank/local/root";
@ -93,7 +94,7 @@
services.postgresql.dataDir = "/persist/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"; services.postgresql.dataDir = "/persist/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}";
networking.wireguard.interfaces."wg0".ips = ["fd0d:a262:1fa6:e621:746d:4523:5c04:1453/64"]; networking.wireguard.interfaces."wg0".ips = [ "fd0d:a262:1fa6:e621:746d:4523:5c04:1453/64" ];
home-manager.users.darkkirb = import ./home-manager/darkkirb.nix { home-manager.users.darkkirb = import ./home-manager/darkkirb.nix {
desktop = false; desktop = false;
inherit args; inherit args;
@ -126,8 +127,8 @@
owner = "root"; owner = "root";
path = "/etc/secrets/initrd/ssh_host_ed25519_key"; path = "/etc/secrets/initrd/ssh_host_ed25519_key";
}; };
sops.age.sshKeyPaths = lib.mkForce ["/persist/ssh/ssh_host_ed25519_key"]; sops.age.sshKeyPaths = lib.mkForce [ "/persist/ssh/ssh_host_ed25519_key" ];
services.bind.forwarders = lib.mkForce []; services.bind.forwarders = lib.mkForce [ ];
boot.loader.systemd-boot.configurationLimit = lib.mkForce 1; boot.loader.systemd-boot.configurationLimit = lib.mkForce 1;
services.tailscale.useRoutingFeatures = "server"; services.tailscale.useRoutingFeatures = "server";
services.postgresql.settings = { services.postgresql.settings = {
@ -149,5 +150,5 @@
max_parallel_maintenance_workers = 2; max_parallel_maintenance_workers = 2;
}; };
services.restic.backups.sysbackup.paths = ["/persist"]; services.restic.backups.sysbackup.paths = [ "/persist" ];
} }

View file

@ -5,7 +5,8 @@
system, system,
attic, attic,
... ...
}: { }:
{
imports = [ imports = [
./workarounds ./workarounds
]; ];
@ -37,7 +38,8 @@
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 7d"; options = "--delete-older-than 7d";
}; };
buildMachines = with lib; buildMachines =
with lib;
mkMerge [ mkMerge [
(mkIf (config.networking.hostName != "instance-20221213-1915") [ (mkIf (config.networking.hostName != "instance-20221213-1915") [
{ {
@ -173,9 +175,7 @@
#!${pkgs.bash}/bin/bash #!${pkgs.bash}/bin/bash
set -ex set -ex
builds=$(${pkgs.curl}/bin/curl -H 'accept: application/json' https://hydra.int.chir.rs/jobset/flakes/${ builds=$(${pkgs.curl}/bin/curl -H 'accept: application/json' https://hydra.int.chir.rs/jobset/flakes/${
if config.networking.hostName != "vf2" if config.networking.hostName != "vf2" then "nixos-config" else "nixos-config-riscv"
then "nixos-config"
else "nixos-config-riscv"
}/evals | ${pkgs.jq}/bin/jq -r '.evals[0].builds[]') }/evals | ${pkgs.jq}/bin/jq -r '.evals[0].builds[]')
for build in $builds; do for build in $builds; do
doc=$(${pkgs.curl}/bin/curl -H 'accept: application/json' https://hydra.int.chir.rs/build/$build) doc=$(${pkgs.curl}/bin/curl -H 'accept: application/json' https://hydra.int.chir.rs/build/$build)
@ -187,31 +187,32 @@
${pkgs.nix}/bin/nix-env -p /nix/var/nix/profiles/system --set $output ${pkgs.nix}/bin/nix-env -p /nix/var/nix/profiles/system --set $output
${ ${
if config.networking.hostName != "nixos-8gb-fsn1-1" if config.networking.hostName != "nixos-8gb-fsn1-1" then
then '' ''
$output/bin/switch-to-configuration boot $output/bin/switch-to-configuration boot
booted="$(${pkgs.coreutils}/bin/readlink /run/booted-system/{initrd,kernel,kernel-modules})" booted="$(${pkgs.coreutils}/bin/readlink /run/booted-system/{initrd,kernel,kernel-modules})"
built="$(${pkgs.coreutils}/bin/readlink $output/{initrd,kernel,kernel-modules})" built="$(${pkgs.coreutils}/bin/readlink $output/{initrd,kernel,kernel-modules})"
if [ "$booted" = "$built" ]; then if [ "$booted" = "$built" ]; then
$output/bin/switch-to-configuration switch $output/bin/switch-to-configuration switch
else else
${pkgs.systemd}/bin/shutdown -r +1 ${pkgs.systemd}/bin/shutdown -r +1
fi fi
exit exit
'' ''
else "$output/bin/switch-to-configuration switch" else
} "$output/bin/switch-to-configuration switch"
}
fi fi
done done
''; '';
after = ["network-online.target"]; after = [ "network-online.target" ];
wants = ["network-online.target"]; wants = [ "network-online.target" ];
}; };
systemd.timers.nixos-upgrade = { systemd.timers.nixos-upgrade = {
enable = true; enable = true;
description = "Automatically update nixos"; description = "Automatically update nixos";
requires = ["nixos-upgrade.service"]; requires = [ "nixos-upgrade.service" ];
wantedBy = ["multi-user.target"]; wantedBy = [ "multi-user.target" ];
timerConfig = { timerConfig = {
OnUnitActiveSec = "30min"; OnUnitActiveSec = "30min";
RandomizedDelaySec = "1h"; RandomizedDelaySec = "1h";

View file

@ -14,45 +14,43 @@ let
build-aarch64 aarch64-linux,riscv32-linux,riscv64-linux - 4 1 nixos-test,benchmark,ca-derivations,gccarch-armv8-a,gccarch-armv8.1-a,gccarch-armv8.2-a,big-parallel - build-aarch64 aarch64-linux,riscv32-linux,riscv64-linux - 4 1 nixos-test,benchmark,ca-derivations,gccarch-armv8-a,gccarch-armv8.1-a,gccarch-armv8.2-a,big-parallel -
build-riscv riscv64-linux,riscv32-linux - 4 2 nixos-test,benchmark,ca-derivations,gccarch-rv64gc_zba_zbb,gccarch-rv64gc_zba,gccarch-rv64gc_zbb,ccarch-rv64gc,gccarch-rv32gc_zba_zbb,gccarch-rv32gc_zba,gccarch-rv32gc_zbb,gccarch-rv32gc,big-parallel,native-riscv - build-riscv riscv64-linux,riscv32-linux - 4 2 nixos-test,benchmark,ca-derivations,gccarch-rv64gc_zba_zbb,gccarch-rv64gc_zba,gccarch-rv64gc_zbb,ccarch-rv64gc,gccarch-rv32gc_zba_zbb,gccarch-rv32gc_zba,gccarch-rv32gc_zbb,gccarch-rv32gc,big-parallel,native-riscv -
''; '';
sshConfig = sshConfig = pkgs.writeText "ssh-config" ''
home: Host build-aarch64
pkgs.writeText "ssh-config" '' Port 22
Host build-aarch64 IdentitiesOnly yes
Port 22 User remote-build
IdentitiesOnly yes HostName instance-20221213-1915.int.chir.rs
User remote-build IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
HostName instance-20221213-1915.int.chir.rs Host build-nas
IdentityFile ${home}/.ssh/builder_id_ed25519 Port 22
Host build-nas IdentitiesOnly yes
Port 22 User remote-build
IdentitiesOnly yes HostName nas.int.chir.rs
User remote-build IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
HostName nas.int.chir.rs Host build-rainbow-resort
IdentityFile ${home}/.ssh/builder_id_ed25519 Port 22
Host build-rainbow-resort IdentitiesOnly yes
Port 22 User remote-build
IdentitiesOnly yes HostName rainbow-resort.int.chir.rs
User remote-build IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
HostName rainbow-resort.int.chir.rs Host build-riscv
IdentityFile ${home}/.ssh/builder_id_ed25519 Port 22
Host build-riscv IdentitiesOnly yes
Port 22 User remote-build
IdentitiesOnly yes HostName not522.tailbab65.ts.net
User remote-build IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
HostName not522.tailbab65.ts.net
IdentityFile ${home}/.ssh/builder_id_ed25519
Host * Host *
ForwardAgent no ForwardAgent no
Compression no Compression no
ServerAliveInterval 0 ServerAliveInterval 0
ServerAliveCountMax 3 ServerAliveCountMax 3
HashKnownHosts no HashKnownHosts no
UserKnownHostsFile ~/.ssh/known_hosts UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster auto ControlMaster auto
ControlPath ~/.ssh/master-%r@%n:%p ControlPath ~/.ssh/master-%r@%n:%p
ControlPersist 10m ControlPersist 10m
''; '';
nix-eval-jobs-script = pkgs.stdenvNoCC.mkDerivation { nix-eval-jobs-script = pkgs.stdenvNoCC.mkDerivation {
name = "remote-eval-jobs.py"; name = "remote-eval-jobs.py";
src = ./hydra/remote-eval-jobs.py; src = ./hydra/remote-eval-jobs.py;
@ -65,7 +63,6 @@ let
--subst-var-by nix-eval-jobs ${nix-eval-jobs.packages.x86_64-linux.nix-eval-jobs}/bin/nix-eval-jobs \ --subst-var-by nix-eval-jobs ${nix-eval-jobs.packages.x86_64-linux.nix-eval-jobs}/bin/nix-eval-jobs \
--subst-var-by nix ${pkgs.nix}/bin/nix \ --subst-var-by nix ${pkgs.nix}/bin/nix \
--subst-var-by ssh ${pkgs.openssh}/bin/ssh --subst-var-by ssh ${pkgs.openssh}/bin/ssh
chmod +x $out
''; '';
}; };
in in
@ -187,12 +184,6 @@ in
}; };
}; };
nix.settings.trusted-users = [ "@hydra" ]; nix.settings.trusted-users = [ "@hydra" ];
sops.secrets."hydra-evaluator/ssh/builder_id_ed25519" = {
sopsFile = ../../secrets/shared.yaml;
owner = "hydra";
key = "ssh/builder_id_ed25519";
path = "/var/lib/hydra/.ssh/builder_id_ed25519";
};
sops.secrets."hydra/ssh/builder_id_ed25519" = { sops.secrets."hydra/ssh/builder_id_ed25519" = {
sopsFile = ../../secrets/shared.yaml; sopsFile = ../../secrets/shared.yaml;
owner = "hydra-queue-runner"; owner = "hydra-queue-runner";
@ -202,10 +193,7 @@ in
system.activationScripts.setupHydraSshConfig = lib.stringAfter [ "var" ] '' system.activationScripts.setupHydraSshConfig = lib.stringAfter [ "var" ] ''
mkdir -p /var/lib/hydra/queue-runner/.ssh/ mkdir -p /var/lib/hydra/queue-runner/.ssh/
chown -Rv hydra-queue-runner /var/lib/hydra/queue-runner chown -Rv hydra-queue-runner /var/lib/hydra/queue-runner
ln -svf ${sshConfig "/var/lib/hydra/queue-runner"} /var/lib/hydra/queue-runner/.ssh/config ln -svf ${sshConfig} /var/lib/hydra/queue-runner/.ssh/config
mkdir -p /var/lib/hydra/.ssh/
chown -Rv hydra /var/lib/hydra/.ssh
ln -svf ${sshConfig "/var/lib/hydra"} /var/lib/hydra/.ssh/config
''; '';
sops.secrets."attic/config.toml" = { sops.secrets."attic/config.toml" = {
owner = "hydra-queue-runner"; owner = "hydra-queue-runner";

View file

@ -3,11 +3,10 @@ import sys
import subprocess import subprocess
import os import os
import json import json
import shlex
# First check if the server is up # First check if the server is up
if subprocess.run(["@ping@", "-c", "1", "rainbow-resort.int.chir.rs"], stdout=subprocess.DEVNULL).returncode != 0: if subprocess.call(["@ping@", "-c", "1", "rainbow-resort.int.chir.rs"], stdout=subprocess.DEVNULL).returncode != 0:
os.execv("@nix-eval-jobs@", ["@nix-eval-jobs@"] + sys.argv[1:]) os.execv("@nix-eval-jobs@", ["@nix-eval-jobs@"] + sys.argv[1:])
inputs_to_copy = set() inputs_to_copy = set()
@ -23,11 +22,11 @@ gcroots = None
for arg in sys.argv[1:]: for arg in sys.argv[1:]:
if arg == "--gc-roots-dir" or arg == "--max-jobs" or arg == "--workers": if arg == "--gc-roots-dir" or arg == "--max-jobs" or arg == "--workers":
skip_next = 2 skip_next = 2
if next_to_gcroots:
next_to_gcroots = False
gcroots = arg
if arg == "--gc-roots-dir": if arg == "--gc-roots-dir":
next_to_gcroots = True next_to_gcroots = True
if next_to_gcroots:
next_to_gcroots = false
gcroots = arg
if skip_next > 0: if skip_next > 0:
skip_next -= 1 skip_next -= 1
continue continue
@ -38,31 +37,25 @@ for arg in sys.argv[1:]:
next_to_copy = True next_to_copy = True
remote_args.append(arg) remote_args.append(arg)
remote_args += ["--workers", "4", "--gc-roots-dir", "/tmp"] remote_args += ["--workers" "4"]
if len(inputs_to_copy) != 0: # copy over what files we need to ensure are present on the target
# copy over what files we need to ensure are present on the target
subprocess.run(["@nix@", "copy"] + list(inputs_to_copy) + ["--to", "ssh://build-rainbow-resort", "--no-check-sigs"], check=True, stdout=subprocess.DEVNULL) subprocess.call(["@nix@", "copy"] + list(inputs_to_copy) + ["--to", "ssh://build-rainbow-resort", "--no-check-sigs"], check=True, stdout=subprocess.DEVNULL)
# Evaluate on target # Evaluate on target
result = subprocess.Popen(["@ssh@", "build-rainbow-resort", "nix-eval-jobs"] + list(map(shlex.quote, remote_args)), bufsize=1, stdout=subprocess.PIPE, text=True) result = subprocess.call(["@ssh@", "build-rainbow-resort", "nix-eval-jobs"] + remote_args, check=True, stdout=subprocess.PIPE, text=True)
for line in iter(result.stdout.readline, ""): for line in result.stdout:
try: try:
line = line.strip()
data = json.loads(line) data = json.loads(line)
# copy .drv file home # copy .drv file home
subprocess.run(["@nix@", "copy", data["drvPath"], "--from", "ssh://build-rainbow-resort", "--no-check-sigs"], check=True, stdout=subprocess.DEVNULL) subprocess.call(["@nix@", "copy", data["drvPath"], "--from", "ssh://build-rainbow-resort", "--no-check-sigs"], check=True, stdout=subprocess.DEVNULL)
# if we have a gcroot, add it to it # if we have a gcroot, add it to it
if gcroots is not None: if gcroots is not None:
drvBasename = os.path.basename(data["drvPath"]) drvBasename = os.path.basename(data["drvPath"])
try: os.symlink(data["drvPath"], os.path.join(gcroots, drvBasename))
os.symlink(data["drvPath"], os.path.join(gcroots, drvBasename))
except:
pass
# Now we are done with this job, we can tell hydra about it # Now we are done with this job, we can tell hydra about it
print(line) print(line)
except Exception as e: except e:
print(e, file=sys.stderr) print(e, file=sys.stderr)
sys.exit(result.wait())

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
services.jellyfin.enable = true; services.jellyfin.enable = true;
environment.systemPackages = [ environment.systemPackages = [
pkgs.jellyfin pkgs.jellyfin

View file

@ -272,11 +272,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1732722421, "lastModified": 1696426674,
"narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -501,11 +501,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733085484, "lastModified": 1732482255,
"narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=", "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163", "rev": "a9953635d7f34e7358d5189751110f87e3ac17da",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -521,11 +521,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1732915394, "lastModified": 1732604572,
"narHash": "sha256-OIPFkXbL1DzswQvNuds9Sm6r7lwRA5Fnalr/PNXTGtQ=", "narHash": "sha256-wvYmjilEDJIEbu59sAcd07zAzVc+SKWKG0Q4+Nilm5s=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "6285440304e74fdad01490f95419a6fe04cdc718", "rev": "4acb1959a175bad08a7ca29479063aa0ad11397c",
"revCount": 4226, "revCount": 4224,
"type": "git", "type": "git",
"url": "https://git.lix.systems/lix-project/hydra" "url": "https://git.lix.systems/lix-project/hydra"
}, },
@ -559,11 +559,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733055216, "lastModified": 1732450403,
"narHash": "sha256-yB2y7tGJxDI/SDQ0D7b6ocRtLTPm93u8ybdIKQGXRDE=", "narHash": "sha256-qYjJeHYUHDgfDsvMpIf9TRz0oAoMwvYP75XHObDjWIg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "f67bf0781c69a46bf3a1469f83c98518aa3054c3", "rev": "c817444fb8a3042c26be57d8640fb744bc1b516c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -643,11 +643,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732899308, "lastModified": 1732112222,
"narHash": "sha256-1jsQqcbMbaWuFim3sqEUdB1/E2KqHa0+cHbTzd/GYFE=", "narHash": "sha256-H7GN4++a4vE49SUNojZx+FSk4mmpb2ifJUtJMJHProI=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "2e5780ebc848f3b021f11dd94533b0b68362d989", "rev": "66f6dbda32959dd5cf3a9aaba15af72d037ab7ff",
"revCount": 16545, "revCount": 16513,
"type": "git", "type": "git",
"url": "https://git.lix.systems/lix-project/lix" "url": "https://git.lix.systems/lix-project/lix"
}, },
@ -779,11 +779,11 @@
"umu": "umu" "umu": "umu"
}, },
"locked": { "locked": {
"lastModified": 1733101372, "lastModified": 1732543374,
"narHash": "sha256-mkyyBVPj8SIc01zEBX3gZ2ATJj8Fb06nxDME7pDxYQo=", "narHash": "sha256-suhk41NhdsnN3aa7gpsr8KnYJtbaLeZBJMB2vqWbkzA=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "094b2c4ee459dd5d3d1611c919d59f26110053b0", "rev": "18b8f0796f3e9dd8b9d9f262a56f2914a0586a22",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -892,11 +892,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1733066523, "lastModified": 1732483221,
"narHash": "sha256-aQorWITXZu7b095UwnpUvcGt9dNJie/GO9r4hZfe2sU=", "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "fe01780d356d70fd119a19277bff71d3e78dad00", "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1040,11 +1040,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1733108608, "lastModified": 1732608009,
"narHash": "sha256-ckKeHZ8YO9rOAKF4g1hanhh7xOrq/xT0FFKVy7nF76g=", "narHash": "sha256-QahkuKC73o7oRsxkMKuxRBCgRj7YaM3s/cUzBQA55j4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "274e92547fb8df49ab0e2376b50a5e1397822995", "rev": "53cbef91e4a3cf142edd886f20a0cc10309facf7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1158,11 +1158,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733106880, "lastModified": 1732588352,
"narHash": "sha256-aJmAIjZfWfPSWSExwrYBLRgXVvgF5LP1vaeUGOOIQ98=", "narHash": "sha256-J2/hxOO1VtBA/u+a+9E+3iJpWT3xsBdghgYAVfoGCJo=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "e66c0d43abf5bdefb664c3583ca8994983c332ae", "rev": "414e748aae5c9e6ca63c5aafffda03e5dad57ceb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1279,11 +1279,11 @@
}, },
"locked": { "locked": {
"dir": "packaging/nix", "dir": "packaging/nix",
"lastModified": 1733037609, "lastModified": 1732483970,
"narHash": "sha256-HkS24indfMaQbVZ+9GY5BHc+rqPvh8htF0rWYhvgPKI=", "narHash": "sha256-WO+oXVHr0se8P2Ay8T6av+B5j0+73VX+emON0aGSq+Y=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "e559e2e50999093c3e837d33886f9e14e34ead0a", "rev": "5f7599fa7afc8990e48dd5ff9631f109117d3d26",
"revCount": 863, "revCount": 854,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/" "url": "https://github.com/Open-Wine-Components/umu-launcher/"

379
flake.nix
View file

@ -161,210 +161,213 @@ rec {
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs";
}; };
systems.url = "github:nix-systems/default"; systems.url = "github:nix-systems/default";
}; };
outputs = { outputs =
self, {
nixpkgs, self,
sops-nix, nixpkgs,
home-manager, sops-nix,
lix-module, home-manager,
... lix-module,
} @ args: let ...
systems = [ }@args:
{ let
name = "nixos-8gb-fsn1-1"; # Hetzner Server systems = [
system = "x86_64-linux";
}
{
name = "nas"; # My nas
system = "x86_64-linux";
}
{
name = "instance-20221213-1915"; # Oracle server
system = "aarch64-linux";
}
/*
{ {
name = "devterm"; name = "nixos-8gb-fsn1-1"; # Hetzner Server
system = "aarch64-linux"; system = "x86_64-linux";
} }
*/
];
mkPackages = system: let
pkgs = import nixpkgs {
inherit system;
overlays = [
args.gomod2nix.overlays.default
self.overlays.${system}
args.hydra.overlays.default
];
config.allowUnfree = true;
config.permittedInsecurePackages = [
"olm-3.2.16"
];
};
common = {
inherit
(pkgs)
emoji-lotte
emoji-volpeon-blobfox
emoji-volpeon-blobfox-flip
emoji-volpeon-bunhd
emoji-volpeon-bunhd-flip
emoji-volpeon-drgn
emoji-volpeon-fox
emoji-volpeon-gphn
emoji-volpeon-raccoon
emoji-volpeon-vlpn
emoji-volpeon-neofox
emoji-volpeon-neocat
emoji-volpeon-floof
emoji-rosaflags
emoji-raccoon
emoji-caro
lotte-art
alco-sans
constructium
fairfax
fairfax-hd
kreative-square
nasin-nanpa
matrix-media-repo
mautrix-discord
mautrix-whatsapp
mautrix-telegram
mautrix-slack
python-mautrix
python-tulir-telethon
papermc
python-plover-stroke
python-rtf-tokenize
plover
plover-plugins-manager
python-simplefuzzyset
plover-plugin-emoji
plover-plugin-tapey-tape
plover-plugin-yaml-dictionary
plover-plugin-machine-hid
plover-plugin-rkb1-hid
plover-plugin-dotool-output
plover-dict-didoesdigital
miifox-net
plover-plugin-python-dictionary
plover-plugin-stenotype-extended
asar-asm
bsnes-plus
yiffstash
plover-plugin-dict-commands
plover-plugin-last-translation
plover-plugin-modal-dictionary
plover-plugin-stitching
plover-plugin-lapwing-aio
mgba-dev
;
};
perSystem = {
aarch64-linux = {
#inherit (pkgs) linux-devterm;
};
};
in
common // perSystem.${system} or {};
in rec {
nixosConfigurations = builtins.listToAttrs (
map (
{ {
name, name = "nas"; # My nas
system, system = "x86_64-linux";
configName ? name, }
}: { {
inherit name; name = "instance-20221213-1915"; # Oracle server
value = nixpkgs.lib.nixosSystem { system = "aarch64-linux";
}
/*
{
name = "devterm";
system = "aarch64-linux";
}
*/
];
mkPackages =
system:
let
pkgs = import nixpkgs {
inherit system; inherit system;
specialArgs = overlays = [
args args.gomod2nix.overlays.default
// { self.overlays.${system}
inherit system; args.hydra.overlays.default
}; ];
modules = [ config.allowUnfree = true;
(./config + "/${configName}.nix") config.permittedInsecurePackages = [
./config/default.nix "olm-3.2.16"
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
(
{pkgs, ...}: {
home-manager.extraSpecialArgs =
args
// {
inherit system;
};
}
)
(import utils/link-input.nix args)
lix-module.nixosModules.default
]; ];
}; };
} common = {
) inherit (pkgs)
systems emoji-lotte
); emoji-volpeon-blobfox
overlays = { emoji-volpeon-blobfox-flip
x86_64-linux = import ./overlays args "x86_64-linux"; emoji-volpeon-bunhd
aarch64-linux = import ./overlays args "aarch64-linux"; emoji-volpeon-bunhd-flip
}; emoji-volpeon-drgn
devShell.x86_64-linux = let emoji-volpeon-fox
pkgs = import nixpkgs { emoji-volpeon-gphn
system = "x86_64-linux"; emoji-volpeon-raccoon
overlays = [ emoji-volpeon-vlpn
args.gomod2nix.overlays.default emoji-volpeon-neofox
self.overlays.x86_64-linux emoji-volpeon-neocat
]; emoji-volpeon-floof
}; emoji-rosaflags
emoji-raccoon
emoji-caro
lotte-art
alco-sans
constructium
fairfax
fairfax-hd
kreative-square
nasin-nanpa
matrix-media-repo
mautrix-discord
mautrix-whatsapp
mautrix-telegram
mautrix-slack
python-mautrix
python-tulir-telethon
papermc
python-plover-stroke
python-rtf-tokenize
plover
plover-plugins-manager
python-simplefuzzyset
plover-plugin-emoji
plover-plugin-tapey-tape
plover-plugin-yaml-dictionary
plover-plugin-machine-hid
plover-plugin-rkb1-hid
plover-plugin-dotool-output
plover-dict-didoesdigital
miifox-net
plover-plugin-python-dictionary
plover-plugin-stenotype-extended
asar-asm
bsnes-plus
yiffstash
plover-plugin-dict-commands
plover-plugin-last-translation
plover-plugin-modal-dictionary
plover-plugin-stitching
plover-plugin-lapwing-aio
mgba-dev
;
};
perSystem = {
aarch64-linux = {
#inherit (pkgs) linux-devterm;
};
};
in
common // perSystem.${system} or { };
in in
pkgs.mkShell { rec {
nativeBuildInputs = with pkgs; [ nixosConfigurations = builtins.listToAttrs (
age
sops
ssh-to-age
nix-prefetch
nix-prefetch-git
jq
bundix
python3
python3Packages.yapf
github-cli
statix
alejandra
];
};
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
packages.x86_64-linux = mkPackages "x86_64-linux";
packages.aarch64-linux = mkPackages "aarch64-linux";
hydraJobs =
(builtins.listToAttrs (
map ( map (
{ {
name, name,
system, system,
... configName ? name,
}: { }:
{
inherit name; inherit name;
value = { value = nixpkgs.lib.nixosSystem {
${system} = nixosConfigurations.${name}.config.system.build.toplevel; inherit system;
specialArgs = args // {
inherit system;
};
modules = [
(./config + "/${configName}.nix")
./config/default.nix
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
(
{ pkgs, ... }:
{
home-manager.extraSpecialArgs = args // {
inherit system;
};
}
)
(import utils/link-input.nix args)
lix-module.nixosModules.default
];
}; };
} }
) ) systems
systems );
)) overlays = {
// { x86_64-linux = import ./overlays args "x86_64-linux";
inherit devShell; aarch64-linux = import ./overlays args "aarch64-linux";
inherit packages;
# Uncomment the line to build an installer image
# This is EXTREMELY LARGE and will make builds take forever
# installer.x86_64-linux = nixosConfigurations.installer.config.system.build.isoImage;
}; };
}; devShell.x86_64-linux =
let
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [
args.gomod2nix.overlays.default
self.overlays.x86_64-linux
];
};
in
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
age
sops
ssh-to-age
nix-prefetch
nix-prefetch-git
jq
bundix
python3
python3Packages.yapf
github-cli
statix
alejandra
];
};
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
packages.x86_64-linux = mkPackages "x86_64-linux";
packages.aarch64-linux = mkPackages "aarch64-linux";
hydraJobs =
(builtins.listToAttrs (
map (
{
name,
system,
...
}:
{
inherit name;
value = {
${system} = nixosConfigurations.${name}.config.system.build.toplevel;
};
}
) systems
))
// {
inherit devShell;
inherit packages;
# Uncomment the line to build an installer image
# This is EXTREMELY LARGE and will make builds take forever
# installer.x86_64-linux = nixosConfigurations.installer.config.system.build.isoImage;
};
};
} }

View file

@ -1,12 +1,12 @@
{ {
"url": "https://github.com/mgba-emu/mgba", "url": "https://github.com/mgba-emu/mgba",
"rev": "a9bddb92e3152f58df6242f1f773fc8d9421af79", "rev": "cfd30b7a95edf1dafaf5cfb6d691578d8b6554c5",
"date": "2024-11-25T19:29:23-08:00", "date": "2024-11-08T21:38:25-08:00",
"path": "/nix/store/hl7pw6pqmcn9nq9sm0iaw0pn7hsi1k8y-mgba", "path": "/nix/store/jcsrdhn7a1cxpy96sgjyc11j0gzlcc6m-mgba",
"sha256": "13slpj5zzmh007caar3dqc985idc4pbdj9mf2pcizbgyz89sbhrd", "sha256": "1q83dgsnf4pdz2li2ip6z7rnf1c7w8qf82jr1q5ck499rhv3v689",
"hash": "sha256-LcOlE/r+rR/ZFa4m2dYlrMWCEsNtZKXYAQDW/4u8VI8=", "hash": "sha256-CZk9NswpkckKDlkK5DDihwVn8/nmRhGp+O0SZ/VrA+E=",
"fetchLFS": false, "fetchLFS": false,
"fetchSubmodules": false, "fetchSubmodules": false,
"deepClone": false, "deepClone": false,
"leaveDotGit": false "leaveDotGit": false
} }

View file

@ -2,8 +2,8 @@ schema = 3
[mod] [mod]
[mod."github.com/bwmarrin/discordgo"] [mod."github.com/bwmarrin/discordgo"]
version = "v0.0.0-20241129182205-d6dffc9bf133" version = "v0.0.0-20231013182643-f333f2578a3c"
hash = "sha256-5Ar2jOU046hw3Cgy4qeFKAYg/4BUu7q//P9Gnj2+77c=" hash = "sha256-5S/9DqVPRZSjaKkqjnr23vJHk1iMY0QepIbwFBWvAgw="
replaced = "github.com/beeper/discordgo" replaced = "github.com/beeper/discordgo"
[mod."github.com/coreos/go-systemd/v22"] [mod."github.com/coreos/go-systemd/v22"]
version = "v22.5.0" version = "v22.5.0"
@ -12,8 +12,8 @@ schema = 3
version = "v1.1.1" version = "v1.1.1"
hash = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI=" hash = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI="
[mod."github.com/gabriel-vasile/mimetype"] [mod."github.com/gabriel-vasile/mimetype"]
version = "v1.4.7" version = "v1.4.3"
hash = "sha256-q5p6DbKNn148tq38X2FLDg0sBteXoRZSiqgkMYC7ldE=" hash = "sha256-EDmlRi3av27dq/ISVTglv08z4yZzMQ/SxL1c46EJro0="
[mod."github.com/google/shlex"] [mod."github.com/google/shlex"]
version = "v0.0.0-20191202100458-e7afc7fbc510" version = "v0.0.0-20191202100458-e7afc7fbc510"
hash = "sha256-1f392pCmS7AXVKXIC1SvKlYtK/rvW47F5CCkGT2G6JM=" hash = "sha256-1f392pCmS7AXVKXIC1SvKlYtK/rvW47F5CCkGT2G6JM="
@ -33,8 +33,8 @@ schema = 3
version = "v0.0.19" version = "v0.0.19"
hash = "sha256-wYQqGxeqV3Elkmn26Md8mKZ/viw598R4Ych3vtt72YE=" hash = "sha256-wYQqGxeqV3Elkmn26Md8mKZ/viw598R4Ych3vtt72YE="
[mod."github.com/mattn/go-sqlite3"] [mod."github.com/mattn/go-sqlite3"]
version = "v1.14.24" version = "v1.14.22"
hash = "sha256-taGKFZFQlR5++5b2oZ1dYS3RERKv6yh1gniNWhb4egg=" hash = "sha256-CWF2Hjg43658NhaePWbGzS19gHJXjuTroG5c0W3hgYQ="
[mod."github.com/pmezard/go-difflib"] [mod."github.com/pmezard/go-difflib"]
version = "v1.0.0" version = "v1.0.0"
hash = "sha256-/FtmHnaGjdvEIKAJtrUfEhV7EVo5A/eYrtdnUkuxLDA=" hash = "sha256-/FtmHnaGjdvEIKAJtrUfEhV7EVo5A/eYrtdnUkuxLDA="
@ -45,8 +45,8 @@ schema = 3
version = "v0.0.0-20200617195104-da1b6568686e" version = "v0.0.0-20200617195104-da1b6568686e"
hash = "sha256-ST9t4/b7WFXUb8wra4ZYVDNZJGrEykw8dkWhLrxp8F0=" hash = "sha256-ST9t4/b7WFXUb8wra4ZYVDNZJGrEykw8dkWhLrxp8F0="
[mod."github.com/stretchr/testify"] [mod."github.com/stretchr/testify"]
version = "v1.10.0" version = "v1.8.4"
hash = "sha256-fJ4gnPr0vnrOhjQYQwJ3ARDKPsOtA7d4olQmQWR+wpI=" hash = "sha256-MoOmRzbz9QgiJ+OOBo5h5/LbilhJfRUryvzHJmXAWjo="
[mod."github.com/tidwall/gjson"] [mod."github.com/tidwall/gjson"]
version = "v1.17.0" version = "v1.17.0"
hash = "sha256-eS+Ble3UZClAH/XpulH+MuxyZFsF7/yvWeBIn1D9ryk=" hash = "sha256-eS+Ble3UZClAH/XpulH+MuxyZFsF7/yvWeBIn1D9ryk="
@ -69,20 +69,20 @@ schema = 3
version = "v0.1.2" version = "v0.1.2"
hash = "sha256-xf4p2Z5Pl9In3ne9BVmy7YvtooSRBzqxP4Pl2jdVN8w=" hash = "sha256-xf4p2Z5Pl9In3ne9BVmy7YvtooSRBzqxP4Pl2jdVN8w="
[mod."golang.org/x/crypto"] [mod."golang.org/x/crypto"]
version = "v0.29.0" version = "v0.15.0"
hash = "sha256-sqckobR2VWucCgb7xpY2wLktnAA+XyXJbhCm80yCo78=" hash = "sha256-ABytl19ORbe9xcY4Ao76AcAkqqPduUCd8OrD4Sl5jyU="
[mod."golang.org/x/exp"] [mod."golang.org/x/exp"]
version = "v0.0.0-20241108190413-2d47ceb2692f" version = "v0.0.0-20231219180239-dc181d75b848"
hash = "sha256-uRR1wFVGutfXAQIG69BD4g5Y8Ejw+ugw28F6ayu2BPY=" hash = "sha256-K35MT3O16IlvqhDZBVBF4lJZIM7T/15PxOmeyGYv01A="
[mod."golang.org/x/net"] [mod."golang.org/x/net"]
version = "v0.31.0" version = "v0.18.0"
hash = "sha256-G+vGyCnn8jywmX3KvsIwhZkOv3+oAERNNeCeiQqfIL0=" hash = "sha256-7c3GBByVmRjd7CXf4STGTAnnUWtHVH4S0HjSYUHCcCA="
[mod."golang.org/x/sync"] [mod."golang.org/x/sync"]
version = "v0.9.0" version = "v0.5.0"
hash = "sha256-sGvzGqaaXE5dxohKkpbJMnu+bMmismsSqr8YMtrK+Rc=" hash = "sha256-EAKeODSsct5HhXPmpWJfulKSCkuUu6kkDttnjyZMNcI="
[mod."golang.org/x/sys"] [mod."golang.org/x/sys"]
version = "v0.27.0" version = "v0.14.0"
hash = "sha256-BXQcF9RrJ55Pq7Nl67TeFGkgkyuKkQ8hHKN4/L4ggWc=" hash = "sha256-ReIRQmONicRW9idzGVPCBx5TTcKacmQTF1vPC3L4SxY="
[mod."gopkg.in/natefinch/lumberjack.v2"] [mod."gopkg.in/natefinch/lumberjack.v2"]
version = "v2.2.1" version = "v2.2.1"
hash = "sha256-GaXWRDxhGy4Z4mgE+bJ8OE9SVvYUa9TnNiydnp2s1Ms=" hash = "sha256-GaXWRDxhGy4Z4mgE+bJ8OE9SVvYUa9TnNiydnp2s1Ms="

View file

@ -1,12 +1,13 @@
{ {
"url": "https://github.com/mautrix/discord", "url": "https://github.com/mautrix/discord",
"rev": "5a029367b3ca24247213a0ff8ff2589298bfb8a6", "rev": "ce1f401ddcf57305a9782702c72619c86eb3595d",
"date": "2024-11-29T20:22:31+02:00", "date": "2024-07-16T11:28:58+03:00",
"path": "/nix/store/wxb3fdz6ffdd3pq0cw50prswamw2xwbs-discord", "path": "/nix/store/s1pdfswh85c82m8rqbmddnl9z0cbw94d-discord",
"sha256": "0alwgcl3q3hyfh8wsnflkip4swk6417bqnmbsg92g2jfv03vnj52", "sha256": "1ck61zs67dfg0jf51gv2bf27kr8jr411bfm853479swgzyj9x81p",
"hash": "sha256-oki7B9hOiifS06tavE4gZnJNbpzUWc0RdB4OPCh7nCo=", "hash": "sha256-N6CepP+P63TIKKi6FQLJEuV5hFtiv1CcBM+1Y/QPZrI=",
"fetchLFS": false, "fetchLFS": false,
"fetchSubmodules": false, "fetchSubmodules": false,
"deepClone": false, "deepClone": false,
"leaveDotGit": false "leaveDotGit": false
} }

View file

@ -1,6 +1,6 @@
{ {
"version": "1.21.1", "version": "1.21.1",
"build": 132, "build": 131,
"name": "paper-1.21.1-132.jar", "name": "paper-1.21.1-131.jar",
"sha256": "49716b013342c75f5fa141c8cda2647aa0a1e1818d2a61aae0a43299e35ff418" "sha256": "dc7dd1b6a3093641f182e874e52637682e9fa9bbcc8025a1f761c5bbec2dd341"
} }

View file

@ -14,10 +14,10 @@
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "plover_lapwing_aio"; pname = "plover_lapwing_aio";
version = "1.3.7"; version = "1.3.5";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-3w0ASJ7CeQ/fO02AOcWCRB7AiuzHkvVOJy7TkemzTcY="; sha256 = "sha256-wE/enSIds7BJqwlHbye/u+PC4riuLkcH9QpeGemjEUM=";
}; };
postPatch = '' postPatch = ''

View file

@ -13,10 +13,7 @@ in
src = fetchgit { src = fetchgit {
inherit (source) url rev sha256; inherit (source) url rev sha256;
}; };
nativeBuildInputs = [ nativeBuildInputs = [chevron lndir];
chevron
lndir
];
buildPhase = '' buildPhase = ''
chevron -d index.json index.handlebars > index.html chevron -d index.json index.handlebars > index.html
''; '';
@ -30,5 +27,5 @@ in
description = "miifox.net"; description = "miifox.net";
license = lib.licenses.unfree; license = lib.licenses.unfree;
}; };
#passthru.updateScript = [../scripts/update-git.sh "https://git.chir.rs/CarolineHusky/MiiFox.net" "web/miifox.json"]; passthru.updateScript = [../scripts/update-git.sh "https://git.chir.rs/CarolineHusky/MiiFox.net" "web/miifox.json"];
} }