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,
modulesPath,
...
} @ args: {
}@args:
{
networking.hostName = "instance-20221213-1915";
networking.hostId = "746d4523";
@ -32,9 +33,9 @@
"virtio_pci"
"usbhid"
];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "tank/local/root";
@ -93,7 +94,7 @@
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 {
desktop = false;
inherit args;
@ -126,8 +127,8 @@
owner = "root";
path = "/etc/secrets/initrd/ssh_host_ed25519_key";
};
sops.age.sshKeyPaths = lib.mkForce ["/persist/ssh/ssh_host_ed25519_key"];
services.bind.forwarders = lib.mkForce [];
sops.age.sshKeyPaths = lib.mkForce [ "/persist/ssh/ssh_host_ed25519_key" ];
services.bind.forwarders = lib.mkForce [ ];
boot.loader.systemd-boot.configurationLimit = lib.mkForce 1;
services.tailscale.useRoutingFeatures = "server";
services.postgresql.settings = {
@ -149,5 +150,5 @@
max_parallel_maintenance_workers = 2;
};
services.restic.backups.sysbackup.paths = ["/persist"];
services.restic.backups.sysbackup.paths = [ "/persist" ];
}

View file

@ -5,7 +5,8 @@
system,
attic,
...
}: {
}:
{
imports = [
./workarounds
];
@ -37,7 +38,8 @@
dates = "weekly";
options = "--delete-older-than 7d";
};
buildMachines = with lib;
buildMachines =
with lib;
mkMerge [
(mkIf (config.networking.hostName != "instance-20221213-1915") [
{
@ -173,9 +175,7 @@
#!${pkgs.bash}/bin/bash
set -ex
builds=$(${pkgs.curl}/bin/curl -H 'accept: application/json' https://hydra.int.chir.rs/jobset/flakes/${
if config.networking.hostName != "vf2"
then "nixos-config"
else "nixos-config-riscv"
if config.networking.hostName != "vf2" then "nixos-config" else "nixos-config-riscv"
}/evals | ${pkgs.jq}/bin/jq -r '.evals[0].builds[]')
for build in $builds; do
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
${
if config.networking.hostName != "nixos-8gb-fsn1-1"
then ''
$output/bin/switch-to-configuration boot
booted="$(${pkgs.coreutils}/bin/readlink /run/booted-system/{initrd,kernel,kernel-modules})"
built="$(${pkgs.coreutils}/bin/readlink $output/{initrd,kernel,kernel-modules})"
if [ "$booted" = "$built" ]; then
$output/bin/switch-to-configuration switch
else
${pkgs.systemd}/bin/shutdown -r +1
fi
exit
''
else "$output/bin/switch-to-configuration switch"
}
if config.networking.hostName != "nixos-8gb-fsn1-1" then
''
$output/bin/switch-to-configuration boot
booted="$(${pkgs.coreutils}/bin/readlink /run/booted-system/{initrd,kernel,kernel-modules})"
built="$(${pkgs.coreutils}/bin/readlink $output/{initrd,kernel,kernel-modules})"
if [ "$booted" = "$built" ]; then
$output/bin/switch-to-configuration switch
else
${pkgs.systemd}/bin/shutdown -r +1
fi
exit
''
else
"$output/bin/switch-to-configuration switch"
}
fi
done
'';
after = ["network-online.target"];
wants = ["network-online.target"];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
};
systemd.timers.nixos-upgrade = {
enable = true;
description = "Automatically update nixos";
requires = ["nixos-upgrade.service"];
wantedBy = ["multi-user.target"];
requires = [ "nixos-upgrade.service" ];
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnUnitActiveSec = "30min";
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-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 =
home:
pkgs.writeText "ssh-config" ''
Host build-aarch64
Port 22
IdentitiesOnly yes
User remote-build
HostName instance-20221213-1915.int.chir.rs
IdentityFile ${home}/.ssh/builder_id_ed25519
Host build-nas
Port 22
IdentitiesOnly yes
User remote-build
HostName nas.int.chir.rs
IdentityFile ${home}/.ssh/builder_id_ed25519
Host build-rainbow-resort
Port 22
IdentitiesOnly yes
User remote-build
HostName rainbow-resort.int.chir.rs
IdentityFile ${home}/.ssh/builder_id_ed25519
Host build-riscv
Port 22
IdentitiesOnly yes
User remote-build
HostName not522.tailbab65.ts.net
IdentityFile ${home}/.ssh/builder_id_ed25519
sshConfig = pkgs.writeText "ssh-config" ''
Host build-aarch64
Port 22
IdentitiesOnly yes
User remote-build
HostName instance-20221213-1915.int.chir.rs
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host build-nas
Port 22
IdentitiesOnly yes
User remote-build
HostName nas.int.chir.rs
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host build-rainbow-resort
Port 22
IdentitiesOnly yes
User remote-build
HostName rainbow-resort.int.chir.rs
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host build-riscv
Port 22
IdentitiesOnly yes
User remote-build
HostName not522.tailbab65.ts.net
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host *
ForwardAgent no
Compression no
ServerAliveInterval 0
ServerAliveCountMax 3
HashKnownHosts no
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster auto
ControlPath ~/.ssh/master-%r@%n:%p
ControlPersist 10m
'';
Host *
ForwardAgent no
Compression no
ServerAliveInterval 0
ServerAliveCountMax 3
HashKnownHosts no
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster auto
ControlPath ~/.ssh/master-%r@%n:%p
ControlPersist 10m
'';
nix-eval-jobs-script = pkgs.stdenvNoCC.mkDerivation {
name = "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 ${pkgs.nix}/bin/nix \
--subst-var-by ssh ${pkgs.openssh}/bin/ssh
chmod +x $out
'';
};
in
@ -187,12 +184,6 @@ in
};
};
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" = {
sopsFile = ../../secrets/shared.yaml;
owner = "hydra-queue-runner";
@ -202,10 +193,7 @@ in
system.activationScripts.setupHydraSshConfig = lib.stringAfter [ "var" ] ''
mkdir -p /var/lib/hydra/queue-runner/.ssh/
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
mkdir -p /var/lib/hydra/.ssh/
chown -Rv hydra /var/lib/hydra/.ssh
ln -svf ${sshConfig "/var/lib/hydra"} /var/lib/hydra/.ssh/config
ln -svf ${sshConfig} /var/lib/hydra/queue-runner/.ssh/config
'';
sops.secrets."attic/config.toml" = {
owner = "hydra-queue-runner";

View file

@ -3,11 +3,10 @@ import sys
import subprocess
import os
import json
import shlex
# 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:])
inputs_to_copy = set()
@ -23,11 +22,11 @@ gcroots = None
for arg in sys.argv[1:]:
if arg == "--gc-roots-dir" or arg == "--max-jobs" or arg == "--workers":
skip_next = 2
if next_to_gcroots:
next_to_gcroots = False
gcroots = arg
if arg == "--gc-roots-dir":
next_to_gcroots = True
if next_to_gcroots:
next_to_gcroots = false
gcroots = arg
if skip_next > 0:
skip_next -= 1
continue
@ -38,31 +37,25 @@ for arg in sys.argv[1:]:
next_to_copy = True
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
subprocess.run(["@nix@", "copy"] + list(inputs_to_copy) + ["--to", "ssh://build-rainbow-resort", "--no-check-sigs"], check=True, stdout=subprocess.DEVNULL)
# copy over what files we need to ensure are present on the target
subprocess.call(["@nix@", "copy"] + list(inputs_to_copy) + ["--to", "ssh://build-rainbow-resort", "--no-check-sigs"], check=True, stdout=subprocess.DEVNULL)
# 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:
line = line.strip()
data = json.loads(line)
# 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 gcroots is not None:
drvBasename = os.path.basename(data["drvPath"])
try:
os.symlink(data["drvPath"], os.path.join(gcroots, drvBasename))
except:
pass
os.symlink(data["drvPath"], os.path.join(gcroots, drvBasename))
# Now we are done with this job, we can tell hydra about it
print(line)
except Exception as e:
print(e, file=sys.stderr)
sys.exit(result.wait())
except e:
print(e, file=sys.stderr)

View file

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

View file

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

379
flake.nix
View file

@ -161,210 +161,213 @@ rec {
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs";
};
systems.url = "github:nix-systems/default";
};
outputs = {
self,
nixpkgs,
sops-nix,
home-manager,
lix-module,
...
} @ args: let
systems = [
{
name = "nixos-8gb-fsn1-1"; # Hetzner Server
system = "x86_64-linux";
}
{
name = "nas"; # My nas
system = "x86_64-linux";
}
{
name = "instance-20221213-1915"; # Oracle server
system = "aarch64-linux";
}
/*
outputs =
{
self,
nixpkgs,
sops-nix,
home-manager,
lix-module,
...
}@args:
let
systems = [
{
name = "devterm";
system = "aarch64-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 = "nixos-8gb-fsn1-1"; # Hetzner Server
system = "x86_64-linux";
}
{
name,
system,
configName ? name,
}: {
inherit name;
value = nixpkgs.lib.nixosSystem {
name = "nas"; # My nas
system = "x86_64-linux";
}
{
name = "instance-20221213-1915"; # Oracle server
system = "aarch64-linux";
}
/*
{
name = "devterm";
system = "aarch64-linux";
}
*/
];
mkPackages =
system:
let
pkgs = import nixpkgs {
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
overlays = [
args.gomod2nix.overlays.default
self.overlays.${system}
args.hydra.overlays.default
];
config.allowUnfree = true;
config.permittedInsecurePackages = [
"olm-3.2.16"
];
};
}
)
systems
);
overlays = {
x86_64-linux = import ./overlays args "x86_64-linux";
aarch64-linux = import ./overlays args "aarch64-linux";
};
devShell.x86_64-linux = let
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [
args.gomod2nix.overlays.default
self.overlays.x86_64-linux
];
};
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
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 (
rec {
nixosConfigurations = builtins.listToAttrs (
map (
{
name,
system,
...
}: {
configName ? name,
}:
{
inherit name;
value = {
${system} = nixosConfigurations.${name}.config.system.build.toplevel;
value = nixpkgs.lib.nixosSystem {
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
))
// {
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;
) systems
);
overlays = {
x86_64-linux = import ./overlays args "x86_64-linux";
aarch64-linux = import ./overlays args "aarch64-linux";
};
};
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",
"rev": "a9bddb92e3152f58df6242f1f773fc8d9421af79",
"date": "2024-11-25T19:29:23-08:00",
"path": "/nix/store/hl7pw6pqmcn9nq9sm0iaw0pn7hsi1k8y-mgba",
"sha256": "13slpj5zzmh007caar3dqc985idc4pbdj9mf2pcizbgyz89sbhrd",
"hash": "sha256-LcOlE/r+rR/ZFa4m2dYlrMWCEsNtZKXYAQDW/4u8VI8=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}
"url": "https://github.com/mgba-emu/mgba",
"rev": "cfd30b7a95edf1dafaf5cfb6d691578d8b6554c5",
"date": "2024-11-08T21:38:25-08:00",
"path": "/nix/store/jcsrdhn7a1cxpy96sgjyc11j0gzlcc6m-mgba",
"sha256": "1q83dgsnf4pdz2li2ip6z7rnf1c7w8qf82jr1q5ck499rhv3v689",
"hash": "sha256-CZk9NswpkckKDlkK5DDihwVn8/nmRhGp+O0SZ/VrA+E=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View file

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

View file

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

View file

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

View file

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

View file

@ -13,10 +13,7 @@ in
src = fetchgit {
inherit (source) url rev sha256;
};
nativeBuildInputs = [
chevron
lndir
];
nativeBuildInputs = [chevron lndir];
buildPhase = ''
chevron -d index.json index.handlebars > index.html
'';
@ -30,5 +27,5 @@ in
description = "miifox.net";
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"];
}