Compare commits
69
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d9921f1ae | ||
|
|
7388715d30 | ||
|
|
b3304c0ef5 | ||
|
|
e955ea82f3 | ||
|
|
067c00330b | ||
|
|
60e2450c66 | ||
|
|
3185a5a375 | ||
|
|
348a1d7301 | ||
|
|
33eda7d2cb | ||
|
|
34ca5aec6b | ||
|
|
d2f7b85283 | ||
|
|
d12ef9faec | ||
|
|
3e60f73251 | ||
|
|
bc986f0e51 | ||
|
|
214f6a4d2a | ||
|
|
41d02d19ea | ||
|
|
4f79033b04 | ||
|
|
9b99b2dd8c | ||
|
|
a145f6ca43 | ||
|
|
f77f46c4e5 | ||
|
|
c2ea5ff472 | ||
|
|
0e972936d3 | ||
|
|
b35004a3ad | ||
|
|
d7e98290c3 | ||
|
|
f5922887bf | ||
|
|
879230dca7 | ||
|
|
1c7e2ff268 | ||
|
|
b324ee5352 | ||
|
|
d21cbcb85d | ||
|
|
6a0c87b77d | ||
|
|
db5ef17dba | ||
|
|
251f2804c6 | ||
|
|
c8951f6da8 | ||
|
|
394c2c2aba | ||
|
|
bb7a01f758 | ||
|
|
a6b46f9c74 | ||
|
|
e865d0832e | ||
|
|
307dbbe044 | ||
|
|
69651258d6 | ||
|
|
53c491f537 | ||
|
|
a8ccb1b6ba | ||
|
|
e6217401f9 | ||
|
|
d97fb37f0e | ||
|
|
75e71f9ce9 | ||
|
|
19540ea1da | ||
|
|
431f78f8af | ||
|
|
95eea6fc26 | ||
|
|
387a34ffff | ||
|
|
37a833887b | ||
|
|
a69fc4240a | ||
|
|
15c586fbdb | ||
|
|
2daf74d134 | ||
|
|
1934787e80 | ||
|
|
2a476a7bfe | ||
|
|
e94137ecbf | ||
|
|
d22f543043 | ||
|
|
e5e4a38cf1 | ||
|
|
89faa7d97d | ||
|
|
fc4430e4f1 | ||
|
|
f735423d98 | ||
|
|
985dd927c4 | ||
|
|
10d6f85b5e | ||
|
|
85cdfce6a9 | ||
|
|
e62757cf1c | ||
|
|
a1fb195bf4 | ||
|
|
9eb9fdec6c | ||
|
|
a8323e2396 | ||
|
|
855ab6e277 | ||
|
|
2932e9e335 |
@@ -1,13 +1,13 @@
|
|||||||
name: Update flake.lock
|
name: Update flake.lock
|
||||||
|
|
||||||
on:
|
"on":
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * 0" # Every Sunday at midnight UTC
|
- cron: "0 0 * * 0" # Every Sunday at midnight UTC
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-flake-lock:
|
update-flake-lock:
|
||||||
runs-on: [bare-metal, nix-latest]
|
runs-on: nix-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
stages:
|
|
||||||
- eval
|
|
||||||
- build
|
|
||||||
- push
|
|
||||||
|
|
||||||
"Evaluate for builds":
|
|
||||||
stage: eval
|
|
||||||
tags:
|
|
||||||
- kubernetes
|
|
||||||
image: "$CI_REGISTRY/greg/ci-images/builder:latest"
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- gitlab-ci-continue.yml
|
|
||||||
script: nix run ".#gen-build" > gitlab-ci-continue.yml
|
|
||||||
|
|
||||||
"Trigger builds":
|
|
||||||
stage: build
|
|
||||||
trigger:
|
|
||||||
include:
|
|
||||||
- artifact: gitlab-ci-continue.yml
|
|
||||||
job: "Evaluate for builds"
|
|
||||||
variables:
|
|
||||||
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
|
|
||||||
@@ -17,7 +17,7 @@ repos:
|
|||||||
- id: mixed-line-ending
|
- id: mixed-line-ending
|
||||||
- id: trailing-whitespace
|
- id: trailing-whitespace
|
||||||
- repo: https://github.com/adrienverge/yamllint.git
|
- repo: https://github.com/adrienverge/yamllint.git
|
||||||
rev: v1.37.1
|
rev: v1.38.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: yamllint
|
- id: yamllint
|
||||||
args:
|
args:
|
||||||
@@ -30,8 +30,9 @@ repos:
|
|||||||
comments: false
|
comments: false
|
||||||
comments-indentation: false
|
comments-indentation: false
|
||||||
document-start: false
|
document-start: false
|
||||||
|
line-length: false
|
||||||
- repo: https://github.com/NixOS/nixfmt
|
- repo: https://github.com/NixOS/nixfmt
|
||||||
rev: v1.1.0
|
rev: v1.2.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: nixfmt-nix
|
- id: nixfmt-nix
|
||||||
- repo: https://github.com/astro/deadnix
|
- repo: https://github.com/astro/deadnix
|
||||||
|
|||||||
+54
-13
@@ -1,41 +1,82 @@
|
|||||||
{
|
{
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs',
|
||||||
top,
|
top,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
builder-config = {
|
system = builtins.replaceStrings [ "darwin" ] [ "linux" ] pkgs.stdenv.hostPlatform.system;
|
||||||
darwin-aarch-builder = top.self.nixosConfigurations.builder-aarch;
|
builderConfig = top.nixunstable.lib.nixosSystem {
|
||||||
darwin-x86-builder = top.self.nixosConfigurations.builder-x86;
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
"${top.nixunstable}/nixos/modules/profiles/nix-builder-vm.nix"
|
||||||
|
{
|
||||||
|
virtualisation = {
|
||||||
|
host.pkgs = pkgs;
|
||||||
|
darwin-builder = {
|
||||||
|
workingDirectory = "/var/lib/darwin-builder";
|
||||||
|
hostPort = 22;
|
||||||
};
|
};
|
||||||
builder = arch: let
|
};
|
||||||
b = builder-config."darwin-${arch}-builder";
|
}
|
||||||
in {
|
];
|
||||||
command = "${b.config.system.build.macos-builder-installer}/bin/create-builder";
|
};
|
||||||
|
builder = {
|
||||||
|
command = "${builderConfig.config.system.build.macos-builder-installer}/bin/create-builder";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
KeepAlive = true;
|
KeepAlive = true;
|
||||||
RunAtLoad = true;
|
RunAtLoad = true;
|
||||||
StandardOutPath = "/var/log/builder-vm-${arch}.log";
|
StandardOutPath = "/var/log/builder-vm-${system}.log";
|
||||||
StandardErrorPath = "/var/log/builder-vm-${arch}.stderr.log";
|
StandardErrorPath = "/var/log/builder-vm-${system}.stderr.log";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment = {
|
||||||
|
launchDaemons = {
|
||||||
|
"limit.maxfiles.plist" = {
|
||||||
|
enable = true;
|
||||||
|
text = ''
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>Label</key>
|
||||||
|
<string>limit.maxfiles</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>launchctl</string>
|
||||||
|
<string>limit</string>
|
||||||
|
<string>maxfiles</string>
|
||||||
|
<string>524288</string>
|
||||||
|
<string>524288</string>
|
||||||
|
</array>
|
||||||
|
<key>RunAtLoad</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemPackages = with pkgs; [
|
||||||
agenix
|
agenix
|
||||||
hms
|
pkgs'.hms
|
||||||
|
procps # Includes tools like `watch`, `kill`, and `ps`
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
nerd-fonts.hack
|
nerd-fonts.hack
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#launchd.daemons.darwin-builder = builder;
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
#buildMachines = [ { systems = ["aarch64-linux"]; sshUser = "builder"; sshKey = "/etc/nix/builder_ed25519"; hostName = "localhost:31022"; protocol = "ssh-ng"; }];
|
||||||
enable = true;
|
enable = true;
|
||||||
gc.interval.Hour = 3;
|
gc.interval.Hour = 3;
|
||||||
linux-builder.enable = true;
|
#linux-builder.enable = true;
|
||||||
settings.auto-optimise-store = false; # Darwin bugs?
|
settings.auto-optimise-store = false; # Darwin bugs?
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+2
-8
@@ -19,6 +19,7 @@ let
|
|||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit metadata top;
|
inherit metadata top;
|
||||||
inherit (top) self;
|
inherit (top) self;
|
||||||
|
pkgs' = top.self.packages.${system};
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
@@ -37,11 +38,4 @@ let
|
|||||||
++ lib.optionals (builtins.pathExists ./hosts/${name}) [ ./hosts/${name} ];
|
++ lib.optionals (builtins.pathExists ./hosts/${name}) [ ./hosts/${name} ];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
(
|
(lib.genAttrs (builtins.attrNames (builtins.readDir ./hosts)) (name: mac { inherit name; }))
|
||||||
lib.genAttrs
|
|
||||||
(builtins.attrNames (builtins.readDir ./hosts))
|
|
||||||
(
|
|
||||||
name:
|
|
||||||
mac { inherit name; }
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, ... }:
|
{ ... }:
|
||||||
let
|
let
|
||||||
username = "greg";
|
username = "greg";
|
||||||
in
|
in
|
||||||
@@ -11,6 +11,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
brews = [
|
brews = [
|
||||||
"bitwarden-cli"
|
"bitwarden-cli"
|
||||||
|
"colima"
|
||||||
"direnv"
|
"direnv"
|
||||||
"github-mcp-server"
|
"github-mcp-server"
|
||||||
{
|
{
|
||||||
@@ -37,7 +38,6 @@ in
|
|||||||
"notion"
|
"notion"
|
||||||
"notunes"
|
"notunes"
|
||||||
"onlyoffice"
|
"onlyoffice"
|
||||||
"podman-desktop"
|
|
||||||
"tabby"
|
"tabby"
|
||||||
"zed"
|
"zed"
|
||||||
];
|
];
|
||||||
|
|||||||
Generated
+320
-103
@@ -25,19 +25,17 @@
|
|||||||
},
|
},
|
||||||
"buildbot": {
|
"buildbot": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"hercules-ci-effects": "hercules-ci-effects",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixunstable"
|
"nixunstable"
|
||||||
],
|
],
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776626072,
|
"lastModified": 1783833875,
|
||||||
"narHash": "sha256-NF6x9h74mrA0Acl1JHWwuSSrwzyTm3KyV8a85QUqTW0=",
|
"narHash": "sha256-G+hRtNJ/Nnr6VFMQp2UZdx/ckJDR/RJoK0Fy/yx1/YY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "buildbot-nix",
|
"repo": "buildbot-nix",
|
||||||
"rev": "f298855ee69709374a25ae9543ad11bd549d7b8b",
|
"rev": "147af587241e2af85399402da60a4f44fdb1e5d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -55,11 +53,11 @@
|
|||||||
"stable": "stable"
|
"stable": "stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762034856,
|
"lastModified": 1783909498,
|
||||||
"narHash": "sha256-QVey3iP3UEoiFVXgypyjTvCrsIlA4ecx6Acaz5C8/PQ=",
|
"narHash": "sha256-T9OfLPLuh1Bf1xojlpWXwooJ6IXapxvb8GM0p3YNy8g=",
|
||||||
"owner": "zhaofengli",
|
"owner": "zhaofengli",
|
||||||
"repo": "colmena",
|
"repo": "colmena",
|
||||||
"rev": "349b035a5027f23d88eeb3bc41085d7ee29f18ed",
|
"rev": "76ba0daa542880b730faec81f4e87efcaa63bc57",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -97,11 +95,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775037210,
|
"lastModified": 1784362797,
|
||||||
"narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
|
"narHash": "sha256-EP9b9b+OXDxHBPefFwMYCIaLq0fn3UkmrbfzbLUT7kQ=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "06648f4902343228ce2de79f291dd5a58ee12146",
|
"rev": "b4cccbd4bc299c1f71ae185b79c3cf99aa82805c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -114,11 +112,11 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1650374568,
|
"lastModified": 1767039857,
|
||||||
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -161,17 +159,14 @@
|
|||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
"buildbot",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775087534,
|
"lastModified": 1782949081,
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -182,14 +177,17 @@
|
|||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": [
|
||||||
|
"hermes",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775087534,
|
"lastModified": 1772408722,
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -206,11 +204,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775087534,
|
"lastModified": 1782949081,
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -241,12 +239,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1659877975,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -255,28 +256,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hercules-ci-effects": {
|
"hermes": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": "flake-parts_2",
|
||||||
"buildbot",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"buildbot",
|
"nixunstable"
|
||||||
"nixpkgs"
|
],
|
||||||
]
|
"npm-lockfile-fix": "npm-lockfile-fix",
|
||||||
|
"pyproject-build-systems": "pyproject-build-systems",
|
||||||
|
"pyproject-nix": "pyproject-nix",
|
||||||
|
"uv2nix": "uv2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776380511,
|
"lastModified": 1784663791,
|
||||||
"narHash": "sha256-3A2B8k6YCuzt5pT/CQEltUghtE6heSlk2tMYkg/fUWI=",
|
"narHash": "sha256-bPip7Rk/5n5idLvedBXWjzuRw6cc30XGxCRJewlwwUE=",
|
||||||
"owner": "hercules-ci",
|
"owner": "nousresearch",
|
||||||
"repo": "hercules-ci-effects",
|
"repo": "hermes-agent",
|
||||||
"rev": "4a80b7e95a298b7bb4418c0a2b55fe95a662c377",
|
"rev": "e2e8823f1d2de2aa95c8147d0abd105539d5daff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "nousresearch",
|
||||||
"repo": "hercules-ci-effects",
|
"repo": "hermes-agent",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -287,11 +288,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776904464,
|
"lastModified": 1784407317,
|
||||||
"narHash": "sha256-sBUCj7/4d3Hoevpu3oQp8ccJNA1EDeVmFi1F8O6VJro=",
|
"narHash": "sha256-iZrxHToDJWnvt+5LGAtvuQMTy1NZYlNEKbKaVtBJNcc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "667b3c47325441e6a444faaf405bba76ec70338a",
|
"rev": "39411a8e12a5526d992e65bc7e3dc9a4414d6713",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -326,14 +327,14 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777001712,
|
"lastModified": 1784344393,
|
||||||
"narHash": "sha256-9JX9msZU1NvHzjKM24PRorP76Ge8GBy6LAkJKA21mlY=",
|
"narHash": "sha256-yAo2ZzSIdeBZg7cOKUpQxwflL+DRYN+1DMObZk2lP2Q=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "394d3bfd943458baf29e4798bc9b256d824a3bb9",
|
"rev": "7297d14c52ec8ef39c6aeff2c1818541fd030473",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -342,6 +343,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"niks3": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784016977,
|
||||||
|
"narHash": "sha256-TydDba3YD2u15uS0L+PDs7lMqPopnzWggljTKDqOCSw=",
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "niks3",
|
||||||
|
"rev": "b306808bf381e7e66e33de1e9446a1be0935f4e3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "niks3",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-github-actions": {
|
"nix-github-actions": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -350,11 +370,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729742964,
|
"lastModified": 1737420293,
|
||||||
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
|
"narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-github-actions",
|
"repo": "nix-github-actions",
|
||||||
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
|
"rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -364,12 +384,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-hardware": {
|
"nix-hardware": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776830795,
|
"lastModified": 1784310968,
|
||||||
"narHash": "sha256-PAfvLwuHc1VOvsLcpk6+HDKgMEibvZjCNvbM1BJOA7o=",
|
"narHash": "sha256-rkSPTePrKqs4dg+i7ZFCq93+HrClac6oSwXX927SVjA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "72674a6b5599e844c045ae7449ba91f803d44ebc",
|
"rev": "779c32a00155994c86cde8213a8dd4df139d4355",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -380,11 +403,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750134718,
|
"lastModified": 1783224372,
|
||||||
"narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
|
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
|
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -396,11 +419,26 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774748309,
|
"lastModified": 1782614948,
|
||||||
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1783821755,
|
||||||
|
"narHash": "sha256-eMPX9S6MKPyUnaOgeRfrG7OKUiAlc1AlcRinMbSB0WA=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "228ab8523d81526e57a6ca342e1a919fb6d246a8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -427,11 +465,56 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776548001,
|
"lastModified": 1783978241,
|
||||||
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
"narHash": "sha256-7kK0Y/fIV2NTKArkd/eZGaFg+dEmgP8KDRsGK2vB5M4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a8b81d3cc8d35af7bc98694696bea61ad4f8fca7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable-small",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767892417,
|
||||||
|
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||||
|
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1783915482,
|
||||||
|
"narHash": "sha256-FmieJB8/OUvNxbkboi7+IGfIuSXY3nF/hZQm8kD0r50=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "6cdc7fc76e8bf7fde9fa43a849fcaaa70e230dee",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_6": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784356753,
|
||||||
|
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -441,29 +524,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766025857,
|
"lastModified": 1777207419,
|
||||||
"narHash": "sha256-Lav5jJazCW4mdg1iHcROpuXqmM94BWJvabLFWaJVJp0=",
|
"narHash": "sha256-V3bmPWAajDiC+1ClDOp55gianW2EyRJSJOyu1RUQibc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
|
"rev": "a7ecea3deccfbdbf22945a89984fcc5a169da8aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
|
"rev": "a7ecea3deccfbdbf22945a89984fcc5a169da8aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixunstable": {
|
"nixunstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776548001,
|
"lastModified": 1784356753,
|
||||||
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -476,17 +559,15 @@
|
|||||||
"nixvimunstable": {
|
"nixvimunstable": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixunstable"
|
"systems": "systems_4"
|
||||||
],
|
|
||||||
"systems": "systems_3"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776830812,
|
"lastModified": 1784057377,
|
||||||
"narHash": "sha256-L2q0bpa6evlzE4IfIQ7JWqhTAuINggUSIxMmOAxUsCg=",
|
"narHash": "sha256-yycNej5//EsRbV10moBoh+/63vXEwZD1ZFEiRm6C9rQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "53aad7a9aaadaec21d740117ba0f0531b9a9b3cd",
|
"rev": "07180a087e4a00720dc0731cbcd8dec796974381",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -496,17 +577,38 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"npm-lockfile-fix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1775903712,
|
||||||
|
"narHash": "sha256-2GV79U6iVH4gKAPWYrxUReB0S41ty/Y3dBLquU8AlaA=",
|
||||||
|
"owner": "jeslie0",
|
||||||
|
"repo": "npm-lockfile-fix",
|
||||||
|
"rev": "c6093acb0c0548e0f9b8b3d82918823721930fe8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "jeslie0",
|
||||||
|
"repo": "npm-lockfile-fix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nurpkgs": {
|
"nurpkgs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_4",
|
"flake-parts": "flake-parts_4",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776910402,
|
"lastModified": 1784417922,
|
||||||
"narHash": "sha256-SvRshrmzz9SmiiflE+Ph2RQ2YJkmQRpluebVt94mHPQ=",
|
"narHash": "sha256-19XZ56wJXArMKxjY25pKXkNp/FrYHGoo+HuQtW6teSM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "b3ab759ea8da0d514dbbcb89e269fd59676a92ae",
|
"rev": "2c806d314605495dd7fd75b5950003a062e2b47a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -515,16 +617,69 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pyproject-build-systems": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"hermes",
|
||||||
|
"pyproject-nix"
|
||||||
|
],
|
||||||
|
"uv2nix": [
|
||||||
|
"hermes",
|
||||||
|
"uv2nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772555609,
|
||||||
|
"narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"rev": "c37f66a953535c394244888598947679af231863",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772865871,
|
||||||
|
"narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "e537db02e72d553cea470976b9733581bcf5b3ed",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"buildbot": "buildbot",
|
"buildbot": "buildbot",
|
||||||
"colmena": "colmena",
|
"colmena": "colmena",
|
||||||
"darwin": "darwin_2",
|
"darwin": "darwin_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts",
|
||||||
|
"hermes": "hermes",
|
||||||
"hmunstable": "hmunstable",
|
"hmunstable": "hmunstable",
|
||||||
"minecraft": "minecraft",
|
"minecraft": "minecraft",
|
||||||
|
"niks3": "niks3",
|
||||||
"nix-hardware": "nix-hardware",
|
"nix-hardware": "nix-hardware",
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib_2",
|
||||||
"nixunstable": "nixunstable",
|
"nixunstable": "nixunstable",
|
||||||
"nixvimunstable": "nixvimunstable",
|
"nixvimunstable": "nixvimunstable",
|
||||||
"nurpkgs": "nurpkgs",
|
"nurpkgs": "nurpkgs",
|
||||||
@@ -534,16 +689,16 @@
|
|||||||
},
|
},
|
||||||
"stable": {
|
"stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750133334,
|
"lastModified": 1783625654,
|
||||||
"narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=",
|
"narHash": "sha256-pI1244/PJfTyKhlAr2QYQC55vR6UQdnGA0rJUgtO2IQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "36ab78dab7da2e4e27911007033713bab534187b",
|
"rev": "a0230bd8d5cbd13893b2263918d396a2c7dd0407",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.05",
|
"ref": "release-26.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -593,6 +748,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774449309,
|
||||||
|
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"ref": "future-26.11",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -601,11 +772,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775636079,
|
"lastModified": 1780220602,
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -614,16 +785,62 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vsext": {
|
"treefmt-nix_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": [
|
||||||
|
"niks3",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776828494,
|
"lastModified": 1780220602,
|
||||||
"narHash": "sha256-gQ5+syn8ndyF/+c5g5ZpeAScNKhkTF4/63JsO2hqGHo=",
|
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uv2nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"hermes",
|
||||||
|
"pyproject-nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773039484,
|
||||||
|
"narHash": "sha256-+boo33KYkJDw9KItpeEXXv8+65f7hHv/earxpcyzQ0I=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"rev": "b68be7cfeacbed9a3fa38a2b5adc0cfb81d9bb1f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vsext": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_7"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784343266,
|
||||||
|
"narHash": "sha256-EGkegdTz2n6ESyih8s3dUuPyJQWlYfPp7U41J05g8PY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "ea6764d22ff5478f5db39ede57eeafc70d14e8e6",
|
"rev": "472a3e862c76c64ac3ad75a24d332cb5cdd5f1bb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -640,11 +857,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776910211,
|
"lastModified": 1784058842,
|
||||||
"narHash": "sha256-0ku3gW8bZ9TTpEU2fQw86oU6ZLT2vF6pacF+cLaf7VY=",
|
"narHash": "sha256-3u3tvbCIAid3Mv7RrJx13jusIEQC/HeKYhO/SUSxR3A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "4e6cad241baa0115a7aae8c55b04c166da4997c9",
|
"rev": "24c8dc8e0f2170e1a377be24dfadc7d9d21dc1ad",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -19,16 +19,19 @@
|
|||||||
inputs.nixpkgs.follows = "nixunstable";
|
inputs.nixpkgs.follows = "nixunstable";
|
||||||
};
|
};
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
hermes = {
|
||||||
|
url = "github:nousresearch/hermes-agent";
|
||||||
|
inputs.nixpkgs.follows = "nixunstable";
|
||||||
|
};
|
||||||
hmunstable = {
|
hmunstable = {
|
||||||
url = "github:nix-community/home-manager/master";
|
url = "github:nix-community/home-manager/master";
|
||||||
inputs.nixpkgs.follows = "nixunstable";
|
inputs.nixpkgs.follows = "nixunstable";
|
||||||
};
|
};
|
||||||
minecraft.url = "github:Infinidoge/nix-minecraft";
|
minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
|
niks3.url = "github:Mic92/niks3";
|
||||||
nix-hardware.url = "github:nixos/nixos-hardware";
|
nix-hardware.url = "github:nixos/nixos-hardware";
|
||||||
nixvimunstable = {
|
nixpkgs-lib.url = "github:nix-community/nixpkgs.lib";
|
||||||
url = "github:nix-community/nixvim/main";
|
nixvimunstable.url = "github:nix-community/nixvim/main";
|
||||||
inputs.nixpkgs.follows = "nixunstable";
|
|
||||||
};
|
|
||||||
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nurpkgs.url = "github:nix-community/NUR";
|
nurpkgs.url = "github:nix-community/NUR";
|
||||||
vsext.url = "github:nix-community/nix-vscode-extensions";
|
vsext.url = "github:nix-community/nix-vscode-extensions";
|
||||||
@@ -63,7 +66,10 @@
|
|||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
allowUnfreePredicate = _: true;
|
allowUnfreePredicate = _: true;
|
||||||
permittedInsecurePackages = [ "ventoy-1.1.05" ];
|
permittedInsecurePackages = [
|
||||||
|
"ventoy-1.1.05"
|
||||||
|
"electron-39.8.10"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -84,6 +90,7 @@
|
|||||||
self
|
self
|
||||||
top
|
top
|
||||||
;
|
;
|
||||||
|
pkgs' = top.self.packages.x86_64-linux;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -97,7 +104,7 @@
|
|||||||
{
|
{
|
||||||
deployment = {
|
deployment = {
|
||||||
inherit (v) tags;
|
inherit (v) tags;
|
||||||
targetHost = v.ts;
|
targetHost = if (v ? "nebulaIp") then v.nebulaIp else v.ts;
|
||||||
targetUser = "greg";
|
targetUser = "greg";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -145,16 +152,17 @@
|
|||||||
pkgs = imported_packages.${system};
|
pkgs = imported_packages.${system};
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = (import ./pkgs { inherit pkgs; });
|
packages = (import ./pkgs { inherit pkgs top; });
|
||||||
|
|
||||||
checks = import ./checks.nix {
|
checks = import ./checks.nix {
|
||||||
inherit system top self';
|
inherit system top self';
|
||||||
inherit (pkgs) lib;
|
inherit (top.nixpkgs-lib) lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
devShells = import ./shells.nix {
|
devShells = import ./shells.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
inherit (top) colmena;
|
inherit (top) colmena;
|
||||||
|
inherit (self') packages;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+6
-16
@@ -4,14 +4,6 @@ builds:
|
|||||||
- "homeConfigurations.*"
|
- "homeConfigurations.*"
|
||||||
- "nixosConfigurations.*"
|
- "nixosConfigurations.*"
|
||||||
- "packages.*"
|
- "packages.*"
|
||||||
# bitwarden-cli package is broken on aarch64-darwin
|
|
||||||
- "packages.aarch64-darwin.img-bitwarden"
|
|
||||||
# kmod-31 is not a thing on Darwin
|
|
||||||
- "packages.aarch64-darwin.qemu-hook"
|
|
||||||
- "packages.aarch64-darwin.vfio_shutdown"
|
|
||||||
- "packages.aarch64-darwin.vfio_startup"
|
|
||||||
# This one is a bit of a beast and shouldn't take up Garnix time
|
|
||||||
- "packages.aarch64-darwin.zim"
|
|
||||||
# These are just images which I will build when
|
# These are just images which I will build when
|
||||||
# I feel like it
|
# I feel like it
|
||||||
- "devShells.*"
|
- "devShells.*"
|
||||||
@@ -20,14 +12,12 @@ builds:
|
|||||||
- darwinConfigurations.MacBook-Pro
|
- darwinConfigurations.MacBook-Pro
|
||||||
- darwinConfigurations.MacBook-Prolocal
|
- darwinConfigurations.MacBook-Prolocal
|
||||||
- darwinConfigurations.li
|
- darwinConfigurations.li
|
||||||
# Some specific includes which are not specific enough to override the rules above,
|
# Some specific includes which are not specific enough to override the rules
|
||||||
# due to the intrepretation of the glob excludes, but which I still need included
|
# above, due to the intrepretation of the glob excludes, but which I still
|
||||||
|
# need included
|
||||||
- include:
|
- include:
|
||||||
# These are Mac homeConfigurations, which I do not have the infra to build at home
|
# These are Mac homeConfigurations, which I do not have the infra
|
||||||
|
# to build at home
|
||||||
- homeConfigurations."gregory.hellings-mbp"
|
- homeConfigurations."gregory.hellings-mbp"
|
||||||
- homeConfigurations.gregs-MacBook-Pro-16-inch-Nov-2024
|
- homeConfigurations.gregs-MacBook-Pro-16-inch-Nov-2024
|
||||||
# These are builder images used on my Macs, but they can't always access the cache
|
- homeConfigurations.ivr
|
||||||
# on my local infrastructure, so I build them in Garnix so they are accessible
|
|
||||||
# outside of my network, too
|
|
||||||
- nixosConfigurations.builder-x86
|
|
||||||
- nixosConfigurations.builder-aarch
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# vim: set filetype=nushell :
|
# vim: set filetype=nushell :
|
||||||
let servers = [isaiah jeremiah zeke genesis vm-gitlab]
|
let servers = [isaiah jeremiah zeke genesis hosea]
|
||||||
|
|
||||||
def par-map [ items: list, c: closure ] {
|
def par-map [ items: list, c: closure ] {
|
||||||
let results = $items | par-each -k $c
|
let results = $items | par-each -k $c
|
||||||
@@ -12,15 +12,19 @@ def --env unlock [] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def rebuild [] {
|
def nebulaIps [] {
|
||||||
|
open ../../network.json | get hosts | items { |h, e| $e.nebulaIp? } | filter { |e| $e != null } | sort
|
||||||
|
}
|
||||||
|
|
||||||
|
def rebuild [ $target: string = "switch" ] {
|
||||||
if (uname | get operating-system) == "Darwin" {
|
if (uname | get operating-system) == "Darwin" {
|
||||||
sudo darwin-rebuild switch
|
sudo darwin-rebuild $target
|
||||||
} else {
|
} else {
|
||||||
let hostname = uname | get nodename
|
let hostname = uname | get nodename
|
||||||
let build = ^nom build --keep-going $"/etc/nixos#nixosConfigurations.($hostname).config.system.build.toplevel"
|
let build = ^nom build --keep-going $"/etc/nixos#nixosConfigurations.($hostname).config.system.build.toplevel"
|
||||||
if $env.LAST_EXIT_CODE == 0 {
|
if $env.LAST_EXIT_CODE == 0 {
|
||||||
nvd diff /run/current-system result
|
nvd diff /run/current-system result
|
||||||
run0 result/bin/switch-to-configuration switch
|
run0 result/bin/switch-to-configuration $target
|
||||||
} else {
|
} else {
|
||||||
print "Error during build"
|
print "Error during build"
|
||||||
}
|
}
|
||||||
@@ -69,13 +73,6 @@ def dc [ $cmd: string = "sh" ] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def claude [ ] {
|
|
||||||
unlock
|
|
||||||
$env.GITLAB_TOKEN = ^bw get item 7d3da4e9-5f9a-49d0-8e14-b39c010a4001 | from json | get fields | find claudeapi | get value
|
|
||||||
#$env.ANTHROPIC_API_KEY = ^bw get item e122fd08-3506-4f21-9c6a-b42b00fe5be1 | from json | get login.password
|
|
||||||
^claude
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("/usr/local/bin" | path exists) {
|
if ("/usr/local/bin" | path exists) {
|
||||||
$env.PATH = $env.PATH | append "/usr/local/bin"
|
$env.PATH = $env.PATH | append "/usr/local/bin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
nixcopy = "nix copy --to \"s3://binary-cache/?profile=default&endpoint=nas.home%3A9000&scheme=http\"";
|
nixcopy = "nix copy --to \"s3://binary-cache/?profile=default&endpoint=nas.home%3A9000&scheme=http\"";
|
||||||
r = "run0";
|
r = "run0";
|
||||||
updateScript = "nix-shell maintainers/scripts/update.nix --argstr package";
|
updateScript = "nix-shell maintainers/scripts/update.nix --argstr package";
|
||||||
|
p = "${lib.getExe pkgs.podman-tui}";
|
||||||
|
|
||||||
# General
|
# General
|
||||||
k = "kubectl";
|
k = "kubectl";
|
||||||
|
|||||||
+26
-25
@@ -5,7 +5,7 @@
|
|||||||
# This allows things like SSH in distrobox to read the config file just fine
|
# This allows things like SSH in distrobox to read the config file just fine
|
||||||
home.file.".ssh/config" = {
|
home.file.".ssh/config" = {
|
||||||
target = ".ssh/config_source";
|
target = ".ssh/config_source";
|
||||||
onChange = ''cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config'';
|
onChange = "cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config";
|
||||||
};
|
};
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -13,24 +13,25 @@
|
|||||||
includes = [ "config.local" ];
|
includes = [ "config.local" ];
|
||||||
enableDefaultConfig = false;
|
enableDefaultConfig = false;
|
||||||
|
|
||||||
matchBlocks =
|
settings =
|
||||||
let
|
let
|
||||||
nas = {
|
nas = {
|
||||||
user = "admin";
|
User = "admin";
|
||||||
};
|
};
|
||||||
owned = {
|
owned = {
|
||||||
user = "greg";
|
User = "greg";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit nas;
|
inherit nas;
|
||||||
|
|
||||||
"*" = {
|
"*" = {
|
||||||
dynamicForwards = [ { port = 10240; } ];
|
DynamicForward = [ "10240" ];
|
||||||
serverAliveInterval = 60;
|
ForwardAgent = "yes";
|
||||||
extraOptions = {
|
|
||||||
LogLevel = "error";
|
LogLevel = "error";
|
||||||
SetEnv = "TERM=xterm-256color";
|
ServerAliveInterval = 60;
|
||||||
|
SetEnv = {
|
||||||
|
TERM = "xterm-256color";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -41,46 +42,46 @@
|
|||||||
"chronicles.thehellings.lan" = lib.hm.dag.entryBefore [ "*.thehellings.lan" ] nas;
|
"chronicles.thehellings.lan" = lib.hm.dag.entryBefore [ "*.thehellings.lan" ] nas;
|
||||||
|
|
||||||
gh = {
|
gh = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "github.com";
|
Hostname = "github.com";
|
||||||
};
|
};
|
||||||
"src" = {
|
"src" = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "jeremiah.shire-zebra.ts.net";
|
Hostname = "jeremiah.shire-zebra.ts.net";
|
||||||
port = 32222;
|
Port = 32222;
|
||||||
};
|
};
|
||||||
srcpub = {
|
srcpub = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "src.thehellings.com";
|
Hostname = "src.thehellings.com";
|
||||||
port = 2222;
|
Port = 2222;
|
||||||
};
|
};
|
||||||
ivr = {
|
ivr = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "gitlab.com";
|
Hostname = "gitlab.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
"ivr.thehellings.lan" = lib.hm.dag.entryBefore [ "ivr" ] {
|
"ivr.thehellings.lan" = lib.hm.dag.entryBefore [ "ivr" ] {
|
||||||
user = "gregory.hellings";
|
User = "gregory.hellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
"*.thehellings.lan" = owned;
|
"*.thehellings.lan" = owned;
|
||||||
"10.42.*" = owned;
|
"10.42.*" = owned;
|
||||||
|
|
||||||
"host.crosswire.org crosswire" = {
|
"host.crosswire.org crosswire" = {
|
||||||
hostname = "host.crosswire.org";
|
Hostname = "host.crosswire.org";
|
||||||
user = "ghellings";
|
User = "ghellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
fedpeople = {
|
fedpeople = {
|
||||||
hostname = "fedorapeople.org";
|
Hostname = "fedorapeople.org";
|
||||||
user = "greghellings";
|
User = "greghellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
"src.fedoraproject.org pkgs.fedoraproject.org" = {
|
"src.fedoraproject.org pkgs.fedoraproject.org" = {
|
||||||
user = "greghellings";
|
User = "greghellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
"127.*".extraOptions = {
|
"127.*" = {
|
||||||
PubkeyAcceptedAlgorithms = "+ssh-rsa";
|
PubkeyAcceptedAlgorithms = "+ssh-rsa";
|
||||||
HostkeyAlgorithms = "+ssh-rsa";
|
HostkeyAlgorithms = "+ssh-rsa";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -38,11 +38,6 @@ def _ivr2(args):
|
|||||||
vpn("gregory_hellings@ra.ivrtechnology.com", "IVR Technology")
|
vpn("gregory_hellings@ra.ivrtechnology.com", "IVR Technology")
|
||||||
aliases['ivr2'] = _ivr2
|
aliases['ivr2'] = _ivr2
|
||||||
|
|
||||||
def _glrestart(args):
|
|
||||||
sudo nixos-container run gitlab -- systemctl restart gitlab
|
|
||||||
sudo nixos-container run gitlab -- systemctl restart nginx
|
|
||||||
aliases['glrestart'] = _glrestart
|
|
||||||
|
|
||||||
def _aws_creds(args):
|
def _aws_creds(args):
|
||||||
$AWS_ACCESS_KEY_ID=$(bw get username "AWS Access Key")
|
$AWS_ACCESS_KEY_ID=$(bw get username "AWS Access Key")
|
||||||
$AWS_SECRET_ACCESS_KEY=$(bw get password "AWS Access Key")
|
$AWS_SECRET_ACCESS_KEY=$(bw get password "AWS Access Key")
|
||||||
|
|||||||
+5
-6
@@ -10,7 +10,9 @@ let
|
|||||||
let
|
let
|
||||||
inherit (metadata.hosts.${host}) system;
|
inherit (metadata.hosts.${host}) system;
|
||||||
pkgs = nixpkgs.${system};
|
pkgs = nixpkgs.${system};
|
||||||
username = if builtins.hasAttr "user" metadata.hosts.${host} then metadata.hosts.${host}.user else "greg";
|
pkgs' = top.self.packages.${system};
|
||||||
|
username =
|
||||||
|
if builtins.hasAttr "user" metadata.hosts.${host} then metadata.hosts.${host}.user else "greg";
|
||||||
in
|
in
|
||||||
top.hmunstable.lib.homeManagerConfiguration {
|
top.hmunstable.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
@@ -24,6 +26,7 @@ let
|
|||||||
host
|
host
|
||||||
username
|
username
|
||||||
metadata
|
metadata
|
||||||
|
pkgs'
|
||||||
;
|
;
|
||||||
nixvim = top.nixvimunstable;
|
nixvim = top.nixvimunstable;
|
||||||
gui = false;
|
gui = false;
|
||||||
@@ -31,8 +34,4 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
(
|
(lib.genAttrs (builtins.attrNames (builtins.readDir ./hosts)) user)
|
||||||
lib.genAttrs
|
|
||||||
(builtins.attrNames (builtins.readDir ./hosts))
|
|
||||||
user
|
|
||||||
)
|
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs',
|
||||||
lib,
|
lib,
|
||||||
host ? "most",
|
host ? "most",
|
||||||
top,
|
top,
|
||||||
@@ -38,7 +39,7 @@ in
|
|||||||
gh
|
gh
|
||||||
git
|
git
|
||||||
gnupatch
|
gnupatch
|
||||||
hms
|
pkgs'.hms
|
||||||
btop
|
btop
|
||||||
inetutils
|
inetutils
|
||||||
jq
|
jq
|
||||||
@@ -46,7 +47,7 @@ in
|
|||||||
nix-prefetch
|
nix-prefetch
|
||||||
nmap
|
nmap
|
||||||
openssl
|
openssl
|
||||||
setup-ssh
|
pkgs'.setup-ssh
|
||||||
tmux
|
tmux
|
||||||
tree
|
tree
|
||||||
unzip
|
unzip
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{...}: {}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
greg = {
|
greg = {
|
||||||
@@ -23,8 +23,11 @@
|
|||||||
mattermost-desktop
|
mattermost-desktop
|
||||||
minio-client
|
minio-client
|
||||||
mumble
|
mumble
|
||||||
|
nebula
|
||||||
|
nix-index
|
||||||
pre-commit
|
pre-commit
|
||||||
prismlauncher
|
prismlauncher
|
||||||
|
rclone
|
||||||
restic
|
restic
|
||||||
restic-browser
|
restic-browser
|
||||||
tea
|
tea
|
||||||
@@ -36,4 +39,13 @@
|
|||||||
settings.SKIP_HOST_UPDATE = true;
|
settings.SKIP_HOST_UPDATE = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
xdg.desktopEntries = {
|
||||||
|
prismlauncher = {
|
||||||
|
name = "Prism Launcher - Minecraft";
|
||||||
|
actions.minecraft = {
|
||||||
|
name = "Minecraft";
|
||||||
|
exec = lib.getExe pkgs.prismlauncher;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs',
|
||||||
lib,
|
lib,
|
||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
@@ -20,6 +21,7 @@
|
|||||||
claude-code
|
claude-code
|
||||||
direnv
|
direnv
|
||||||
home-manager
|
home-manager
|
||||||
|
pkgs'.dockerCompat
|
||||||
python3Packages.ipython
|
python3Packages.ipython
|
||||||
just
|
just
|
||||||
glab
|
glab
|
||||||
@@ -36,18 +38,22 @@
|
|||||||
".pip/pip.conf".text = ''
|
".pip/pip.conf".text = ''
|
||||||
[global]
|
[global]
|
||||||
retries = 1
|
retries = 1
|
||||||
index-url = https://pypi.python.org/simple
|
index-url = https://pypi.python.org/
|
||||||
extra-index-url =
|
extra-index-url =
|
||||||
https://pypidev.ivrtechnology.com/simple/
|
https://pypidev.ivrtechnology.com/
|
||||||
'';
|
'';
|
||||||
".config/uv/uv.toml".text = ''
|
".config/uv/uv.toml".text = ''
|
||||||
index-strategy = "unsafe-first-match"
|
index-strategy = "unsafe-first-match"
|
||||||
[[index]]
|
[[index]]
|
||||||
url = "https://pypidev.ivrtechnology.com/simple/"
|
url = "https://pypidev.ivrtechnology.com/"
|
||||||
name = "pypidev"
|
name = "pypidev"
|
||||||
ignore-error-codes = [403]
|
ignore-error-codes = [403]
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
sessionVariables = {
|
||||||
|
BW_GITLAB_ITEM = "7d3da4e9-5f9a-49d0-8e14-b39c010a4001";
|
||||||
|
BW_ANTHROPIC_ITEM = "e122fd08-3506-4f21-9c6a-b42b00fe5be1";
|
||||||
|
};
|
||||||
username = username;
|
username = username;
|
||||||
homeDirectory = "/Users/${username}";
|
homeDirectory = "/Users/${username}";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{...}: {}
|
||||||
@@ -1,12 +1,15 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs',
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
python = pkgs.python312.withPackages (p: with p; [
|
python = pkgs.python312.withPackages (
|
||||||
|
p: with p; [
|
||||||
ipython
|
ipython
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Disables hitting local cache
|
# Disables hitting local cache
|
||||||
@@ -24,21 +27,32 @@ in
|
|||||||
ansible
|
ansible
|
||||||
awscli2
|
awscli2
|
||||||
cargo
|
cargo
|
||||||
|
clippy
|
||||||
direnv
|
direnv
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
docker-buildx
|
||||||
|
go
|
||||||
home-manager
|
home-manager
|
||||||
just
|
just
|
||||||
mcp-grafana
|
mcp-grafana
|
||||||
|
nil
|
||||||
nixVersions.stable
|
nixVersions.stable
|
||||||
|
poetry
|
||||||
pre-commit
|
pre-commit
|
||||||
(pulumi.withPackages (p: with p; [
|
(pulumi.withPackages (
|
||||||
|
p: with p; [
|
||||||
pulumi-aws-native
|
pulumi-aws-native
|
||||||
pulumi-command
|
pulumi-command
|
||||||
pulumi-go
|
pulumi-go
|
||||||
pulumi-nodejs
|
pulumi-nodejs
|
||||||
pulumi-python
|
pulumi-python
|
||||||
]))
|
]
|
||||||
|
))
|
||||||
python
|
python
|
||||||
rustc
|
rustc
|
||||||
|
rustfmt
|
||||||
|
terraform
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+12
-2
@@ -3,19 +3,24 @@
|
|||||||
lib,
|
lib,
|
||||||
metadata,
|
metadata,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
top,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../modules/nix-conf.nix
|
../modules/nix-conf.nix
|
||||||
|
top.niks3.nixosModules.niks3-auto-upload
|
||||||
];
|
];
|
||||||
|
|
||||||
|
age.secrets.niks3-api-token.file = ../secrets/niks3/api_token.age;
|
||||||
|
|
||||||
console = {
|
console = {
|
||||||
font = "Lat2-Terminus16";
|
font = "Lat2-Terminus16";
|
||||||
keyMap = "us";
|
keyMap = "us";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
top.niks3.packages.${pkgs.stdenv.hostPlatform.system}.niks3
|
||||||
agenix
|
agenix
|
||||||
bitwarden-cli
|
bitwarden-cli
|
||||||
bmon
|
bmon
|
||||||
@@ -26,10 +31,9 @@
|
|||||||
efibootmgr
|
efibootmgr
|
||||||
findutils
|
findutils
|
||||||
file
|
file
|
||||||
gcc-tune
|
|
||||||
git
|
git
|
||||||
gnupatch
|
gnupatch
|
||||||
hms # My own home manager switcher
|
top.self.packages.${pkgs.stdenv.hostPlatform.system}.hms # My own home manager switcher
|
||||||
iperf
|
iperf
|
||||||
killall
|
killall
|
||||||
nano
|
nano
|
||||||
@@ -97,6 +101,12 @@
|
|||||||
# Enable the OpenSSH daemon for remote control
|
# Enable the OpenSSH daemon for remote control
|
||||||
services = {
|
services = {
|
||||||
locate.enable = true;
|
locate.enable = true;
|
||||||
|
niks3-auto-upload = {
|
||||||
|
enable = config.greg.nix.cache;
|
||||||
|
authTokenFile = config.age.secrets.niks3-api-token.path;
|
||||||
|
serverUrl = "http://hosea.nebula.thehellings.com:5751";
|
||||||
|
verifyS3Integrity = true;
|
||||||
|
};
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.X11Forwarding = true;
|
settings.X11Forwarding = true;
|
||||||
|
|||||||
+8
-33
@@ -15,15 +15,22 @@ let
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (metadata.hosts.${name}) system;
|
inherit (metadata.hosts.${name}) system;
|
||||||
|
pkgs' = top.self.packages.${system};
|
||||||
in
|
in
|
||||||
channel.lib.nixosSystem {
|
channel.lib.nixosSystem {
|
||||||
pkgs = nixpkgs.${system};
|
pkgs = nixpkgs.${system};
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit metadata top lib';
|
inherit
|
||||||
|
metadata
|
||||||
|
top
|
||||||
|
lib'
|
||||||
|
pkgs'
|
||||||
|
;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs.hostPlatform = system;
|
nixpkgs.hostPlatform = system;
|
||||||
|
networking.hostName = name;
|
||||||
}
|
}
|
||||||
# Imported ones
|
# Imported ones
|
||||||
top.agenix.nixosModules.default
|
top.agenix.nixosModules.default
|
||||||
@@ -45,16 +52,6 @@ in
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
// (lib.genAttrs
|
|
||||||
(builtins.attrNames (lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./vm)))
|
|
||||||
(
|
|
||||||
name:
|
|
||||||
(unstable {
|
|
||||||
inherit name;
|
|
||||||
extraMods = [ ./vm/${name} ];
|
|
||||||
})
|
|
||||||
)
|
|
||||||
)
|
|
||||||
// {
|
// {
|
||||||
# nix build '.#nixosConfigurations.wsl.config.system.build.installer'
|
# nix build '.#nixosConfigurations.wsl.config.system.build.installer'
|
||||||
#nixos = wsl { name = "wsl"; };
|
#nixos = wsl { name = "wsl"; };
|
||||||
@@ -63,26 +60,4 @@ in
|
|||||||
# name = "wsl";
|
# name = "wsl";
|
||||||
# system = "aarch64-linux";
|
# system = "aarch64-linux";
|
||||||
#};
|
#};
|
||||||
|
|
||||||
builder-aarch = lib.nixosSystem {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
modules = [
|
|
||||||
"${top.nixunstable}/nixos/modules/profiles/nix-builder-vm.nix"
|
|
||||||
{
|
|
||||||
virtualisation.host.pkgs = import top.nixunstable { system = "aarch64-darwin"; };
|
|
||||||
boot.loader.grub.devices = [ "/dev/vda" ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
builder-x86 = lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
|
||||||
"${top.nixunstable}/nixos/modules/profiles/nix-builder-vm.nix"
|
|
||||||
{
|
|
||||||
virtualisation.host.pkgs = import top.nixunstable { system = "aarch64-darwin"; };
|
|
||||||
boot.loader.grub.devices = [ "/dev/vda" ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{ config, modulesPath, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
||||||
|
nix.settings = { sandbox = false; };
|
||||||
|
proxmoxLXC = {
|
||||||
|
manageNetwork = false;
|
||||||
|
privileged = true;
|
||||||
|
};
|
||||||
|
services.fstrim.enable = false; # Let Proxmox host handle fstrim
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
settings = {
|
||||||
|
PermitRootLogin = "yes";
|
||||||
|
PasswordAuthentication = true;
|
||||||
|
PermitEmptyPasswords = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -43,10 +43,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
tags = [ "mobile" ];
|
tags = [ "mobile" ];
|
||||||
};
|
};
|
||||||
runner = {
|
|
||||||
enable = true;
|
|
||||||
qemu = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
|||||||
@@ -2,7 +2,12 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ top, pkgs, ... }:
|
{
|
||||||
|
top,
|
||||||
|
pkgs,
|
||||||
|
pkgs',
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
@@ -31,7 +36,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
create_ssl
|
pkgs'.create_ssl
|
||||||
step-ca
|
step-ca
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -57,6 +62,7 @@
|
|||||||
serverProperties = {
|
serverProperties = {
|
||||||
allow-flight = true;
|
allow-flight = true;
|
||||||
motd = "Maya's Minecraft World";
|
motd = "Maya's Minecraft World";
|
||||||
|
online-mode = true;
|
||||||
};
|
};
|
||||||
whitelist = { };
|
whitelist = { };
|
||||||
|
|
||||||
@@ -123,9 +129,14 @@
|
|||||||
# Better storage engines
|
# Better storage engines
|
||||||
# https://www.curseforge.com/minecraft/mc-mods/refined-storage
|
# https://www.curseforge.com/minecraft/mc-mods/refined-storage
|
||||||
refined-storage = pkgs.fetchurl {
|
refined-storage = pkgs.fetchurl {
|
||||||
url = "https://mediafilez.forgecdn.net/files/7961/605/refinedstorage-fabric-3.0.0-beta.5.jar";
|
url = "https://mediafilez.forgecdn.net/files/8086/588/refinedstorage-fabric-3.0.0.jar";
|
||||||
hash = "sha256-UiXNrGw/giCZAnCjFzFc9k4mrq6deTtL6Z00arSUFOU=";
|
hash = "sha256-LuOF0aYQon78AQeD5fQ8OXHCnekfa+PNKpH7cqimFNs=";
|
||||||
};
|
};
|
||||||
|
# https://www.curseforge.com/minecraft/mc-mods/storage-drawers
|
||||||
|
#storagedrawers = pkgs.fetchurl {
|
||||||
|
#url = "https://mediafilez.forgecdn.net/files/7352/799/StorageDrawers-fabric-1.21.11-20.0.0.jar";
|
||||||
|
#hash = "sha256-eBKCmAtjAhdAjOyLMRneu/NZnNt+orIezxPy6V8g/S8=";
|
||||||
|
#};
|
||||||
survivalfly = pkgs.fetchurl {
|
survivalfly = pkgs.fetchurl {
|
||||||
url = "https://mediafilez.forgecdn.net/files/7870/312/survivalfly-1.3_fabric-mc26.1.1.jar";
|
url = "https://mediafilez.forgecdn.net/files/7870/312/survivalfly-1.3_fabric-mc26.1.1.jar";
|
||||||
hash = "sha256-Kai4wSxckpXbs1yLp8wJ4BmmjNkdDbeqerqWGIz3+Zk=";
|
hash = "sha256-Kai4wSxckpXbs1yLp8wJ4BmmjNkdDbeqerqWGIz3+Zk=";
|
||||||
|
|||||||
@@ -22,8 +22,6 @@
|
|||||||
|
|
||||||
# VMs
|
# VMs
|
||||||
10.42.4.1 matrix matrix.thehellings.lan
|
10.42.4.1 matrix matrix.thehellings.lan
|
||||||
#10.42.4.2 vm-jellyfin vm-jellyfin.thehellings.lan
|
|
||||||
10.42.4.3 git gitlab git.thehellings.lan gitlab.thehellings.lan
|
|
||||||
|
|
||||||
# VIP
|
# VIP
|
||||||
10.42.5.1 longhorn.cluster matrix.cluster pgadmin.cluter postgres.cluster immich.cluster
|
10.42.5.1 longhorn.cluster matrix.cluster pgadmin.cluter postgres.cluster immich.cluster
|
||||||
@@ -37,7 +35,6 @@
|
|||||||
100.88.91.27 dns.home
|
100.88.91.27 dns.home
|
||||||
100.70.99.91 exodus.home exodus.shire-zebra.ts.net
|
100.70.99.91 exodus.home exodus.shire-zebra.ts.net
|
||||||
100.96.198.104 genesis.home genesis.shire-zebra.ts.net smart.home zwave.home nixcache.home gitcache.home dashy.home uptime.home speed.home
|
100.96.198.104 genesis.home genesis.shire-zebra.ts.net smart.home zwave.home nixcache.home gitcache.home dashy.home uptime.home speed.home
|
||||||
100.117.28.111 gitlab.home gitlab.shire-zebra.ts.net gitlab.thehellings.lan registry.thehellings.lan git.thehellings.lan
|
|
||||||
100.68.203.1 hosea.home hosea.shire-zebra.ts.net grafana.home
|
100.68.203.1 hosea.home hosea.shire-zebra.ts.net grafana.home
|
||||||
100.84.183.79 isaiah.home isaiah.shire-zebra.ts.net pgadmin.kubernetes longhorn.kubernetes
|
100.84.183.79 isaiah.home isaiah.shire-zebra.ts.net pgadmin.kubernetes longhorn.kubernetes
|
||||||
100.102.186.39 jeremiah.home jeremiah.shire-zebra.ts.net matrix.kubernetes immich.kubernetes postgres.kubernetes buildbot.home
|
100.102.186.39 jeremiah.home jeremiah.shire-zebra.ts.net matrix.kubernetes immich.kubernetes postgres.kubernetes buildbot.home
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ let
|
|||||||
#"1.0.0.1" # Cloudflare
|
#"1.0.0.1" # Cloudflare
|
||||||
#"149.112.112.112" # Quad 9
|
#"149.112.112.112" # Quad 9
|
||||||
metadata.infra.gw # Currently using our UniFi router for DNS as well
|
metadata.infra.gw # Currently using our UniFi router for DNS as well
|
||||||
|
"100.100.100.100"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -115,10 +116,15 @@ in
|
|||||||
"@\tIN\tSOA\t${config.networking.hostName}\tgreg@thehellings.com (1 1m 1m 1m 1m)"
|
"@\tIN\tSOA\t${config.networking.hostName}\tgreg@thehellings.com (1 1m 1m 1m 1m)"
|
||||||
"\tIN\tNS\t${config.networking.hostName}"
|
"\tIN\tNS\t${config.networking.hostName}"
|
||||||
];
|
];
|
||||||
makeHost = host: "${host.name}\tIN\tA\t${host.address}";
|
makeHost =
|
||||||
|
host:
|
||||||
|
[ "${host.name}\tIN\tA\t${host.address}" ]
|
||||||
|
++ lib.map (a: "${a}\tIN\tA\t${host.address}") (
|
||||||
|
if builtins.hasAttr "aliases" host then host.aliases else [ ]
|
||||||
|
);
|
||||||
in
|
in
|
||||||
pkgs.writeText "${domain}" (
|
pkgs.writeText "${domain}" (
|
||||||
builtins.concatStringsSep "\n" (preamble ++ (lib.map makeHost hosts) ++ [ "" ])
|
builtins.concatStringsSep "\n" (preamble ++ (lib.flatten (lib.map makeHost hosts)) ++ [ "" ])
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
lib.mapAttrs
|
lib.mapAttrs
|
||||||
|
|||||||
@@ -0,0 +1,161 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
modulesPath,
|
||||||
|
lib,
|
||||||
|
top,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/virtualisation/proxmox-lxc.nix")
|
||||||
|
top.hermes.nixosModules.default
|
||||||
|
];
|
||||||
|
age.secrets.hermes = {
|
||||||
|
file = ../../../secrets/hermes.age;
|
||||||
|
owner = "hermes";
|
||||||
|
};
|
||||||
|
greg = {
|
||||||
|
nebula = {
|
||||||
|
enable = true;
|
||||||
|
nebulaIp = "10.157.0.8";
|
||||||
|
};
|
||||||
|
nix.cache = false;
|
||||||
|
proxies = lib.genAttrs' [ "thehellings.lan" "nebula.thehellings.com" "shire-zebra.ts.net" ] (
|
||||||
|
name:
|
||||||
|
(lib.nameValuePair "${config.networking.hostName}.${name}" { target = "http://127.0.0.1:9119"; })
|
||||||
|
);
|
||||||
|
};
|
||||||
|
nix.settings = {
|
||||||
|
sandbox = false;
|
||||||
|
};
|
||||||
|
proxmoxLXC = {
|
||||||
|
manageHostName = true;
|
||||||
|
manageNetwork = false;
|
||||||
|
privileged = true;
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
fstrim.enable = false;
|
||||||
|
hermes-agent = {
|
||||||
|
enable = true;
|
||||||
|
addToSystemPackages = true;
|
||||||
|
environment = {
|
||||||
|
MATRIX_HOMESERVER = "https://thehellings.com";
|
||||||
|
};
|
||||||
|
environmentFiles = [
|
||||||
|
config.age.secrets.hermes.path
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
agent = {
|
||||||
|
reasoning_effort = "medium";
|
||||||
|
reasoning_overrides = {
|
||||||
|
claude-fable = "xhigh";
|
||||||
|
claude-opus = "high";
|
||||||
|
};
|
||||||
|
tool_loop_guardrails = {
|
||||||
|
hard_stop_enabled = true;
|
||||||
|
warnings_enabled = true;
|
||||||
|
};
|
||||||
|
tool_use_enforcement = "auto";
|
||||||
|
};
|
||||||
|
code_execution = {
|
||||||
|
mode = "strict";
|
||||||
|
timeout = 300;
|
||||||
|
};
|
||||||
|
compression = {
|
||||||
|
enabled = true;
|
||||||
|
protect_first_n = 3;
|
||||||
|
protect_last_n = 5;
|
||||||
|
target_ratio = 0.25;
|
||||||
|
threshold = 0.75;
|
||||||
|
};
|
||||||
|
context_file_max_chars = 25000;
|
||||||
|
file_read_max_chars = 100000;
|
||||||
|
goals = {
|
||||||
|
max_turns = 20; # Number of times Hermes tells the model to keep working towards the goal
|
||||||
|
};
|
||||||
|
matrix = {
|
||||||
|
allowed_users = [
|
||||||
|
"@greg:thehellings.com"
|
||||||
|
];
|
||||||
|
allowed_rooms = [
|
||||||
|
"!agents:thehellings.com"
|
||||||
|
];
|
||||||
|
free_response_rooms = [
|
||||||
|
"!agents:thehellings.com"
|
||||||
|
];
|
||||||
|
require_mention = true;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
memory_enabled = true;
|
||||||
|
user_profile_enabled = true;
|
||||||
|
write_approval = true;
|
||||||
|
};
|
||||||
|
model.default = "anthropic/claude-opus-4.8";
|
||||||
|
quick_commands = {
|
||||||
|
disk = {
|
||||||
|
type = "exec";
|
||||||
|
command = "df -h";
|
||||||
|
};
|
||||||
|
free = {
|
||||||
|
type = "exec";
|
||||||
|
command = "free -h";
|
||||||
|
};
|
||||||
|
restart = {
|
||||||
|
type = "alias";
|
||||||
|
target = "/gateway restart";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
skills = {
|
||||||
|
guard_agent_created = true;
|
||||||
|
write_approval = true;
|
||||||
|
};
|
||||||
|
stt = {
|
||||||
|
enabled = true;
|
||||||
|
echo_transcripts = true;
|
||||||
|
provider = "local";
|
||||||
|
local.model = "medium";
|
||||||
|
};
|
||||||
|
terminal = {
|
||||||
|
backend = "local";
|
||||||
|
};
|
||||||
|
tool_output = {
|
||||||
|
max_bytes = 50000;
|
||||||
|
max_lines = 2000;
|
||||||
|
max_line_length = 2000;
|
||||||
|
};
|
||||||
|
toolsets = [ "all" ];
|
||||||
|
worktree = true; # Enable multiple agents in the same repo
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nebula.networks."nebula.thehellings.com" = {
|
||||||
|
tun.disable = true;
|
||||||
|
};
|
||||||
|
openssh = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
settings = {
|
||||||
|
PermitRootLogin = "yes";
|
||||||
|
PasswordAuthentication = true;
|
||||||
|
PermitEmptyPasswords = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
wyoming.faster-whisper.servers.medium = {
|
||||||
|
enable = true;
|
||||||
|
device = "cpu";
|
||||||
|
initialPrompt = ''
|
||||||
|
The user's name is 'Greg Hellings'. The street he lives on is 'Kardinal Court'
|
||||||
|
in 'Midlothian'. Keep these in mind as they are often misspelled.
|
||||||
|
'';
|
||||||
|
language = "en";
|
||||||
|
model = "medium";
|
||||||
|
uri = "tcp://127.0.0.1:10300";
|
||||||
|
sttLibrary = "faster-whisper";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.suppressedSystemUnits = [
|
||||||
|
"dev-mqueue.mount"
|
||||||
|
"sys-kernel-debug.mount"
|
||||||
|
"sys-fs-fuse-connections.mount"
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
metadata,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
ips = lib.filterAttrs (_k: v: v ? "ip" && v.ip != null) metadata.hosts;
|
|
||||||
tps = lib.filterAttrs (_k: v: v ? "ts" && v.ts != null) metadata.hosts;
|
|
||||||
get = field: set: lib.mapAttrsToList (_k: v: v.${field}) set;
|
|
||||||
getTS = get "ts" tps;
|
|
||||||
getIP = get "ip" ips;
|
|
||||||
whitelists = builtins.concatStringsSep "," (
|
|
||||||
[
|
|
||||||
"localhost"
|
|
||||||
"127.0.0.1"
|
|
||||||
]
|
|
||||||
++ getTS
|
|
||||||
++ getIP
|
|
||||||
);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services = {
|
|
||||||
prowlarr = {
|
|
||||||
enable = true;
|
|
||||||
dataDir = "/arr/prowlarr";
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
radarr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
transmission = {
|
|
||||||
enable = true;
|
|
||||||
openPeerPorts = true;
|
|
||||||
openRPCPort = true;
|
|
||||||
package = pkgs.transmission_4;
|
|
||||||
settings = {
|
|
||||||
download-dir = "/arr/transmission/downloads";
|
|
||||||
rpc-bind-address = "0.0.0.0";
|
|
||||||
rpc-host-whitelist = whitelists;
|
|
||||||
rpc-host-whitelist-enabled = false;
|
|
||||||
rpc-whitelist = whitelists;
|
|
||||||
rpc-whitelist-enabled = false;
|
|
||||||
watch-dir-enabled = true;
|
|
||||||
watch-dir = "/arr/transmission/incoming";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.mounts =
|
|
||||||
let
|
|
||||||
nfs = name: {
|
|
||||||
what = "nas1.shire-zebra.ts.net:/mnt/all/${name}";
|
|
||||||
type = "nfs";
|
|
||||||
name = "${name}.mount";
|
|
||||||
where = "/${name}";
|
|
||||||
requires = [ "tailscaled-autoconnect.service" ];
|
|
||||||
after = [ "tailscaled-autoconnect.service" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
mountConfig.Options = "_netdev,noexec,timeo=50,retrans=5,soft";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
[
|
|
||||||
(nfs "arr")
|
|
||||||
(nfs "music")
|
|
||||||
(nfs "photos")
|
|
||||||
(nfs "video")
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
config,
|
config,
|
||||||
metadata,
|
metadata,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
top,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -17,14 +18,32 @@ in
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./arr.nix
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
top.niks3.nixosModules.niks3
|
||||||
];
|
];
|
||||||
|
|
||||||
age.secrets.grafana-secret-key = {
|
age.secrets = {
|
||||||
|
cache-private-key = {
|
||||||
|
file = ../../../secrets/cache-private-key.age;
|
||||||
|
owner = "niks3";
|
||||||
|
};
|
||||||
|
grafana-secret-key = {
|
||||||
file = ../../../secrets/grafana-secret-key.age;
|
file = ../../../secrets/grafana-secret-key.age;
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
};
|
};
|
||||||
|
niks3-access-key-id = {
|
||||||
|
file = ../../../secrets/niks3/access_key_id.age;
|
||||||
|
owner = "niks3";
|
||||||
|
};
|
||||||
|
niks3-api-token = {
|
||||||
|
file = ../../../secrets/niks3/api_token.age;
|
||||||
|
owner = "niks3";
|
||||||
|
};
|
||||||
|
niks3-secret-access-key = {
|
||||||
|
file = ../../../secrets/niks3/secret_access_key.age;
|
||||||
|
owner = "niks3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Bootloader
|
# Bootloader
|
||||||
boot = {
|
boot = {
|
||||||
@@ -98,6 +117,7 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
firewall.interfaces.nebula0.allowedTCPPorts = [ 5751 ];
|
||||||
nameservers = [ metadata.infra.dns ];
|
nameservers = [ metadata.infra.dns ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -150,6 +170,27 @@ in
|
|||||||
analytics.reporting_enabled = false;
|
analytics.reporting_enabled = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
niks3 = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
apiTokenFile = config.age.secrets.niks3-api-token.path;
|
||||||
|
gc.enable = false;
|
||||||
|
httpAddr = "${metadata.hosts.hosea.nebulaIp}:5751";
|
||||||
|
nginx = {
|
||||||
|
enable = true;
|
||||||
|
domain = "hosea.nebula";
|
||||||
|
enableACME = false;
|
||||||
|
forceSSL = false;
|
||||||
|
};
|
||||||
|
s3 = {
|
||||||
|
accessKeyFile = config.age.secrets.niks3-access-key-id.path;
|
||||||
|
bucket = "niks3";
|
||||||
|
endpoint = "nas1.shire-zebra.ts.net:30188";
|
||||||
|
secretKeyFile = config.age.secrets.niks3-secret-access-key.path;
|
||||||
|
useSSL = false;
|
||||||
|
};
|
||||||
|
signKeyFiles = [ config.age.secrets.cache-private-key.path ];
|
||||||
|
};
|
||||||
prometheus.exporters.graphite.enable = true;
|
prometheus.exporters.graphite.enable = true;
|
||||||
# Configure keymap
|
# Configure keymap
|
||||||
xserver.xkb = {
|
xserver.xkb = {
|
||||||
@@ -158,6 +199,25 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.mounts =
|
||||||
|
let
|
||||||
|
nfs = name: {
|
||||||
|
what = "nas1.shire-zebra.ts.net:/mnt/all/${name}";
|
||||||
|
type = "nfs";
|
||||||
|
name = "${name}.mount";
|
||||||
|
where = "/${name}";
|
||||||
|
requires = [ "tailscaled-autoconnect.service" ];
|
||||||
|
after = [ "tailscaled-autoconnect.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
mountConfig.Options = "_netdev,noexec,timeo=50,retrans=5,soft";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(nfs "music")
|
||||||
|
(nfs "photos")
|
||||||
|
(nfs "video")
|
||||||
|
];
|
||||||
|
|
||||||
# After first deploy: create a Grafana service account + API token for Klaatu
|
# After first deploy: create a Grafana service account + API token for Klaatu
|
||||||
# via the Grafana UI, then encrypt it: agenix -e secrets/grafana-api-token.age
|
# via the Grafana UI, then encrypt it: agenix -e secrets/grafana-api-token.age
|
||||||
age.secrets.grafana-api-token = {
|
age.secrets.grafana-api-token = {
|
||||||
|
|||||||
@@ -43,10 +43,6 @@
|
|||||||
tags = [ "home" ];
|
tags = [ "home" ];
|
||||||
};
|
};
|
||||||
remote-builder.enable = true;
|
remote-builder.enable = true;
|
||||||
runner = {
|
|
||||||
enable = true;
|
|
||||||
qemu = true;
|
|
||||||
};
|
|
||||||
gitea-runner = {
|
gitea-runner = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraLabels = [ "bare-metal:host" ];
|
extraLabels = [ "bare-metal:host" ];
|
||||||
|
|||||||
@@ -22,8 +22,6 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
age.secrets = {
|
age.secrets = {
|
||||||
runner-reg.file = ../../../secrets/gitlab/nixos-qemu-shell.age;
|
|
||||||
|
|
||||||
gitea-buildbotWorkersFile = mk ../../../secrets/gitea/buildbotWorkersFile.age;
|
gitea-buildbotWorkersFile = mk ../../../secrets/gitea/buildbotWorkersFile.age;
|
||||||
gitea-oauthToken = mk ../../../secrets/gitea/oauthToken.age;
|
gitea-oauthToken = mk ../../../secrets/gitea/oauthToken.age;
|
||||||
gitea-oauthSecret = mk ../../../secrets/gitea/oauthSecret.age;
|
gitea-oauthSecret = mk ../../../secrets/gitea/oauthSecret.age;
|
||||||
@@ -95,11 +93,6 @@ in
|
|||||||
tags = [ "home" ];
|
tags = [ "home" ];
|
||||||
};
|
};
|
||||||
remote-builder.enable = true;
|
remote-builder.enable = true;
|
||||||
runner = {
|
|
||||||
enable = true;
|
|
||||||
threads = 3;
|
|
||||||
qemu = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
@@ -149,12 +142,12 @@ in
|
|||||||
updateOutputs = false;
|
updateOutputs = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
domain = "${config.networking.hostName}.shire-zebra.ts.net";
|
domain = "${config.networking.hostName}.shire-zebra.ts.net:8010";
|
||||||
evalMaxMemorySize = 8192;
|
evalMaxMemorySize = 8192;
|
||||||
evalWorkerCount = 4;
|
evalWorkerCount = 4;
|
||||||
gitea = {
|
gitea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
instanceUrl = "https://src.thehellings.com";
|
instanceUrl = "https://gitea.shire-zebra.ts.net";
|
||||||
oauthId = "7ec9107d-379b-47c8-870f-1191956d0500";
|
oauthId = "7ec9107d-379b-47c8-870f-1191956d0500";
|
||||||
oauthSecretFile = config.age.secrets.gitea-oauthSecret.path;
|
oauthSecretFile = config.age.secrets.gitea-oauthSecret.path;
|
||||||
tokenFile = config.age.secrets.gitea-oauthToken.path;
|
tokenFile = config.age.secrets.gitea-oauthToken.path;
|
||||||
|
|||||||
@@ -66,20 +66,4 @@
|
|||||||
immichUrl = "https://immich.shire-zebra.ts.net";
|
immichUrl = "https://immich.shire-zebra.ts.net";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
security.sudo.extraRules = [
|
|
||||||
{
|
|
||||||
users = [ "gitlab-runner" ];
|
|
||||||
commands = [
|
|
||||||
{
|
|
||||||
command = "/run/current-system/sw/bin/systemctl";
|
|
||||||
options = [ "NOPASSWD" ];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "/run/current-system/sw/bin/podman";
|
|
||||||
options = [ "NOPASSWD" ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
srcDomain = "src.thehellings.com";
|
srcDomain = "src.thehellings.com";
|
||||||
@@ -6,15 +6,23 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
greg.proxies."${srcDomain}" = {
|
greg.proxies."${srcDomain}" = {
|
||||||
target = "https://gitea.shire-zebra.ts.net";
|
target = "http://unix:${config.services.anubis.instances.git.settings.BIND}";
|
||||||
ssl = true;
|
ssl = true;
|
||||||
genAliases = false;
|
genAliases = false;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_ssl_verify off;
|
#proxy_ssl_verify off;
|
||||||
proxy_ssl_server_name on;
|
#proxy_ssl_server_name on;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header X-Forwarded-Ssl on;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Http-Version $server_protocol;
|
||||||
|
proxy_set_header User-Agent $http_user_agent;
|
||||||
client_max_body_size 100000m;
|
client_max_body_size 100000m;
|
||||||
|
|
||||||
|
#proxy_set_header Host $host;
|
||||||
|
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
#proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
#proxy_set_header X-Forwarded-Ssl on;
|
||||||
|
|
||||||
# Ultimate AI Block List v1.7 20250924
|
# Ultimate AI Block List v1.7 20250924
|
||||||
# https://perishablepress.com/ultimate-ai-block-list/
|
# https://perishablepress.com/ultimate-ai-block-list/
|
||||||
|
|
||||||
@@ -87,18 +95,22 @@ in
|
|||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ sshPort ];
|
networking.firewall.allowedTCPPorts = [ sshPort ];
|
||||||
|
|
||||||
systemd.services = {
|
services = {
|
||||||
haproxy = {
|
anubis = {
|
||||||
after = [
|
instances = {
|
||||||
"network-online.target"
|
git = {
|
||||||
];
|
enable = true;
|
||||||
wants = [
|
settings = {
|
||||||
"network-online.target"
|
BIND = "/run/anubis/anubis-git/anubis.sock";
|
||||||
];
|
COOKIE_DOMAIN = "thehellings.com";
|
||||||
|
SERVE_ROBOTS_TXT = true;
|
||||||
|
TARGET = "https://gitea.shire-zebra.ts.net/";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.haproxy = {
|
haproxy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = ''
|
config = ''
|
||||||
global
|
global
|
||||||
@@ -119,4 +131,18 @@ in
|
|||||||
server git-zeke zeke.shire-zebra.ts.net:32222
|
server git-zeke zeke.shire-zebra.ts.net:32222
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
haproxy = {
|
||||||
|
after = [
|
||||||
|
"network-online.target"
|
||||||
|
];
|
||||||
|
wants = [
|
||||||
|
"network-online.target"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.nginx.extraGroups = [ config.users.groups.anubis.name ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,12 +2,24 @@
|
|||||||
# them by the following commands:
|
# them by the following commands:
|
||||||
# nix run nixpkgs.matrix-synapse
|
# nix run nixpkgs.matrix-synapse
|
||||||
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
||||||
{ config, lib, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
domain = "${config.networking.domain}";
|
domain = "${config.networking.domain}";
|
||||||
fqdn = "matrix.${domain}";
|
fqdn = "matrix.${domain}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
greg.proxies."${fqdn}" = {
|
||||||
|
extraConfig = ''
|
||||||
|
error_log /var/log/nginx/debug.log debug;
|
||||||
|
proxy_ssl_verify off;
|
||||||
|
proxy_ssl_server_name on;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header X-Forwarded-Ssl on;
|
||||||
|
'';
|
||||||
|
genAliases = false;
|
||||||
|
ssl = true;
|
||||||
|
target = "https://matrix.shire-zebra.ts.net";
|
||||||
|
};
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
# Server the '.well-known' files to find the Matrix API server
|
# Server the '.well-known' files to find the Matrix API server
|
||||||
@@ -44,36 +56,6 @@ in
|
|||||||
return 200 '${builtins.toJSON client}';
|
return 200 '${builtins.toJSON client}';
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Reverse proxy in front of the actual Matrix server
|
|
||||||
"${fqdn}" = {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
error_log /var/log/nginx/debug.log debug;
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Not the appropriate place for the chat client
|
|
||||||
locations =
|
|
||||||
(builtins.listToAttrs (
|
|
||||||
builtins.map
|
|
||||||
(
|
|
||||||
val:
|
|
||||||
lib.nameValuePair "/_${val}" {
|
|
||||||
proxyPass = "http://matrix.kubernetes";
|
|
||||||
}
|
|
||||||
)
|
|
||||||
[
|
|
||||||
"matrix"
|
|
||||||
"synapse"
|
|
||||||
"dendrite"
|
|
||||||
]
|
|
||||||
))
|
|
||||||
// {
|
|
||||||
"/".extraConfig = "return 404;";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ in
|
|||||||
virtualisation.oci-containers = {
|
virtualisation.oci-containers = {
|
||||||
backend = "podman";
|
backend = "podman";
|
||||||
containers."homepage" = {
|
containers."homepage" = {
|
||||||
# needs explicit port to match what gitlab-runner sees when pulling
|
|
||||||
image = "registry.thehellings.com:443/greg/homepage/gregs-homepage:latest";
|
image = "registry.thehellings.com:443/greg/homepage/gregs-homepage:latest";
|
||||||
ports = [ "${homepage}:80" ];
|
ports = [ "${homepage}:80" ];
|
||||||
};
|
};
|
||||||
@@ -35,10 +34,5 @@ in
|
|||||||
ssl = true;
|
ssl = true;
|
||||||
genAliases = false;
|
genAliases = false;
|
||||||
};
|
};
|
||||||
"doubles.thehellings.com" = {
|
|
||||||
target = "http://localhost:8081";
|
|
||||||
ssl = true;
|
|
||||||
genAliases = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
pkgs',
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = [ pkgs.upgrade-pg-cluster ];
|
environment.systemPackages = [ pkgs'.upgrade-pg-cluster ];
|
||||||
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -28,10 +28,6 @@
|
|||||||
};
|
};
|
||||||
nebula.enable = true;
|
nebula.enable = true;
|
||||||
remote-builder.enable = true;
|
remote-builder.enable = true;
|
||||||
runner = {
|
|
||||||
enable = true;
|
|
||||||
vbox = false;
|
|
||||||
};
|
|
||||||
tailscale = {
|
tailscale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
tags = [ "home" ];
|
tags = [ "home" ];
|
||||||
|
|||||||
@@ -1,273 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
registryPort = 5000;
|
|
||||||
vpnIp = "100.117.28.111";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
age.secrets =
|
|
||||||
let
|
|
||||||
cfg = n: {
|
|
||||||
file = ../../../secrets/gitlab/${n}.age;
|
|
||||||
owner = "gitlab";
|
|
||||||
group = "gitlab";
|
|
||||||
mode = "0444";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
gitlab-secret = cfg "secret";
|
|
||||||
gitlab-otp = cfg "otp";
|
|
||||||
gitlab-db = cfg "db";
|
|
||||||
gitlab-db-password = cfg "db-password";
|
|
||||||
gitlab-jws = cfg "jws";
|
|
||||||
gitlab-key = cfg "key";
|
|
||||||
gitlab-cert = cfg "cert";
|
|
||||||
gitlab-salt = cfg "salt";
|
|
||||||
gitlab-primary-key = cfg "primary-key";
|
|
||||||
gitlab-deterministic-key = cfg "deterministic-key";
|
|
||||||
|
|
||||||
minio_access_key_id = {
|
|
||||||
file = ../../../secrets/minio_access_key_id.age;
|
|
||||||
owner = "gitlab";
|
|
||||||
group = "gitlab";
|
|
||||||
mode = "0444";
|
|
||||||
};
|
|
||||||
minio_secret_access_key = {
|
|
||||||
file = ../../../secrets/minio_secret_access_key.age;
|
|
||||||
owner = "gitlab";
|
|
||||||
group = "gitlab";
|
|
||||||
mode = "0444";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
greg = {
|
|
||||||
backup.jobs.nas-backup = {
|
|
||||||
src = "/var/gitlab/state/backup/";
|
|
||||||
dest = "gitlab";
|
|
||||||
};
|
|
||||||
home = true;
|
|
||||||
tailscale = {
|
|
||||||
enable = true;
|
|
||||||
tags = [ "home" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "gitlab"; # Define your hostname.
|
|
||||||
firewall.allowedTCPPorts = [
|
|
||||||
80
|
|
||||||
registryPort
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
gitlab = {
|
|
||||||
enable = true;
|
|
||||||
backup = {
|
|
||||||
keepTime = 288;
|
|
||||||
startAt = [ "03:00" ];
|
|
||||||
};
|
|
||||||
databaseHost = "postgres.kubernetes";
|
|
||||||
databaseName = "gitlab";
|
|
||||||
databaseUsername = "gitlab";
|
|
||||||
databasePasswordFile = config.age.secrets.gitlab-db-password.path;
|
|
||||||
databaseCreateLocally = false;
|
|
||||||
extraConfig = {
|
|
||||||
registry.port = null;
|
|
||||||
gitlab = {
|
|
||||||
trustedProxies = [
|
|
||||||
"${vpnIp}/32" # The system itself
|
|
||||||
"100.109.86.8/32" # Public server's IP
|
|
||||||
];
|
|
||||||
};
|
|
||||||
object_store = {
|
|
||||||
enabled = true;
|
|
||||||
proxy_download = true; # Tell them to reach out to object storage themselves!
|
|
||||||
connection = {
|
|
||||||
provider = "AWS";
|
|
||||||
endpoint = "http://s3.thehellings.lan:9000";
|
|
||||||
region = "us-east-1";
|
|
||||||
aws_access_key_id = {
|
|
||||||
_secret = config.age.secrets.minio_access_key_id.path;
|
|
||||||
};
|
|
||||||
aws_secret_access_key = {
|
|
||||||
_secret = config.age.secrets.minio_secret_access_key.path;
|
|
||||||
};
|
|
||||||
path_style = true; # True for MinIO
|
|
||||||
aws_signature_version = 2;
|
|
||||||
};
|
|
||||||
#storage_options = ...;
|
|
||||||
objects = builtins.listToAttrs (
|
|
||||||
builtins.map
|
|
||||||
(
|
|
||||||
x: lib.attrsets.nameValuePair x { bucket = "gitlab-${builtins.replaceStrings [ "_" ] [ "-" ] x}"; }
|
|
||||||
)
|
|
||||||
[
|
|
||||||
"artifacts"
|
|
||||||
"ci_secure_files"
|
|
||||||
"dependency_proxy"
|
|
||||||
"external_diffs"
|
|
||||||
"lfs"
|
|
||||||
"packages"
|
|
||||||
"pages"
|
|
||||||
"terraform_state"
|
|
||||||
"uploads"
|
|
||||||
]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
host = "src.thehellings.com";
|
|
||||||
https = true;
|
|
||||||
initialRootEmail = "greg@thehellings.com";
|
|
||||||
initialRootPasswordFile = pkgs.writeText "initialRootPassword" "root_password";
|
|
||||||
pages = {
|
|
||||||
enable = true;
|
|
||||||
settings.pages-domain = "pages.thehellings.com";
|
|
||||||
};
|
|
||||||
port = 443;
|
|
||||||
puma = {
|
|
||||||
threadsMax = 6;
|
|
||||||
threadsMin = 2;
|
|
||||||
workers = 6;
|
|
||||||
};
|
|
||||||
redisUrl = "unix:${config.services.redis.servers.gitlab.unixSocket}";
|
|
||||||
registry = {
|
|
||||||
enable = true;
|
|
||||||
certFile = config.age.secrets.gitlab-cert.path;
|
|
||||||
keyFile = config.age.secrets.gitlab-key.path;
|
|
||||||
externalAddress = "registry.thehellings.com";
|
|
||||||
externalPort = 443;
|
|
||||||
};
|
|
||||||
secrets = {
|
|
||||||
activeRecordDeterministicKeyFile = config.age.secrets.gitlab-deterministic-key.path;
|
|
||||||
activeRecordPrimaryKeyFile = config.age.secrets.gitlab-primary-key.path;
|
|
||||||
activeRecordSaltFile = config.age.secrets.gitlab-salt.path;
|
|
||||||
dbFile = config.age.secrets.gitlab-db.path;
|
|
||||||
jwsFile = config.age.secrets.gitlab-jws.path;
|
|
||||||
otpFile = config.age.secrets.gitlab-otp.path;
|
|
||||||
secretFile = config.age.secrets.gitlab-secret.path;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nginx = {
|
|
||||||
enable = true;
|
|
||||||
clientMaxBodySize = "25000m";
|
|
||||||
virtualHosts = {
|
|
||||||
"vm-gitlab.shire-zebra.ts.net" = {
|
|
||||||
listen = [
|
|
||||||
{
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
port = 443;
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
ssl_certificate /etc/certs/vm-gitlab.shire-zebra.ts.net.crt ;
|
|
||||||
ssl_certificate_key /etc/certs/vm-gitlab.shire-zebra.ts.net.key ;
|
|
||||||
client_max_body_size 10000m ;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"registry" = {
|
|
||||||
listen = [
|
|
||||||
{
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
port = registryPort;
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://127.0.0.1:4567/";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
ssl_certificate /etc/certs/vm-gitlab.shire-zebra.ts.net.crt ;
|
|
||||||
ssl_certificate_key /etc/certs/vm-gitlab.shire-zebra.ts.net.key ;
|
|
||||||
client_max_body_size 25000m ;
|
|
||||||
'';
|
|
||||||
serverAliases = [
|
|
||||||
"vm-gitlab.shire-zebra.ts.net"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
openssh.enable = true;
|
|
||||||
|
|
||||||
postgresql.enable = true;
|
|
||||||
|
|
||||||
qemuGuest.enable = true;
|
|
||||||
|
|
||||||
redis.servers.gitlab = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
#resolved.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Do not start nginx until we have tailscaled up and running, so it can bind
|
|
||||||
# to the 100.* addresses
|
|
||||||
systemd = {
|
|
||||||
services = {
|
|
||||||
certRefresh =
|
|
||||||
let
|
|
||||||
script = pkgs.writeShellApplication {
|
|
||||||
name = "cert-refresh";
|
|
||||||
runtimeInputs = [ pkgs.tailscale ];
|
|
||||||
|
|
||||||
text = ''
|
|
||||||
cd /etc/certs
|
|
||||||
tailscale cert vm-gitlab.shire-zebra.ts.net
|
|
||||||
chown nginx ./*
|
|
||||||
systemctl reload nginx
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
script = lib.getExe script;
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
User = "root";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nginx = rec {
|
|
||||||
after = [ "network-online.target" ];
|
|
||||||
requires = [ "network-online.target" ];
|
|
||||||
wants = after;
|
|
||||||
serviceConfig = {
|
|
||||||
RestartMaxDelaySec = "30s";
|
|
||||||
RestartSteps = "5";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tailscaled.partOf = [ "network-online.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
timers = {
|
|
||||||
"cert-refresh" = {
|
|
||||||
wantedBy = [ "cert-refresh.service" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "monthly";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
system.stateVersion = lib.mkForce "24.11";
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
# 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.
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot = {
|
|
||||||
extraModulePackages = [ ];
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [
|
|
||||||
"uhci_hcd"
|
|
||||||
"ehci_pci"
|
|
||||||
"ahci"
|
|
||||||
"virtio_pci"
|
|
||||||
"virtio_scsi"
|
|
||||||
"sd_mod"
|
|
||||||
"sr_mod"
|
|
||||||
];
|
|
||||||
kernelModules = [ ];
|
|
||||||
};
|
|
||||||
loader = {
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = lib.mkDefault "/dev/disk/by-uuid/1fdbe86e-ce6f-4af3-a876-aec35731adab";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/1E6A-C3BB";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0077"
|
|
||||||
"dmask=0077"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp6s18.useDHCP = lib.mkDefault true;
|
|
||||||
}
|
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
(name: value: {
|
(name: value: {
|
||||||
inherit name;
|
inherit name;
|
||||||
address = builtins.getAttr netAttr value;
|
address = builtins.getAttr netAttr value;
|
||||||
|
aliases = lib.optionals (builtins.hasAttr "aliases" value) (builtins.getAttr "aliases" value);
|
||||||
})
|
})
|
||||||
(
|
(
|
||||||
lib.filterAttrs (
|
lib.filterAttrs (
|
||||||
|
|||||||
@@ -21,9 +21,6 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: bitwarden-cli
|
- name: bitwarden-cli
|
||||||
# Since my gitlab instance depends on the database hosted in k3s, and
|
|
||||||
# the database depends on this image, I need a way to bootstrap the
|
|
||||||
# system if # I am doing disaster recovery. And this is it.
|
|
||||||
image: "ghcr.io/greg-hellings/nixos-config/img-bitwarden:latest"
|
image: "ghcr.io/greg-hellings/nixos-config/img-bitwarden:latest"
|
||||||
#image: >-
|
#image: >-
|
||||||
# registry.thehellings.com/greg/nixos-config/img-bitwarden:latest
|
# registry.thehellings.com/greg/nixos-config/img-bitwarden:latest
|
||||||
|
|||||||
@@ -14,14 +14,12 @@ spec:
|
|||||||
- 100.88.91.27 # dns?
|
- 100.88.91.27 # dns?
|
||||||
- 100.80.99.48 # exodus
|
- 100.80.99.48 # exodus
|
||||||
- 100.88.91.27 # genesis
|
- 100.88.91.27 # genesis
|
||||||
- 100.117.28.111 # gitlab
|
|
||||||
- 100.68.203.1 # hosea
|
- 100.68.203.1 # hosea
|
||||||
- 100.84.183.79 # isaiah
|
- 100.84.183.79 # isaiah
|
||||||
- 100.102.186.39 # jeremiah
|
- 100.102.186.39 # jeremiah
|
||||||
- 100.90.74.19 # zeke
|
- 100.90.74.19 # zeke
|
||||||
- 100.115.57.8 # linode
|
- 100.115.57.8 # linode
|
||||||
- 100.65.5.38 # matrix
|
- 100.65.5.38 # matrix
|
||||||
#- 100.127.55.22 # jellyfin
|
|
||||||
---
|
---
|
||||||
apiVersion: traefik.io/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRouteTCP
|
kind: IngressRouteTCP
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ resources:
|
|||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- secrets.yaml
|
- secrets.yaml
|
||||||
- postgres-cluster.yaml
|
- postgres-cluster.yaml
|
||||||
- postgres-gitlab.yaml
|
|
||||||
- postgres-pgadmin.yaml
|
- postgres-pgadmin.yaml
|
||||||
- postgres-matrix.yaml
|
- postgres-matrix.yaml
|
||||||
- ingress.yaml
|
- ingress.yaml
|
||||||
|
|||||||
@@ -11,13 +11,6 @@ spec:
|
|||||||
|
|
||||||
managed:
|
managed:
|
||||||
roles:
|
roles:
|
||||||
- name: gitlab
|
|
||||||
ensure: present
|
|
||||||
comment: Gitlab user
|
|
||||||
login: true
|
|
||||||
superuser: false
|
|
||||||
passwordSecret:
|
|
||||||
name: postgres-user-gitlab
|
|
||||||
- name: pgadmin
|
- name: pgadmin
|
||||||
ensure: present
|
ensure: present
|
||||||
comment: PG Admin user
|
comment: PG Admin user
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: postgresql.cnpg.io/v1
|
|
||||||
kind: Database
|
|
||||||
metadata:
|
|
||||||
name: database-gitlab
|
|
||||||
spec:
|
|
||||||
name: gitlab
|
|
||||||
owner: gitlab
|
|
||||||
cluster:
|
|
||||||
name: postgres
|
|
||||||
@@ -1,39 +1,5 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
apiVersion: external-secrets.io/v1
|
||||||
kind: ExternalSecret
|
kind: ExternalSecret
|
||||||
metadata:
|
|
||||||
name: postgres-user-gitlab
|
|
||||||
namespace: db
|
|
||||||
spec:
|
|
||||||
target:
|
|
||||||
name: postgres-user-gitlab
|
|
||||||
deletionPolicy: Delete
|
|
||||||
template:
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
username: |-
|
|
||||||
{{ .username }}
|
|
||||||
password: |-
|
|
||||||
{{ .password }}
|
|
||||||
data:
|
|
||||||
- secretKey: username
|
|
||||||
sourceRef:
|
|
||||||
storeRef:
|
|
||||||
name: bitwarden-login
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
remoteRef:
|
|
||||||
key: 5282ad16-c2dc-49d3-8fb3-b2e9012bab57
|
|
||||||
property: username
|
|
||||||
- secretKey: password
|
|
||||||
sourceRef:
|
|
||||||
storeRef:
|
|
||||||
name: bitwarden-login
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
remoteRef:
|
|
||||||
key: 5282ad16-c2dc-49d3-8fb3-b2e9012bab57
|
|
||||||
property: password
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
metadata:
|
||||||
name: postgres-user-matrix
|
name: postgres-user-matrix
|
||||||
namespace: db
|
namespace: db
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: gitea
|
chart: gitea
|
||||||
version: "12.5.3"
|
version: "12.6.0"
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: gitea-repository
|
name: gitea-repository
|
||||||
@@ -35,7 +35,7 @@ spec:
|
|||||||
storageClass: longhorn-default
|
storageClass: longhorn-default
|
||||||
|
|
||||||
image:
|
image:
|
||||||
tag: "1.25.5"
|
tag: "1.26.2"
|
||||||
|
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
@@ -66,8 +66,8 @@ spec:
|
|||||||
APP_NAME: "Gitea: Greg's Cup of Git"
|
APP_NAME: "Gitea: Greg's Cup of Git"
|
||||||
RUN_MODE: dev
|
RUN_MODE: dev
|
||||||
server:
|
server:
|
||||||
DOMAIN: "thehellings.com"
|
DOMAIN: "shire-zebra.ts.net"
|
||||||
ROOT_URL: "https://src.thehellings.com"
|
ROOT_URL: "https://gitea.shire-zebra.ts.net"
|
||||||
SSH_PORT: "2222"
|
SSH_PORT: "2222"
|
||||||
database:
|
database:
|
||||||
DB_TYPE: postgres
|
DB_TYPE: postgres
|
||||||
|
|||||||
@@ -76,4 +76,3 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: gitea-config
|
name: gitea-config
|
||||||
key: minio_secret
|
key: minio_secret
|
||||||
|
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
apiVersion: source.toolkit.fluxcd.io/v1
|
|
||||||
kind: HelmRepository
|
|
||||||
metadata:
|
|
||||||
name: gitlab-runner
|
|
||||||
spec:
|
|
||||||
interval: "24h"
|
|
||||||
url: https://charts.gitlab.io
|
|
||||||
---
|
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
||||||
kind: HelmRelease
|
|
||||||
metadata:
|
|
||||||
name: gitlab-runner
|
|
||||||
spec:
|
|
||||||
interval: 10m
|
|
||||||
chart:
|
|
||||||
spec:
|
|
||||||
chart: gitlab-runner
|
|
||||||
version: "0.83.1"
|
|
||||||
sourceRef:
|
|
||||||
kind: HelmRepository
|
|
||||||
name: gitlab-runner
|
|
||||||
interval: "1h"
|
|
||||||
dependsOn:
|
|
||||||
- name: external-secrets
|
|
||||||
namespace: external-secrets
|
|
||||||
- name: tailscae
|
|
||||||
namespace: tailscale
|
|
||||||
values:
|
|
||||||
crds:
|
|
||||||
create: true
|
|
||||||
includeCRDs: true
|
|
||||||
gitlabUrl: https://src.thehellings.com
|
|
||||||
runners:
|
|
||||||
secret: gitlab-runner
|
|
||||||
imagePullSecrets:
|
|
||||||
- name: image-pull-secrets
|
|
||||||
rbac:
|
|
||||||
create: true
|
|
||||||
serviceAccount:
|
|
||||||
create: true
|
|
||||||
metrics:
|
|
||||||
enabled: true
|
|
||||||
extraEnv:
|
|
||||||
CACHE_TYPE: s3
|
|
||||||
CACHE_SHARED: "true"
|
|
||||||
CACHE_S3_BUCKET_NAME: gitlab-runner-cache
|
|
||||||
CACHE_S3_INSECURE: "true"
|
|
||||||
extraEnvFrom:
|
|
||||||
PACKER_GITHUB_API_TOKEN:
|
|
||||||
secretKeyRef:
|
|
||||||
name: gitlab-runner
|
|
||||||
key: PACKER_GITHUB_API_TOKEN
|
|
||||||
CACHE_S3_SERVER_ADDRESS:
|
|
||||||
secretKeyRef:
|
|
||||||
name: gitlab-runner
|
|
||||||
key: CACHE_S3_SERVER_ADDRESS
|
|
||||||
CACHE_S3_ACCESS_KEY:
|
|
||||||
secretKeyRef:
|
|
||||||
name: s3-access
|
|
||||||
key: username
|
|
||||||
CACHE_S3_SECRET_KEY:
|
|
||||||
secretKeyRef:
|
|
||||||
name: s3-access
|
|
||||||
key: password
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
namespace: gitlab-runner
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- namespace.yaml
|
|
||||||
- secrets.yaml
|
|
||||||
- chart.yaml
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: gitlab-runner
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: gitlab-runner
|
|
||||||
namespace: gitlab-runner
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
name: bitwarden-fields
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
target:
|
|
||||||
name: gitlab-runner
|
|
||||||
deletionPolicy: Delete
|
|
||||||
template:
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
runner-registration-token: ""
|
|
||||||
runner-token: "{{ .runnerToken }}"
|
|
||||||
PACKER_GITHUB_API_TOKEN: "{{ .PACKER_GITHUB_API_TOKEN }}"
|
|
||||||
CACHE_S3_SERVER_ADDRESS: "{{ .CACHE_S3_SERVER_ADDRESS }}"
|
|
||||||
data:
|
|
||||||
- secretKey: runnerToken
|
|
||||||
remoteRef:
|
|
||||||
key: &key 53719920-b100-4355-8c80-b2f9002fad22
|
|
||||||
property: CI_SERVER_TOKEN
|
|
||||||
- secretKey: PACKER_GITHUB_API_TOKEN
|
|
||||||
remoteRef:
|
|
||||||
key: *key
|
|
||||||
property: PACKER_GITHUB_API_TOKEN
|
|
||||||
- secretKey: CACHE_S3_SERVER_ADDRESS
|
|
||||||
remoteRef:
|
|
||||||
key: *key
|
|
||||||
property: CACHE_S3_SERVER_ADDRESS
|
|
||||||
# Includes
|
|
||||||
# CI_SERVER_TOKEN
|
|
||||||
# PACKER_GITHUB_API_TOKEN
|
|
||||||
# CACHE_S3_SERVER_ADDRESS
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: s3-access
|
|
||||||
namespace: gitlab-runner
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
name: bitwarden-login
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
target:
|
|
||||||
name: s3-access
|
|
||||||
deletionPolicy: Delete
|
|
||||||
data:
|
|
||||||
- secretKey: username
|
|
||||||
remoteRef:
|
|
||||||
key: &key 04dd39c2-268d-4a33-aa4c-b1550166139f
|
|
||||||
property: username
|
|
||||||
- secretKey: password
|
|
||||||
remoteRef:
|
|
||||||
key: *key
|
|
||||||
property: password
|
|
||||||
---
|
|
||||||
apiVersion: external-secrets.io/v1
|
|
||||||
kind: ExternalSecret
|
|
||||||
metadata:
|
|
||||||
name: image-pull-secrets
|
|
||||||
namespace: gitlab-runner
|
|
||||||
spec:
|
|
||||||
secretStoreRef:
|
|
||||||
name: bitwarden-login
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
target:
|
|
||||||
deletionPolicy: Delete
|
|
||||||
template:
|
|
||||||
type: kubernetes.io/dockerconfigjson
|
|
||||||
data:
|
|
||||||
.dockerconfigjson: >-
|
|
||||||
{
|
|
||||||
"auths": {
|
|
||||||
"https://index.docker.io/v1/": {
|
|
||||||
"username": "{{ .user }}",
|
|
||||||
"password": "{{ .password }}",
|
|
||||||
"email": "greg.hellings@gmail.com",
|
|
||||||
"auth": "{{ .auth }}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
data:
|
|
||||||
- secretKey: user
|
|
||||||
remoteRef:
|
|
||||||
key: &key f560ae38-368c-4e58-898c-aeb90012d597
|
|
||||||
property: username
|
|
||||||
- secretKey: password
|
|
||||||
remoteRef:
|
|
||||||
key: *key
|
|
||||||
property: password
|
|
||||||
- secretKey: auth
|
|
||||||
sourceRef:
|
|
||||||
storeRef:
|
|
||||||
name: bitwarden-fields
|
|
||||||
kind: ClusterSecretStore
|
|
||||||
remoteRef:
|
|
||||||
key: *key
|
|
||||||
property: auth
|
|
||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: longhorn
|
chart: longhorn
|
||||||
version: "1.11.1"
|
version: "1.11.2"
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: longhorn
|
name: longhorn
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ resources:
|
|||||||
- mariadb-operator
|
- mariadb-operator
|
||||||
- databases
|
- databases
|
||||||
- matrix
|
- matrix
|
||||||
#- gitlab-runner
|
|
||||||
- immich
|
- immich
|
||||||
- monitoring
|
- monitoring
|
||||||
- pinchflat
|
- pinchflat
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ spec:
|
|||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: mariadb-operator
|
name: mariadb-operator
|
||||||
interval: "1h"
|
interval: "1h"
|
||||||
|
version: "26.3.0"
|
||||||
---
|
---
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
@@ -33,6 +34,7 @@ spec:
|
|||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: mariadb-operator
|
name: mariadb-operator
|
||||||
interval: "1h"
|
interval: "1h"
|
||||||
|
version: "26.3.0"
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: mariadb-operator-crds
|
- name: mariadb-operator-crds
|
||||||
- name: longhorn
|
- name: longhorn
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ spec:
|
|||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: mariadb-operator
|
name: mariadb-operator
|
||||||
interval: "1h"
|
interval: "1h"
|
||||||
|
version: "26.3.0"
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: mariadb-operator-crds
|
- name: mariadb-operator-crds
|
||||||
- name: mariadb-operator
|
- name: mariadb-operator
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ in
|
|||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true; # (!pkgs.stdenv.hostPlatform.isDarwin);
|
enable = true; # (!pkgs.stdenv.hostPlatform.isDarwin);
|
||||||
|
configPath = if pkgs.stdenv.hostPlatform.isDarwin then "${config.home.homeDirectory}/Library/Application Support/Firefox" else "${config.xdg.configHome}/mozilla/firefox";
|
||||||
package = pkgs.firefox-bin;
|
package = pkgs.firefox-bin;
|
||||||
policies = {
|
policies = {
|
||||||
DisableAppUpdate = true;
|
DisableAppUpdate = true;
|
||||||
|
|||||||
@@ -316,6 +316,26 @@
|
|||||||
name = "Buildbot";
|
name = "Buildbot";
|
||||||
url = "http://jeremiah.shire-zebra.ts.net:8010/";
|
url = "http://jeremiah.shire-zebra.ts.net:8010/";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Garage WebUI";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30186/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Garage RPC";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30187/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Garage S3 API";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30188/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Garage S3 Web";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30189/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Garage Admin";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30190/";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@@ -399,16 +419,24 @@
|
|||||||
name = "Media";
|
name = "Media";
|
||||||
bookmarks = [
|
bookmarks = [
|
||||||
{
|
{
|
||||||
name = "Prowlarr";
|
name = "Flaresolverr";
|
||||||
url = "https://hosea.shire-zebra.ts.net:9696/";
|
url = "http://nas1.shire-zebra.ts.net:30098";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Transmission";
|
name = "Prowlarr";
|
||||||
url = "https://hosea.shire-zebra.ts.net:9091/";
|
url = "http://nas1.shire-zebra.ts.net:30050/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Sonarr (TV)";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30113/";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Radarr (Movies)";
|
name = "Radarr (Movies)";
|
||||||
url = "https://hosea.shire-zebra.ts.net:7878/";
|
url = "http://nas1.shire-zebra.ts.net:30025/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Deluge";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30038/";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-5
@@ -58,12 +58,18 @@ in
|
|||||||
"gregory.hellings"
|
"gregory.hellings"
|
||||||
]; # For home and for work machines
|
]; # For home and for work machines
|
||||||
substituters =
|
substituters =
|
||||||
(if cfg.cache then [
|
(
|
||||||
|
if cfg.cache then
|
||||||
|
[
|
||||||
#"http://chronicles.shire-zebra.ts.net:9000/binary-cache/"
|
#"http://chronicles.shire-zebra.ts.net:9000/binary-cache/"
|
||||||
"http://nas1.shire-zebra.ts.net:8080/default"
|
"http://niks3.nas1.shire-zebra.ts.net:30189/"
|
||||||
] else [
|
#"http://nas1.shire-zebra.ts.net:8080/default"
|
||||||
"http://nas1.thehellings.lan:8080/default"
|
]
|
||||||
])
|
else
|
||||||
|
[
|
||||||
|
"http://niks3.nas1.thehellings.lan:30189/"
|
||||||
|
]
|
||||||
|
)
|
||||||
++ [
|
++ [
|
||||||
"https://ai.cachix.org"
|
"https://ai.cachix.org"
|
||||||
"https://nixpkgs-python.cachix.org"
|
"https://nixpkgs-python.cachix.org"
|
||||||
@@ -73,6 +79,7 @@ in
|
|||||||
"https://nixhelm.cachix.org"
|
"https://nixhelm.cachix.org"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
|
"niks3:8iztr/NACwYEK5O7JJtGFGuv+ho/cmwql8NeoCiXNto="
|
||||||
#"chronicles.shire-zebra.ts.net:0qWYHn3gGllXChhAaaxKlNZtRy6yG/XJs1RFSqV3nW8="
|
#"chronicles.shire-zebra.ts.net:0qWYHn3gGllXChhAaaxKlNZtRy6yG/XJs1RFSqV3nW8="
|
||||||
"default:DTGxNijw2D8FrZJPT1pFTWcLqbt60tovL+9Z+VW0HRY="
|
"default:DTGxNijw2D8FrZJPT1pFTWcLqbt60tovL+9Z+VW0HRY="
|
||||||
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
|
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
./ceph.nix
|
./ceph.nix
|
||||||
./db.nix
|
./db.nix
|
||||||
./gitea-runner.nix
|
./gitea-runner.nix
|
||||||
./gitlab-runner.nix
|
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./home.nix
|
./home.nix
|
||||||
./kde.nix
|
./kde.nix
|
||||||
|
|||||||
@@ -45,22 +45,27 @@ in
|
|||||||
"debian-latest:docker://node:25-trixie"
|
"debian-latest:docker://node:25-trixie"
|
||||||
|
|
||||||
"ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
|
"ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
|
||||||
|
"ubuntu-26.04:docker://docker.gitea.com/runner-images:ubuntu-26.04"
|
||||||
"ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04"
|
"ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04"
|
||||||
"ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
|
"ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
|
||||||
|
|
||||||
"ubuntu-full-latest:docker://ghcr.io/catthehacker/ubuntu:full-latest"
|
"ubuntu-full-latest:docker://ghcr.io/catthehacker/ubuntu:full-latest"
|
||||||
|
"ubuntu-full-26.04:docker://ghcr.io/catthehacker/ubuntu:full-26.04"
|
||||||
"ubuntu-full-24.04:docker://ghcr.io/catthehacker/ubuntu:full-24.04"
|
"ubuntu-full-24.04:docker://ghcr.io/catthehacker/ubuntu:full-24.04"
|
||||||
"ubuntu-full-22.04:docker://ghcr.io/catthehacker/ubuntu:full-22.04"
|
"ubuntu-full-22.04:docker://ghcr.io/catthehacker/ubuntu:full-22.04"
|
||||||
|
|
||||||
"ubuntu-act-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
|
"ubuntu-act-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
|
||||||
|
"ubuntu-act-26.04:docker://ghcr.io/catthehacker/ubuntu:act-26.04"
|
||||||
"ubuntu-act-24.04:docker://ghcr.io/catthehacker/ubuntu:act-24.04"
|
"ubuntu-act-24.04:docker://ghcr.io/catthehacker/ubuntu:act-24.04"
|
||||||
"ubuntu-act-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04"
|
"ubuntu-act-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04"
|
||||||
|
|
||||||
"ubuntu-runner-latest:docker://ghcr.io/catthehacker/ubuntu:runner-latest"
|
"ubuntu-runner-latest:docker://ghcr.io/catthehacker/ubuntu:runner-latest"
|
||||||
|
"ubuntu-runner-26.04:docker://ghcr.io/catthehacker/ubuntu:runner-26.04"
|
||||||
"ubuntu-runner-24.04:docker://ghcr.io/catthehacker/ubuntu:runner-24.04"
|
"ubuntu-runner-24.04:docker://ghcr.io/catthehacker/ubuntu:runner-24.04"
|
||||||
"ubuntu-runner-22.04:docker://ghcr.io/catthehacker/ubuntu:runner-22.04"
|
"ubuntu-runner-22.04:docker://ghcr.io/catthehacker/ubuntu:runner-22.04"
|
||||||
|
|
||||||
"ubuntu-rust-latest:docker://ghcr.io/catthehacker/ubuntu:rust-latest"
|
"ubuntu-rust-latest:docker://ghcr.io/catthehacker/ubuntu:rust-latest"
|
||||||
|
"ubuntu-rust-26.04:docker://ghcr.io/catthehacker/ubuntu:rust-26.04"
|
||||||
"ubuntu-rust-24.04:docker://ghcr.io/catthehacker/ubuntu:rust-24.04"
|
"ubuntu-rust-24.04:docker://ghcr.io/catthehacker/ubuntu:rust-24.04"
|
||||||
"ubuntu-rust-22.04:docker://ghcr.io/catthehacker/ubuntu:rust-22.04"
|
"ubuntu-rust-22.04:docker://ghcr.io/catthehacker/ubuntu:rust-22.04"
|
||||||
|
|
||||||
|
|||||||
@@ -1,82 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.greg.runner;
|
|
||||||
environmentVariables = {
|
|
||||||
EFI_DIR = "${pkgs.OVMF.fd}/FV/";
|
|
||||||
STORAGE_URL = "s3.thehellings.lan:9000";
|
|
||||||
};
|
|
||||||
runnerCfg = file: {
|
|
||||||
inherit environmentVariables;
|
|
||||||
authenticationTokenConfigFile = file;
|
|
||||||
executor = "shell";
|
|
||||||
limit = cfg.threads;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
# We want exactly one of these to be true, but not both. Neither can both be false
|
|
||||||
{
|
|
||||||
options.greg.runner = {
|
|
||||||
enable = lib.mkEnableOption "Enable as a gitlab-runner with both libvirt and virtualbox";
|
|
||||||
|
|
||||||
threads = lib.mkOption {
|
|
||||||
default = 5;
|
|
||||||
type = lib.types.int;
|
|
||||||
description = "The maximum number of concurrent jobs";
|
|
||||||
};
|
|
||||||
|
|
||||||
qemu = lib.mkEnableOption "Enable the qemu host (mutually exclusive with vbox)";
|
|
||||||
vbox = lib.mkEnableOption "Enable the vbox host (mutually exclusive with qemu)";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable ({
|
|
||||||
# assertions = [
|
|
||||||
# {
|
|
||||||
# assertion = cfg.qemu || cfg.vbox && (cfg.qemu != cfg.vbox);
|
|
||||||
# message = "You must enable exactly one of qemu or vbox";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# Shared configurations
|
|
||||||
age.secrets = {
|
|
||||||
qemu.file = ../../secrets/gitlab/nixos-qemu-shell.age;
|
|
||||||
vbox.file = ../../secrets/gitlab/nixos-vbox-shell.age;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gitlab-runner = {
|
|
||||||
enable = false;
|
|
||||||
settings.concurrent = cfg.threads;
|
|
||||||
services = {
|
|
||||||
qemu = lib.mkIf cfg.qemu (runnerCfg config.age.secrets.qemu.path);
|
|
||||||
vbox = lib.mkIf cfg.vbox (runnerCfg config.age.secrets.vbox.path);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.gitlab-runner = {
|
|
||||||
serviceConfig = {
|
|
||||||
DevicePolicy = lib.mkForce "auto";
|
|
||||||
User = "root";
|
|
||||||
DynamicUser = lib.mkForce false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
users.extraGroups.vboxusers.members = lib.optional cfg.vbox "greg";
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
libvirtd = lib.mkIf cfg.qemu {
|
|
||||||
enable = true;
|
|
||||||
allowedBridges = [
|
|
||||||
"br0"
|
|
||||||
"virbr0"
|
|
||||||
];
|
|
||||||
onBoot = "ignore"; # only restart VMs labeled 'autostart'
|
|
||||||
};
|
|
||||||
virtualbox.host = lib.mkIf cfg.vbox {
|
|
||||||
enable = true;
|
|
||||||
enableExtensionPack = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -18,35 +17,9 @@ with lib;
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg {
|
config = mkIf cfg {
|
||||||
age.secrets.attic.file = ../../secrets/attic.age;
|
|
||||||
networking.domain = "thehellings.lan";
|
networking.domain = "thehellings.lan";
|
||||||
time.timeZone = "America/Chicago";
|
time.timeZone = "America/Chicago";
|
||||||
|
|
||||||
systemd.services.attic-client = {
|
|
||||||
enable = true;
|
|
||||||
description = "Attic client watch-store service";
|
|
||||||
after = [ "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5s";
|
|
||||||
};
|
|
||||||
preStart = ''
|
|
||||||
set -x
|
|
||||||
mkdir -p $XDG_CONFIG_HOME/attic
|
|
||||||
cp ${config.age.secrets.attic.path} $XDG_CONFIG_HOME/attic/config.toml
|
|
||||||
'';
|
|
||||||
script = "${pkgs.attic-client}/bin/attic watch-store --ignore-upstream-cache-filter default";
|
|
||||||
environment = {
|
|
||||||
XDG_CONFIG_HOME = "/var/lib/attic-client";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"d /var/lib/attic-client 0755 root root -"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Open Prometheus exporter ports on LAN-connected hosts only.
|
# Open Prometheus exporter ports on LAN-connected hosts only.
|
||||||
# NOT in baseline.nix to avoid exposing these on internet-facing hosts (e.g. linode).
|
# NOT in baseline.nix to avoid exposing these on internet-facing hosts (e.g. linode).
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ let
|
|||||||
url = "https://github.com/fluxcd/flux2/releases/download/v2.7.2/install.yaml";
|
url = "https://github.com/fluxcd/flux2/releases/download/v2.7.2/install.yaml";
|
||||||
sha256 = "sha256-Qs1qJmgZm8q9xZsORjT/N/wzpbWVVODXtzDpjnAYMuQ=";
|
sha256 = "sha256-Qs1qJmgZm8q9xZsORjT/N/wzpbWVVODXtzDpjnAYMuQ=";
|
||||||
};
|
};
|
||||||
|
keepaliveIp = "10.42.5.1";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.greg = {
|
options.greg = {
|
||||||
@@ -95,6 +96,7 @@ in
|
|||||||
"--supervisor-metrics=true"
|
"--supervisor-metrics=true"
|
||||||
"--tls-san ${config.networking.hostName}.thehellings.lan"
|
"--tls-san ${config.networking.hostName}.thehellings.lan"
|
||||||
"--tls-san ${config.networking.hostName}.shire-zebra.ts.net"
|
"--tls-san ${config.networking.hostName}.shire-zebra.ts.net"
|
||||||
|
"--tls-san ${keepaliveIp}"
|
||||||
];
|
];
|
||||||
manifests = {
|
manifests = {
|
||||||
cert-manager.source = cert-manager;
|
cert-manager.source = cert-manager;
|
||||||
@@ -116,7 +118,7 @@ in
|
|||||||
state = if (config.networking.hostName == "isaiah") then "MASTER" else "BACKUP";
|
state = if (config.networking.hostName == "isaiah") then "MASTER" else "BACKUP";
|
||||||
virtualIps = [
|
virtualIps = [
|
||||||
{
|
{
|
||||||
addr = "10.42.5.1/16";
|
addr = "${keepaliveIp}/16";
|
||||||
dev = cfg.vipInterface;
|
dev = cfg.vipInterface;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ let
|
|||||||
nebulaDomain = "nebula.thehellings.com";
|
nebulaDomain = "nebula.thehellings.com";
|
||||||
# Linode's public address — used by all non-lighthouse hosts to reach it.
|
# Linode's public address — used by all non-lighthouse hosts to reach it.
|
||||||
# Override with greg.nebula.lighthouseAddr if the public IP ever changes.
|
# Override with greg.nebula.lighthouseAddr if the public IP ever changes.
|
||||||
defaultLighthouseAddr = "linode.${nebulaDomain}";
|
defaultLighthouseAddr = "thehellings.com";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.greg.nebula = {
|
options.greg.nebula = {
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ with lib;
|
|||||||
|
|
||||||
target = mkOption {
|
target = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = ''The destination that is being proxied.'';
|
description = "The destination that is being proxied.";
|
||||||
example = "http://localhost:8080";
|
example = "http://localhost:8080";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ with lib;
|
|||||||
devices = {
|
devices = {
|
||||||
chronicles.id = "7FI6Y3M-C7YQEDI-IB345L6-RKLXMB6-AEIV57Y-3J2RCXQ-MK6QRNK-EINPXAE";
|
chronicles.id = "7FI6Y3M-C7YQEDI-IB345L6-RKLXMB6-AEIV57Y-3J2RCXQ-MK6QRNK-EINPXAE";
|
||||||
genesis.id = "YDTH4SD-GUAC5AA-SSYWYPZ-YMJW5LK-LE7PZKJ-GV2UJFZ-CU7LZAD-GTYWCQK";
|
genesis.id = "YDTH4SD-GUAC5AA-SSYWYPZ-YMJW5LK-LE7PZKJ-GV2UJFZ-CU7LZAD-GTYWCQK";
|
||||||
gitlab.id = "GKNOZWI-CNC2Q2F-R5GGGDX-RYFGHK4-CCC37LC-GVOEMJI-46QPC6G-AWFEOQE";
|
|
||||||
linode.id = "IJMMXPR-WNALZBD-FMJH5W5-WV7XGJY-HLJTKGT-5TKHJIH-75LT56D-UUZCYQE";
|
linode.id = "IJMMXPR-WNALZBD-FMJH5W5-WV7XGJY-HLJTKGT-5TKHJIH-75LT56D-UUZCYQE";
|
||||||
};
|
};
|
||||||
options = {
|
options = {
|
||||||
|
|||||||
+48
-2
@@ -9,11 +9,16 @@
|
|||||||
"tailscale": "100.64.0.0/10"
|
"tailscale": "100.64.0.0/10"
|
||||||
},
|
},
|
||||||
"hosts": {
|
"hosts": {
|
||||||
|
"builder2": {
|
||||||
|
"ip": "10.42.1.17",
|
||||||
|
"system": "x86_64-linux"
|
||||||
|
},
|
||||||
"chronicles": {
|
"chronicles": {
|
||||||
"ip": "10.42.1.4",
|
"ip": "10.42.1.4",
|
||||||
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS",
|
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS",
|
||||||
"external": true,
|
"external": true,
|
||||||
"ts": "100.119.228.115"
|
"ts": "100.119.228.115",
|
||||||
|
"aliases": ["s3"]
|
||||||
},
|
},
|
||||||
"exodus": {
|
"exodus": {
|
||||||
"ip": null,
|
"ip": null,
|
||||||
@@ -30,6 +35,15 @@
|
|||||||
"tags": ["router", "server"],
|
"tags": ["router", "server"],
|
||||||
"nebulaIp": "10.157.0.2"
|
"nebulaIp": "10.157.0.2"
|
||||||
},
|
},
|
||||||
|
"hermes": {
|
||||||
|
"external": true,
|
||||||
|
"ip": "10.42.1.18",
|
||||||
|
"mac": "BC:24:11:E4:72:AB",
|
||||||
|
"nebulaIp": "10.157.0.8",
|
||||||
|
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILFYyzz/9i5rXprCQj9IL1ulrbQ6E9BOSeOcvf4D/b0G",
|
||||||
|
"system": "x86_64-linux",
|
||||||
|
"tags": ["server"]
|
||||||
|
},
|
||||||
"hosea": {
|
"hosea": {
|
||||||
"ip": "10.42.1.7",
|
"ip": "10.42.1.7",
|
||||||
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLIwkTTXA56sUlUjEulXXZRvZy5H4a5ZwgKWLlpkQDz",
|
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLIwkTTXA56sUlUjEulXXZRvZy5H4a5ZwgKWLlpkQDz",
|
||||||
@@ -105,6 +119,7 @@
|
|||||||
"system": "aarch64-darwin"
|
"system": "aarch64-darwin"
|
||||||
},
|
},
|
||||||
"nas1": {
|
"nas1": {
|
||||||
|
"aliases": [ "*.nas1" ],
|
||||||
"external": true,
|
"external": true,
|
||||||
"ip": "10.42.1.14",
|
"ip": "10.42.1.14",
|
||||||
"ts": "100.114.187.61"
|
"ts": "100.114.187.61"
|
||||||
@@ -121,9 +136,40 @@
|
|||||||
"external": true,
|
"external": true,
|
||||||
"system": "x86_64-linux"
|
"system": "x86_64-linux"
|
||||||
},
|
},
|
||||||
"gitlab": {
|
"pve2": {
|
||||||
|
"external": true,
|
||||||
|
"ip": "10.42.1.15",
|
||||||
"system": "x86_64-linux"
|
"system": "x86_64-linux"
|
||||||
},
|
},
|
||||||
|
"pve2bmc": {
|
||||||
|
"derp": "10.42.2.129",
|
||||||
|
"external": true,
|
||||||
|
"mac": "00:25:90:4b:34:e8",
|
||||||
|
"ip": "10.42.6.2",
|
||||||
|
"system": "ipmi"
|
||||||
|
},
|
||||||
|
"pve3": {
|
||||||
|
"external": true,
|
||||||
|
"ip": "10.42.1.16",
|
||||||
|
"system": "x86_64-linux"
|
||||||
|
},
|
||||||
|
"pve3bmc": {
|
||||||
|
"derp": "10.42.2.181",
|
||||||
|
"external": true,
|
||||||
|
"ip": "10.42.6.3",
|
||||||
|
"mac": "00:25:90:4a:dc:2e",
|
||||||
|
"system": "ipmi"
|
||||||
|
},
|
||||||
|
"pve4": {
|
||||||
|
"external": true,
|
||||||
|
"ip": "10.42.1.17",
|
||||||
|
"system": "x86_64-linux"
|
||||||
|
},
|
||||||
|
"pve4bmc": {
|
||||||
|
"external": true,
|
||||||
|
"ip": "10.42.6.4",
|
||||||
|
"system": "ipmi"
|
||||||
|
},
|
||||||
"wsl": {
|
"wsl": {
|
||||||
"external": true,
|
"external": true,
|
||||||
"system": "aarch64-linux"
|
"system": "aarch64-linux"
|
||||||
|
|||||||
@@ -30,4 +30,3 @@ final: prev:
|
|||||||
tpmSupport = true;
|
tpmSupport = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// (import ../pkgs { pkgs = prev; })
|
|
||||||
|
|||||||
+18
-11
@@ -1,13 +1,14 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
system ? pkgs.stdenv.hostPlatform.system,
|
system ? pkgs.stdenv.hostPlatform.system,
|
||||||
|
top,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
c = pkgs.callPackage;
|
c = pkgs.newScope packages;
|
||||||
in
|
packages = if system == "x86_64-linux" then (allSys // x86Linux) else allSys;
|
||||||
{
|
allSys = {
|
||||||
#default = iso;
|
#default = iso;
|
||||||
#iso = top.self.nixosConfigurations.iso.config.system.build.isoImage;
|
#iso = top.self.nixosConfigurations.iso.config.system.build.isoImage;
|
||||||
#iso-beta = self.nixosConfigurations.iso-beta.config.system.build.isoImage;
|
#iso-beta = self.nixosConfigurations.iso-beta.config.system.build.isoImage;
|
||||||
@@ -15,6 +16,12 @@ in
|
|||||||
adblock_update = c ./adblock_update.nix { };
|
adblock_update = c ./adblock_update.nix { };
|
||||||
brew = c ./homebrew.nix { };
|
brew = c ./homebrew.nix { };
|
||||||
create_ssl = c ./create_ssl.nix { };
|
create_ssl = c ./create_ssl.nix { };
|
||||||
|
dockerCompat = pkgs.runCommand "docker-compat" {
|
||||||
|
nativeBuildInputs = [];
|
||||||
|
} ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s ${pkgs.podman}/bin/podman $out/bin/docker
|
||||||
|
'';
|
||||||
gcc-tune = c ./gcc-tune.nix { };
|
gcc-tune = c ./gcc-tune.nix { };
|
||||||
#gen-build = c ./gen-build { };
|
#gen-build = c ./gen-build { };
|
||||||
hms = c ./hms { };
|
hms = c ./hms { };
|
||||||
@@ -22,15 +29,15 @@ in
|
|||||||
inject = c ./inject.nix { };
|
inject = c ./inject.nix { };
|
||||||
setup-ssh = c ./setup-ssh { };
|
setup-ssh = c ./setup-ssh { };
|
||||||
upgrade-pg-cluster = c ./upgrade-pg-cluster.nix { };
|
upgrade-pg-cluster = c ./upgrade-pg-cluster.nix { };
|
||||||
}
|
};
|
||||||
// (
|
x86Linux = {
|
||||||
if system == "x86_64-linux" then
|
|
||||||
{
|
|
||||||
qemu-hook = c ./qemu-hook.nix { };
|
qemu-hook = c ./qemu-hook.nix { };
|
||||||
vfio_startup = c ./vfio_startup.nix { };
|
vfio_startup = c ./vfio_startup.nix { };
|
||||||
vfio_shutdown = c ./vfio_shutdown.nix { };
|
vfio_shutdown = c ./vfio_shutdown.nix { };
|
||||||
zim = c ./zim.nix { };
|
|
||||||
}
|
}
|
||||||
else
|
// (import ./zim {
|
||||||
{ }
|
inherit (top.nixpkgs-lib) lib;
|
||||||
)
|
inherit pkgs;
|
||||||
|
});
|
||||||
|
in
|
||||||
|
packages
|
||||||
|
|||||||
+48
-32
@@ -1,72 +1,88 @@
|
|||||||
{
|
{
|
||||||
"en": {
|
"en": {
|
||||||
"gutenberg": {
|
"gutenberg": {
|
||||||
"name": "gutenberg_en_all_2023-08.zim",
|
"name": "gutenberg_en_all",
|
||||||
"hash": "sha256-wWi0vTyMD/Es0w/jk9uyg4DN94080thPfT5uphEqbUc="
|
"version": "2023-08",
|
||||||
|
"hash": "sha256-OXmdHdsLZcW4nCUQsy7sMpUssS8NV7ztkCgS/nsISuw="
|
||||||
},
|
},
|
||||||
"phet": {
|
"phet": {
|
||||||
"name": "phet_en_all_2025-03.zim",
|
"name": "phet_en_all",
|
||||||
"hash": "sha256-HT/gVNydkOitny6oUl2A+JvbFDGAIeb0h+xbMeQ2Rqs="
|
"version": "2025-03",
|
||||||
|
"hash": "sha256-ARuUzU2o17J2/ZedHc2acXl33dtHCbQJEb72UQUEm1Y="
|
||||||
},
|
},
|
||||||
"wikibooks": {
|
"wikibooks": {
|
||||||
"name": "wikibooks_en_all_maxi_2025-10.zim",
|
"name": "wikibooks_en_all_maxi",
|
||||||
"hash": "sha256-zmcvrvGO+LEHt7x8/SoguBDODUyRXy9x5LUGAkS+fF8="
|
"version": "2025-10",
|
||||||
|
"hash": "sha256-ONBh/ze1Fv2Ffm5b9vDzYS/i2cWSa4pM4MLZnozr2n8="
|
||||||
},
|
},
|
||||||
"wikipedia": {
|
"wikipedia": {
|
||||||
"name": "wikipedia_en_all_maxi_2025-08.zim",
|
"name": "wikipedia_en_all_maxi",
|
||||||
"hash": "sha256-r7Cd0vjEb84Ftw+EwZSlqb8qhqm8WA3LAPdHAav7wrg="
|
"version": "2026-02",
|
||||||
|
"hash": "sha256-vwhTv5TtjFNSTl7mcoi8SJiBm8nUlq8rP4UrZYir3Sc="
|
||||||
},
|
},
|
||||||
"wikisource": {
|
"wikisource": {
|
||||||
"name": "wikisource_en_all_maxi_2025-11.zim",
|
"name": "wikisource_en_all_maxi",
|
||||||
"hash": "sha256-jPHh/C20PARN6K7aPNw3k9fFHhpwzsREi/1o1DIISS4="
|
"version": "2025-11",
|
||||||
|
"hash": "sha256-p1Jio+PMTZVSLIDIOBeMG3acXJg83CwQM7zIWDUyozM="
|
||||||
},
|
},
|
||||||
"wikiversity": {
|
"wikiversity": {
|
||||||
"name": "wikiversity_en_all_maxi_2025-11.zim",
|
"name": "wikiversity_en_all_maxi",
|
||||||
"hash": "sha256-0DaE2EUdHvaX3XqD3f0lwurSAaDZ4hEKtrMEutL5xt0="
|
"version": "2025-11",
|
||||||
|
"hash": "sha256-IG/gAUdc/vHRrIWGHhw8vMJdLWwqrNbfh+SiclQRIAI="
|
||||||
},
|
},
|
||||||
"wiktionary": {
|
"wiktionary": {
|
||||||
"name": "wiktionary_en_all_nopic_2025-09.zim",
|
"name": "wiktionary_en_all_nopic",
|
||||||
"hash": "sha256-EzrrruJQWY/3pP93WCTeCCfaPvpshqdkR0TFxVz7bEI="
|
"version": "2025-09",
|
||||||
|
"hash": "sha256-Ghcb60qeGaSJtTKQkJoMx/XucX7Lt1XY145lD3gHlMg="
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fr": {
|
"fr": {
|
||||||
"gutenberg": {
|
"gutenberg": {
|
||||||
"name": "gutenberg_fr_all_2025-10.zim",
|
"name": "gutenberg_fr_all",
|
||||||
"hash": "sha256-1gU7v//LYX/2LyIRjO02A1fWPQz9Y7Qt5ftgeazd3G8="
|
"version": "2025-10",
|
||||||
|
"hash": "sha256-gLHxLXJNwwcxM/mZHtoJ8ojbGQ1fugxgni/+RXccwhU="
|
||||||
},
|
},
|
||||||
"phet": {
|
"phet": {
|
||||||
"name": "phet_fr_all_2025-03.zim",
|
"name": "phet_fr_all",
|
||||||
"hash": "sha256-K56i55WPu5EMQHIrnnqhgJ32WozZ6oYD9X3IBytGA0A="
|
"version": "2025-03",
|
||||||
|
"hash": "sha256-CSboZNTIowLLhp1u9wkxH8xmu3LvQNx5q493AOYJRIc="
|
||||||
},
|
},
|
||||||
"wikibooks": {
|
"wikibooks": {
|
||||||
"name": "wikibooks_fr_all_maxi_2025-09.zim",
|
"name": "wikibooks_fr_all_maxi",
|
||||||
"hash": "sha256-PQSdPbBHwK3IfFPH5GsKaxkNGTlZVJNJEI8gNioBl1U="
|
"version": "2025-09",
|
||||||
|
"hash": "sha256-KHCc/73L5Bd9iZ47SRV6vpI8fVM1v9hk1TpEvTro2uo="
|
||||||
},
|
},
|
||||||
"wikipedia": {
|
"wikipedia": {
|
||||||
"name": "wikipedia_fr_all_maxi_2025-06.zim",
|
"name": "wikipedia_fr_all_maxi",
|
||||||
"hash": "sha256-zzDhITMd1nRMYTUlvn56l4VBnpFuhiNrhhYMcrrBuOQ="
|
"version": "2025-06",
|
||||||
|
"hash": "sha256-ve7Mbh96/ObNbV/KVNYZpfLN+HdWlJ7C5LItEdVkRH0="
|
||||||
},
|
},
|
||||||
"wikisource": {
|
"wikisource": {
|
||||||
"name": "wikisource_fr_all_maxi_2025-09.zim",
|
"name": "wikisource_fr_all_maxi",
|
||||||
"hash": "sha256-2gEY5nTBecrmg61VJerxO4/oV7dZJmRgzLkqrcocW/0="
|
"version": "2025-09",
|
||||||
|
"hash": "sha256-FdLYCjoT6Yk34AZKFND/NaBHNe+GzW9Ibpd6mVPWlxI="
|
||||||
},
|
},
|
||||||
"wikiversity": {
|
"wikiversity": {
|
||||||
"name": "wikiversity_fr_all_maxi_2025-09.zim",
|
"name": "wikiversity_fr_all_maxi",
|
||||||
"hash": "sha256-4vOxYiX3TYht7ARY+PeCJ0ArVZZn9TeGtwCieqn3xUw="
|
"version": "2025-09",
|
||||||
|
"hash": "sha256-55fdtw/cRezq6nkRp6wuwkukBiqsQKdwh9QWVAgFcBI="
|
||||||
},
|
},
|
||||||
"wiktionary": {
|
"wiktionary": {
|
||||||
"name": "wiktionary_fr_all_nopic_2025-11.zim",
|
"name": "wiktionary_fr_all_nopic",
|
||||||
"hash": "sha256-oQS8DzKioceCER1p1oAvaS1gRooMLJLYnCqy1aLARi4="
|
"version": "2025-11",
|
||||||
|
"hash": "sha256-P0CJptee5rDzccxyRDBzyRLuuFOcaLsJYi6DkBFUfIc="
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ht": {
|
"ht": {
|
||||||
"phet": {
|
"phet": {
|
||||||
"name": "phet_ht_all_2025-03.zim",
|
"name": "phet_ht_all",
|
||||||
"hash": "sha256-UjC0REJ5d5wIKccutZADX74IxvZuF+CD/caVzZfHg9s="
|
"version": "2025-03",
|
||||||
|
"hash": "sha256-bHrPzE8H7ptrP6r5wPlXSsXNlTiKxJ9KatABC4kwx+s="
|
||||||
},
|
},
|
||||||
"wikipedia": {
|
"wikipedia": {
|
||||||
"name": "wikipedia_ht_all_maxi_2025-09.zim",
|
"name": "wikipedia_ht_all_maxi",
|
||||||
"hash": "sha256-spT7EFXLnI0FWT9Vlvp7QEP0urntmQ2C+fQB5bVLoLE="
|
"version": "2026-04",
|
||||||
|
"hash": "sha256-qUX0pKxIyNsWX4V6kNIsP4Z9nc6TDhwdDR0MmpDOQFs="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
zimMetadata = builtins.fromJSON (builtins.readFile ./blobs.json);
|
||||||
|
oneZim =
|
||||||
|
sourceType: info:
|
||||||
|
pkgs.callPackage ./one_zim.nix {
|
||||||
|
inherit sourceType;
|
||||||
|
sourceName = info.name;
|
||||||
|
sourceHash = info.hash;
|
||||||
|
sourceVersion = info.version;
|
||||||
|
};
|
||||||
|
# Preserves structure in the blobs.json file, turning leaves into drvs
|
||||||
|
zimFileDrvs = builtins.mapAttrs (
|
||||||
|
_language: types: (builtins.mapAttrs (sourceType: info: oneZim sourceType info) types)
|
||||||
|
) zimMetadata;
|
||||||
|
# Flattens leaf drvs into the structure that flake packages expects
|
||||||
|
zimFilePkgs = builtins.listToAttrs (
|
||||||
|
lib.mapAttrsToListRecursiveCond (_path: x: !(x ? "name")) (_path: drv: {
|
||||||
|
inherit (drv) name;
|
||||||
|
value = drv;
|
||||||
|
}) zimFileDrvs
|
||||||
|
);
|
||||||
|
in
|
||||||
|
zimFilePkgs
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
sourceType,
|
||||||
|
sourceName,
|
||||||
|
sourceVersion,
|
||||||
|
sourceHash,
|
||||||
|
|
||||||
|
fetchurl,
|
||||||
|
stdenvNoCC,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
name = "zim-${sourceType}-${sourceName}.zim";
|
||||||
|
version = sourceVersion;
|
||||||
|
|
||||||
|
src = (
|
||||||
|
fetchurl {
|
||||||
|
url = "https://download.kiwix.org/zim/${sourceType}/${sourceName}_${sourceVersion}.zim";
|
||||||
|
hash = sourceHash;
|
||||||
|
}
|
||||||
|
# fetchtorrent {
|
||||||
|
# inherit (val) hash;
|
||||||
|
# url = "https://download.kiwix.org/zim/${type}/${val.name}.torrent";
|
||||||
|
# backend = "transmission";
|
||||||
|
# postUnpack = "mkdir -p $downloadedDirectory/tmp; mv $downloadedDirectory/*.zim $downloadedDirectory/tmp";
|
||||||
|
# }
|
||||||
|
);
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
preferLocalBuild = true;
|
||||||
|
installPhase = ''
|
||||||
|
set -x
|
||||||
|
ln -s ${finalAttrs.src} $out
|
||||||
|
'';
|
||||||
|
})
|
||||||
+2
-1
@@ -83,7 +83,7 @@ func getHash(ch chan result, file, category, language string) {
|
|||||||
// TODO: Only call this if the file doesn't already have a hash
|
// TODO: Only call this if the file doesn't already have a hash
|
||||||
// in the existing file
|
// in the existing file
|
||||||
fmt.Printf("Fetching hash for %s\n", file)
|
fmt.Printf("Fetching hash for %s\n", file)
|
||||||
cmd := exec.Command( "nix-prefetch-url", fmt.Sprintf("%s/%s/%s.torrent", BASE, category, file))
|
cmd := exec.Command( "nix-prefetch-url", fmt.Sprintf("%s/%s/%s", BASE, category, file))
|
||||||
out, err := cmd.Output()
|
out, err := cmd.Output()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Error fetching hash for %s (category: %s, language: %s): %v\n", file, category, language, err)
|
fmt.Printf("Error fetching hash for %s (category: %s, language: %s): %v\n", file, category, language, err)
|
||||||
@@ -115,6 +115,7 @@ type result struct {
|
|||||||
|
|
||||||
type Zim struct {
|
type Zim struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
Version string `json:"version"`
|
||||||
Hash string `json:"hash"`
|
Hash string `json:"hash"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+38
-37
@@ -1,38 +1,39 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 87huqg HqGj+5hXjRLJcrRMC3biBE8K9B/OAJj68gqTqg9ja1k
|
-> ssh-ed25519 87huqg cU4X1qZK41KRZ0pQvjGaVNDslGG9qmf0WROZIsq3WTE
|
||||||
K25Z2YGlWnUK02EUQmdNo0QM13apME/mc5w0gydrEDc
|
fjJ4+eYXeuTts1ZPbaB5YzhPoHi6UGewDmlzrwOeOGs
|
||||||
-> ssh-ed25519 8UnW5Q Pj4iDE8Q9FhzudZ341W+V2aaWuotfzOZzN18fRnPqh8
|
-> ssh-ed25519 8UnW5Q Ror4AvYpT9lzfnr+LgNu3XZpRKIjocRRZHD7Zb1h5GE
|
||||||
kujFDr1mL/0YrsyoVpWQhkEwwjXr3l3AbbD2787z8zo
|
krvgjoP6tgHsEWQCWA9z2VbBdwR5TmAA+xLmXoBNUYI
|
||||||
-> ssh-ed25519 UFfTmg Ga4FQrnrejoa6uSNDh0VMgB7ntPrp4Z2Ic8n5XCosHM
|
-> ssh-ed25519 UFfTmg qFTu8meX/IPp8DsbMgBX9LNRbVAeW1ge1GjMsbZwI3I
|
||||||
cquCWegeBg6Mtv3/t5RAEmh66p6oHBlQvbuJMaZTB6g
|
8YGOxIvbkC02Gy6TpPvxdAJkboB6RiXyMboDgY57HGw
|
||||||
-> ssh-ed25519 xNtnoA Mf9EJ6mB79mWBN383e8t/BZQVjB7mXuFKvhyJdT9GA0
|
-> ssh-ed25519 KbVVUw Ar4IGQSYFb+hIm8o3wI/9rgBgP4F2/W45YlUxsPnUCM
|
||||||
QnnrGVbZIHMDBS4ZZrj8BDwx6deSP10t2kLLzu2ewXs
|
tTPESO6d1pEumLGV+uew7IzqxdG9/EtGbb0vOfXtMRc
|
||||||
-> ssh-ed25519 aY2AXA 0Lop9E46qiaGNrFTVbgg0O1yKbqwCFmG9pjssoclMUM
|
-> ssh-ed25519 xNtnoA 4HBphnFMeJPSTQO3/GI7phbhW98gNALrvY3lFgBshkU
|
||||||
I5lOVEogB8XV9pkyqmYcFojvZlAX31ADlMyHgDluxjY
|
8adXWowmuIbNruPWNTE6x1Om2JstPUrUoaS97N+bhZI
|
||||||
-> ssh-ed25519 AQhf1g Ktn1BuWcwx0eJS0ZJugnRiTmvAht6ABOVzTDcw58HlM
|
-> ssh-ed25519 aY2AXA vmvo0o12q9meAnnAg+wDqDtkOTOFZ358ZrT5d62X2y4
|
||||||
7Vm9rx9P+rXDvrxTQnxxpUBZbvNRgd6UafmzuG0ePwM
|
Y0qxZmOiqhBsQT5XfJtK0m47Z+dOO27bA4iWXDF1n3U
|
||||||
-> ssh-ed25519 mOmPfg VhUpDomkduEthbPGMr4bFpLqVcXgn3OrQojPjA+s8k4
|
-> ssh-ed25519 AQhf1g p0Xv0K3xtwpNmfNN9lvQ39cZw8/G6ToDHdmWbuwk1yo
|
||||||
1nrS2JxDSSe6PvPRK9VNBh7RTMiFChSiM3xbCQAQw/4
|
Ds1oqffX9y+WzNsznWsF+/RUTNQkZzVW6Sw8X+vuoW4
|
||||||
-> ssh-ed25519 YJiRbw XVylSfHTRne3B5zWru6x+yhAPJEp9Jj27P0Y63Wp2SE
|
-> ssh-ed25519 mOmPfg rfAZzFVagHhbeK3esrQ67i61HWicvMiwal09Di+3K1A
|
||||||
APDEG5J9tBR1boxpsUBarSC8vN6q34KElRUK98fsQ+0
|
fxjUJS+640QyJo/Bg44ci+imnc3nLKgUUKr28AjSpAE
|
||||||
-> ssh-ed25519 0/WsKg FVXUmVyse3msAkDSkznhcUw5VYd4vwsKd9PCDBJwLiM
|
-> ssh-ed25519 YJiRbw 75uSheAYHchkQg64z6mo9h5SbN7jJ+wRo/89ZAhHM0w
|
||||||
hRIDpMGWWFu127Q/jvxr+ieSM7KQfNagqhUZUnTwJMM
|
xaBNhUzKhx4KKYEfu0v3av7fxge3r7Jgoym4SxAgx5U
|
||||||
-> ssh-ed25519 Nl/5yA qO4YJ4/gnfbLOdJFyGq1J4AJH5pMTPhR2IvEKMt4IlM
|
-> ssh-ed25519 Nl/5yA W+9F2FObW6hlX7gdzXCcD+XxVJD+7zjcY6cwfg2c+nY
|
||||||
Dyhj/RQQ3LxgJVc5drDdgw0cAJi1t3zCFnO1zWKaWIw
|
QOZdYtwrlUqUh57lceLQNx4qPlFcQaak+p8w+xvm4Is
|
||||||
-> ssh-ed25519 GdLgCQ GyVGc/nK0Zu3/Gm76KRvXHwjdnRvoM+WuY/psFaIv2Y
|
-> ssh-ed25519 GdLgCQ XtYujNgBU7VIYy4F5Sx8Lfma2eI8xObwsWlsTWVQ4nQ
|
||||||
1O56ZsNvSBzhcFRPoIOyUCMQCGQYn3w5ES2AfGP75uw
|
bj0pRWsqH3FxBwSv2cWuhLZSISY9BXK2yJT7K8lzc8Q
|
||||||
-> ssh-ed25519 tOH/HQ wR3dxHjLSzkHIG/6UX45qiGFqX0cHA18/oEFatBthUc
|
-> ssh-ed25519 tOH/HQ ij84H+oh2GuFQQ6u84ecs1DZWDE8PKiUo/5xShokJRg
|
||||||
J/gpGWp8kOdmtFs9A65B68lsnD68gxfheiOZfp0AeI4
|
WKCqL+TyxHmtG4W2HqiuuBT7NWUL1X1YAkbHk7vPcTs
|
||||||
-> ssh-ed25519 FpzvfQ 0sdlOKrumgCJedenPUNY/QSIDmhrP3J077qZxTwvdQE
|
-> ssh-ed25519 FpzvfQ FVbQ4Pj1Gcxi0R1QrfNbOjJExDET9cf6HJGEf3xaMFo
|
||||||
DdWxilImsFB/XXgbZNYXEjSCoqmVd0vaTH7rhR73fsw
|
b721HyfPvlsd+yAYonnFUvb9a11/NJtwPX6RSqPsvnc
|
||||||
-> ssh-ed25519 kdPvzQ 9PxMQp7Y4Gh0V2uMa8K6SmldUhcqcBfYgVtMkzzzdAc
|
-> ssh-ed25519 2UotMw z2IdT+cIwDEpbzcdPSzZXfpYdPuShklqNfatDVLGSgM
|
||||||
sS8Fqm1p72IPOKNZfJKIJTxTLoNt3MQaOI6w8qYCTRo
|
qM31ztK1C30tt09lQQcaP2B+k2NOxtkQBXcedx8xL5o
|
||||||
-> ssh-ed25519 onmXpg Ig9ABzLLazyW4wxkUmq87XR7hmUt6l5/X0R9Zf2qBlE
|
-> ssh-ed25519 kdPvzQ Ee7pccj9/YeQ+kUOpmDy0gHeCCNiVP8br954ZBoO+xY
|
||||||
n3DO7o4NdWRefqEkexyIJLeOQ8w1q9QN+wIslQNXIF4
|
w4JmkNKb3vIvBRY6FdB1tpdCO/I0xyrnHL/99W5UYms
|
||||||
-> ssh-ed25519 CnhD0g wtGoi7CzfIAs8ezcIF7ecjTXshD96xG8ZLlhYYaM6HQ
|
-> ssh-ed25519 onmXpg tPWNTbyC8ihTBwkj4xKPKgjONNE7X/By9064z2BEGyQ
|
||||||
4hwG3V1Cf/iYDsNXT0RmzWJnW5kxnBWNvX3ECrP1/oE
|
D6gjS7m3Dyk2BYhe5WjRAUFR3ayfsi4N6z0dklHFzWs
|
||||||
-> ssh-ed25519 4ep2UA AKSh5d04251XgyZKKscIJjU7RSpKclMqO5qPTEMQygo
|
-> ssh-ed25519 CnhD0g SDxHr7dhCuF4DCu0PF0EgvmPDcTYOwleqkRw2I0F4xs
|
||||||
wSyIxArdlbLafOKmUyrlUqOZQbF1PXZND/PAFYCjClU
|
WFzD7T2pQsDDwEovp6xpVXC1Uny9ImbrIuR5fSDLj1Y
|
||||||
--- DnRePhJDkX5QDmrkH5jiZkuljvOFaVm1BrqYMTDP3tg
|
-> ssh-ed25519 4ep2UA wmk4HIdMZ/3N9TB90WEJC9ZGXgSGPsN+4uo5P3LAwSs
|
||||||
\bºîç:ý]3\ô<™rÔhމ׋|ÈFz.R{FEÝá<RòôœÊ'=ðY”v xˆ˜o½ßÌF
|
Y99wQAsjnHgOhAEGd5CzYUd+0WXA3QVvcmt8z68RR8o
|
||||||
q
¤lî0¥ä»
|
--- UR17+b75zlMoHrIalvpAmdSegLhlbNIDnqZZBAI6LUo
|
||||||
|
Þc™Úxä=EŸÂËpÖ\”eÜ)Ñ£{š´Íû®2p=FkÑeæîẠO
nÈ€,ƒà´�¢Ž=ÌzƒnŠ>V|(Q
|
||||||
Binary file not shown.
@@ -1,38 +1,39 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 87huqg FccJVul84RKDnR/TVE5Ev6SAi9wi5d3UjyAYNCmncHk
|
-> ssh-ed25519 87huqg 2adw32Tmw7tjm3xy/PxRAukA4BkhHC6xMhP07hgP1R0
|
||||||
335MAD56KCN4ZGZSyj65MygHEhvyunxooQEby+tjJJg
|
ZxgOS1yxXmJ0fHcz1cRnChxcyby2BrNGcDNKXmJkB0Q
|
||||||
-> ssh-ed25519 8UnW5Q lGN+NyMtGXFXkmpBHr6cnioq7ji4RQU6nSEA7IbVLjI
|
-> ssh-ed25519 8UnW5Q LSb0iW8mFQp6R1EgpAeqPBnBYTffyQbnuHF4gbG9gwg
|
||||||
9CPRIUIBJcY17pomQx4usFpywYYWBcb4DKVS3rrcW8c
|
t6KO1HrgctPwz+xooRgAt350MApIQQJkNfYLxFEBF0o
|
||||||
-> ssh-ed25519 UFfTmg RsrK6+eHpdGn42Aek2c+sWSqGEPQuPCQ1cltmSNJ1RY
|
-> ssh-ed25519 UFfTmg gxk9KLVLlYsX7ipfhxtoeRmU2LA50PsJ92hSUem+Sjk
|
||||||
JLP7SKLeQXx+1EiVBSVb2eyFBC6f7rAmMx6c8MuRUuI
|
0IvqPWsOCUj7ViDWOzf49m+wDnq6ZD5FP2UXB1o43LU
|
||||||
-> ssh-ed25519 xNtnoA HBJnWH8buvy0uN0PWNBHWelQQcQ7sVuwX5PIxnmE71Y
|
-> ssh-ed25519 KbVVUw yVOQRLw8aMcoi3Bq8zVisFHYK5Jua5TCsxUdRtqn4AY
|
||||||
iPxler8tH9q3xvy/53Lz2wyyBtrQ+nCVZ/qRkK0LXZU
|
K7EJl3+WbqEmng14SIsDMcBRhO3MADuSD5Vvu4+/1+o
|
||||||
-> ssh-ed25519 aY2AXA RaRgPcFOxKx/BvPt56IEDltUiFF1wxFERpxEmybg6yA
|
-> ssh-ed25519 xNtnoA Zyqz/uE56D/KnED9zT5YZkN3fcBt4p9V4s4KItxC+Ag
|
||||||
ewJFmwI+3pTFwPDtPDitrEcK8dogu/4Y5dWIaCCSMWg
|
6jAtJ00gf+HLAWno+qjXbz+o+vl7BXuRuzJ6RUtKcIQ
|
||||||
-> ssh-ed25519 AQhf1g awiDTZLnt/wxMcz3Snn5rFV3irY0ma/cxYylmFx8uwY
|
-> ssh-ed25519 aY2AXA yliUQYKNuq/Oo92SbaM9hh0COTZtLp2EES++JFQqaWQ
|
||||||
zOU3skyoRENDxJldzaLjA2WOv24vD41thPSfS9VN9B8
|
ZkZGRr0cGp7JOsExxnq2YFTFETPiVS/dZfozVdeNdAQ
|
||||||
-> ssh-ed25519 mOmPfg 7bx2mIA0YoeyHfY6HccoDJWLCEjz0XQW+C0XZi09bkE
|
-> ssh-ed25519 AQhf1g dhzGNjEsT7hhX/K/ta+dJbXI3v2p6IyVXHWaS8nuzz4
|
||||||
2H8+g+4+itKcwy4NfOo4rz5gG45FZ4ilqbPnw5p5Jp4
|
Xab2y3S8AoLgnQNO4SdHx8ioG1DsWRJUfKM3RsmLkjQ
|
||||||
-> ssh-ed25519 YJiRbw H7FN13mZ11Im4R0cJs6Y0qs2xkLLqjEAM+QMUlt1XFI
|
-> ssh-ed25519 mOmPfg Wb+LA3666buEuwE7S5353mZdU5hkjRlB+zwe7niPCEY
|
||||||
xEak37igbuepX8/m5irRyJPUvYz+jMp1XENmsPLg6oU
|
0+A9g3FFQYT4N8lM0d3KjPOGNlxJ8pKpuvOoTR960Oc
|
||||||
-> ssh-ed25519 0/WsKg FPuZmZPpjXVooyVhDZoqu7b6sqXXxN/Y3giiWmtfc0I
|
-> ssh-ed25519 YJiRbw 7VQNPch30Ew5NAHh5Bmbe3JdCq7bTEG/ndCo2PC0Vx4
|
||||||
rNRSpOubIcbm5V/yOgprZ/D0KqbmBAf47ySfnejK7xo
|
TmhQJzu/m7DfLnzsKl7tcIHl0k+TGJ7OasFWgwaF+YA
|
||||||
-> ssh-ed25519 Nl/5yA 9D+4HJ14L5KX2FzGRhltE/pPePUgZSufkA/t+aN3Umo
|
-> ssh-ed25519 Nl/5yA Jq1ncqj6vnygwCQeSdYttMmWkikpsQZVm8MpZgGlFwk
|
||||||
jVH3RgVxqNgxu/+8Y/09nUqlUezl0VaYlD6HdqzO5Jg
|
mTz+IK0CYcBlqAJ7/eNYdYchQiyfK+ILAjraJaULGiE
|
||||||
-> ssh-ed25519 GdLgCQ kpfgJsFC+alhCcXyJzm4qrGO/WzY52PeUfPxBWNQshE
|
-> ssh-ed25519 GdLgCQ cRx9RTWXYDqtBDi9MKLVW6wRXjbwk8JZ8IWHwc3Xwww
|
||||||
pDrLxhlC6SZ0HoohQahcIMGf6yE/LX9qjIKvlfenABA
|
4VhHvHBVnKLo/8dqfMORCTEV4pGGvs7QaQjlJi97GTA
|
||||||
-> ssh-ed25519 tOH/HQ ghzvgNIYF4NUN23+juvWcSF9a33kmMi3b14L1DijlBY
|
-> ssh-ed25519 tOH/HQ CLzuVJ/C6CXqOHSTAwlHSSnHTQdhtZHOX6JN9DlXC3c
|
||||||
p2SYIjMzVgMiRUkRidlfme9ZaANLL87phGWtMtvPd24
|
HmPZ4REBwaJWcRMTyThIZ5ZKz6P167+Qf6gCIdozblw
|
||||||
-> ssh-ed25519 FpzvfQ CdGC9zHx5NTdevkHc0u0GUO/qWR9eoWK5gkqht6SvyA
|
-> ssh-ed25519 FpzvfQ jx88nIHu2H8XJky3qAQhTr9wE54D1eZgaR82UrfJFxY
|
||||||
hJ2ZqqVISnPfBGt10H0m6d6ZuLglq5qGdZj/lMZxVxg
|
pWIJCFJWoZq5ivah4Ynlo9ob9hGAkXJT5UyGbV5s0hk
|
||||||
-> ssh-ed25519 kdPvzQ sFoIh+4wud+wg0XTE/GvDchVyLsnd/QNS0FU5LFjBjU
|
-> ssh-ed25519 2UotMw EOSb36AGm6JZYAVhCJAr+H77rGKLdMef2GwLRlH1GAI
|
||||||
RGpXyV247iG28UonB97cE1I0pghwq0eVCoRoRdzxvJI
|
1ZaO3t5TAI9t0d7E4X5mSUjAmdqyQenjP65Mr8pITb4
|
||||||
-> ssh-ed25519 onmXpg 7NX8gGOL8gGli/gIIlItygEh6amLgUCEoNch6PrxyVk
|
-> ssh-ed25519 kdPvzQ N0bGzFuEbcSdKk98BManPHjHM3rYrImzI6JdIOUTzho
|
||||||
4Ysx7HznkM7yA3FE4f7rHIQYXTXzSHizT07bo0jCYqI
|
DV3TR0f25qcv9GJ5yuq1psKlcioXnwLyAcvXNsFq3Zg
|
||||||
-> ssh-ed25519 CnhD0g sU3lmlZuRMTCnDxoRfmmZUvZ4AkS0w/D38w3CTKfkQY
|
-> ssh-ed25519 onmXpg rHXkabxqIP99M1SZgwCOx5thK3ibguONh+42sGL5Uk0
|
||||||
usqUhcEZv/M7nIdPY85LVZLcp7aktiAopF/bvK7xu8I
|
AF+sIC4kvcMMlTmjgsBNFjXnMkgnHI7lfq7tiUWz2zk
|
||||||
-> ssh-ed25519 4ep2UA 89XKS2W/kjrFZYLxWmKFpGfwvVo1r8kiRT27vU+Q9Wg
|
-> ssh-ed25519 CnhD0g YFuDnyk5ML+8kqAZqznPkhrdlebgPO8ncatfLeDNNxY
|
||||||
b04KiZG/ucpSkJ+DFV+JHniYdzOMTKpR8zK/XVkUWGI
|
cnu39kgkX5CdCy9dmcYKvlQPu5NxqdKkbuoUkKb+FI0
|
||||||
--- C+p6CysdP9b8jPInNdYJrbQziDTry08D2okJRVngKMg
|
-> ssh-ed25519 4ep2UA q1lMSlB+P8mgPeHrMnlshDq0ckjAnHQ74Mp+2kwpzXg
|
||||||
µß±±úªc½ð¸±¸ò¹cÀ>‹Ù· ÂÂ�f_÷V³{sª¹âÿ–}EJ^6v<«õ¦è6�݉=Tk²A€O¬üögŸCËZâÂKê×rw ’ØXP½ég'm~û`-Ø|çKOƒ�n¸àD%7Ïa~¨¹|Œf�gîÆqËP G_£õ|çÕ–n^ñr‚µ�ü<ä°òH°æ¹²»¬-Ìûs]Øc™>}º›8G‡¿BM©Û„‡_¢-Ð q¶M‡�Šî§Þ2hÙñÙ€3nýáásrO< ò¥
|
0Lhvb7tvDmLKoFhACmRtWKhSVtCc31IjSENhih5GVEc
|
||||||
v` ËŠX;ǯ•n‘e°†<pÜ%š#Ø¥q&¿·â
æ”?€I%�8ê
oŒ8=R¤Çã@P]=U®Hð[ÄÕ7ú …‹% ¡ÏÞôÖÞ5Û¨üm¼»½ö-F�Á‹~±7)è`äÎ*Zo- @“²ÕþáëÈá
|
--- FjiOMHh95R2Q8Ft3G/7VUbojHcWC3JXZ+nXBnZ9fSk0
|
||||||
|
h6~l|\fhIª¨ðå —,`•�¼5ÐÏ¥²Íkorä¥w˜ÆžqÊ \vIËû¹woÅ„geÓ¡»J)\+ÅY˜å»±&uP&¹Ã³Ú�êëݪR³ø¸<2™;Ãqþ¬ïtýRƒ¸²«qŸ'E’¢áUëþé)ø›ßµ5]!¸{’o!Ï#ætƒ×mÉu¯5ÝC™ªövÕ�1ÿRéÐ’ýš|óᤅ$ÁP¹”“ëßéË6€åºŽ„B
óÀVéÅù@1LÉgÄð¼À¸‡_ŒƒÒÑ•;³tWý²yŽ`K
�®®„z(Ç@}Ú?Üå~£¬¢8+¥‹„“7Ül¨Ë2†_^¦n“érˆë¢/¹ÜÀ‡€Êk«¢fMð)áÅ+6Ø)Ù²²ÞØÝÍÙîyë´Ñ ÏRTQ xn6•ï Þæ�Ó?-B×ìY�Z“F²~½WÖê'
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,17 +1,41 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 aY2AXA HU+4yVH3avBUxCMrDare7bCepx+4q8p2O/XNqjUSxyY
|
-> ssh-ed25519 87huqg yQ+ChAVhaF2JUmR5l4XVxA15edPMM2mtfTIYskYxMA0
|
||||||
Pe4scldjyE3qj7iingCerOJ88mCPf7dpPGyCbdC32t8
|
XLQioeVlZvwEP4lonmbWK3XDtwuhZbtrJud+Tov3oY0
|
||||||
-> ssh-ed25519 AQhf1g 02v5PhAfq3Em/ULRq2Rb7CqB1Ayw0USqmbWDAqGCzCc
|
-> ssh-ed25519 8UnW5Q w13QV7AO2a8PkB8ADjcGDsSy6CJmitnqeglHXuCCrXE
|
||||||
wJxmhi2P/ffPoCDMkzgcD+WJphRuWg6eyS/8pXjm4tc
|
iMkDqTBuTg6qxB8g0QVhR02Q1XhIpJJ+dmIkLSCEj48
|
||||||
-> ssh-ed25519 YJiRbw wyOuC5ktkSHmu3jg1XW2ieUsKHPJeH0QhYAUj9ibVmI
|
-> ssh-ed25519 UFfTmg 68xIf6Ws46UFsCGM60ZI+WWEw23tCLrS8txQobkxT1I
|
||||||
rw6I5S2Eu9U2qxGvdM0MwRyQ2JyEjvS4mnK7cpA0T9Y
|
pam9Uh9cUH/lTAT4SExDxVPVKMU21yKxvD/jFupNcjQ
|
||||||
-> ssh-ed25519 CnhD0g 2Rh5MJAxo/VAy2yo9X6fCiGwnv8l0UWnBiUb3ecinEw
|
-> ssh-ed25519 KbVVUw zVGt6E/y6yo5Svg3pT/PFrJqdcDItTtY7iTtHw3xAAs
|
||||||
+WemY5Ydy91b0udadcW7y5cv9wpTCsld/mL3BFlpx5U
|
pHAB9mcwcKNq8Qk1VWIMcG5gKS8B6hMbhAaT7J8zFBs
|
||||||
-> ssh-ed25519 kdPvzQ gCLwlt5M8LzpXlj8ARE0SG/FjDaIQfUdE5vR0UjkazA
|
-> ssh-ed25519 xNtnoA Q8qCsBO+xEbY8HKO2QjsrBASa3GMkN+/NhA4YloQh1A
|
||||||
JG7Mb0JEXcXLvnOrQfKpvNnVaUFsjAJS/d4VKRckuZc
|
WOqB67PuMU3po5SPFEuskSw3QYz/80zKVlV2cR1wb/0
|
||||||
-> ssh-ed25519 tOH/HQ W+HVeDX+2GdoCS0Tqlg+I5tbzPsdiQD5DvLQ20qk5BY
|
-> ssh-ed25519 aY2AXA YxrS5wf4BgPdckDW+hpymBhBxBsiESkO+9IWI6xRjSU
|
||||||
v8hIW0lg9oqnYeJuU1CiP57Rr+P9e4D0kYX7oKuIFCU
|
szYlR4jB+Vm43sMWoI6mt/pNi9K1ESCvvPvNtqXI5qo
|
||||||
-> ssh-ed25519 4ep2UA BE2nO/96pduUhsUuEStqfuBth8DDp9duYjhnQUbbF1k
|
-> ssh-ed25519 AQhf1g CKzzFtvqdagNBkWsKifS/svWfp+TmEgKpv9RzaOZdzI
|
||||||
pkTD/ekiGw5ipPj9bpqcLJOeVHz251mFfCpPq+T5ojo
|
pbjXLSY2s12MzwXXvwrFroJXRUvlxnL+/5afDmSB2es
|
||||||
--- 9yrA+4m628mJZQPFhpIBDRwYJ4/dplnYBvzfqzCDCm4
|
-> ssh-ed25519 mOmPfg OhqP2wxb9HMSnLY0I1tssQyDBveCXQZBQgOnbct1+yM
|
||||||
Ê_±{JOøŸIBq1)òr§Nã;VH�±ÝÕwYÅWºÞ¥–¶P„�&�îÓÀÏè(ŒÔF�€â1gyÝHÅáäÌ‚]ìë#éö÷w‡ÿ£‚‹¨kÃè¨MC½ª³à
¯‰ŠÈ`£ìÌPîo¼æH4µ›ö®˜¬³÷bv0
|
1s7wbRP59hWGuREWNE3ReyyW4DuSC4B1W4ndwxRICzg
|
||||||
|
-> ssh-ed25519 YJiRbw JqjGE7ty/3i2rouZmFoEfT2H4bpXtu+KdF2MLc4BAWI
|
||||||
|
SyOG4VKq03clWTjYcSU2fGLLH9pG7jOwFxpVC4nMd7U
|
||||||
|
-> ssh-ed25519 Nl/5yA paQvt0rjRYyT8rEJnlChUwuV0hEQuASE2TsNTPdIPx0
|
||||||
|
jOo6mBsb3zG6NMG3LXHC+yaXqA6uakDSYtgRbLeLEXw
|
||||||
|
-> ssh-ed25519 GdLgCQ W+GA/SL5OyVQPEF6SMJfRDPq+RWsjsqtQ3GTnKVMwWw
|
||||||
|
edcakGvsIJ1rVbok9HPY70jQ2qPT24Fx05G3xCV8dUk
|
||||||
|
-> ssh-ed25519 tOH/HQ 6DwpIUJxMTvG6zR1t7oJnDj3/CAGgWg0krlHtszKwFQ
|
||||||
|
BbNzDSCCuA+hJE2fzpc8kkKgJRh+ssn8v33F6+fz9g4
|
||||||
|
-> ssh-ed25519 FpzvfQ 14i56MD+qHFHYh84J+Y+H5KToSEtr+5PUIScS+8DOBQ
|
||||||
|
YcmBoUTSpm2EBR3MADURIXyN9+UebGTiYBnp0q5V9gc
|
||||||
|
-> ssh-ed25519 2UotMw AKa704qvbGtoTbKzCu7XTnBVfQJLjbeBjUaXGOs4+Xg
|
||||||
|
gyKLbQr41mhHgBO6OsKBk2JAqylGxtW//gdbXFxk1+k
|
||||||
|
-> ssh-ed25519 kdPvzQ YWTa8BfZjV6ke2JJ8T6H5mlQZXw3NJnJIzxOmlv2V1M
|
||||||
|
jwnAs1aF7YIKKvVmNy1zBjwgtfJ6fP6sZ+UQq4IGlQ4
|
||||||
|
-> ssh-ed25519 onmXpg VTK+oZBFFSTRW6C26nSIiz7GmdwHa5NCrlbE48H+dlY
|
||||||
|
2mJjLtZy+d5ohpGs7CPsBrCcZvvakfyD8uqE2S5zcmk
|
||||||
|
-> ssh-ed25519 CnhD0g aN7aF1nuz53x5u76zWhifAzKLmDWH+oG3ni/+CcHiDQ
|
||||||
|
PunfAegiWVxfgP1deGTuueA3RV4LADBkhbQ4uiKKIfU
|
||||||
|
-> ssh-ed25519 4ep2UA X/sVgcQpNxi3JDZPn6v5PmPnNT4AMP8g5Fw/PtxFFho
|
||||||
|
8vtv6aV3Mcy/AjhlGcM8H5vcEcO7YHmYrD4SBZ8PVv4
|
||||||
|
--- 550ZfMGzT3uBmP5NzcRZ5gtjeIpsr9+tZjigrw6eqZU
|
||||||
|
uJ4NÒ00DÚåòx!c”?ò>Rh]üZxë=öe8…]æ„”ËE
|
||||||
|
û\æ7-Ï@I‹côYj´mßùöÊÍŒ� )CÉPëVèK”Ê„ mØDuï©«Îç´)×зü
|
||||||
|
p0ïßr+ûŸ§Z´p)z!3…—Õ�é–«Ú´
|
||||||
Binary file not shown.
+38
-36
@@ -1,37 +1,39 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 87huqg gv0jzWC7KtVxSEeepOckxiDwxN6VdPzYaXjZryNlUjE
|
-> ssh-ed25519 87huqg tRkWo/tXovX5ukc6DRiC55s28fMJvry4lgSWeGnQXHY
|
||||||
04mMQsL99xW+VbpELVdnWehgq/3u50l5f98ZFTscSwU
|
G266810Co/QUFWle5j9W8P2+cfoUmZ5gEKcCNg5jw1A
|
||||||
-> ssh-ed25519 8UnW5Q GzZDPqTzZNU5Dun3u7rSane+MXkDcbIM3TlEEJr7cUI
|
-> ssh-ed25519 8UnW5Q OqyBBxWRBBpAlS93lZ+TGl2O2NwhS5/ZsMbN/sUiUVI
|
||||||
Dh/3ObCIG56797AvmSh5yrUk+MWqjxJ42/b4i2smnos
|
N6csZzFJUU17JEsLUVRzBhM1at00bu9rUzXE5JAML9Q
|
||||||
-> ssh-ed25519 UFfTmg 7EWxx0WGxxAP2sErB6Rfteg2o1su5n1ELN7oCUsodEQ
|
-> ssh-ed25519 UFfTmg iuxAyKikNUPm9QJU9O8UYspvWjWe7Te26uzPN6s8yww
|
||||||
S5x8TAYvjxjtCJgmY4ttCxvoZDdHMxY2RbsAJ7DxfJY
|
VCpWZVtTwHlOC7PXk6xIezNbIMgFObavv1AFinouU40
|
||||||
-> ssh-ed25519 xNtnoA 9mPAgc7YI355QYNlTlJWmMhaScCNbCH9EofQcJJDeWk
|
-> ssh-ed25519 KbVVUw pVU1pSoYn5SiePORWE9bJk+w8pn76xyhFrXi3PQJ0GE
|
||||||
QSlYi9COKd5ZjkC7Qxp8IcmmVJifJ1qy70VnExASqBM
|
d8Y2dt840M954ZrqRoSeUPDjPLoM4EJwKwu4+5ehddw
|
||||||
-> ssh-ed25519 aY2AXA JUIOcOAjshTPueqEo/GDXWzEubBt1JuMM4NLv89zfTA
|
-> ssh-ed25519 xNtnoA L8MxfT93s2I42dirqXnf+VRWq26NPuZ6Ta+0vcbwYRs
|
||||||
njcVfVgCmT374IdMqke8AWGyGcpCgpu5rGs2zrn/A2Y
|
0RyuZdK1sqCpuMDVpUpJkOs8OGhjz4vojNpmInX4a9o
|
||||||
-> ssh-ed25519 AQhf1g faN3428QM/K0P7o6nlPxT3lHlx88PBIWxw1mSN07zy8
|
-> ssh-ed25519 aY2AXA prgbsTVqCxDqX9fB1SwH0Pz3wHNNut2Kd/g2CT3pE1I
|
||||||
6G8FARubsbz7TtQWeQ5biww7XoXZrs0xDFdxKwyov/U
|
12LcMPa0xpx3vtrmNQ0JrJa5PUCcV+jj5s4c4ttRn18
|
||||||
-> ssh-ed25519 mOmPfg b7LviVrLo50sU195qKNxtD6lEqq/QJBnHFkQ3WdKT2g
|
-> ssh-ed25519 AQhf1g Tdph+xLV/TIYMxExaUo+xgqd2Cl5o+BCSEKHWhYpTio
|
||||||
USSSrAIA3v3Luzt2Kft6fpMx4fXHAPBtWQVAAliiV2o
|
ecuPMlwtgIbBoZ5mucYglIamW8FqeJT4ZXs84CcSaAM
|
||||||
-> ssh-ed25519 YJiRbw QjrEHQL9zx6pIR/HzrKyM94JF7efjkMo+ArkVOjkQlU
|
-> ssh-ed25519 mOmPfg pmE+ZERem6G19KtQ339alV0mlSZxOdU0s/NSY9oykzQ
|
||||||
MfUl5yYO/LtxrENlcw2KgzyJiLpd/Xk0CbEJicxgG0E
|
i57l9Oxl4mLYquHwFIsbPtmhyjyH62MereQzNf/vvhg
|
||||||
-> ssh-ed25519 0/WsKg ER1PXYwpONwb3U77qUoH2ZDFmfvRQ7SV8lkgHqRJQig
|
-> ssh-ed25519 YJiRbw 7Q2ue0YEapF+lK7204mDbRTOxU4BrWC/01umQw0DCCM
|
||||||
MCRbKzFD72DdZwoVrV5DesMbNG6ikMlL5C6mTSVGtj8
|
+Ulv7yL+02WvDmrtlujCD7zR6V2Npm3WMqvvSyIpOH0
|
||||||
-> ssh-ed25519 Nl/5yA XKaH3S150ZwHo4uyLwaBrn2od5v6MRvc0bOR83Sz5Ag
|
-> ssh-ed25519 Nl/5yA 0FmOQ2WA+qXbhHy6WimadXJKVmgUsRBbOPsgFJ6Qtiw
|
||||||
RqQn4/jo122fZA1oujOkwe4gbnGfn5BK8CJXi42NsDM
|
xhJkG+SSdnYgMWeJk7ciLI9bS+c403p2PqVRObk9ezA
|
||||||
-> ssh-ed25519 GdLgCQ XVrC/NooMQFg4bSPQ09avkJ2mwROHp8mYbBA7dWjSCs
|
-> ssh-ed25519 GdLgCQ Ovn3zHYbFImNyPz07xjMDYnUCnHpejotNfVyD6olgGc
|
||||||
Q72VZnjs6Y574eRwheabzTW2GH8A2oEOEyk1Mkh+NzU
|
AfF78TueIj5jnz+q7vrXyu1BZ6VN0hkTpg1LItmnCYw
|
||||||
-> ssh-ed25519 tOH/HQ b55WhSZiczkXRQQTxAFBeN4HKyi2orpR+ikGiSyaonU
|
-> ssh-ed25519 tOH/HQ x9alUL3V2mHyQHt5vPIDBq+TNE0tYkJuP8KYE80VinI
|
||||||
woTljkdrDmI6iCwUnJ7i1kLdfH3QaZgkxxQ+Upik6/E
|
se1kqe3o8bKr1AkgH55NTPMD6ZRkdcLIIZ0YhEVkTq8
|
||||||
-> ssh-ed25519 FpzvfQ +kFO6lyChWKyGs1vN8XmRnp5wNUrOvKGAMtQB5gYJyQ
|
-> ssh-ed25519 FpzvfQ W6oRWhWgbZjLrJTkFj9LJWcq3gapz6vRtdSjV4g/yzE
|
||||||
xQbRbUfvk9Eoi/JLfzugHeUVbPGfFItkul33A7MVx3Y
|
GYh8HSC0mPRGRu7jT7DGx3py0Gvu/zu3BzVdXL8gU1A
|
||||||
-> ssh-ed25519 kdPvzQ dv1xr07TrUQRGwl6jbxMQlocvvYlTmyzyZpbRAU5rg0
|
-> ssh-ed25519 2UotMw +XsUycMbAALayfAxF/SvkoWv5ubzWp/RvJcD9sWeSAY
|
||||||
IYO9Af8yAxY5499AArmWCy1aV/ZB3w3deBS4OAHq+LY
|
j3lHaEJzFk7R48RNbGNzcMs97p12n88L9WjockK1N+g
|
||||||
-> ssh-ed25519 onmXpg 8cNof6Uwd2MpA3ydHLQHAQvFvl7Kk5moWMRD5qVFxGs
|
-> ssh-ed25519 kdPvzQ X06P2aEDkUoSk0KVLZWC9DGyNnVlleeBft1xQPecDnA
|
||||||
hTMO0oPxHajokrzMIWB5ksbrVFcpQGo6Jje9FWoiPxE
|
6p3jxcHePWO+cf4hnALXxaa5bN8B9AZo+qodDyK/Evc
|
||||||
-> ssh-ed25519 CnhD0g kqhzl+91aQ7CDRrXzrLPo+P5GuEOSF0MGQlfZESPJDA
|
-> ssh-ed25519 onmXpg +9uXItde+0h/bBcSEwZ57y36bxwwoCWY2SvN1jG7rVM
|
||||||
64xA1PirxldhnScyJ0njwaOMZ/EgPRm1hQzojJIa+84
|
2VyLiThmzYQeDOk7TaUUslec0qvr7UMSiBTHsEpR6ss
|
||||||
-> ssh-ed25519 4ep2UA Zss5olMIbVxEJT8XdrFSrBOppplv8+x5ej3CktSUNDs
|
-> ssh-ed25519 CnhD0g feqQLfUYnakAiHJo+gWHrbd5o9WyQ/qluJ7/d/n7PGU
|
||||||
ldPkN2iSBrU8M7WCZx+PlgUhEIZEoUmRWRgRHvG7+Dk
|
g5l7RvpeBRwnFRKhAED75QC0d6DiGlFho3D5tPumiIY
|
||||||
--- emzp8uRGi0GDRt9HS6E6NvmwB7LyI8mWED2Mof9KFrA
|
-> ssh-ed25519 4ep2UA nkc+pDUli0BTe7XoDAJEOLnBDeiekZSv7XVL3POXCTc
|
||||||
WK çƒ¾ÄÆý;m7…%‘cl4‹8Wáå‡÷'›D} ýœ.x÷l»fGºj�«yàÈI2ˆ~h•YKè‚Ͼ†Ù‡ÅƒÉº…"VÕ"(HQ>åEAG€æx1
|
iWQSdc2hWP2UvyyISoUBKOhRotPCv2ySsfmoAAOLgFM
|
||||||
|
--- YRWXRvqVNx+YrIEW8vp0RcJLM/leQUhHD1WKnaEqprA
|
||||||
|
$f4jAjlÚaôp@™ e¢!(°^˜rˆèJ÷¾%h¼h@37üß1š+'žª´pŸœ†ÿbÿó1,¦jÂôA´n£€X¹ð‰¤3jýÈÇ[ìÑW#E\NÑÓÖ}¤
|
||||||
+39
-37
@@ -1,38 +1,40 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 87huqg +F2U3yjndWx1Xb0oDf09pUyd+xljCHWyt9xcT8mjWkM
|
-> ssh-ed25519 87huqg 42tvGwJ82PwlXbr+TqSz08omHABPqv1TH5plKNLLvkY
|
||||||
PcPUpkFUsc7gnAHZ+lkKqkHf4TWlrbQAjDRTCc2xXxg
|
4Xwl0lc+zSL4k1PuIO9qF1Ci8mOOWciq5yGbbqW6nLE
|
||||||
-> ssh-ed25519 8UnW5Q Xeq4SvJ6FYT1mIWhBUiNqqAF7aJKbjzRiIYBpnvDRlc
|
-> ssh-ed25519 8UnW5Q gGcbBcV2tF2UaaYBvM/jiNH8Lc9Fl62NZIWSbNVZeX8
|
||||||
zG8aAFlLimU0SqnC2z5bDQw2Zm1cW2vvYqnVjMcxNSY
|
1TLxRM4e4/T/q/8Bdx/W3Sg5eeq3g6aUcka2kizF1O0
|
||||||
-> ssh-ed25519 UFfTmg 5FIJ9JJPIuMuK7BpVEZBbB0rztiLhu2G3dfRX52pYhs
|
-> ssh-ed25519 UFfTmg oNyxvAIg2hYEJ6Z3r9MzuR5YgPW432T03/mcjLeLOgs
|
||||||
sbRMpJTh0ANEVIUUBAgr2i6Hs1cdy8r1wmMPkANE5DM
|
NZOFUzuaaxwGbQDkDinSzjbFPrFETbQOEJwrgyYtKpY
|
||||||
-> ssh-ed25519 xNtnoA hQ0T/i4bj096xuY0GUYM4N6GhyyFUv/dajBD27SA/wA
|
-> ssh-ed25519 KbVVUw annu9kT2zbKvaE3WwGtDGhvku/Pj8a4P5GEQLhahZiE
|
||||||
hmV8mKYGOR3WjAkH/mO8ZFyDGe3N6R3ze+dGVh7OGIM
|
RKg/owcXYN5pqsDxjlaNPg6um/7/eoXxZ5oJxxouxjE
|
||||||
-> ssh-ed25519 aY2AXA QML1/v/gxLxdKa0zzKYPOWIAUVqcG8wRcx0HnM38B0A
|
-> ssh-ed25519 xNtnoA tN13P6fRYHjVTmXo7w6y/ljzr/8nEqrlgZXpG5jA218
|
||||||
5hC6Si/IV1dmImIkn6SlIkWNRFgjNOmUTC6MjGTE0GA
|
wg4SUSCWqE3iskGPE9qJ5Ot68pcvwCi9fmE5NXZqYCI
|
||||||
-> ssh-ed25519 AQhf1g 7h8ZokLoQFV3eUdzzt9qzRhxtP7U8Zl70ds+znsa8yg
|
-> ssh-ed25519 aY2AXA VdvvL8lgjZBhflonEI96VSFgYaUX3Tfvjo148BA+Uks
|
||||||
M1WUYlD+1ZzrkiSEQG1CyyViv5Z/gqPEa8j6AGSbyOA
|
ZljFDZ61GKr24lWG8z8sKke1TpTCiSeqyd05yxNFTVo
|
||||||
-> ssh-ed25519 mOmPfg xxbhbwb6mdf6q0G6TaXXSt8qN47ruYhDLCMnwYZyMS0
|
-> ssh-ed25519 AQhf1g jKvD41VnPGoCBEva5llD2NQo42TDnpp9M28BTBewuR8
|
||||||
fnsG3+N8DSQCxUGksvHmWQNdN00I0OO76YlDRFUW+no
|
TSBZqNLhG/PyToBnX2kwevA35QKmKcjwcPe8/JUcywM
|
||||||
-> ssh-ed25519 YJiRbw Og85bpfNOPBZkIeD6qS022hxu/A9AyiS5rAodpblLzU
|
-> ssh-ed25519 mOmPfg /yX7XUVozu8ZTCW9gJyoGd7EzBISb0c+i08HEsN7ODw
|
||||||
qX3irxsnsRO55DCQvzIkxxpQeIhWhfUNjlONJuGmXeY
|
e1rAICTZajIF0AaWXBATDNuqQK4GAqxEjgxvaRzDark
|
||||||
-> ssh-ed25519 0/WsKg hDApnBntBbGhAJtVGVujL3kJDzFMpOh6zIsIowlJOF0
|
-> ssh-ed25519 YJiRbw cy9m8KQln8ryxLEqx1tIoZRq4SiABQFT5IzmMlgkQjA
|
||||||
wNTOOqR/tnZujRMlt/AqzTscsz46sbf6NSauj6uMunk
|
P4OLv+oTFhgnLzb4YrhFdV6jreAGhXBkMCe7pb31KTw
|
||||||
-> ssh-ed25519 Nl/5yA O1CBq1B+yjgO5XW4zT1sQHXPX8QioIj1mbyWHDvtiyg
|
-> ssh-ed25519 Nl/5yA Nx8mErRdN8sIaj8ueWnDkSw5vBhfkOW5Rk2ND3gwZmY
|
||||||
L/Duen+XqSD+mwe51nZSxT5MIa4nnywvVsq/Jgrujn8
|
6elVFcWQnwmh7NvRm17+WahOkvLmQbqBBKnruHT3yp0
|
||||||
-> ssh-ed25519 GdLgCQ 5Df3/IrcNYYFcSOyuDpHgtaJOtEPVaK++YhiUh1NvXw
|
-> ssh-ed25519 GdLgCQ WwKSzJsPG8vJjRjc+nkyvGKtqLvpKe3V158fRezWtzk
|
||||||
K2Dmj4jajj6Df7zcjquFtTKZvUo3cDwBcCOpBaizv6E
|
mKdk9Z2wOipmc6brgNWeIbxADdkkXAFcs8E956RdHTs
|
||||||
-> ssh-ed25519 tOH/HQ FgS143ErZf0eA7522s0KwCQWz3CSxyMWYo2a0N+bZ1A
|
-> ssh-ed25519 tOH/HQ /CL2OxE6C8ZCfHgHTQQJmuACG5lZ8AdVpDe1YfG9mHw
|
||||||
byGgVzxGE9zfbg3aEgm3goeKGKvcgnYu/gmsi3aJZ9U
|
7uaalUdP5vCjsLEYdp+LREaxU3Vo0VUCVXn/H0WAa4I
|
||||||
-> ssh-ed25519 FpzvfQ +PrSsNewNU/exnAS9MD1IzqNar71A/4u89DaZvJCkF8
|
-> ssh-ed25519 FpzvfQ hE8FGN82H81RWUm+LgCuvQMWra0ulwMHuGSYTdQvc10
|
||||||
FLDdWILk85mpwgQHnzPGltf1Ua2EVKfxhBxgpDhFPZs
|
Eq/btSgef+2nkQGreBhqRKAt/6CFo5ahdRbBfCO5Bv8
|
||||||
-> ssh-ed25519 kdPvzQ Tvto3BbEHZmOhEoRqDySQhVikIK3yn1+uCqoTC7kFxI
|
-> ssh-ed25519 2UotMw mqdgTsPI9vockRACf/NdD466WkIyQvSLuEJSrT5mDwo
|
||||||
cQBdUfwLrJf/7eRNsXzc3u2McgoOdQC0bfwprg2JJPo
|
hyZQCiUCu8gfVTCZ8wMxo+i+CqjhE9t+hdJrJcm1dNs
|
||||||
-> ssh-ed25519 onmXpg OHIlO+j2WYPOeNnZiQzH9uHL9ERpgmAXuy1pFF8i00Y
|
-> ssh-ed25519 kdPvzQ fO2iL5QnWBxRFe88W488dkezFsMxJtMBc5GKACOZYjk
|
||||||
6x8w3js70/Uk9BJJ62eXjxIkjEMs6hIL6lrnk+YMW+Y
|
NPa4r9t7lPt3mMgHjT6soAK/RWLUe70Lh5i7LwRYlgE
|
||||||
-> ssh-ed25519 CnhD0g EhEsiEqqpUuwmyrE2GIujh7sZf5/v7Ban5Lzx6sFOUY
|
-> ssh-ed25519 onmXpg 9N98xltPTCAb42chNAOb4hYr7equq0lk9nTqol3EKXU
|
||||||
t9rI2DwfK8HRkSmGHsWMX+trPekWRRbLWQt/CFqwUCQ
|
tdQ7FSABTifm9sHKzOVFyoEbOjS9TYS7DPsFrBqmnLo
|
||||||
-> ssh-ed25519 4ep2UA DsFQi2CtVrLPUdC4ReFKWIXDFsGoBXGjyFYKSHkGjiY
|
-> ssh-ed25519 CnhD0g 1oi9mdmL6ODCgi3pWGKEqU/QN/v41XQg7nUZiu5frWw
|
||||||
M/cGbVkMhKrTkPl5cMV64MyI4tHrhPcW5hgeys3Tphk
|
zXOUj1z6Z6DKyWr2ZqyFFZGNwKkz3NdyEUqWpnl1xI0
|
||||||
--- or7WlSQMXGKm4n9gglHmDGy05/fieyJcU4ytHyqHWeI
|
-> ssh-ed25519 4ep2UA RKc7+piJY2Fh4NnZGvEuAzJIMxr9NBQQBSMj3xQqrSc
|
||||||
ÑrèM‘IqTd¿oŸ BX.%µ£Òµ�¦ÅvµL> %â"¯ÆæYxK²ÝÁÁ}s8ñM„9eŸ²NñË
>&£?’“I(\KB~ùù3ØôZ鼃µ$Wıu•±€`‚�€+Ùvˆieâü¼ÀÎÂÀÈ) =®�²99›ú_pHŸñçP×ÅAnOÄÄõc«FÌî½R±ƒ�)Ò_Ûd®ÈÞ(ûÖ%^S’ÊŽï¸õãX@ã,c«ÔKæ�¼ç Tþ§CkúõÆ
|
yqLK6nR4b46QPwnH9DuZ5spzIu8fQMAxmLYNtj5jAu4
|
||||||
öQˆ8Íp0~RˆÕh±‡ªaïƒlš�¬À)Œ"\LŠ-.©?à±DÄ®)/'W¸®Ô`iþé©´ª@%™UAÏûó[
|
--- R87vMnH5oLHLJgD7rCGZwz6dpc/a0kpm/fi28jqVcT8
|
||||||
|
\_UvF9‘ˆ±gøË2�Ä®Ôbá/0=íOÙµò´``lú©žµ^2&…àâWëñº‰W§¼
|
||||||
|
Pc–�‹,™häZO'kÒ2›f'hB©ºp>¯l\›M§¤;‰òouFü ë…œ¥X)P!hÂRo]¬Ø† Ù/{—¶6Ä•÷ƒt»¢¶Á<Þ$6tá[6ÑüAéaó7œÙ–òúhiç«d´Y-jëº »_ý)£“Ò‘b˜˜ƒpɪÙ9Hå»\HBÂ6dß(}ˆ…~¨¦íåèq¡x5P{x…@ü°G�E0x&0ðYÐÆgó¤¿4•—±z‡•n•!Ù¿ªðòˆÍ�Ð{ú9
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,38 +1,39 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 87huqg iCgUGB5ce7TRS5Cm7+ROuxs4Rc4LXGsIEFFRd3Is+DQ
|
-> ssh-ed25519 87huqg dA1cGGZS6hZzglVHlyxZA6HAGBtZfXYHedZLebiJuxk
|
||||||
95deqc2X7cXJOkBAJOu6mdk/gf4g0mOV41vWupQmRIo
|
9jOUxFha5O0lOo/p09thxSrGBeABTiAtc9caKRCXvSs
|
||||||
-> ssh-ed25519 8UnW5Q QTtK5n/dtnm5JzzeNrxh1JmvnVQMgu2Wz1G6MAq3LCk
|
-> ssh-ed25519 8UnW5Q sT/26ON89MZLDFoMec531z4jvN4zcwtocwKpsy1agm8
|
||||||
WAIkKpMJLYMATfHCyj0AJVzTPnAlMGqqirn83NLXVeY
|
5lm9F/vDdN0do3Q02VYofWbXVv3v+POcVKe6hQBg4oM
|
||||||
-> ssh-ed25519 UFfTmg t+Deer+hgn2+45pkjuzW+hzJRocLdTSwZpbVRSrSeHA
|
-> ssh-ed25519 UFfTmg mBEIRRxLahorqsYdWRfLKG3Atb0+ks3UPTLZbN/p9Qs
|
||||||
2Gb9IEKRPmSwE/lWS/lwQszl+y2YsiO7wIv21h2wXnw
|
DMGHYSpSQG+rhg0wB0MUJBVARCcu3fIPodQxEO/glXY
|
||||||
-> ssh-ed25519 xNtnoA 4pov/sXP+HqiW3T6/kmOtOPlsmUGEScRRTq/ajvVGV4
|
-> ssh-ed25519 KbVVUw Pbn4kkRR1xiVeGlHqNR3oHCpqVpftztRyyTRI7jbQDs
|
||||||
eVXJAcNQ5JoFC9lZF8vtmLfGUiUqWUouvQSaMFpYGS0
|
4Ep3S6WUDXipUdmxuWdZJGy20HWR8MeJ0qG92dkVqRo
|
||||||
-> ssh-ed25519 aY2AXA FPATcHTZrjb709XkHJp6iqYQYtr0DECYHQiqM1jH71g
|
-> ssh-ed25519 xNtnoA tqndUQdkCW7dc/tCVRNwC1953WC8/25J+CuNz7iFXy0
|
||||||
cLK2Fm7oDL6L2BBH5Gnoy3pn3bEJIIoAczYefN6+Dk4
|
jkiSMT9RSIkhyypkhMtKMDAaZcEOfuOs8PN+Fm5RJho
|
||||||
-> ssh-ed25519 AQhf1g XQfu4fJWgrdr7rm1kWVGq44wWTMa2ihE1XDi3etugxI
|
-> ssh-ed25519 aY2AXA 8c4P/cE9ISbxW1h8j9eMSJ1+Y8mId5AMj6KVW90bHTc
|
||||||
4utpAuup+QisLRX62TiwjzkDxWRQ1OCX6JAdVXRTC8w
|
Mn7nW8NRF+a/6d+Lv4RlxEkyH4GZnQjo+IrZQpjPscw
|
||||||
-> ssh-ed25519 mOmPfg DkI63znwJU3S1gjsSu++DZwV6ESAJ2gOroj2JgEToUI
|
-> ssh-ed25519 AQhf1g yGuKYOPodxketnWOUwwsec93545XHR77DdBcSt0nQh4
|
||||||
9gxNErI/wYffYOno/1s5tTDj8qrFOUOfM2BHR/p8am4
|
78/c4+H8hGJFBkG+jHfL20W2rUSO6QeWR1s1YG9rEUE
|
||||||
-> ssh-ed25519 YJiRbw X2PJfMTDs6kQ+pecTkVATjtm5kzGNs0hKuM01GqzBVw
|
-> ssh-ed25519 mOmPfg U+17chXPF1QtSBBS7KIZS2ye63ZnKd55CLspwRmVSig
|
||||||
pp5IZxmsNI8DaYyETCPz72BHdamsmT9e/0HH6M59kOA
|
nje/FT7zkwDr9/gEzyd5oFBpZ4XmmPbJq0u24eUhHeY
|
||||||
-> ssh-ed25519 0/WsKg sYiDJlriTlNsDiE/pJx62UVmaiuB4TLuhMJ034PKUgA
|
-> ssh-ed25519 YJiRbw z1WWdaDEbV46mo1s7c5COi8nsse9G7kZP82+ON8WznM
|
||||||
jv7IHgZBEBSslBfN0AbiEc7BzFAogvLLzt2zLD3IlRs
|
1sj1t9sM//HcTdaDJDG+sIz55jJ995qVtuE5v83q37M
|
||||||
-> ssh-ed25519 Nl/5yA kFZMA1SVQI2X5S2aXjnQMFZ2C/meQxb5Lte56Cgq5D0
|
-> ssh-ed25519 Nl/5yA kZzDe+hZVtexOK2cWp+xC+avuzOTVhw++MkfdQ/1wjY
|
||||||
FtlS4Y2cEkLuMJ8WNSh93S9GougZaIQrx+mFht2VKg4
|
XMfktagqBs1UE4iVPPx2rM3SnPns27m4KtqldWVFj+A
|
||||||
-> ssh-ed25519 GdLgCQ pe/bkOigydEzsrqu+Oq5YIHT0T09VZwSYEEMPEwTTVw
|
-> ssh-ed25519 GdLgCQ CDa6LXTJhViLliv5wOTxlh1bKVVdhW08cSFggxQAdA4
|
||||||
iqSeqHCuJ1Nz9cylReoHpHZGKIiX+eCRK5K4x3Lm5XU
|
YzaJCQw5Bnh2buHVTFLCmgQ2+xta5BHvR08gwOxE4Lc
|
||||||
-> ssh-ed25519 tOH/HQ HY+keQnvJe7RsG9/fCNKwgEpOvSg7WsmkI5KUwaMvn8
|
-> ssh-ed25519 tOH/HQ 4YF1ffsWDtKw/7A17kmFOVukG9K5jGL3gzVye0FzZ3c
|
||||||
YiJNm2UHF9xOlmU8JR5qL+/IhmVOmRx/ZvRYLky+baU
|
BODYure5YmXASU5XhlfeksA4VqsKaKNp6Q0laeJ3z8s
|
||||||
-> ssh-ed25519 FpzvfQ OJUnmvwDnsLGdlXFuhWvpR4GAUBG8OHHNIAHPOLi+Ao
|
-> ssh-ed25519 FpzvfQ H+dvG6G/fEDsLqHoHW4G8c0RSPooRhRgWUzL+5igAkM
|
||||||
ADIq39poY1hwe9OqvwMvwy/yuXTZsgdWfwRfTEUgJDk
|
BFe1mOGLLURn0I0LHjw4Zue+3s6Ta+GA9vCj+ZNSGpM
|
||||||
-> ssh-ed25519 kdPvzQ W8njxBXDY6IAzwpduheN8oCQo9WBUuFCwPB15wbLDiM
|
-> ssh-ed25519 2UotMw lSaXW+ve24TZnJf0RXdLEJ4FfGiYNZ67LqfkrUWo8Cw
|
||||||
wKeT83JqP4OqzDWzAZXfOnQouuMSMgHZyHvD0EgQNNk
|
45ZTeg1Y1P/DOa/yAbtrTLwNA897X9iuN3ZP/q0/rM0
|
||||||
-> ssh-ed25519 onmXpg k3DbEOOt17SYDvExM+3CpBAfepCPKAYz//4xHEkGSi0
|
-> ssh-ed25519 kdPvzQ XVaKM5korb9tfFDIYs4ueREKcw8U3VGRonwp/QmLK2E
|
||||||
kmn3tBnfmzRcNCn/bsWM5hTlgymBE+gVwn70UTOmztM
|
RacYxiFK1vhTbJyfm0ffHxAq+JGFa9A5WtHWQ4iOEKg
|
||||||
-> ssh-ed25519 CnhD0g jCWQ/TzgDBXzQGVa7y+OFGamymNFQGYGRLEi6vYyJy0
|
-> ssh-ed25519 onmXpg apxJc3hLsgsudKiXwvXE59FDMW9H8qXtlRcdhqVvzxo
|
||||||
49hU8S/thJ56pQrT8pYN16FSMN589CYeTFumVuXYze8
|
5RYr4G2YSLLSQKpgaB3g1HkcD7Xv+1Q2XKRp4SGKv5c
|
||||||
-> ssh-ed25519 4ep2UA fY4fefeCcrRv90sudPnyQ2k9EKeoYOIKCjzd5n+B5wU
|
-> ssh-ed25519 CnhD0g iiUwUS6wpQTXCL0qR2nUzkuG9bytZoQGI+0Xhq5O/VE
|
||||||
IYs/RtzBzDQVSffyWk3FxR2NbRTOthtZRCoxik0H0Z0
|
OLhhRnnAJATapn2WGr9UepY62D6DjCaoprZqMAiisBs
|
||||||
--- 5XoWoRuBZkC+4WE1lzTwVlwj2XoFOfB/fEmzRWb0+MY
|
-> ssh-ed25519 4ep2UA WOSiDKxTlL97otLBmox6lvMabltrvUy8IqNsNQOCDAA
|
||||||
+]ÇÉyw aÚ»Ke¡üq9o m^x¶Aüíù˜Ó
|
4CY2Gq4E7iLbeqMup8mQEdOiOEbE9mWHNtwsaOOFWj0
|
||||||
q‘ù¿)0&ìO}§V“\4jÌþ-êu;z“3ïû+ˆ|P\jÿ
fŸ»9—l
|
--- ULVOLUkx4Hzk0DLOpFgD3ypoU+vv90TnWTIaPNWxyUk
|
||||||
|
˜iTSBý¥#õÛO×·Q¨�Ödzia¸�ÏjƒX ‡[d�ù†z¤å¢>AáúŽ*Ocî�B×ß…P°AErÐs“ø³YeföÛãœÌïÉÑù
|
||||||
@@ -1,38 +1,39 @@
|
|||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 87huqg A6H5BG0J9CcPatDKkraXHy+RSdgxtEH/jAaBMJrOT3o
|
-> ssh-ed25519 87huqg wEnsPg/GBsOZp/g5+Wt5U86tA3LCSuuvqK3YKU22wgg
|
||||||
67qMA+bupmSdVl3n/Htt0F2DbCjoaHXazrFz5DQNqUQ
|
8H1eScTy08OWQ3Wm70UwpXkxQEJV//DDnKXO1Tsy3x8
|
||||||
-> ssh-ed25519 8UnW5Q rw5VvXm+g+clTmHSEruaUhZBxCjtdEoFxZtnDNH3kEQ
|
-> ssh-ed25519 8UnW5Q 9McAlT3KjxwW4uA8JLW/IZ95NtyU8MB5XSzwJi00D08
|
||||||
uyHJMFUC164ggrAoU19kHisWRLxuKke73a5aYArSwCk
|
jsJkSSVLMAhBrTSyjKg7q+ez6PnKdYP0GIOTG+BX6q8
|
||||||
-> ssh-ed25519 UFfTmg Yby4BvS1V+Rh75Y3blU6c94G4pzrc2B1AiXkz/GdHXs
|
-> ssh-ed25519 UFfTmg HxnyFdoHZMYBD+RZqTCGnzVv0y6KlHdvV5obWrzzzkc
|
||||||
Q9J5HrXkuPmpEh8s28Sx+lM0sR+soekQ22g7ri9eu6w
|
l9LCV/K18AwxfNIaMDc3ES7TZgHzBpMwPaHY6Mpwxtc
|
||||||
-> ssh-ed25519 xNtnoA zUICmSlbcLHf8fUW2yZMqwtVVoM62K3X8iq32DNVpR0
|
-> ssh-ed25519 KbVVUw cZ7aPpgdgNGg7tAmV8efvkMgVDUIyqZjc/WQMkv52Bg
|
||||||
FawGMjW+sjkYZFGOvXft2Is/1Y4eCBq0IZxVaq06rO4
|
td9LF8Pp4dhz8coW/DWBdBgRkM6+FGbHzCqvrdbm9nE
|
||||||
-> ssh-ed25519 aY2AXA 1gQtbMWqdwlaH7vUBMukz61J3vuF8FR+xSxHaY6ON2k
|
-> ssh-ed25519 xNtnoA 2Gvn1fR8ufGGBkl8u8WdIb1Lo/UxkKkUXwEzmKK/VSU
|
||||||
aocdKBkmsZ3J45Fyy1jFovWW8Rh9tQL+AvWBH5C3dW8
|
s/4U7eALr0f8Yqk5SN5O2z0eZz8PslFZ7ikbmngvSX8
|
||||||
-> ssh-ed25519 AQhf1g u9qN6jmuYK4KtkBFhOcIzxbpFCY1EkqMCYIYx6q/P08
|
-> ssh-ed25519 aY2AXA e6nGnQE0/UTqUX12blfWq4CpNe/QkEMnztWQHyHuxjc
|
||||||
KtvwX3NN6HMc5lOMphqddXEjhuK4rUrFJ3nO8TJxJTg
|
OdUQMd5+x/x6NAs0nbtr9pM7q+nF8ZybZBJD7mNNcg0
|
||||||
-> ssh-ed25519 mOmPfg oB/4Gy5dWL7EJLwIDLMr4+K2oUlgUIWBy/g7Yx8QyyM
|
-> ssh-ed25519 AQhf1g qvmETHVucAF76fq+UkRyoK0Kw+nYVu18jn12ragg1T0
|
||||||
ZfIjUqOell70m8FJYSNKaLweU+jXtNXafeZ0mktVkac
|
XEhKDlikdstmSSZOKs1Zhkm2XhtW19F4k+H+cKIvjzM
|
||||||
-> ssh-ed25519 YJiRbw 53FFjal/MjaqaVT3rNqNlmKVKc/P+lp64gW++C4GkxY
|
-> ssh-ed25519 mOmPfg Qb/Yfy6jl10V0wTr/61/GbbYhkBciOx1ryYvzyTBpRo
|
||||||
Tu19fCXb/JMXuPqya6GNf1E45c6CmvAe51yFoSiXHMU
|
kHMnWdDA02C7rAyJ11JMbmJaCjKkj1fBXZqJdGES+IY
|
||||||
-> ssh-ed25519 0/WsKg TrIDepX4dHixH4AwWaOnwjcHO9RVAqlqwBdr5MlQlmE
|
-> ssh-ed25519 YJiRbw m58K4+oJ8ike/v8bhpGveQF6UxEBTuqjiM5UpRZUpV8
|
||||||
MWUCyLN0YWVXg7VD7vvSYTGdmzm/TBx9fHHffb5OjWU
|
Cq1BpdnViOmd0JwdZf2gBB2vpcafm54FIaZWOhviP6s
|
||||||
-> ssh-ed25519 Nl/5yA aRu6l7Vib4imh9LqQKhoTA33KF5siMIlmK5DktnKJDc
|
-> ssh-ed25519 Nl/5yA tNzmgsTG7d5xRhX6j5iwEnxtLYz8gJQmMWzBSOqaxwQ
|
||||||
qJeB4YB9Sdm+9NTBwueFLCnbhdi4N6O+ELTVGbJDvz8
|
WuYPgCAxhsHvXKty0dncAl9ejqF1b9ZHSFqtmOEDQAU
|
||||||
-> ssh-ed25519 GdLgCQ f93Q/At6T7Vt827F7ytV1bxZEOLtLZFUavsIaeW3agg
|
-> ssh-ed25519 GdLgCQ gyuGdMzsShKl1TPOt6IrJYJ383CCK33+BXo3sELKvkc
|
||||||
xoChxHLnyEQs1T5ZnuotnwyyMZlZh4PJceOX+tmHAiI
|
m02EYJ47DcH5wK+eDcvs5yyTwsH6cT8rWbf1BoGemQ8
|
||||||
-> ssh-ed25519 tOH/HQ jFZTM/OQpLUXZT4ENX+1Qq9iVJXXpEY+rfLpXJvM5Dk
|
-> ssh-ed25519 tOH/HQ EpuIe55eq9FvBnygY1gn9o+MSU0AjxDHeIPwqGWAkDQ
|
||||||
f3ZC7CbikEQpBwZcqYfhBIws4up3ZmMk/2mOS/Rf2vg
|
pypq4SL/0311MvwkilKPAI9Ho1gvOjsohnDwe4pDKPQ
|
||||||
-> ssh-ed25519 FpzvfQ rxuFxwpguxrqUBe10asuNe33Xg6Ebdoh9oNZdz3fqCo
|
-> ssh-ed25519 FpzvfQ EY3I/fZxRn9qxZz5KmXjf5MDfXt9lhMmsj9ZW3nTdBE
|
||||||
MfEGIDV2nsX/MhUFEQDbLsWywFLHrk65gbbMVVPdJ/0
|
ktSKonkZwKcC7zvkddr8B0bg4M4pkeuukKOuZz9YauU
|
||||||
-> ssh-ed25519 kdPvzQ SdjtFcZ2kzuBSDOF/I6m+e/R/sJdf1gst9AYOpefDVw
|
-> ssh-ed25519 2UotMw P+I74r2Z6TKpTehCrstz8bvG2sWPDmcKLYOwS20Smgo
|
||||||
G0+6qeS8QKHvWKbZjOv6+6lR324OVdAo31kTZJ1baC0
|
zOGqtVouwCOiMi/D+XjitWtQGdRrfrJw3cYU5v30Kb4
|
||||||
-> ssh-ed25519 onmXpg x3F8aAlT9ndzfeWqiOz6HX0Zs9kNIP4sW7mE+caJQmg
|
-> ssh-ed25519 kdPvzQ JdHJ0HiJUO7h+fx86QJQvlwoLWjr1SWLll+sBHfmmic
|
||||||
bz+YEEnu/ETBhqBTZiLRyVnSX1SRJkfWSmrEx2Tzqgc
|
tQQ+MEKgwYl/Ms76B1cPl8AA2HlrXqbF4cLmBdHBbck
|
||||||
-> ssh-ed25519 CnhD0g fNddA6YIHeuKUVFaAkwU9f/rSfYzQXPuw7QbhQD4YFQ
|
-> ssh-ed25519 onmXpg KXbZQecpbZQLB/4slZl3hqOXldgyqHADIy6OkdnHbTA
|
||||||
4Vq9uwumfzpgMxtvmxt73EPkkqrhS2qApaJZoQwUEDM
|
GltoWSI3qht8w6Bb90K27qJdW/fB5GflCLQlnu9ffkc
|
||||||
-> ssh-ed25519 4ep2UA MslFSRrk0185JfNOhRYkJH+GMtKIg4gEcsdsT6CBAX4
|
-> ssh-ed25519 CnhD0g wpoGeyLxBfk8tJkJSwWnFXhFLXrU4ezFaxWGVrnPIgI
|
||||||
Ta+Wz13G2NOcdJ7qxZHqBYiDz9fU+ax++BTPSEi6ZVQ
|
RVAJ8njeIBbQtHNM0hslbD8ft9VuRlqcSyyKRN9cxjA
|
||||||
--- E31e3DZgEDqDTnYzMI/Pbh1pyQT16bWTzYz3XZY0LsI
|
-> ssh-ed25519 4ep2UA Ydu1eNy1WiHw8bRwMQc29UsN6l0Kvs0MknyeNnDx4z0
|
||||||
\™l—`]yɺâY-‰g£‰
|
RjvAAe5nOkCHrZXn0u94NA7jWcNC9xAu9aly9tQC0q4
|
||||||
E»ÊÓ~oÜEåŽÍÓGo« ø/ܧXg<.O�º €<ƒúÙ °Øû¢ƒC½cûÎðô©UËB(
|
--- ZVJux6CJ52ghYaSl16+PH5uUQqk0T+VkMVDOHO7HKMI
|
||||||
|
¸ÐŽÕ%T–7]õ3¢¼D¼î·V!#NUžî~¸2·Ãc1duÁ6,¾Ÿ¿QD�DDŸ{ß'êÉÕlý¯ïñx÷%J�Ï +kõyiÝa
|
||||||
Binary file not shown.
@@ -1,37 +0,0 @@
|
|||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 87huqg Eh2E7tXjZj6ydDOSsFD8UKMjSjLWW6YZg/5bzcdMaSU
|
|
||||||
0vXZ9AGU3N8Jbep6TRijGKoo89jK0yauG1LmErtdT70
|
|
||||||
-> ssh-ed25519 8UnW5Q UxbfpTqUcjkdevd0WwFtUxifEtDvedj8l+V2wFVjThw
|
|
||||||
6aYQDmzFj1fin7G7e0cUCn55PBU8bDolkw4l+5A25qY
|
|
||||||
-> ssh-ed25519 UFfTmg Dfm/r13wimRQT2hQSWKhyr14BZliLrLGn/sZq3G3yTY
|
|
||||||
qzZLiowHu+HnSY31yXBOFPEYn2lJSJ5MyWvKSe2QZcI
|
|
||||||
-> ssh-ed25519 xNtnoA AltIha0Z9BqZY4V8LOzCcr5KPWAvoNoyktReER3Glgs
|
|
||||||
ac51BT1NGldAn6N/s7KEkNrRLhmntwx09SguGdZRR5o
|
|
||||||
-> ssh-ed25519 aY2AXA EmE9Bjzme13LSSMZDnJsPFvpXGamtc/H3DOziP+d+Cg
|
|
||||||
VN5z1+EzLF6N232QwkO5TT5Kf9NpoPDL2T50qCpCfgc
|
|
||||||
-> ssh-ed25519 AQhf1g Z3Ezie7ikLb/8u+iNALI8x327lFqLN1NRIqHLfjqNFs
|
|
||||||
QQDDH6Dio4zc0FCsLDRWl3ywaEdkp4zwGG+Iaegmi3I
|
|
||||||
-> ssh-ed25519 mOmPfg mSW3OSIm9/8myqUxEJlsf0LT7vCO9i6/D3WkWKCD7l4
|
|
||||||
U6TkEVyzxnb+9B2wLeEkQ4g6w5s31Q30/Q4ehQplf3c
|
|
||||||
-> ssh-ed25519 YJiRbw Gs9VBwzEPr1QA1PcaQUCUwS+jwXYVniqe5TaZBjrJmQ
|
|
||||||
rFS24MN8bzA+vj6/sJHuEC4yYglpf0OJT0GgUVm0HTs
|
|
||||||
-> ssh-ed25519 0/WsKg MbcckXyUg5JfGafnhidk4dH6mEuhZOPac4YncYeYOR4
|
|
||||||
oeFwgCrjDPauQSCgE1Q1/Smz6SI44TVfuNH0oP9WcdM
|
|
||||||
-> ssh-ed25519 Nl/5yA 9xL4/5nxpciN9HFFO/X3xQ1oMe+EvLohnI6631amwhw
|
|
||||||
n4As363EPOxuzN5f5RNuUrlEDFgmhVvjtEosQKTPVII
|
|
||||||
-> ssh-ed25519 GdLgCQ P+jwMHdoS74jIdGQjOx4sDngWs+zxNpnzSgrDXD7Vkk
|
|
||||||
NuGd8agrw/8PT+dw9RirCYATZRPnF5rKDSfyDaJ17iw
|
|
||||||
-> ssh-ed25519 tOH/HQ u7gM8oYWpfFFW54TqoisGDEeX5MKxaVxT+ozl4miF0I
|
|
||||||
avmdzbzCSDv4ovYMMmqx//G5FVEuz+hOJpr9/49w1Rk
|
|
||||||
-> ssh-ed25519 FpzvfQ 3bDfVBMNavjfMFaKO8C5VvXiDMQxfB4WYp9mJ1LnIQI
|
|
||||||
bl1KwNL5M8gJlqE/R5/lY7UlLOgeftiwinyC8yDb71A
|
|
||||||
-> ssh-ed25519 kdPvzQ 2Y9lCbnjBhF3N0BTzhBqxJ/NDe7Z9/Vpkd8bbL29D0k
|
|
||||||
pL4VMb6jnQv4bwt5SjcORlTWsvSWOhTNZXNYEkCZH5E
|
|
||||||
-> ssh-ed25519 onmXpg 2Nw16oXRct8XDRqs6TRiOK6tBk9kNZcR2VDLy9GvOkM
|
|
||||||
N95+6Ia9lpbKenojMDDAuLrT4cqjENsWzrwplcBKiUs
|
|
||||||
-> ssh-ed25519 CnhD0g j7udTMCoQHrqYnH/mxGgRzor7RaTm2HjaSwuoVQqCGw
|
|
||||||
ivg32RGKKCqe2yBjq58ym8shWlrYNfcvuK7xy1F2mmg
|
|
||||||
-> ssh-ed25519 4ep2UA bBdPC5asgGcu60Y/i0yVKvAQc9U+7Jruik0xT8rDUA0
|
|
||||||
ul6uiMBstdXVVmuIpgsZPSt6MQiyklPGYSbxOTLndeQ
|
|
||||||
--- 5mAFqAG9hgU00QxYRKkhNl3fJ1KwDevvTnUhf0xYUog
|
|
||||||
TW" ȧ]h|nÁdÇ„Œô¡QFWv¬à©»®¨oµiÅZÂSŸŽ‡ÑG–í`|Д "�¬ó8n}:Î:ú6”
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 87huqg KMaYb+ubBiCqBKr08lmrIhiuNcvH/WnnEDYYvdgnvgk
|
|
||||||
lJM8dGwT3LYvI9NtPZOzY94bFhk6sxO6F4NCMJBDBuA
|
|
||||||
-> ssh-ed25519 8UnW5Q rUXfXe6S1jgTfJJGhT3NfIGhvYaf4aUAuD7wAa5GaxU
|
|
||||||
OCe5kE+IM1MHqMPfLpgO5spYxDm1SDp5euubLkOF6K4
|
|
||||||
-> ssh-ed25519 UFfTmg 8ZIBc9wr/hoQE/ItltZhSbqlZ3qEQMyLajy0cORbOQo
|
|
||||||
DocUbgXT5m8CgExF1ICAJv+Nu4rBogwaYz5vJKNRQhs
|
|
||||||
-> ssh-ed25519 xNtnoA x0uU0K78XzA9yYXg+jR6MIJASRxsJ9eMZctm276tP08
|
|
||||||
SGZYFFkfbQpLVqV9OUQMMbOmv+0qNS3bO7IkWWjqohE
|
|
||||||
-> ssh-ed25519 aY2AXA D5xP6cDYNLUsGeLgLO2x2gkBzfPByR58G2PjjGs/rxA
|
|
||||||
wiqNVVjyQPnZop7q0PXmOOw7cJr8WKQVl1mk7zL+/cM
|
|
||||||
-> ssh-ed25519 AQhf1g MJuVLCVIdZ7fKnXVvtJvSLriX1Q+2u20Y+aNI7N75hM
|
|
||||||
EocXr6NlaanErb3Nmc9R+3DSdfoCAyHa5gDYzBX+xJk
|
|
||||||
-> ssh-ed25519 mOmPfg wbQrmVm8CEeAHpJIjCyFI7Mfhn3i9bER7FppanAneTQ
|
|
||||||
jAvjziCLYUl//6ZlZ5d3gE1ONRjhEnPLTabvTJEhFg4
|
|
||||||
-> ssh-ed25519 YJiRbw 6ZAb7+mWKPCkYZrpcW1g1JoL9Q72rWwLIEZJtPx4ayY
|
|
||||||
WtKeYr7wxCVisATDyejwnasFcVRtGa175wJoXNzhyKk
|
|
||||||
-> ssh-ed25519 0/WsKg yyQBUeYAFIJUuH6xsMYztjO8zeswUWFCgqiNoMqxijY
|
|
||||||
y5azJJfyU9NgyY8kuIoWRfY1kMJUzgxx8UtqJ3XBNvI
|
|
||||||
-> ssh-ed25519 Nl/5yA Ffb3McX/NVo56cJXA51n9yrpeSTvD5/0S9n7ObeYrXA
|
|
||||||
Wg1EhU0nk/Wh3Jf3+LY6dVLXBNbAM8miuC8gYdabIwY
|
|
||||||
-> ssh-ed25519 GdLgCQ x/k3xO9fHAPFeOdeAwgWVNqWtU9u6RVXXNUnhUXk1B8
|
|
||||||
aNeOSmnUILJTjof6+7sN8h2zA+pqBmU6cpmD81xcmtw
|
|
||||||
-> ssh-ed25519 tOH/HQ ZEBu38T0q6tZkZSZIbGc3Kn9acTGqSbquPC6xlXt90o
|
|
||||||
LPvS9dVaPUiE5nxVV8LsAjfRdyKBNmCwGTxOcyCxWMA
|
|
||||||
-> ssh-ed25519 FpzvfQ iU+7myrJIbc+xbVZf7OxGSBy7Vq+FqItVYECvrvV7V4
|
|
||||||
YkMvBRDnkGf+zznWTVSbFbR/2BaqOT1ja7piiyRL+uM
|
|
||||||
-> ssh-ed25519 kdPvzQ cuzIgrPaJK1SY4soXT2lQkF8Ji7GZq+ihH2vYmbyDXY
|
|
||||||
E7cA3PDHBsqm7Z9SbflHXQXMzv7B0uxYR4UQv9NHZ70
|
|
||||||
-> ssh-ed25519 onmXpg aNcwAfrg7CfnC9Whp/qjikADbZzeSVM0m+kLkjExg1A
|
|
||||||
1RWx1F4Q6zA91UHxBmvuxqABv+mZZwNayAVAz0EqGQg
|
|
||||||
-> ssh-ed25519 CnhD0g LrFzQX5UKZAizqYkDCT/k6CWdFZYFqPguyLjgfcfQ2U
|
|
||||||
O7Ta5mpAcLI2XswerqtW2fC0evmy/gdSQqLgW7L99zo
|
|
||||||
-> ssh-ed25519 4ep2UA 8B0v6mE+hB0iKaZNrkvdlI4E2y4lWNR4zJ8oJS75jR0
|
|
||||||
l5M6WSWKGuHMCiL5V5PCyDfFCElGNmR5UIkXRivSl5Y
|
|
||||||
--- 1PM/nhbi3rtn26S1rtNwUT97plbJJvHOmPNzIYAsK4w
|
|
||||||
W'SàeÚäß>pÎ_Ǫ´vcHN›×9¥Å¡àè6�L,_ž[3Ì
_ìaØí¬¤Õ¦‚>¶¯D0Þ„lô‡F4.Ó’‰µ5±:�úà�0ò±É
|
|
||||||
Binary file not shown.
@@ -1,37 +0,0 @@
|
|||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 87huqg 3CNYW4sCTBsHWQaRdsyRomLXQ5V9jjzV+V9vHcKtqjc
|
|
||||||
ZjGxC8Fqddlzmdd4uZxQWs9aAut+COJ9zWXZFQvRdG8
|
|
||||||
-> ssh-ed25519 8UnW5Q rgmZ4hwUDXX8VdQQWxZn5NO70j4IuJ1l9aD6uXjAWiE
|
|
||||||
SfmW+u09bGEP164j1awAoGpvchg9UZS7tgtSdLeepB8
|
|
||||||
-> ssh-ed25519 UFfTmg MPZCtrzXXzusawPkfZ+fBWepH7MZihKXlz9ztfp/bBU
|
|
||||||
RkLU9HPTJjyiaRczJU3sYMT0RT+oSvL3TozGRxOZM6s
|
|
||||||
-> ssh-ed25519 xNtnoA HqhyTh67Yww4wHVR9i5+K7388nvAYwkPr1T95Sn3WDk
|
|
||||||
entg7nxJXWqq+N0LMUwv+psL+O6ivZjnGo+KbgKthxM
|
|
||||||
-> ssh-ed25519 aY2AXA XTpM0SssYVVEtnWPCfooazXvVccdO4IX+Zmp7dxoDUY
|
|
||||||
mz6v4rzOpLT4fu+XYC5BwkXndNoBbEpazUt2wh0tutk
|
|
||||||
-> ssh-ed25519 AQhf1g bUAsCyBen89j8JqUV3qAVTZ5QrxluYOmUO7D68Sd50k
|
|
||||||
14ebyL+xFEK8NMBzxAArVaxCPZwBPLNBLdalC9TGB/I
|
|
||||||
-> ssh-ed25519 mOmPfg Mv+p2kGC4PunQGSVD28emoEDra/ohZHK/xxTQVhafTM
|
|
||||||
gUrUjDQCxMfgcjWkbGWmi1A2GF5X07pUKdZuuaXWdcE
|
|
||||||
-> ssh-ed25519 YJiRbw 0jxrJSU71zCnF1bDUieGOsc/TAeR9gv/1ks2kPN2sD0
|
|
||||||
yho+rheLys+ET7uKrrlsljQZQ8VuUnzg5eUj7gVMgAk
|
|
||||||
-> ssh-ed25519 0/WsKg yxsm0H6tRCron9th/e9KfX+zFl5T3DH0/B602ak0s28
|
|
||||||
kkmfbZ1SyXLJxlM/EeBRJEf0Rb+15w3nXZEZ35xuCug
|
|
||||||
-> ssh-ed25519 Nl/5yA IoFwKIz+jrNUm4PB3wX5okeqtPKANPP+/lcZaJ+mZ00
|
|
||||||
0ChPqTpzLCCz7die5lgOnO+Yz8JQIqjTX5oLwXv/IbU
|
|
||||||
-> ssh-ed25519 GdLgCQ Fo9YJGiJMTpnhRQKd2cQ7XfQXLvOQ8+V5rlZvqOhWgQ
|
|
||||||
Lhie4dV3210DbNvbkBWFStgycrH3xgE3tt5PYF0OjEU
|
|
||||||
-> ssh-ed25519 tOH/HQ 7BXNJ/wYMc9HIswKCTkXQF42UXKXCCqcD7/RQINx5g0
|
|
||||||
G2HbqhnEuoCGmuowye/EWQJ1UWojp1cFLoyu6b5AaGA
|
|
||||||
-> ssh-ed25519 FpzvfQ l5jORObNye/4CGt9D0pkP7CAqhWZPPlEhCSmuc5JxVE
|
|
||||||
5P/S8vQEzlYgXcM+TxlQnlyO6fK0lUkxBElfTZ8dR14
|
|
||||||
-> ssh-ed25519 kdPvzQ rbwguFPeDqBJye6fzNAR+zqo3vA13o8VBqTDMtq/xF0
|
|
||||||
0wjGYDkSgeB1H4GvjFfM5HIxCFs1s6R/6US0TFv/o0I
|
|
||||||
-> ssh-ed25519 onmXpg GB5Hi8wAOxRaoyzcDuHK96+JNd/zfBdmR6oJdpYkmi8
|
|
||||||
svDcX5tYRR8IzuQi36TpxqKu/vKiDj290e1Hx/RoBAs
|
|
||||||
-> ssh-ed25519 CnhD0g 4vM1+uQTV/dYAbYP7Nsj9DZFjFVc1yFqNzKxWyz1OWQ
|
|
||||||
G7ifv77YIefxMqK1vSEzxPCxQaf8Sd2cdpyoy3DxGZg
|
|
||||||
-> ssh-ed25519 4ep2UA V+2q8xrX8eAQzuNV8Se/BUtut4EbkRsy/svnbRVO1TM
|
|
||||||
WYJTqLxIqFC3a4z3UtMp4z7CAXEZ2NJUGzxftIvgoeQ
|
|
||||||
--- t27r1Bedv2MW11oCtfWXl0ijG9/aiiWMdEbgymIqdSY
|
|
||||||
§66^¹‹�§ÌVUÃuï6°â$ ÜQ[a²U�W*©Ò&s9Iª23HœR÷ÖOJŠüÒ§É)CXeRýŽXi¾6yØB:b<tWÓ¹nÀ>\+ûî
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user