Compare commits
6 commits
meta_rewor
...
main
Author | SHA1 | Date | |
---|---|---|---|
1447ec9eb8 | |||
|
07d226a06e | ||
4b30fb8a36 | |||
8cfc0001b9 | |||
|
d474e39b92 | ||
|
ea5c0787d7 |
22 changed files with 458 additions and 148 deletions
|
@ -21,6 +21,17 @@ jobs:
|
||||||
STORE_USER: admin
|
STORE_USER: admin
|
||||||
name: Build and cache bridge01
|
name: Build and cache bridge01
|
||||||
run: nix-shell -A eval-nodes --run cache-node
|
run: nix-shell -A eval-nodes --run cache-node
|
||||||
|
build01:
|
||||||
|
runs-on: nix
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- env:
|
||||||
|
BUILD_NODE: build01
|
||||||
|
STORE_ENDPOINT: https://tvix-store.dgnum.eu/infra-signing/
|
||||||
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||||
|
STORE_USER: admin
|
||||||
|
name: Build and cache build01
|
||||||
|
run: nix-shell -A eval-nodes --run cache-node
|
||||||
compute01:
|
compute01:
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
steps:
|
steps:
|
||||||
|
|
|
@ -20,6 +20,7 @@ rec {
|
||||||
_keys = {
|
_keys = {
|
||||||
# SSH keys of the nodes
|
# SSH keys of the nodes
|
||||||
bridge01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP5bS3iBXz8wycBnTvI5Qi79WLu0h4IVv/EOdKYbP5y7" ];
|
bridge01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP5bS3iBXz8wycBnTvI5Qi79WLu0h4IVv/EOdKYbP5y7" ];
|
||||||
|
build01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIYJcEMQpOyKInqtd2/brnSQuzwgv6fNPlTSQx9tcvPu" ];
|
||||||
compute01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/YluSVS+4h3oV8CIUj0OmquyJXju8aEQy0Jz210vTu" ];
|
compute01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/YluSVS+4h3oV8CIUj0OmquyJXju8aEQy0Jz210vTu" ];
|
||||||
geo01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEl6Pubbau+usQkemymoSKrTBbrX8JU5m5qpZbhNx8p4" ];
|
geo01 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEl6Pubbau+usQkemymoSKrTBbrX8JU5m5qpZbhNx8p4" ];
|
||||||
geo02 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFNXaCS0/Nsu5npqQk1TP6wMHCVIOaj4pblp2tIg6Ket" ];
|
geo02 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFNXaCS0/Nsu5npqQk1TP6wMHCVIOaj4pblp2tIg6Ket" ];
|
||||||
|
|
26
machines/nixos/build01/_configuration.nix
Normal file
26
machines/nixos/build01/_configuration.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# SPDX-FileCopyrightText: 2025 Elias Coppens <elias@dgnum.eu>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2
|
||||||
|
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
lib.extra.mkConfig {
|
||||||
|
enabledModules = [
|
||||||
|
"dgn-forgejo-runners"
|
||||||
|
];
|
||||||
|
|
||||||
|
enabledServices = [
|
||||||
|
"nix-builder"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
dgn-forgejo-runners = {
|
||||||
|
nbRunners = 16;
|
||||||
|
dataDirectory = "/data";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.netbird.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
root = ./.;
|
||||||
|
}
|
59
machines/nixos/build01/_hardware-configuration.nix
Normal file
59
machines/nixos/build01/_hardware-configuration.nix
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"nvme"
|
||||||
|
"megaraid_sas"
|
||||||
|
"ehci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
kernelModules = [ "dm-snapshot" ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/fed99278-0916-4d9c-b974-c7125d3557b3";
|
||||||
|
fsType = "xfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/data" = {
|
||||||
|
device = "/dev/disk/by-uuid/69b62f16-7db1-4720-a115-fd3b8dafe123";
|
||||||
|
fsType = "xfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/1372-46EA";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0022"
|
||||||
|
"dmask=0022"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/34b9e0ab-c579-4293-849c-78f5093cf35a"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
64
machines/nixos/build01/nix-builder.nix
Normal file
64
machines/nixos/build01/nix-builder.nix
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# SPDX-FileCopyrightText: 2025 Elias Coppens <elias@dgnum.eu>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2
|
||||||
|
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
meta,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
dgn-access-control.users = lib.genAttrs meta.organization.groups.nix-builder (u: lib.singleton u);
|
||||||
|
|
||||||
|
security.pam.loginLimits = [
|
||||||
|
{
|
||||||
|
domain = "*";
|
||||||
|
item = "nofile";
|
||||||
|
type = "-";
|
||||||
|
value = "20480";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.nix-daemon.serviceConfig = {
|
||||||
|
MemoryAccounting = true;
|
||||||
|
MemoryMax = "450G";
|
||||||
|
MemoryHigh = "440G";
|
||||||
|
MemorySwapMax = "2G";
|
||||||
|
ManagedOOMSwap = "kill";
|
||||||
|
ManagedOOMMemoryPressure = "kill";
|
||||||
|
MemoryPressureWatch = "on";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = lib.mkForce "*:45";
|
||||||
|
options = lib.mkForce ''--max-freed "$((128 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | ${pkgs.gawk}/bin/awk '{ print $4 }')))"'';
|
||||||
|
|
||||||
|
randomizedDelaySec = "1800";
|
||||||
|
};
|
||||||
|
|
||||||
|
nrBuildUsers = 128;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
keep-outputs = false;
|
||||||
|
keep-derivations = false;
|
||||||
|
use-cgroups = true;
|
||||||
|
http-connections = 0;
|
||||||
|
auto-allocate-uids = true;
|
||||||
|
cores = 0;
|
||||||
|
max-jobs = 8;
|
||||||
|
fsync-metadata = true;
|
||||||
|
experimental-features = [
|
||||||
|
"auto-allocate-uids"
|
||||||
|
# "ca-derivations" this feature is really extremely broken.
|
||||||
|
"cgroups"
|
||||||
|
"fetch-closure"
|
||||||
|
"impure-derivations"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
31
machines/nixos/build01/secrets/forgejo_runners-token_file
Normal file
31
machines/nixos/build01/secrets/forgejo_runners-token_file
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 jIXfPA plGvUUrRbdkfNyD4UGIjjkv3Ktu4iqL4dImFZzWnqWA
|
||||||
|
asE0N7d6lqnOFJWoU+V1bCLhlD5oFAkjs9HSM+ps6Ak
|
||||||
|
-> ssh-ed25519 QlRB9Q hagbD6do4gKBuRBN8m8cDL6K0RFmiJwpvJOtAaPKXnA
|
||||||
|
9727tWz+PhGm/bycXUUQHV3YqeXc0AD/mM1DvTrBLC4
|
||||||
|
-> ssh-ed25519 r+nK/Q bnu+1g77I2LLnXNHZWMkIrgJpxpwJ1ZYgdAL4HE6hCo
|
||||||
|
cDLyOiULyjO9s6PACs6Ou6m5h0XcDzbdc7o2P7OAizQ
|
||||||
|
-> ssh-rsa krWCLQ
|
||||||
|
X8SpFIBmd7LOnJqI+V3MWlaYB8f4Mron5IKYZGrqRPWzLrrkAkJsr1QdV4K9vepe
|
||||||
|
zQsHecw8VvCKQesAKFrKTZxF8oXvoJU3GP5q9IVISLuEv8nLxgyhhLqQQqPVWLbC
|
||||||
|
0nGGtbke2Xw2QXgUpoe6GdZ53Neg2BShUmV6SYoGeTwdxGmuL6nFH7UMzwsKWLW5
|
||||||
|
95CoXfRyp4oxV7FQscuewPL+tNHXh6DoeW8Qlr3rxxgJkCSNMp+EchZJZOroGmtd
|
||||||
|
SQb2SgFs712x9han1vNR7Dn3o270xa/AVldmjRBNvDGyNefItb20OP4n3bWSK3b1
|
||||||
|
ejR3mZyP5SU2+Pr6navc0w
|
||||||
|
-> ssh-ed25519 /vwQcQ NQSD4lKvM7uWm0deYyc22DC7/IGYve0XB9Zg8yOY5GE
|
||||||
|
hpDWSKnlW6BtyKlXXS1anB78CvK+mnsm3BOxht7mL4Y
|
||||||
|
-> ssh-ed25519 0R97PA i4DSi49b4vQpt3hjiHPn0/H9MzyvHz0OEPJXcvn+G1M
|
||||||
|
C9uEKNTPRK8f4d2AYnPqDwTqDOV0SHmG/x/529l3YLA
|
||||||
|
-> ssh-ed25519 JGx7Ng 5WgVespkMD/X/67sBoF2RbG+YXu06UuSozHrLJSn2xE
|
||||||
|
pISCxxw/Hg9GBxh33gW6JO2mLKrdvSUVb6+AHMHwTtE
|
||||||
|
-> ssh-ed25519 bUjjig 14Ocpj1tCsZ5lZQ32wDHsO9iFkrNi8wZS8NUhQ5HEh0
|
||||||
|
ZbX31ejXuqmgKD1EcmH/B0zo1CeORzJn+QjrRuWNxh0
|
||||||
|
-> ssh-ed25519 oRtTqQ dSGSGECezsXdDeyFcOSLIvKT0jdOs2d73/dRAeBuJjc
|
||||||
|
2O/CXEu0rV5EdAewyvdA5XfLXMQvzEEtl8lPsBqICqk
|
||||||
|
-> ssh-ed25519 IxxZqA BbHNkDUiEoWcwGjjrkFbOHCXvq2gEd8Rv7tt3p8fXHA
|
||||||
|
yJsvxku/Kz26jTTEtuoHDLGO/gUotw/QZc+UwxCIwKE
|
||||||
|
-> Tqc#'yq%-grease b
|
||||||
|
X3iOhNF2FNp0ImC6uLsqjT1pAbNPBIxUCXLivDKbVIZYoBhtrLpQRJXoWK7GEakA
|
||||||
|
8TkORCQQUYZIlNqu2Psfbi0
|
||||||
|
--- 19Nolty0dET6QnYlxtieiluPP9R3HbrhEn5EDuFu/s4
|
||||||
|
“˜?l÷6r] úfBžo<ŸŒ9lj5M+Ší7íNõϹäô%
Ñ.èœELĘâÂÒw§¾snÑáã¬nšN
-×Ø̯pñûëËŠÓ
|
7
machines/nixos/build01/secrets/secrets.nix
Normal file
7
machines/nixos/build01/secrets/secrets.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# SPDX-FileCopyrightText: 2025 La Délégation Générale Numérique <contact@dgnum.eu>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2
|
||||||
|
|
||||||
|
(import ../../../../keys).mkSecrets [ "build01" ] [
|
||||||
|
"forgejo_runners-token_file"
|
||||||
|
]
|
|
@ -44,8 +44,6 @@ let
|
||||||
usernameFor = member: meta.organization.members.${member}.username;
|
usernameFor = member: meta.organization.members.${member}.username;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixpkgs.config.permittedInsecurePackages = [ "kanidm-1.3.3" ];
|
|
||||||
|
|
||||||
services.kanidm = {
|
services.kanidm = {
|
||||||
enableServer = true;
|
enableServer = true;
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ lib.extra.mkConfig {
|
||||||
# List of modules to enable
|
# List of modules to enable
|
||||||
"dgn-backups"
|
"dgn-backups"
|
||||||
"dgn-web"
|
"dgn-web"
|
||||||
|
"dgn-forgejo-runners"
|
||||||
];
|
];
|
||||||
|
|
||||||
enabledServices = [
|
enabledServices = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: EUPL-1.2
|
# SPDX-License-Identifier: EUPL-1.2
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
_:
|
||||||
|
|
||||||
let
|
let
|
||||||
url = "https://git.dgnum.eu";
|
url = "https://git.dgnum.eu";
|
||||||
|
@ -30,22 +30,10 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.forgejo-nix-runners = {
|
dgn-forgejo-runners = {
|
||||||
enable = true;
|
|
||||||
|
|
||||||
inherit url;
|
|
||||||
|
|
||||||
storePath = "/data/slow";
|
|
||||||
tokenFile = config.age.secrets."forgejo_runners-token_file".path;
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
pkgs.npins
|
|
||||||
pkgs.tea
|
|
||||||
];
|
|
||||||
|
|
||||||
containerOptions = [ "--cpus=4" ];
|
|
||||||
|
|
||||||
nbRunners = 6;
|
nbRunners = 6;
|
||||||
|
nbCpus = 4;
|
||||||
|
dataDirectory = "/data/slow";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.gitea-actions-runner.instances = builtins.mapAttrs (_: mkRunner) {
|
services.gitea-actions-runner.instances = builtins.mapAttrs (_: mkRunner) {
|
||||||
|
@ -63,23 +51,4 @@ in
|
||||||
labels = [ "debian-latest:docker://node:20-bookworm" ];
|
labels = [ "debian-latest:docker://node:20-bookworm" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
podman = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
defaultNetwork.settings = {
|
|
||||||
dns_enable = true;
|
|
||||||
ipv6_enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
containers.storage.settings = {
|
|
||||||
storage = {
|
|
||||||
driver = "overlay";
|
|
||||||
graphroot = "/data/slow/containers/storage";
|
|
||||||
runroot = "/run/containers/storage";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,8 +79,7 @@ in
|
||||||
"cron.git_gc_repos".ENABLED = true;
|
"cron.git_gc_repos".ENABLED = true;
|
||||||
"cron.update_checker".ENABLED = false;
|
"cron.update_checker".ENABLED = false;
|
||||||
};
|
};
|
||||||
|
secrets.mailer.PASSWD = config.age.secrets."forgejo-mailer_password_file".path;
|
||||||
mailerPasswordFile = config.age.secrets."forgejo-mailer_password_file".path;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -207,6 +207,7 @@ in
|
||||||
IPv6AcceptRA = false;
|
IPv6AcceptRA = false;
|
||||||
IPv6SendRA = false;
|
IPv6SendRA = false;
|
||||||
};
|
};
|
||||||
|
linkConfig.MTUBytes = 1500;
|
||||||
};
|
};
|
||||||
"50-wg0" = {
|
"50-wg0" = {
|
||||||
name = "wg0";
|
name = "wg0";
|
||||||
|
|
|
@ -13,6 +13,25 @@
|
||||||
netbirdIp = null;
|
netbirdIp = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
build01 = {
|
||||||
|
interfaces = {
|
||||||
|
enp35s0f0np0 = {
|
||||||
|
ipv4 = [
|
||||||
|
{
|
||||||
|
address = "10.0.254.21";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
gateways = [ "10.0.254.1" ];
|
||||||
|
enableDefaultDNS = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hostId = "adb676ce";
|
||||||
|
netbirdIp = "100.80.31.249";
|
||||||
|
};
|
||||||
|
|
||||||
compute01 = {
|
compute01 = {
|
||||||
interfaces = {
|
interfaces = {
|
||||||
eno1 = {
|
eno1 = {
|
||||||
|
|
|
@ -49,6 +49,25 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
build01 = {
|
||||||
|
site = "pot01";
|
||||||
|
|
||||||
|
hashedPassword = "$y$j9T$n83qOn1OkQhFwQe50tPM11$jZ1tvgqMTcp4HLGEfJmTMsf0NnRUYQkzco9vibWTpU2";
|
||||||
|
|
||||||
|
stateVersion = "24.11";
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
version = "24.11";
|
||||||
|
system = "nixos";
|
||||||
|
};
|
||||||
|
|
||||||
|
admins = [ "ecoppens" ];
|
||||||
|
|
||||||
|
deployment = {
|
||||||
|
targetHost = "build01.dgnum";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
compute01 = {
|
compute01 = {
|
||||||
site = "pav01";
|
site = "pav01";
|
||||||
|
|
||||||
|
@ -177,7 +196,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-modules = [
|
nix-modules = [
|
||||||
"services/forgejo-nix-runners"
|
|
||||||
"services/netbird/server.nix"
|
"services/netbird/server.nix"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -95,6 +95,14 @@
|
||||||
"catvayor"
|
"catvayor"
|
||||||
"ecoppens"
|
"ecoppens"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nix-builder = [
|
||||||
|
"catvayor"
|
||||||
|
"ecoppens"
|
||||||
|
"mdebray"
|
||||||
|
"raito"
|
||||||
|
"thubrecht"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
external = {
|
external = {
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
"dgn-console"
|
"dgn-console"
|
||||||
"dgn-chatops"
|
"dgn-chatops"
|
||||||
"dgn-firewall"
|
"dgn-firewall"
|
||||||
|
"dgn-forgejo-runners"
|
||||||
"dgn-hardware"
|
"dgn-hardware"
|
||||||
"dgn-netbox-agent"
|
"dgn-netbox-agent"
|
||||||
"dgn-network"
|
"dgn-network"
|
||||||
|
@ -43,6 +44,7 @@
|
||||||
[
|
[
|
||||||
"age-secrets"
|
"age-secrets"
|
||||||
"services/bupstash"
|
"services/bupstash"
|
||||||
|
"services/forgejo-nix-runners"
|
||||||
"services/reaction"
|
"services/reaction"
|
||||||
"services/systemd-notify"
|
"services/systemd-notify"
|
||||||
]
|
]
|
||||||
|
|
|
@ -58,6 +58,7 @@ in
|
||||||
users.users = builtins.mapAttrs (
|
users.users = builtins.mapAttrs (
|
||||||
username: members:
|
username: members:
|
||||||
{
|
{
|
||||||
|
isNormalUser = lib.mkIf (username != "root") true;
|
||||||
openssh.authorizedKeys.keys = dgn-keys.getKeys members;
|
openssh.authorizedKeys.keys = dgn-keys.getKeys members;
|
||||||
}
|
}
|
||||||
// optionalAttrs (username == "root") { inherit (nodeMeta) hashedPassword; }
|
// optionalAttrs (username == "root") { inherit (nodeMeta) hashedPassword; }
|
||||||
|
|
91
modules/nixos/dgn-forgejo-runners.nix
Normal file
91
modules/nixos/dgn-forgejo-runners.nix
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
|
||||||
|
# SPDX-FileContributor: Elias Coppens <elias@dgnum.eu>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EUPL-1.2
|
||||||
|
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
name,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption mkIf mkOption;
|
||||||
|
|
||||||
|
inherit (lib.types) int nullOr str;
|
||||||
|
|
||||||
|
cfg = config.dgn-forgejo-runners;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.dgn-forgejo-runners = {
|
||||||
|
enable = mkEnableOption "forgejo-nix-runners for the DGNum forge";
|
||||||
|
|
||||||
|
nbRunners = mkOption {
|
||||||
|
type = int;
|
||||||
|
description = ''
|
||||||
|
Number of runners to spawn.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nbCpus = mkOption {
|
||||||
|
type = nullOr int;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Maximum number of cores available for each runner.
|
||||||
|
When set to null, there will be no restriction.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dataDirectory = mkOption {
|
||||||
|
type = str;
|
||||||
|
description = ''
|
||||||
|
Base directory to store data for runners.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
services.forgejo-nix-runners = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
url = "https://git.dgnum.eu";
|
||||||
|
|
||||||
|
storePath = cfg.dataDirectory;
|
||||||
|
tokenFile = config.age.secrets."forgejo_runners-token_file".path;
|
||||||
|
names = [
|
||||||
|
"on-${name}"
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
pkgs.npins
|
||||||
|
pkgs.tea
|
||||||
|
];
|
||||||
|
|
||||||
|
containerOptions = lib.optional (cfg.nbCpus != null) "--cpus=${builtins.toString cfg.nbCpus}";
|
||||||
|
|
||||||
|
inherit (cfg) nbRunners;
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
defaultNetwork.settings = {
|
||||||
|
dns_enable = true;
|
||||||
|
ipv6_enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
containers.storage.settings = {
|
||||||
|
storage = {
|
||||||
|
driver = "overlay";
|
||||||
|
graphroot = "${cfg.dataDirectory}/containers/storage";
|
||||||
|
runroot = "/run/containers/storage";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,55 +1,56 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 jIXfPA tqrbtRQ1sOAfNdcydUswVCvTPlMOyxJk7KIWuVo0zTo
|
-> ssh-ed25519 jIXfPA uwfDbp6deCl1ZuO/9HWEghRdmx6C48WYfrUSprsUhGw
|
||||||
8NlgzrKyFh4K5NreS0CmBNQ2ZmiLZYpD+fhbqNX/aAQ
|
/ram5+hhFm4otCrfe8ikxazml7GlXydSLnV6Gx88eeA
|
||||||
-> ssh-ed25519 QlRB9Q 9so2ZMz5fmmbqRpwEtJ0/u7iV+MLLLkDgODMfu6rdyo
|
-> ssh-ed25519 QlRB9Q k5ASPvydXiyyIhcviZWBMrKBT5UQeY68Lvs7OSYVH0U
|
||||||
mYpFyrEI3p5uIvogAeTTgC+bHNHBx+eR6VGKMx8hIQk
|
VQD2FHyF76l+OI87JUvgz+4ZIpYZbTmojWr6w+0Ce4M
|
||||||
-> ssh-ed25519 r+nK/Q ldIiggaMYAi9twBQpG5w6EA1stvDYgznDytN/zN0IDM
|
-> ssh-ed25519 r+nK/Q PKv1jnfLjPoevbENLT+BDrkzhngXmtDiepSDKZPPvXg
|
||||||
bOqzUc4m/pecyG+6jv8HilAJKJS5ywiagv1IN3DMtEM
|
Egz1qIKAoYwM9WnRIsxaVcMVnZQ4ejBZB2tWvuqPZto
|
||||||
-> ssh-rsa krWCLQ
|
-> ssh-rsa krWCLQ
|
||||||
OypBhkIZl8NGjojPR0Lg0A3SG9BhkA9oocO1zQqGh+gJdO1X8O3m5cIdxu7Ggw8s
|
JxjsWDFX9cqlYYj8XfEz6WlO9xHM6Kjz/Bdkl0E9vRjP8RohPGvGjMwWTv5rAmYf
|
||||||
RE+B41TWwEfOV0KfRdOBoVxTLYg027f5/EnlU0G5igGUCDt6vDgyScLsYkdiPUYs
|
n4yMTfau5BNq04WOUoHEz+TJBLwgdGs0yLVrqauLVSSquNxNFaTDN7wIoq3YJ1sP
|
||||||
7otyfXpCwM5eKpHV6q1qne91BjGXOiUpIPnlaOKXFvNkvNlihz9D1uw+n9vnsKGS
|
66bqP7KqKfgYM+wPg07pnhEVm4T6io9IiH5D4utupSQGBGtXBNWeoORW2Q4XgqBg
|
||||||
fb9jYX3fACcInbdnNOKeDSUE6+e6wj/ijOwGT8pL5X4cYmGslhfqk4WLubJIUoGx
|
n5pPM+EIqCAGIH+iotKzQLAtn3JaxXBliY69JYXZ9m6eKonTGOnltLgAnkslEIm9
|
||||||
6TTD0Qh0tiaWlbHJU6jB/Iv0zQgXDBvOCasN6Nlln+PYQnQ8N0gDRkQ8Eq+eKA2d
|
qwArShZ5YKcEfO9QMioUnbiZU9MV+61ybq16ilWn2MfSUTXS4OBAtJxz6uu093D8
|
||||||
19komclluvh6zNZQHXod/g
|
jmGuhxzXKhB48P/frH/hRQ
|
||||||
-> ssh-ed25519 /vwQcQ l8YLbHxqW4Ynk9ElKIws+Z/cVvdYa9E/ELOt1gIkXww
|
-> ssh-ed25519 /vwQcQ riG1XuW1BCD0xyVeRSgBNrnVmnzL13eor65GEr6AxgM
|
||||||
nENmHEF5A73imF1H0m+Zn7Fzf2EFTyRPX8HTkgfWvLk
|
N08UbQEOhWsAZyazEN59ztZ7XcXpxSVS2i5m2on1R5k
|
||||||
-> ssh-ed25519 0R97PA FVqDeagt+Q8qXxLNaSU5AttATiVmHyQlZT2mv7ETshs
|
-> ssh-ed25519 0R97PA abXQZeB5lRIGNdR/a0uh0o6nU62ZgJgP/Ifo2Sa8VkQ
|
||||||
XG9/OKfvS/Q1yHHHexCeJ3/5HTu/oe8O5lIZJouANv0
|
dP2djzaPrNoXAs7Wf9hPQ7cAi2lABLfm/XNW7x3G4XM
|
||||||
-> ssh-ed25519 JGx7Ng xuF0PD3YtE8kqWBH+OnxI+Qw6AQZ9Ib53xpSm9NMrGs
|
-> ssh-ed25519 JGx7Ng bgExR1n+lL4Nth44hAlaPwJyTOJnX0HzzTV13UCvEBg
|
||||||
wLVrBPL4KKWf5AKIN7MZfIAzOoaeqnf7XswaSt8UHKQ
|
rEjfzKhpwMUQCAxX8u7duZeZURdwtEwtE9rngMYMA5M
|
||||||
-> ssh-ed25519 bUjjig 1Ekic+sPi08+xo5Lx38SsIN78ODOaJJpuMPorgelIn4
|
-> ssh-ed25519 bUjjig bAhLFnqdVKEzST6m7NWGeqInuNQyclLYFNzjBJOEmmE
|
||||||
icUH+He/zxMhoDsakE8lJ1BCkeuwm3izXVnugQrxoCk
|
rVRcUfyfMG2EpIucz65bOuC1PVuNjKU285czNjKwJ2k
|
||||||
-> ssh-ed25519 DqHxWQ oQ1K9/CaOXBCqckeGC2M8rXtPiOSFFetK51+LU5NLGw
|
-> ssh-ed25519 DqHxWQ j0yUDi5WL76b9ywKcBA0TAX6ilQMXApiPWMgDFucxHc
|
||||||
zX2MVGKe7jdoPfJhWHd3M0cJ9uczWyyUqzFOZhP8DCM
|
8NynFQxLhhvyMLeHY7jBxvEGkbDeItSN9GxyMvpCmJo
|
||||||
-> ssh-ed25519 tDqJRg btCKh9SJuHDiGIQu3FNf3a04p6Qm9EYoTOMaxBFFbCs
|
-> ssh-ed25519 IxxZqA 7fkr+YUngEszyOXKf5ba26X08LALDEZh1YdP2lmBD1s
|
||||||
xsGNb+7jXb5MJbnNAJBZRwBvd7a0uFk8cZWWz0xPLKE
|
qQhTzEV7K0AIRcNQHrBmGjViBfxMhfTc74ez4oRYz88
|
||||||
-> ssh-ed25519 9pVK7Q bjH8hNGrjV1euwfetjy+P7FmmVEqg+D2VsyIbPN6dBM
|
-> ssh-ed25519 tDqJRg 3lNl0f4EI5iGfkOEwgsdbuqFH/Ii7aSLC/ZTPXVPejc
|
||||||
Ut+81wp4IaHYgR7mjAHiPi3uC5K5l/wLrtUEwxxhVs0
|
0NiYrCEhLaQF2zycyNT358CKVnhPLU5bibKZONWiISs
|
||||||
-> ssh-ed25519 /BRpBQ nYOgDzHkeh2T3vcC0c3X+/5GPmn4AOavPaLtluG9/X8
|
-> ssh-ed25519 9pVK7Q r7ug0wHYoccWduiMCC8nbPB0zKTUOJHJGuL6Cex0r38
|
||||||
yLeebplBqT7cbo7mgZJvbqVOf1SPFFAs/P8lwVUBjnE
|
SJZ2al16eRaKR02RIAJeRtlwjqIsGO5kpyaKRq9BsRg
|
||||||
-> ssh-ed25519 t0vvHQ R14ScgZyALLYI9VQXC9ulRiIT6pKeNjsUETqmf39Ajk
|
-> ssh-ed25519 /BRpBQ 98rwPrpOBbpjz38FEArCgEv1MqXWsak65tRrfQykrHA
|
||||||
8sATMxF2qt2ZquQkL8lUjtYYCE/c6HAV7CzVBXgAlzY
|
nfzNG899bAb8dltFR9QrJ4Zb/xX5BL+vSQDD5vC/a2A
|
||||||
-> ssh-ed25519 E6cGqw 0kdE7TYnCGGB6laGnB67OFIdI5pKo9k/4M2hSZB8dVg
|
-> ssh-ed25519 t0vvHQ +XZLiLJdJqMxRf6CZwJoS75uQ5b9BxToBUsscsvjCgs
|
||||||
6ZbKr6REXl2e589LDQjTdXAOSxKo+Crzb/qU3UiT7Fo
|
0IsEB8Q7ZVMzbQMUXVbHdBIC3bcAlhtKHrsjENMvNss
|
||||||
-> ssh-ed25519 EEPmeQ iKAT49L0Ps0DPUc/jHZ1eYPQvkouTbEaMMT1WgGgNGU
|
-> ssh-ed25519 E6cGqw wYdLb3oelo2KDUrh9oDfxN26d/zLPZysKHTp8rxMnEY
|
||||||
5tO5/612OXfDVgPkC+pObQJP/EqIljq1Sb5/sEQpKOo
|
yJ5I2PL32is3cgrh06XRpITykFL282pmhEvCTLRAhQA
|
||||||
-> ssh-ed25519 +MNHsw +XV+vFgYZBjgS+MKcIx1YaZgV34konYI5r2okZWcpE0
|
-> ssh-ed25519 EEPmeQ CQLZuD21cKyZOWJZxrEl2N4GnT/3nfkyv5GjK+aveCQ
|
||||||
xBVIa8Zep/eRgD2gjPooTS5oQuzgjRxw3cvUrVhbFLM
|
XMUaUgHw6mnFh9AEHTn/sRRe1VFGcKRjK4Ib1cNyFns
|
||||||
-> ssh-ed25519 rHotTw kpkPh9yUnPayJBCiUihPbSMIGiCMNV3Q9EX/GqrDuEY
|
-> ssh-ed25519 +MNHsw Ir6Ev8iz1/jyOJJF6boc5T+yjzCtx+L7VtuPFua8WGA
|
||||||
9U+MZrgXh8wWMr+YA+OFHzVtVoiNXusQIAKHSIv5dy4
|
1sjWSysDuMJ9/hxaYRWF8so6TsdC/ZpLuK1r2AC/st0
|
||||||
-> ssh-ed25519 NaIdrw P7GGMkwEt5ueKMBok+EpEmuomOQtWMGjqShy2zMcziY
|
-> ssh-ed25519 rHotTw 33l1xN6i1ST04iKhrtEdMNyGZyrEdJKjNma+Qat9p34
|
||||||
D38Akh4B2IIhiMHm9L4BAlXkqtmRHBFNYnq7MBxuLEw
|
FgdTjE9NpeR41h49lEbxNAuMTZyvZSVaYyT9PJEn+mU
|
||||||
-> ssh-ed25519 +mFdtQ q0Ry7jtJzq6UfKDbzfovl5KBjdJtOKxlzMBKOBt/wl4
|
-> ssh-ed25519 NaIdrw OO+OV7X39UdIhust47t7/JOpWmRtxS5MeOFGkKoaKmw
|
||||||
5LE2G25RaXJSNC88AUKZVsec9f6kRMTrRJH0f+rHjiw
|
gaFE7kl9BQWMMolgkc3Q8HtaD2YlV+vRNyO2Q8FM6fI
|
||||||
-> ssh-ed25519 0IVRbA E9wi9oRwNigFI5Gx6rOzdQRmLsaG7bADK0JwevQnHHk
|
-> ssh-ed25519 +mFdtQ YahBCDKX2N+mkYLQAlKPpd2ZypIDSMOqzO0+UcCH6wU
|
||||||
R3ssmspGUasfQCiak6mbelWszIEfgBhoUSwTmVAZVHo
|
IH0q2uTCo8OtF6IQGynKLe7rh4T12kSROuLr2dteoVM
|
||||||
-> ssh-ed25519 IY5FSQ XecGNqCa7W77aVxHu2PMyGP3kjJaIuMkPu/uxxmcTWM
|
-> ssh-ed25519 0IVRbA Cvpi2cd3tVS3DL18C1OZsA0wHBxCCV2vWEhAu4L3CiE
|
||||||
XBswdNeVgQzf1dHC7epw/R4aR+aPM/D6Ojfemv6h3Zw
|
kIu/v9xU+0xfZ1ntnDY73GvPM6DfdXOK/nWoYp0d9o4
|
||||||
-> ssh-ed25519 VQSaNw W9s97+9Zp9HHHLujy3AfY6AmhXG06zubbKmzuHfI32E
|
-> ssh-ed25519 IY5FSQ SAp5chelp2ahomzr9SIkaKLHQUA5BnHSwUzWrqJdpUc
|
||||||
6sBZ/SCxyOAYxusVng5xTp2FIWP46svn9jHrGdDoITY
|
CfEu14yiOq1KvU52zqYme6CTjhdykRNuhQIi2dgqKh0
|
||||||
-> QywF>>&-grease
|
-> ssh-ed25519 VQSaNw ApDOYnJwe1LC5EKjBmSrsXvr73D1bG/MlTzJXEBQWGA
|
||||||
an4MLFRuHd5YzvAuctEATrgtHX6ptlOPxRnGyFsIZEx4CVadG8bEn4+aPF64Bvxy
|
1DtCyWFGlmrRdv01bqOPfL/jufaYLzrtNF2GGHpGuuY
|
||||||
RXa8
|
-> ~s)%%W-grease <vT lar/&
|
||||||
--- fF16JxCEn1JKV0R0onxLmfe1SJViPsfwcW/aNzakOlI
|
qKU8Y2viz71kG8JlAT6i/UWF
|
||||||
™dØë¦\YjÐÙ\¡:ìls–ZV¸¦©ë
ñ‹¶÷È"鳉]…wOpì4àŒƒeÔÅ9¨Ï±üB9<42>
|
--- 3nsxdyr8AeVlK8l2fhXVZldrw5d0gu4+GWadkNHp9Lc
|
||||||
|
f-kp;<3B>1QŸªaZ¦¦X<02>º”/M@NCD¶€ª‚<C2AA>¶Þ2Š4‡ÔÌÑ°vðÑG¯ó7ý@Sôì)?#
|
|
@ -1,55 +1,57 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 jIXfPA Fg3/a46Mon39gTFeQkn0wtxbwsTzeBUNyEAaNHd27hQ
|
-> ssh-ed25519 jIXfPA sb7nmDkbVrutjmrkaUKnEfWlU4lWm7qQmD6OWcb/qHo
|
||||||
A78ImPc4lST6bAeBmWiWxoICV4JVCJVAmKuQJySerHs
|
GdZ/AyZS75kXiG7XbS2x+sz2LCzrEZYL7PpOPZ8g8qc
|
||||||
-> ssh-ed25519 QlRB9Q P1C+ZzsB4oAWkwIq2zcaqoukMMo+yFwk9g6Al32fCWM
|
-> ssh-ed25519 QlRB9Q yZkNZ2UOSM7LJbBU9qWcloWPceARFVFIQoEIAfEUsUw
|
||||||
G+M9cYya5pX64/oEbvpvha2qbQg4y8frl1i18ZIG6fY
|
F6x/QjToEmfLka6LAZxsuOTrKG93EHmFEiiCBiPBdvk
|
||||||
-> ssh-ed25519 r+nK/Q r4kctDRssAYznMRxHJqu7/GoBHyibP4xWdua6KYnpU0
|
-> ssh-ed25519 r+nK/Q TSh3AgdlSZP4FOVka4/KTa9Z/nuwRRZl3mGw1uKTUhs
|
||||||
l5KS9reXjT2P5iUCe0swZmK/m9Vg7VvtrK4L/TaEuAI
|
fvtdpPW+zsgBHAQrvkWc7heHE56gPZwMEPOpz+fxbh0
|
||||||
-> ssh-rsa krWCLQ
|
-> ssh-rsa krWCLQ
|
||||||
g+zPwOWXgd06McsOCwo2QjAQF7B7t8oCf5eA5K79Om/X63VAqakts3ilwOt9SgZk
|
J3PRXa0ojIn7T4bsFYnhERqGH4bLSSRyMm4X85iuGkhjldW/qVIs3EsGUeyLKWwY
|
||||||
yQYa72TP67nyljLO4tPG7u/aKIBIwitGXIIYs+ZNLq9Q0ciWvzVAhsLsfi9yE7AF
|
prvS1uwGY4qGbNgEaj0MhoZobhn9V3oiTAmlepl2tHgwMFqDi0Dagym4DBKhYaym
|
||||||
I3tnL03fES2v5sbKes/JulBQl+87065YZr67TNWRY9f7a0XQZtfewP0vOxxfJsSy
|
ezG4GvOSEQOFAhroGK7FscUeziQilfXMAGX88JrJQVM/wz5c2e4ZJmAc5sBzo1mj
|
||||||
RYBpztlzAGkaWXtqk2291x7yGhKsQWXmUhxx4KqyPs+KvFm1d4GglalFjhySzCkG
|
D/ko6/KazOokbCO89wjjUYLzwM82aJKHgGZElNKOx2fcpi23ZIlIERbqcTUgxnVS
|
||||||
Rc7Flg1ukru3Bd1/fieOWpr3DyDBQ8pZyS4gIUYLB7xcy2t1JI/U3egTQTPBCSgy
|
ifgfSHcggEP47UldzfuH09Lfz8YTDqpebhufWkVhnvdJRYahrkNC+vPqBFXwqK8F
|
||||||
PwoWgyQ7lGLRIarTMRa1JQ
|
xCVq7a8AkHK1LfDSfm041g
|
||||||
-> ssh-ed25519 /vwQcQ FOpyMB3qDu3HpjqsH2VVpInqlvJlZD35y/XNf8RkSXU
|
-> ssh-ed25519 /vwQcQ Lclbvme60sst7vG3OT+SK/BWPBJlMPBuijzX5a41xQY
|
||||||
ZUxuGbwH1XtE9Da+L7SjfoYinjq0cAwsHsDaz2u5Lrg
|
iqI9+kIOEja/uAHP3YxCXOAH94IbVbArTD/zzpEWATI
|
||||||
-> ssh-ed25519 0R97PA kphmpWyiMaxGmUAH4rvFUjtf0mvseVkPPBlMqKNE3lA
|
-> ssh-ed25519 0R97PA tvNEZpxUdaDrLOhuTnp/tuta75aInxweI6u55lts9Fw
|
||||||
F1cgXiz2UjCHU0MeS5DryvOBtxW/1DIsjw28uQ1nd3A
|
hd0OB8wSMhqyLPyy3dshVLjwXk/iqRhW/CK0v9EkMKs
|
||||||
-> ssh-ed25519 JGx7Ng ejW0Pf2cwsitmVLY8jJUaHZ/6Qhfxa7fnYWoaWYISWk
|
-> ssh-ed25519 JGx7Ng 11MGDeZVC6uXrb6x7xH1DDaUS9hEkY4cgFd6UqwuVWI
|
||||||
awOvJwkkFdXuc/ikZTX6512zG91FCi+0n7KaYrULO3E
|
HsLCmr749be0M6o8od+cxqEF6fcsqjZttczwNxzU8ZU
|
||||||
-> ssh-ed25519 bUjjig 2Gw2h1bx0TRc6CmRjY8GPgtSHRs5rl/lg394JKiWBlA
|
-> ssh-ed25519 bUjjig stqKeXyQYQ4rrPUoFAJ07hfIyNp32BbITxUavwsvFR4
|
||||||
yvltWHak7XMXBmBmlelE4pF5y1saRaQJmV5IUxzaPyo
|
oeDwDiSyXD803qDruxzJhgQ9ckfQoisJjVzq/S1CvUg
|
||||||
-> ssh-ed25519 DqHxWQ gh/5iRZQbmbvwWGtah4b9MK3DNe4+UNiHoXPYnw0sEQ
|
-> ssh-ed25519 DqHxWQ zGJoJNznwsrVy1hELu5Zd08xPpnCRPms5JUjnuEFB0A
|
||||||
z/nbwMWAjsBRAzTMSS/9dPzXe1st8mQWiUlZnVmtcCw
|
DS1GEfaNSSz8BD0VqYEpEU5retLzy6EAF0ZEMbcZzys
|
||||||
-> ssh-ed25519 tDqJRg 0GBbdUBhJxdCICdp6WtgXW2GXfQskuxanzucrKRoBns
|
-> ssh-ed25519 IxxZqA qPdVGKGRIErFLQsV8LH8UFElhV32XdTw8PmT2HdQVTE
|
||||||
AW0jVC8Y8lbhycDgLzPu40kQtgb7OI7fyycLldXknwc
|
rZzFPIx7iO1RT6cHu8AeO6FYLMsZn8UMjpqf2K3R9Ds
|
||||||
-> ssh-ed25519 9pVK7Q +aOx8mN/HX4F7SdNdJZjMRWiy6SIhqFkWYIo+I24cTI
|
-> ssh-ed25519 tDqJRg BfjsSuGW3EteYrTAtpVJNrdoNdpGKuYOxHU0ZNBUYUM
|
||||||
IQCd6tA+bUDlnW9JsxVE02EBKj38yYDybBe24PxXr68
|
wlMXOu/IVNFyghhyd/HnBud8b+VwgqZ3vG8Ceqx2DV8
|
||||||
-> ssh-ed25519 /BRpBQ 8UN2aIKUhi3JLhnOoOs38+a9qx+UhDnV5tYlWVF8d24
|
-> ssh-ed25519 9pVK7Q pPA/PzPfmC4VNLqcqgb1LwfJ68q7LffBAqaRP3YJGmw
|
||||||
FkScXVvXdhFbDGs2Ks0BYfj9nJpAUVPz6OhX7vkOTmI
|
RJBpLt3WzJoNxsbAby/XVB0bWlHqw5ZwSHT47PQeJ2M
|
||||||
-> ssh-ed25519 t0vvHQ wDCpgqimo5goEB9Gj5/QGQ98nTEkKy/qHyxPg3NA6Ss
|
-> ssh-ed25519 /BRpBQ 9irIejQQmwv9p1n/N82JPcQlRkMgCPsoeqvrEH24QUs
|
||||||
sielO8aAj9ke+nZL+F/zyMUzUPn1LjtKrSkAoMW6YYE
|
WV1CGQiitxqJOj+2V/AA3R9NevcNKCohiEV4ssDEKwA
|
||||||
-> ssh-ed25519 E6cGqw zbwhYf2zKgjdymEjG0sVuqQQ/CgCDnSlT72OrAUFSiw
|
-> ssh-ed25519 t0vvHQ vEuLV5mD3BkRQc0h2wg1l4UVj/ORVC5sz1SSqt6gD2Q
|
||||||
B70dyGna1SRXvf5SLJCiZGeBiXwS9nf3LPTBkG/3fGs
|
voKXQa3QwUt9yN4OD2Kq58iI/pjNJxRZCHYOWr3mojM
|
||||||
-> ssh-ed25519 EEPmeQ 06lIugc0LbiXVFwbV/6GKbSnlac0ROIVNmgS2Q9MM2A
|
-> ssh-ed25519 E6cGqw wqCRvdwHzeZNFG73mnCxP6dY8HFLnUd0q3QMHxC9lTk
|
||||||
KTUmdmSXZT2D4oQQpO1qNsdOn5sH70ameln6i7Itb+A
|
D0bqFDUQSgHgwrfluCnJ0FQ8+Bwtho0jGXdF7Mdepj8
|
||||||
-> ssh-ed25519 +MNHsw OMAS3ud2K1+JGVytqHp9P/i+r4apcb91Dyc+tTudpQ8
|
-> ssh-ed25519 EEPmeQ cgyB/xXkZYjS9rqDE5saVVWaZCqWA1KieSwupV8sJ3U
|
||||||
V6T+VPSvRZ21nVtDeRkOsuP62bECSGcIm8vO3JADxVQ
|
6NSDsrPTVP0AfLf2R7SYCu175u3AvSl6/9KyI5ZZr4Y
|
||||||
-> ssh-ed25519 rHotTw JAc7ZlrFGL+DXq07YrmqY4lS5Pib31RoRTT6o7zJH04
|
-> ssh-ed25519 +MNHsw yQYlre+4ZPx0sfdC6iObUu4AyUT/QFCR9nVMDe93PVw
|
||||||
Y1qLn6nWk7FfkrWIiBBd7BHHp5WXHTZfq734DMUlB74
|
0fqncmEgXK8UFoWr+S45imxC4zi1rYTmzp5aiPWqcJM
|
||||||
-> ssh-ed25519 NaIdrw ZWfEZfhiXxkq6P6H2kbiVZiiPxH13Cehk+2ti9fYx08
|
-> ssh-ed25519 rHotTw 4P96tfTWGWu6sNpnhQS2pOncXTJDBY/0LIMJH6MZ9ws
|
||||||
gMlI5Da2cgP7m2pZnHpwJiA7BVVtZgNyZnPkYqhBYHQ
|
HJ9yHwUv613F3Xj0s1l2e1CY2ca9jqrwKvjjrfr+BRE
|
||||||
-> ssh-ed25519 +mFdtQ GZQpMTZySkDwDvzpWou8nfvAtYco/v4xF+YU7LYjAAI
|
-> ssh-ed25519 NaIdrw e+Mk++x9jtnYuH76OXRohKUKELiLRW7DBPmD4Kw0uhE
|
||||||
deNceVs+tUxiQy2JHcoOd/w6KLYnxuDwrIPoVWJ66Vo
|
P84wmJvkSnM68JmMS24xrilAsqJ0PzsqgmvWIDh2TYA
|
||||||
-> ssh-ed25519 0IVRbA S917NcJZ75oqjwGMMwknUFcHYJ2TCkEt331mpOZ5DxI
|
-> ssh-ed25519 +mFdtQ YE1hcu3vCq1QHr38JEhU+pLZy+NuxzjSk8O64CYqakI
|
||||||
khoDidhLjy1wIs+qGAfx/qH+t4ROB71QeiiUmnpZ1s8
|
SNsqng6gjqR8m+KO+RQqt0gbXeGdfHNjvfVncmKD3DQ
|
||||||
-> ssh-ed25519 IY5FSQ 2HjLcN2RK/dtAeHXUTu/Du4LiBH4SxpG0d6f7QCa61Y
|
-> ssh-ed25519 0IVRbA Zw0Sq8NnSluum9p9RPO906gKnXLPlOAWwjIDuYt5oSQ
|
||||||
ql6B8ZZzEaz+Czb0TRT8pF1KD7dhEv0XE9k9IJ9AgBo
|
6jUZKI7yu6ThE1behgXMqO5beNj2Gap2rGhlSn8vrA8
|
||||||
-> ssh-ed25519 VQSaNw aAcXlRKzMgw847XeDTqnh+4XvApVIE183gJ2O42eohE
|
-> ssh-ed25519 IY5FSQ qo7pkpJsNQ3vdedlPJIfXpmjHwcEyiuu90TEoay0Xz8
|
||||||
wndgsI85eDc+i+CBPmo2ym5koIvTMS9mOuWdLvLM3Qs
|
zbqt1vojiiYfLnh3ChxHwG9mn3d5D2HrQlUJTlGRB+M
|
||||||
-> lm-grease -KjCZ 46y2wU x1
|
-> ssh-ed25519 VQSaNw nsL5mErC5CJgd4EZKs4ZPb4BINCZMGAhkFr3Z/5vSk0
|
||||||
1iP6
|
vk3vhlydKtsWDCUmO6+fj231tEzNp+5vovLO0Wr7Aqs
|
||||||
--- MthoOm+rboJhFyo+SKFlPfwT9V3VeaKl5xQ2gs0W2ns
|
-> @=-grease bI=Z 'IEY&[|q $&(!B z'y\s855
|
||||||
;Ö<>ÓÖ"b/‚éðÙ*ü}ýeÁ½g}âLšq
|
yNfimzcHFAcfpv7UmfYWh/CAXuUP8mSMxI9w29AI+W7ykCKwWXv9ixLensYRinoo
|
||||||
zGŠ~Q.í_àX{½ËìA ùþó²ëöË
|
vmoBfW/f9aQr
|
||||||
|
--- M790Aym/OBexvX+HZK7Hom3HRpLr8ACf4LzYJdSsR8c
|
||||||
|
h8ÖÿƒíÃúÑy`¡Œ;ú™ÊÖ攺±TØ“ÉÚ<áD{–mÉ,Xô´Š_®§ÅíF"šþ]£¦”"
|
|
@ -42,6 +42,7 @@ let
|
||||||
builtins.fetchGit {
|
builtins.fetchGit {
|
||||||
inherit (repository) url;
|
inherit (repository) url;
|
||||||
rev = revision;
|
rev = revision;
|
||||||
|
allRefs = true;
|
||||||
# hash = hash;
|
# hash = hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -237,9 +237,9 @@
|
||||||
"url": "https://git.hubrecht.ovh/hubrecht/nix-modules"
|
"url": "https://git.hubrecht.ovh/hubrecht/nix-modules"
|
||||||
},
|
},
|
||||||
"branch": "dgnum",
|
"branch": "dgnum",
|
||||||
"revision": "f3bfda88cf5ca652baa8577da491f9427d98fe5e",
|
"revision": "5cc5d497565cae685bd2eb91606016791c3a9313",
|
||||||
"url": null,
|
"url": null,
|
||||||
"hash": "1jh8wqlz1bv3b5crfhyvqnh4gjjsyzvs3q0iys6iwq0l337ddgvx"
|
"hash": "09is2zl9570ql1sw250mhpjj8mz2ggy3jx1kvyn6dh2817mv77dc"
|
||||||
},
|
},
|
||||||
"nix-pkgs": {
|
"nix-pkgs": {
|
||||||
"type": "Git",
|
"type": "Git",
|
||||||
|
|
Loading…
Reference in a new issue