Compare commits
2 commits
main
...
update-inp
Author | SHA1 | Date | |
---|---|---|---|
|
60cfe99039 | ||
301a211624 |
33 changed files with 358 additions and 1122 deletions
|
@ -4,7 +4,6 @@ keys:
|
||||||
- &emilia age1pjn7q6qs49jenr40dhsxa8x5g4z6elsh0pk0tc5pxg6pl0nzgc6scakynn
|
- &emilia age1pjn7q6qs49jenr40dhsxa8x5g4z6elsh0pk0tc5pxg6pl0nzgc6scakynn
|
||||||
- &girldick age1r6cmthdk6lhy62wa4pu23l46f5fcqhuu7xrq353pe6c8f0s6ce8s67pdtf
|
- &girldick age1r6cmthdk6lhy62wa4pu23l46f5fcqhuu7xrq353pe6c8f0s6ce8s67pdtf
|
||||||
- &florp age18vc8rcmczlt3r0ee7jr9s8l3yrkthu8wtypt08eh0eskpkw3dg6qxs7t3t
|
- &florp age18vc8rcmczlt3r0ee7jr9s8l3yrkthu8wtypt08eh0eskpkw3dg6qxs7t3t
|
||||||
- &crime age1sky8kccyyxe79ws4rew42r94427v2xnphq2vtxvdlw5xl7yzgs2q599yzs
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/services/dns-knot.yaml
|
- path_regex: secrets/services/dns-knot.yaml
|
||||||
key_groups:
|
key_groups:
|
||||||
|
@ -66,9 +65,3 @@ creation_rules:
|
||||||
- *emily
|
- *emily
|
||||||
age:
|
age:
|
||||||
- *florp
|
- *florp
|
||||||
- path_regex: secrets/restic/zh3485s2.yaml
|
|
||||||
key_groups:
|
|
||||||
- pgp:
|
|
||||||
- *emily
|
|
||||||
age:
|
|
||||||
- *crime
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ in {
|
||||||
./kernel.nix
|
./kernel.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
./openssh.nix
|
./openssh.nix
|
||||||
./users.nix
|
./users
|
||||||
../../modules
|
../../modules
|
||||||
inputs.lix-module.nixosModules.default
|
inputs.lix-module.nixosModules.default
|
||||||
];
|
];
|
||||||
|
@ -23,7 +23,6 @@ in {
|
||||||
man-pages-posix
|
man-pages-posix
|
||||||
unzip
|
unzip
|
||||||
zip
|
zip
|
||||||
fd
|
|
||||||
figlet
|
figlet
|
||||||
];
|
];
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
@ -39,7 +39,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
PermitRootLogin = "no";
|
PermitRootLogin = "prohibit-password";
|
||||||
|
|
||||||
PasswordAuthentication = false;
|
PasswordAuthentication = false;
|
||||||
KbdInteractiveAuthentication = false;
|
KbdInteractiveAuthentication = false;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
../users/emily
|
./emily
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -37,9 +37,6 @@
|
||||||
pavucontrol
|
pavucontrol
|
||||||
signal-desktop
|
signal-desktop
|
||||||
element-desktop
|
element-desktop
|
||||||
firefox
|
|
||||||
# currently broken
|
|
||||||
#inputs.firefox.packages.${pkgs.system}.firefox
|
|
||||||
|
|
||||||
nixfmt-classic
|
nixfmt-classic
|
||||||
wl-clipboard
|
wl-clipboard
|
|
@ -1,31 +1,27 @@
|
||||||
{ inputs, ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
../../common
|
../../common
|
||||||
../../users/lucy
|
|
||||||
../../profiles/headless.nix
|
../../profiles/headless.nix
|
||||||
../../profiles/kartoffel.nix
|
../../profiles/kartoffel.nix
|
||||||
../../profiles/lxc.nix
|
../../profiles/lxc.nix
|
||||||
../../services/arrs
|
|
||||||
../../services/jellyfin.nix
|
|
||||||
../../services/nginx.nix
|
../../services/nginx.nix
|
||||||
inputs.oth.nixosModules.default
|
./nginx.nix
|
||||||
];
|
];
|
||||||
networking.hostName = "crime";
|
networking.hostName = "crime";
|
||||||
systemd.network.networks."98-eth-default" = {
|
systemd.network.networks."98-eth-default" = {
|
||||||
address = [
|
address = [
|
||||||
"2a0f:be01:0:100::b00b:a/128"
|
"2a0f:be01:0:100::1337/128"
|
||||||
|
"2a0f:be01:0:100::1338/128"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
kyouma.nginx.defaultForbidden = "fentanyl.trade";
|
|
||||||
kyouma.restic = {
|
security.acme.certs = {
|
||||||
enable = true;
|
"fentanyl.trade" = { extraDomainNames = [ "frotti.ng" "watch.kyouma.net" ]; };
|
||||||
remoteUser = "zh3485s2";
|
"crime.kyouma.net" = {};
|
||||||
paths = [
|
|
||||||
"/var/lib/jellyfin"
|
|
||||||
"/var/lib/radarr"
|
|
||||||
"/var/lib/sonarr"
|
|
||||||
"/var/lib/private/prowlarr"
|
|
||||||
"/home"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.jellyfin.enable = true;
|
||||||
|
services.sonarr.enable = true;
|
||||||
|
services.radarr.enable = true;
|
||||||
|
services.prowlarr.enable = true;
|
||||||
}
|
}
|
||||||
|
|
114
config/hosts/crime/nginx.nix
Normal file
114
config/hosts/crime/nginx.nix
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
landingPage = pkgs.writeTextDir "index.html" ''
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>crime.kyouma.net</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 35em;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family: Tahoma, Verdana, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Welcome to crime.kyouma.net!</h1>
|
||||||
|
<p>If you see this page, the nginx web server is successfully installed and
|
||||||
|
working. Further configuration is required.</p>
|
||||||
|
|
||||||
|
<p>Sonarr
|
||||||
|
<a href="https://crime.kyouma.net/sonarr">crime.kyouma.net/sonarr</a><br/>
|
||||||
|
Radarr
|
||||||
|
<a href="https://crime.kyouma.net/radarr">crime.kyouma.net/radarr</a><br/>
|
||||||
|
Prowlarr
|
||||||
|
<a href="https://crime.kyouma.net/prowlarr">crime.kyouma.net/prowlarr</a></p>
|
||||||
|
|
||||||
|
<p><em>Thank you for using nginx.</em></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
'';
|
||||||
|
extraConfig = ''
|
||||||
|
add_header Strict-Transport-Security $hsts_header;
|
||||||
|
add_header X-Content-Type-Options "nosniff" always;
|
||||||
|
add_header X-XSS-Protection "1; mode=block" always;
|
||||||
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||||
|
add_header Referrer-Policy "same-origin" always;
|
||||||
|
'';
|
||||||
|
proxyConfig = ''
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header X-Forwarded-Protocol $scheme;
|
||||||
|
proxy_set_header X-Forwarded-Host $http_host;
|
||||||
|
'';
|
||||||
|
jellyAddr = "[::1]";
|
||||||
|
jellyWeb = {
|
||||||
|
forceSSL = true;
|
||||||
|
#http3 = true;
|
||||||
|
#quic = true;
|
||||||
|
inherit extraConfig;
|
||||||
|
|
||||||
|
locations = {
|
||||||
|
"= /".return = "302 https://$host/web/";
|
||||||
|
"/" = {
|
||||||
|
proxyPass = "http://${jellyAddr}:8096";
|
||||||
|
extraConfig = ''
|
||||||
|
${proxyConfig}
|
||||||
|
proxy_buffering on;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"= /web/" = {
|
||||||
|
proxyPass = "http://${jellyAddr}:8096/web/index.html";
|
||||||
|
extraConfig = proxyConfig;
|
||||||
|
};
|
||||||
|
"/socket" = {
|
||||||
|
proxyPass = "http://${jellyAddr}:8096";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
extraConfig = proxyConfig;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
services.nginx = {
|
||||||
|
virtualHosts = {
|
||||||
|
"fentanyl.trade" = jellyWeb // {
|
||||||
|
enableACME = true;
|
||||||
|
};
|
||||||
|
"frotti.ng" = jellyWeb // {
|
||||||
|
useACMEHost = "fentanyl.trade";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kyouma.nginx.virtualHosts = {
|
||||||
|
"watch.kyouma.net" = { redirectTo = "fentanyl.trade"; };
|
||||||
|
"redirect" = {
|
||||||
|
default = true;
|
||||||
|
reuseport = true;
|
||||||
|
useACMEHost = "fentanyl.trade";
|
||||||
|
extraConfig = ''
|
||||||
|
return 403;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"crime.kyouma.net" = {
|
||||||
|
listenAddresses = [ "[2a0f:be01:0:100::1338]" ];
|
||||||
|
locations = {
|
||||||
|
"/".root = landingPage;
|
||||||
|
"/sonarr/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:8989";
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
};
|
||||||
|
"/radarr/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:7878";
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
};
|
||||||
|
"/prowlarr/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:9696";
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, config, pkgs, ... }: {
|
{ lib, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
../../common
|
../../common
|
||||||
../../profiles/headless.nix
|
../../profiles/headless.nix
|
||||||
|
@ -11,40 +11,22 @@
|
||||||
hostName = "florp";
|
hostName = "florp";
|
||||||
domain = lib.mkForce "social";
|
domain = lib.mkForce "social";
|
||||||
};
|
};
|
||||||
|
kyouma.nginx.defaultForbidden = "florp.social";
|
||||||
|
|
||||||
|
kyouma.restic = {
|
||||||
|
enable = true;
|
||||||
|
remoteUser = "zh3485s1";
|
||||||
|
paths = [
|
||||||
|
"/var/lib/akkoma"
|
||||||
|
"/var/lib/postgresql"
|
||||||
|
];
|
||||||
|
};
|
||||||
systemd.network.networks."98-eth-default" = {
|
systemd.network.networks."98-eth-default" = {
|
||||||
address = [
|
address = [
|
||||||
"2a0f:be01:0:100::171/128"
|
"2a0f:be01:0:100::171/128"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
kyouma.nginx.defaultForbidden = "florp.social";
|
|
||||||
kyouma.restic = let
|
|
||||||
pgBackup = "/var/cache/postgresql.sql";
|
|
||||||
in {
|
|
||||||
enable = true;
|
|
||||||
remoteUser = "zh3485s1";
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "hourly";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
paths = [
|
|
||||||
"/var/lib/akkoma"
|
|
||||||
"/var/lib/secrets"
|
|
||||||
pgBackup
|
|
||||||
];
|
|
||||||
|
|
||||||
backupPrepareCommand = ''
|
|
||||||
umask 0077
|
|
||||||
rm -f -- ${pgBackup}
|
|
||||||
${pkgs.su}/bin/su -c '${lib.getExe' config.services.postgresql.package "pg_dumpall"}' \
|
|
||||||
${config.services.postgresql.superUser} >${pgBackup}
|
|
||||||
'';
|
|
||||||
|
|
||||||
backupCleanupCommand = ''
|
|
||||||
rm -f -- ${pgBackup}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.postgresql.settings = {
|
services.postgresql.settings = {
|
||||||
max_connections = 128;
|
max_connections = 128;
|
||||||
shared_buffers = "4GB";
|
shared_buffers = "4GB";
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ pkgs, ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
../../common
|
../../common
|
||||||
../../users/nil
|
|
||||||
../../profiles/builder.nix
|
../../profiles/builder.nix
|
||||||
../../profiles/headless.nix
|
../../profiles/headless.nix
|
||||||
../../profiles/kartoffel.nix
|
../../profiles/kartoffel.nix
|
||||||
|
|
|
@ -9,6 +9,10 @@
|
||||||
options snd_bcm2835 enable_headphones=1
|
options snd_bcm2835 enable_headphones=1
|
||||||
'';
|
'';
|
||||||
kernelParams = [ "snd_bcm2835.enable_hdmi=1" ];
|
kernelParams = [ "snd_bcm2835.enable_hdmi=1" ];
|
||||||
|
loader.raspberryPi.firmwareConfig = ''
|
||||||
|
dtparam=audio=on
|
||||||
|
dtparam=krnbt=on
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
console.enable = false;
|
console.enable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{ config, inputs, lib, pkgs, ... }: {
|
{ config, inputs, lib, pkgs, ... }: {
|
||||||
imports = [
|
|
||||||
inputs.florp-moderation.nixosModules.default
|
|
||||||
# Moderated instances. See https://woof.rip/florp/moderation for more information.
|
|
||||||
inputs.florp-moderation.nixosModules.florp
|
|
||||||
];
|
|
||||||
sops.secrets."services/akkoma/mailerPassword" = {
|
sops.secrets."services/akkoma/mailerPassword" = {
|
||||||
sopsFile = ../../../secrets/services/akkoma.yaml;
|
sopsFile = ../../../secrets/services/akkoma.yaml;
|
||||||
};
|
};
|
||||||
|
@ -13,79 +8,31 @@
|
||||||
|
|
||||||
services.akkoma = {
|
services.akkoma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = let
|
extraPackages = with pkgs; [ exiftool ffmpeg-headless imagemagick ];
|
||||||
imagemagick = pkgs.imagemagick.override {
|
extraStatic."emoji/blobs.gg" = pkgs.akkoma-emoji.blobs_gg;
|
||||||
libheif = pkgs.libheif.overrideAttrs (prevAttrs: {
|
|
||||||
buildInputs = prevAttrs.buildInputs or [ ] ++ [ pkgs.svt-av1 ];
|
|
||||||
cmakeFlags = prevAttrs.cmakeFlags or [ ] ++ [ "-DWITH_SvtEnc=ON" ];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
in with pkgs; [ exiftool ffmpeg-headless imagemagick ];
|
|
||||||
|
|
||||||
extraStatic = let
|
extraStatic."emoji/florp" = pkgs.runCommandNoCC "florp" {
|
||||||
actualFetchzip =
|
|
||||||
{
|
|
||||||
url,
|
|
||||||
hash
|
|
||||||
}: pkgs.runCommandNoCC "${lib.last (lib.splitString "/" url)}" {
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
inherit url hash;
|
|
||||||
};
|
|
||||||
} ''
|
|
||||||
${lib.getExe pkgs.unzip} $src -d $out
|
|
||||||
for f in $out/*_256.png; do
|
|
||||||
mv -- "$f" "''${f/_256}"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
"emoji/blobs.gg" = pkgs.akkoma-emoji.blobs_gg;
|
|
||||||
|
|
||||||
"emoji/custom" = pkgs.runCommandNoCC "florp" {
|
|
||||||
src = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.favicon;
|
src = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.favicon;
|
||||||
} ''
|
} ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
cp $src $out/florp.png
|
cp $src $out/florp.png
|
||||||
'';
|
'';
|
||||||
|
|
||||||
"emoji/neodog" = actualFetchzip {
|
extraStatic."static/styles.json" = pkgs.writeText "styles.json" (builtins.toJSON (
|
||||||
url = "https://git.gay/moonrabbits/neodog/raw/commit/6f9eb283b6dcbe507fde1110abab267cb2d73b70/neodog.zip";
|
|
||||||
hash = "sha256-ISyzpRyjHf+4jKrOtHHqH0Qn7CQu5RQSLH/HL/YSdT4=";
|
|
||||||
};
|
|
||||||
|
|
||||||
"emoji/neocat" = actualFetchzip {
|
|
||||||
url = "https://volpeon.ink/emojis/neocat/neocat.zip";
|
|
||||||
hash = "sha256-DZDuk0Djlax504flNWdpqAw+ROLOOVGj0ZvJLyouo7A=";
|
|
||||||
};
|
|
||||||
|
|
||||||
"emoji/neofox" = actualFetchzip {
|
|
||||||
url = "https://volpeon.ink/emojis/neofox/neofox.zip";
|
|
||||||
hash = "sha256-rZUPA7ZvrO8q/lx8XK3IxJ1URLgq0PSh752eWzG+uos=";
|
|
||||||
};
|
|
||||||
|
|
||||||
"emoji/blobhaj" = actualFetchzip {
|
|
||||||
url = "https://web.archive.org/web/20240829143703/https://heatherhorns.com/wp-content/uploads/2022/12/Blobhaj-12-13-2022.zip";
|
|
||||||
hash = "sha256-5l8ozTivCSOomPq+zDD4FWhK5mA/H2qkGs8beuDnp9s=";
|
|
||||||
};
|
|
||||||
|
|
||||||
"static/styles.json" = pkgs.writeText "styles.json" (builtins.toJSON (
|
|
||||||
builtins.fromJSON (builtins.readFile "${pkgs.akkoma-fe-domi}/static/styles.json") // {
|
builtins.fromJSON (builtins.readFile "${pkgs.akkoma-fe-domi}/static/styles.json") // {
|
||||||
elly-mod = "/static/themes/elly-mod.json";
|
elly-mod = "/static/themes/elly-mod.json";
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
|
||||||
"static/themes/elly-mod.json" = pkgs.writeText "elly-mod.json" (builtins.readFile ./elly-mod.json);
|
extraStatic."static/themes/elly-mod.json" = pkgs.writeText "elly-mod.json" (builtins.readFile ./elly-mod.json);
|
||||||
|
|
||||||
"static/custom.css" = pkgs.writeText "custom.css" ''
|
extraStatic."static/terms-of-service.html" = pkgs.writeText "terms-of-service.html" ''
|
||||||
.tos-content img, .terms-of-service img {
|
<h3>Likes are now florps. The timeline goes sideways.</h3>
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
"static/terms-of-service.html" = inputs.florp-about.packages.${pkgs.system}.default;
|
extraStatic."images/sylvia-ritter-15012323.avif" = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.wallpaper;
|
||||||
"images/sylvia-ritter-15012323.avif" = inputs.florp-branding.packages.${pkgs.system}.wallpaper;
|
|
||||||
"images/florp_banner.avif" = inputs.florp-branding.packages.${pkgs.system}.banner;
|
extraStatic."favicon.png" = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.favicon;
|
||||||
"favicon.png" = inputs.florp-branding.packages.${pkgs.system}.favicon;
|
|
||||||
};
|
|
||||||
|
|
||||||
frontends = {
|
frontends = {
|
||||||
primary = {
|
primary = {
|
||||||
|
@ -94,14 +41,16 @@
|
||||||
ref = "5f0339ce00";
|
ref = "5f0339ce00";
|
||||||
};
|
};
|
||||||
admin = {
|
admin = {
|
||||||
package = pkgs.akkoma-admin-fe;
|
package = pkgs.akkoma-frontends.admin-fe;
|
||||||
name = "admin-fe";
|
name = "admin-fe";
|
||||||
ref = "stable";
|
ref = "stable";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.akkoma.config = let
|
services.akkoma.config = let
|
||||||
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw mkAtom;
|
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw mkAtom mkTuple;
|
||||||
|
|
||||||
|
mapAttrsToListOfTuple = attr: lib.mapAttrsToList (name: value: mkTuple [ name value ]) attr;
|
||||||
|
|
||||||
mkMapOfPredefinedKeys = set: let
|
mkMapOfPredefinedKeys = set: let
|
||||||
string = value: "\"${(lib.escape [ "\\" "#" "\"" ]) value}\"";
|
string = value: "\"${(lib.escape [ "\\" "#" "\"" ]) value}\"";
|
||||||
|
@ -129,10 +78,10 @@
|
||||||
limit = 69420;
|
limit = 69420;
|
||||||
description_limit = 69420;
|
description_limit = 69420;
|
||||||
remote_limit = 131072;
|
remote_limit = 131072;
|
||||||
upload_limit = 256 * 1024 * 1024;
|
upload_limit = 160 * 1024 * 1024;
|
||||||
avatar_upload_limit = 4 * 1024 * 1024;
|
avatar_upload_limit = 16 * 1024 * 1024;
|
||||||
background_upload_limit = 8 * 1024 * 1024;
|
background_upload_limit = 32 * 1024 * 1024;
|
||||||
banner_upload_limit = 8 * 1024 * 1024;
|
banner_upload_limit = 32 * 1024 * 1024;
|
||||||
registrations_open = true;
|
registrations_open = true;
|
||||||
registration_reason_length = 2048;
|
registration_reason_length = 2048;
|
||||||
account_approval_required = true;
|
account_approval_required = true;
|
||||||
|
@ -152,24 +101,10 @@
|
||||||
"solitary.social"
|
"solitary.social"
|
||||||
"donotsta.re"
|
"donotsta.re"
|
||||||
"chaos.social"
|
"chaos.social"
|
||||||
|
"girldick.gay"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
":emoji".groups = {
|
|
||||||
blobs = "/emoji/blobs.gg/*.png";
|
|
||||||
blobhaj = "/emoji/blobhaj/512w/*.png";
|
|
||||||
neodog = "/emoji/neodog/*.png";
|
|
||||||
neocat = [
|
|
||||||
"/emoji/neocat/*.png"
|
|
||||||
"/emoji/neodog/additional_neocat/*.png"
|
|
||||||
];
|
|
||||||
neofox = [
|
|
||||||
"/emoji/neofox/*.png"
|
|
||||||
"/emoji/neodog/additional_neofox/*.png"
|
|
||||||
];
|
|
||||||
Custom = "/emoji/custom/*.png";
|
|
||||||
};
|
|
||||||
|
|
||||||
"Pleroma.Captcha".method = mkRaw "Pleroma.Captcha.Kocaptcha";
|
"Pleroma.Captcha".method = mkRaw "Pleroma.Captcha.Kocaptcha";
|
||||||
|
|
||||||
"Pleroma.Web.Endpoint".url.host = "florp.social";
|
"Pleroma.Web.Endpoint".url.host = "florp.social";
|
||||||
|
@ -213,9 +148,45 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
":mrf".policies = map mkRaw [
|
":mrf".policies = map mkRaw [
|
||||||
|
"Pleroma.Web.ActivityPub.MRF.SimplePolicy"
|
||||||
|
"Pleroma.Web.ActivityPub.MRF.ObjectAgePolicy"
|
||||||
"Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
|
"Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
":mrf_simple" = {
|
||||||
|
reject = mapAttrsToListOfTuple {
|
||||||
|
"bae.st" = "transphobia / queerphobia";
|
||||||
|
"brighteon.social" = "transphobia, pro trump";
|
||||||
|
"detroitriotcity.com" = "transphobia / queerphobia";
|
||||||
|
"freeatlantis.com" = "harassment";
|
||||||
|
"freespeechextremist.com" = "N/A";
|
||||||
|
"gab.com" = "N/A";
|
||||||
|
"gleasonator.com" = "transphobia";
|
||||||
|
"kitsunemimi.club" = "transphobia";
|
||||||
|
"kiwifarms.*" = "N/A";
|
||||||
|
"poa.st" = "queerphobia / racism / nazis";
|
||||||
|
"seal.cafe" = "transphobia";
|
||||||
|
"social.quodverum.com" = "N/A";
|
||||||
|
"spinster.xyz" = "transphobia";
|
||||||
|
"truthsocial.co.in" = "N/A";
|
||||||
|
"varishangout.net" = "transphobia";
|
||||||
|
"activitypub-troll.cf" = "N/A";
|
||||||
|
"misskey-forkbomb.cf" = "N/A";
|
||||||
|
"repl.co" = "N/A";
|
||||||
|
"rape.pet" = "CP";
|
||||||
|
"childlove.space" = "CP";
|
||||||
|
"pedo.school" = "CP";
|
||||||
|
"loli.church" = "transphobia";
|
||||||
|
"usasa.ky" = "spam";
|
||||||
|
"tickler.cc" = "spam";
|
||||||
|
"shitposter.club" = "transphobia";
|
||||||
|
};
|
||||||
|
|
||||||
|
followers_only = mapAttrsToListOfTuple {
|
||||||
|
"bitcoinhackers.org" = "annoying";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
":mrf_object_age".threshold = 180 * 24 * 3600;
|
":mrf_object_age".threshold = 180 * 24 * 3600;
|
||||||
|
|
||||||
":frontend_configurations" = {
|
":frontend_configurations" = {
|
||||||
|
@ -227,6 +198,7 @@
|
||||||
webPushNotifications = true;
|
webPushNotifications = true;
|
||||||
useStreamingApi = true;
|
useStreamingApi = true;
|
||||||
scopeCopy = true;
|
scopeCopy = true;
|
||||||
|
showFeaturesPanel = false;
|
||||||
subjectLineBehavior = "masto";
|
subjectLineBehavior = "masto";
|
||||||
alwaysShowSubjectInput = true;
|
alwaysShowSubjectInput = true;
|
||||||
postContentType = "text/markdown";
|
postContentType = "text/markdown";
|
||||||
|
@ -270,10 +242,11 @@
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
clientMaxBodySize = "256m";
|
clientMaxBodySize = "256m";
|
||||||
commonHttpConfig = ''
|
commonHttpConfig = ''
|
||||||
access_log off;
|
access_log /var/log/nginx/access.log;
|
||||||
|
error_log /var/log/nginx/err.log warn;
|
||||||
|
|
||||||
proxy_cache_path /var/cache/nginx/akkoma-media-cache
|
proxy_cache_path /var/cache/nginx/akkoma-media-cache
|
||||||
levels= keys_zone=akkoma_media_cache:64m max_size=64g
|
levels= keys_zone=akkoma_media_cache:32m max_size=64g
|
||||||
inactive=1y use_temp_path=off;
|
inactive=1y use_temp_path=off;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -307,12 +280,6 @@
|
||||||
};
|
};
|
||||||
locations."^/media(/.*)$".return = "308 https://media.florp.social$1";
|
locations."^/media(/.*)$".return = "308 https://media.florp.social$1";
|
||||||
locations."^/proxy(/.*)$".return = "308 https://cache.florp.social$1";
|
locations."^/proxy(/.*)$".return = "308 https://cache.florp.social$1";
|
||||||
locations."= /api/v1/pleroma/admin/config" = {
|
|
||||||
return = ''200 "\{\"error\":\"You must enable configurable_from_database in your config file.\"\}"'';
|
|
||||||
extraConfig = ''
|
|
||||||
types { } default_type "application/json; charset=utf-8";
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"media.florp.social" = {
|
"media.florp.social" = {
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
{ lib, pkgs, ... }: {
|
|
||||||
|
|
||||||
services = {
|
|
||||||
prowlarr.enable = true;
|
|
||||||
} // lib.genAttrs [ "sonarr" "radarr" ] (_: {
|
|
||||||
enable = true;
|
|
||||||
});
|
|
||||||
systemd.services = lib.genAttrs [ "radarr" "sonarr" ] (_: {
|
|
||||||
wants = [ "mnt-mezzomix.mount" ];
|
|
||||||
});
|
|
||||||
|
|
||||||
systemd.mounts = lib.singleton {
|
|
||||||
description = "rclone mount";
|
|
||||||
after = [ "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" "radarr.service" "sonarr.service" ];
|
|
||||||
|
|
||||||
where = "/mnt/mezzomix";
|
|
||||||
what = "mezzomix@otos.feralhosting.com:private/rtorrent/data";
|
|
||||||
type = "fuse.sshfs";
|
|
||||||
options = "umask=0000,idmap=user,_netdev,rw,nosuid,allow_other,default_permissions,follow_symlinks,reconnect,max_conns=10,identityfile=/etc/keys/ssh_host_ed25519_key";
|
|
||||||
};
|
|
||||||
systemd.automounts = lib.singleton {
|
|
||||||
name = "mnt-mezzomix.automount";
|
|
||||||
where = "/mnt/mezzomix";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
|
|
||||||
automountConfig.TimeoutIdleSec = 0;
|
|
||||||
};
|
|
||||||
environment.systemPackages = [ pkgs.sshfs ];
|
|
||||||
programs.ssh.ciphers = [ "aes256-ctr" ];
|
|
||||||
|
|
||||||
|
|
||||||
kyouma.nginx.virtualHosts = {
|
|
||||||
"crime.kyouma.net" = {
|
|
||||||
verifyClientCert = true;
|
|
||||||
disableHttp3 = true;
|
|
||||||
locations = {
|
|
||||||
"/".root = pkgs.writeTextDir "index.html" (builtins.readFile ./landingPage.html);
|
|
||||||
"/sonarr/" = {
|
|
||||||
proxyPass = "http://127.0.0.1:8989";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
"/radarr/" = {
|
|
||||||
proxyPass = "http://127.0.0.1:7878";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
"/prowlarr/" = {
|
|
||||||
proxyPass = "http://127.0.0.1:9696";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
security.acme.certs."crime.kyouma.net" = {};
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>crime.kyouma.net</title>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
width: 35em;
|
|
||||||
margin: 0 auto;
|
|
||||||
font-family: Tahoma, Verdana, Arial, sans-serif;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Welcome to crime.kyouma.net!</h1>
|
|
||||||
<p>If you see this page, the nginx web server is successfully installed and
|
|
||||||
working. Further configuration is required.</p>
|
|
||||||
|
|
||||||
<p>Sonarr
|
|
||||||
<a href="https://crime.kyouma.net/sonarr">crime.kyouma.net/sonarr</a><br/>
|
|
||||||
Radarr
|
|
||||||
<a href="https://crime.kyouma.net/radarr">crime.kyouma.net/radarr</a><br/>
|
|
||||||
Prowlarr
|
|
||||||
<a href="https://crime.kyouma.net/prowlarr">crime.kyouma.net/prowlarr</a></p>
|
|
||||||
|
|
||||||
<p><em>Thank you for using nginx.</em></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -30,8 +30,8 @@
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
server_store_uri = https://cache.kyouma.net
|
server_store_uri = https://cache.kyouma.net
|
||||||
binary_cache_public_uri = https://cache.kyouma.net
|
binary_cache_public_uri = https://cache.kyouma.net
|
||||||
evaluator_workers = 1
|
evaluator_workers = 8
|
||||||
evaluator_max_memory_size = 4096
|
evaluator_max_memory_size = 16384
|
||||||
max_output_size = ${builtins.toString (24 * 1024 * 1024 * 1024)}
|
max_output_size = ${builtins.toString (24 * 1024 * 1024 * 1024)}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -44,8 +44,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.hydra-evaluator.serviceConfig = {
|
systemd.services.hydra-evaluator.serviceConfig = {
|
||||||
MemoryHigh = "150G";
|
MemoryHigh = "250G";
|
||||||
MemoryMax = "155G";
|
MemoryMax = "254G";
|
||||||
};
|
};
|
||||||
|
|
||||||
kyouma.nginx.defaultForbidden = "hydra.kyouma.net";
|
kyouma.nginx.defaultForbidden = "hydra.kyouma.net";
|
||||||
|
|
|
@ -25,11 +25,20 @@
|
||||||
maxJobs = 0;
|
maxJobs = 0;
|
||||||
speedFactor = 20;
|
speedFactor = 20;
|
||||||
systems = [ "riscv64-linux" ];
|
systems = [ "riscv64-linux" ];
|
||||||
supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" "gccarch-rv64gc" ];
|
supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" ];
|
||||||
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
||||||
}
|
}
|
||||||
] ++ lib.forEach (lib.range 0 11) (num: {
|
{
|
||||||
hostName = "build-worker-${lib.fixedWidthNumber 2 num}";
|
hostName = "machine-0008.cloud-v.co";
|
||||||
|
sshUser = "root";
|
||||||
|
maxJobs = 2;
|
||||||
|
speedFactor = 4;
|
||||||
|
systems = [ "riscv64-linux" ];
|
||||||
|
supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" ];
|
||||||
|
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
||||||
|
}
|
||||||
|
] ++ lib.forEach (lib.genList (i: i + 1) 8) (num: {
|
||||||
|
hostName = "build-worker-0${toString num}";
|
||||||
sshUser = "root";
|
sshUser = "root";
|
||||||
maxJobs = 2;
|
maxJobs = 2;
|
||||||
speedFactor = 20;
|
speedFactor = 20;
|
||||||
|
@ -54,9 +63,8 @@
|
||||||
"build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK";
|
"build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK";
|
||||||
"integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU";
|
"integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU";
|
||||||
"schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp";
|
"schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp";
|
||||||
"lab.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIUePtVPtBK+CYosufbaGiMT4EVanti4V5t2Wg0g/Fy4";
|
"[machine.cloud-v.co]:20008".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK6Kri0cjPKEXXDEl2GwfwzPO9wuPZEgJS0M6lKRHCqH";
|
||||||
"localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P";
|
"localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P";
|
||||||
"[build-worker-kyoumanet.fly.dev]:2200".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUGzlilikAUfUGKXVCoTeDvPRoWUgDDkNU5WaRUBzls";
|
|
||||||
"[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB";
|
"[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB";
|
||||||
"[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz";
|
"[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz";
|
||||||
"[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp";
|
"[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp";
|
||||||
|
@ -65,18 +73,15 @@
|
||||||
"[build-worker-kyoumanet.fly.dev]:2206".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGf0kxGgwOG9KhUhvxxTSiQC5YikrzZXKDgSpBw33qN4";
|
"[build-worker-kyoumanet.fly.dev]:2206".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGf0kxGgwOG9KhUhvxxTSiQC5YikrzZXKDgSpBw33qN4";
|
||||||
"[build-worker-kyoumanet.fly.dev]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY";
|
"[build-worker-kyoumanet.fly.dev]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY";
|
||||||
"[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O";
|
"[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O";
|
||||||
"[build-worker-kyoumanet-cdg.fly.dev]:2209".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJGlQD/3fLn/Kyb7v0RIycHRcArGi75jURj803EMpW0S";
|
|
||||||
"[build-worker-kyoumanet-cdg.fly.dev]:2210".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQm1FSGBGdCR5f8MvBvdKM0M4yIQVnH1po7hHO5T1qz";
|
|
||||||
"[build-worker-kyoumanet-cdg.fly.dev]:2211".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINlH+v2ZlcDQY3itw4b7aRbwRTqDsTE0R5Ua3vF0VaGr";
|
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
Host machine-0008.cloud-v.co
|
Host machine-0008.cloud-v.co
|
||||||
Hostname machine.cloud-v.co
|
Hostname machine.cloud-v.co
|
||||||
Port 20008
|
Port 20008
|
||||||
'' + lib.concatLines (lib.forEach (lib.range 0 11) (num: ''
|
'' + lib.concatLines (lib.genList (i: ''
|
||||||
Host build-worker-${lib.fixedWidthNumber 2 num}
|
Host build-worker-0${toString (i + 1)}
|
||||||
Hostname build-worker-kyoumanet${lib.optionalString (num > 8) "-cdg"}.fly.dev
|
Hostname build-worker-kyoumanet.fly.dev
|
||||||
Port 22${lib.fixedWidthNumber 2 num}
|
Port 220${toString (i + 1)}
|
||||||
''));
|
'') 8);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
{ lib, ... }: {
|
|
||||||
|
|
||||||
services.jellyfin.enable = true;
|
|
||||||
|
|
||||||
kyouma.nginx.virtualHosts = {
|
|
||||||
"watch.kyouma.net".redirectTo = "fentanyl.trade";
|
|
||||||
"fentanyl.trade" = {
|
|
||||||
serverAliases = lib.singleton "frotti.ng";
|
|
||||||
locations = {
|
|
||||||
"= /".return = "302 https://$host/web/";
|
|
||||||
"/" = {
|
|
||||||
proxyPass = "http://[::1]:8096";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
extraConfig = ''
|
|
||||||
proxy_buffering on;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"= /web/" = {
|
|
||||||
proxyPass = "http://[::1]:8096";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
"/socket" = {
|
|
||||||
proxyPass = "http://[::1]:8096";
|
|
||||||
recommendedProxySettings = true;
|
|
||||||
proxyWebsockets = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
security.acme.certs."fentanyl.trade".extraDomainNames = [
|
|
||||||
"frotti.ng"
|
|
||||||
"watch.kyouma.net"
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,78 +0,0 @@
|
||||||
{ inputs, pkgs, ... }: {
|
|
||||||
imports = [
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.lucy = {
|
|
||||||
isNormalUser = true;
|
|
||||||
shell = pkgs.fish;
|
|
||||||
ignoreShellProgramCheck = true;
|
|
||||||
extraGroups = [ "wheel" ];
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIId7XvwEHtC9KdGg4Bn+XE+yyBp7/dRToJX9T56mM7ln kosaki@kosaki"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAZH8HwE1OxVAArRpc3+c7foYJ/WYjp4BqUyuab9yQyl emilia@emilia"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.users.lucy = {
|
|
||||||
home.stateVersion = "24.11";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
whois
|
|
||||||
htop
|
|
||||||
restic
|
|
||||||
fend
|
|
||||||
];
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
|
|
||||||
programs.bat.enable = true;
|
|
||||||
programs.gpg.enable = true;
|
|
||||||
programs.ripgrep.enable = true;
|
|
||||||
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
prefix = "M-w";
|
|
||||||
clock24 = true;
|
|
||||||
extraConfig = ''
|
|
||||||
# unbind keys
|
|
||||||
unbind-key C-b
|
|
||||||
|
|
||||||
# new prefix
|
|
||||||
bind-key M-w send-prefix
|
|
||||||
|
|
||||||
# selection via vim keys
|
|
||||||
bind-key -r h select-pane -L
|
|
||||||
bind-key -r j select-pane -D
|
|
||||||
bind-key -r k select-pane -U
|
|
||||||
bind-key -r l select-pane -R
|
|
||||||
|
|
||||||
# resize aswell
|
|
||||||
bind-key -r C-h resize-pane -L 5
|
|
||||||
bind-key -r C-j resize-pane -D 5
|
|
||||||
bind-key -r C-k resize-pane -U 5
|
|
||||||
bind-key -r C-l resize-pane -R 5
|
|
||||||
|
|
||||||
bind-key g split-window
|
|
||||||
bind-key v split-window -h
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
icons = "auto";
|
|
||||||
git = true;
|
|
||||||
extraOptions = [
|
|
||||||
"--color-scale=all"
|
|
||||||
"--color-scale-mode=gradient"
|
|
||||||
"--group-directories-first"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs.fish = {
|
|
||||||
enable = true;
|
|
||||||
interactiveShellInit = ''
|
|
||||||
set -U fish_greeting
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
{ inputs, pkgs, ... }: {
|
|
||||||
imports = [
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.nil = {
|
|
||||||
isNormalUser = true;
|
|
||||||
shell = pkgs.fish;
|
|
||||||
ignoreShellProgramCheck = true;
|
|
||||||
extraGroups = [ "wheel" ];
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAICczPHRwY9MAwDGlcB0QgMOJjcpLJhVU3covrW9RBS62AAAABHNzaDo="
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.users.nil = {
|
|
||||||
home.stateVersion = "24.11";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
whois
|
|
||||||
htop
|
|
||||||
restic
|
|
||||||
fend
|
|
||||||
];
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
|
|
||||||
programs.bat.enable = true;
|
|
||||||
programs.gpg.enable = true;
|
|
||||||
programs.ripgrep.enable = true;
|
|
||||||
|
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
icons = "auto";
|
|
||||||
git = true;
|
|
||||||
extraOptions = [
|
|
||||||
"--color-scale=all"
|
|
||||||
"--color-scale-mode=gradient"
|
|
||||||
"--group-directories-first"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs.fish = {
|
|
||||||
enable = true;
|
|
||||||
interactiveShellInit = ''
|
|
||||||
set -U fish_greeting
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
352
flake.lock
352
flake.lock
|
@ -12,11 +12,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731270564,
|
"lastModified": 1730906442,
|
||||||
"narHash": "sha256-6KMC/NH/VWP5Eb+hA56hz0urel3jP6Y6cF2PX6xaTkk=",
|
"narHash": "sha256-tBuyb8jWBSHHgcIrOfiyQJZGY1IviMzH2V74t7gWfgI=",
|
||||||
"owner": "zhaofengli",
|
"owner": "zhaofengli",
|
||||||
"repo": "attic",
|
"repo": "attic",
|
||||||
"rev": "47752427561f1c34debb16728a210d378f0ece36",
|
"rev": "d0b66cf897e4d55f03d341562c9821dc4e566e54",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -156,11 +156,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731549112,
|
"lastModified": 1731060864,
|
||||||
"narHash": "sha256-c9I3i1CwZ10SoM5npQQVnfwgvB86jAS3lT4ZqkRoSOI=",
|
"narHash": "sha256-aYE7oAYZ+gPU1mPNhM0JwLAQNgjf0/JK1BF1ln2KBgk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "5fd852c4155a689098095406500d0ae3d04654a8",
|
"rev": "5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -214,27 +214,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"firefox": {
|
|
||||||
"inputs": {
|
|
||||||
"neoidiosyn": "neoidiosyn",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731867603,
|
|
||||||
"narHash": "sha256-07612Ws2V4iFQAGLEoZVIefA3rM9JP3B/qo/z4tu1Kg=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "022ec0becb1ca7b96ddb9bdd046617075357c2cb",
|
|
||||||
"revCount": 3,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/mikael/firefox.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/mikael/firefox.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -384,11 +363,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -416,24 +395,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_4": {
|
"flake-utils_4": {
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_4"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726560853,
|
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_5": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": [
|
"systems": [
|
||||||
"stylix",
|
"stylix",
|
||||||
|
@ -469,41 +430,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flakey-profile_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1712898590,
|
|
||||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"florp-about": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731582952,
|
|
||||||
"narHash": "sha256-hnvqHeekGal+hml6BQB254LsJn+Vk5QNKzkIu8rH/xs=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "f283dba73f777746e1675126f8fa4c5b1fd06152",
|
|
||||||
"revCount": 10,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/florp/about.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/florp/about.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"florp-branding": {
|
"florp-branding": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -511,11 +437,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731182323,
|
"lastModified": 1730825511,
|
||||||
"narHash": "sha256-Ecw7fOxv3hp1iLWBqlYW9TTNi0LTtiu92gtqfdn5v20=",
|
"narHash": "sha256-Ywc4Y+4VobocyxcVhHlJ5Q5h1fOdsJNlAlWlrkqC8U0=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "8aaf8c85b902eaaabfdeadd5502019b2816991b9",
|
"rev": "81bde12357d59215e7d67c7f55c2eb3d54c47689",
|
||||||
"revCount": 3,
|
"revCount": 2,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://woof.rip/florp/branding.git"
|
"url": "https://woof.rip/florp/branding.git"
|
||||||
},
|
},
|
||||||
|
@ -524,26 +450,6 @@
|
||||||
"url": "https://woof.rip/florp/branding.git"
|
"url": "https://woof.rip/florp/branding.git"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"florp-moderation": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731611636,
|
|
||||||
"narHash": "sha256-Do8vpR8JTpkPr9vxf1aRzhb4/cUBjg5twPyGDyezxJw=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "32e1061cb2ef3cd0eab0bd99f062a2776a73d459",
|
|
||||||
"revCount": 7,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/florp/moderation.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/florp/moderation.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -577,11 +483,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731363552,
|
"lastModified": 1730814269,
|
||||||
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -636,11 +542,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731604581,
|
"lastModified": 1730837930,
|
||||||
"narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=",
|
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10",
|
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -725,68 +631,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731683711,
|
|
||||||
"narHash": "sha256-bq21I1EjXJa/s5Rra9J9ot2NkPCnI0F5uNPurwYLdpE=",
|
|
||||||
"rev": "c859d03013712b349d82ee6223948d6d03e63a8d",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/c859d03013712b349d82ee6223948d6d03e63a8d.tar.gz?rev=c859d03013712b349d82ee6223948d6d03e63a8d"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix-module": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"flakey-profile": "flakey-profile",
|
|
||||||
"lix": [
|
|
||||||
"firefox",
|
|
||||||
"neoidiosyn",
|
|
||||||
"lix"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"firefox",
|
|
||||||
"neoidiosyn",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731185731,
|
|
||||||
"narHash": "sha256-RNaIu43b9PoXEhW4OqXUNZKY/jezQyCYWwdv1M0VjsA=",
|
|
||||||
"rev": "691193879d96bdfd1e6ab5ebcca2fadc7604cf34",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/691193879d96bdfd1e6ab5ebcca2fadc7604cf34.tar.gz?rev=691193879d96bdfd1e6ab5ebcca2fadc7604cf34"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix-module_2": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_3",
|
|
||||||
"flakey-profile": "flakey-profile_2",
|
|
||||||
"lix": "lix_3",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729360442,
|
|
||||||
"narHash": "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=",
|
|
||||||
"rev": "9098ac95768f7006d7e070b88bae76939f6034e6",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/9098ac95768f7006d7e070b88bae76939f6034e6.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nix2container": "nix2container",
|
"nix2container": "nix2container",
|
||||||
|
@ -795,52 +639,50 @@
|
||||||
"pre-commit-hooks": "pre-commit-hooks"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729298361,
|
"lastModified": 1723503926,
|
||||||
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
|
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
|
||||||
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
|
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
|
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix_3": {
|
"lix-module": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729298361,
|
|
||||||
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
|
|
||||||
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neoidiosyn": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"lix": "lix",
|
"flake-utils": "flake-utils_2",
|
||||||
"lix-module": "lix-module",
|
"flakey-profile": "flakey-profile",
|
||||||
|
"lix": "lix_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"firefox",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731867586,
|
"lastModified": 1723510904,
|
||||||
"narHash": "sha256-6anSWv1Vw83RKMAFMHOCv/9pp23ExzscEKFAe+GbAmU=",
|
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||||
"ref": "refs/heads/main",
|
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||||
"rev": "86605e5489fb5045f4dee48de2a69082e17c033b",
|
"type": "tarball",
|
||||||
"revCount": 1,
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
|
||||||
"type": "git",
|
|
||||||
"url": "https://woof.rip/mikael/neoidiosyn.git"
|
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "git",
|
"type": "tarball",
|
||||||
"url": "https://woof.rip/mikael/neoidiosyn.git"
|
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lix_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723503926,
|
||||||
|
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
|
||||||
|
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-darwin": {
|
"nix-darwin": {
|
||||||
|
@ -851,11 +693,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731454423,
|
"lastModified": 1730779758,
|
||||||
"narHash": "sha256-TtwvgFxUa0wyptLhQbKaixgNW1UXf3+TDqfX3Kp63oM=",
|
"narHash": "sha256-5WI9AnsBwhLzVRnQm3Qn9oAbROnuLDQTpaXeyZCK8qw=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "6c71c49e2448e51ad830ed211024e6d0edc50116",
|
"rev": "0e3f3f017c14467085f15d42343a3aaaacd89bcb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -953,11 +795,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731403644,
|
"lastModified": 1730919458,
|
||||||
"narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=",
|
"narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "f6581f1c3b137086e42a08a906bdada63045f991",
|
"rev": "e1cc1f6483393634aee94514186d21a4871e78d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1084,11 +926,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731319897,
|
"lastModified": 1730785428,
|
||||||
"narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1115,11 +957,11 @@
|
||||||
"treefmt-nix": "treefmt-nix_2"
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731707185,
|
"lastModified": 1731009822,
|
||||||
"narHash": "sha256-IfA3x0eL4Be/7hvdvGSnT8fgiXz7GL3PtjGw3BH68gM=",
|
"narHash": "sha256-VwGfFYHjizs7yQwh8JRlDUVkHLPc34jdqkQ2vyv6ddY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "be455f7f2714ce3479ae5bb662a03bd450f45793",
|
"rev": "aabbd60633947baba11db44df84f402edc241440",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1130,7 +972,7 @@
|
||||||
},
|
},
|
||||||
"nuschtosSearch": {
|
"nuschtosSearch": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_3",
|
||||||
"ixx": "ixx",
|
"ixx": "ixx",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
|
@ -1138,11 +980,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731347683,
|
"lastModified": 1730760712,
|
||||||
"narHash": "sha256-BcSWCEUBShuB32LPif+EG0XGXyUi2jyjCSpGE1rbOws=",
|
"narHash": "sha256-F4H98tjNgySlSLItuOqHYo9LF85rFoS/Vr0uOrq7BM4=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "135d202e032be70c93b6d7d53592ef4799d6efde",
|
"rev": "aa5214c81b904a19f7a54f7a8f288f7902586eee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1151,29 +993,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oth": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732215904,
|
|
||||||
"narHash": "sha256-bXXoyQcVMULYOj1KlzbquUyMTyByzmLatIgm0ra/7sk=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "847cc8493f7f44bd5ada0283d6b96457f4ee5a9b",
|
|
||||||
"revCount": 1,
|
|
||||||
"type": "git",
|
|
||||||
"url": "ssh://forgejo@woof.rip/emily/oth.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "ssh://forgejo@woof.rip/emily/oth.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -1196,21 +1015,17 @@
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"dns": "dns",
|
"dns": "dns",
|
||||||
"fernglas": "fernglas",
|
"fernglas": "fernglas",
|
||||||
"firefox": "firefox",
|
"flake-utils": "flake-utils",
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"florp-about": "florp-about",
|
|
||||||
"florp-branding": "florp-branding",
|
"florp-branding": "florp-branding",
|
||||||
"florp-moderation": "florp-moderation",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hydra": "hydra",
|
"hydra": "hydra",
|
||||||
"kyouma-www": "kyouma-www",
|
"kyouma-www": "kyouma-www",
|
||||||
"lix": "lix_2",
|
"lix": "lix",
|
||||||
"lix-module": "lix-module_2",
|
"lix-module": "lix-module",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixos-needsreboot": "nixos-needsreboot",
|
"nixos-needsreboot": "nixos-needsreboot",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"oth": "oth",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
|
@ -1223,11 +1038,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731364708,
|
"lastModified": 1731047660,
|
||||||
"narHash": "sha256-HC0anOL+KmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA=",
|
"narHash": "sha256-iyp51lPWEQz4c5VH9bVbAuBcFP4crETU2QJYh5V0NYA=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "4c91d52db103e757fc25b58998b0576ae702d659",
|
"rev": "60e1bce1999f126e3b16ef45f89f72f0c3f8d16f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1243,7 +1058,7 @@
|
||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_4",
|
||||||
"flake-utils": "flake-utils_5",
|
"flake-utils": "flake-utils_4",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": [
|
"home-manager": [
|
||||||
"home-manager"
|
"home-manager"
|
||||||
|
@ -1251,17 +1066,17 @@
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_5",
|
"systems": "systems_4",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-tmux": "tinted-tmux"
|
"tinted-tmux": "tinted-tmux"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731657386,
|
"lastModified": 1731090365,
|
||||||
"narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=",
|
"narHash": "sha256-ti3gXhgVpIUL/7w6zDJuH+hOnyTZqxrIX/yYqALmiEI=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f",
|
"rev": "6863412636c8f2cb3b7360f747fbd020fbfddf68",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1330,21 +1145,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-foot": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
21
flake.nix
21
flake.nix
|
@ -21,22 +21,10 @@
|
||||||
url = "github:wobcom/fernglas";
|
url = "github:wobcom/fernglas";
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
};
|
};
|
||||||
firefox = {
|
|
||||||
url = "git+https://woof.rip/mikael/firefox.git";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
florp-about = {
|
|
||||||
url = "git+https://woof.rip/florp/about.git";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
florp-branding = {
|
florp-branding = {
|
||||||
url = "git+https://woof.rip/florp/branding.git";
|
url = "git+https://woof.rip/florp/branding.git";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
florp-moderation = {
|
|
||||||
url = "git+https://woof.rip/florp/moderation.git";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -50,9 +38,9 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
};
|
};
|
||||||
lix.url = "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz";
|
lix.url = "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz";
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixos-needsreboot = {
|
nixos-needsreboot = {
|
||||||
|
@ -64,11 +52,6 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
oth = {
|
|
||||||
url = "git+ssh://forgejo@woof.rip/emily/oth.git";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
|
||||||
};
|
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -5,7 +5,6 @@ primary_region = 'ams'
|
||||||
image = 'registry.fly.io/build-worker-kyoumanet:latest'
|
image = 'registry.fly.io/build-worker-kyoumanet:latest'
|
||||||
|
|
||||||
[processes]
|
[processes]
|
||||||
bw-00 = '/entrypoint.sh'
|
|
||||||
bw-01 = '/entrypoint.sh'
|
bw-01 = '/entrypoint.sh'
|
||||||
bw-02 = '/entrypoint.sh'
|
bw-02 = '/entrypoint.sh'
|
||||||
bw-03 = '/entrypoint.sh'
|
bw-03 = '/entrypoint.sh'
|
||||||
|
@ -15,34 +14,28 @@ primary_region = 'ams'
|
||||||
bw-07 = '/entrypoint.sh'
|
bw-07 = '/entrypoint.sh'
|
||||||
bw-08 = '/entrypoint.sh'
|
bw-08 = '/entrypoint.sh'
|
||||||
|
|
||||||
[[mounts]]
|
|
||||||
source = 'bw00'
|
|
||||||
destination = '/mnt/data'
|
|
||||||
initial_size = '256GB'
|
|
||||||
processes = ['bw-00']
|
|
||||||
|
|
||||||
[[mounts]]
|
[[mounts]]
|
||||||
source = 'bw01'
|
source = 'bw01'
|
||||||
destination = '/mnt/data'
|
destination = '/mnt/data'
|
||||||
initial_size = '256GB'
|
initial_size = '128GB'
|
||||||
processes = ['bw-01']
|
processes = ['bw-01']
|
||||||
|
|
||||||
[[mounts]]
|
[[mounts]]
|
||||||
source = 'bw02'
|
source = 'bw02'
|
||||||
destination = '/mnt/data'
|
destination = '/mnt/data'
|
||||||
initial_size = '256GB'
|
initial_size = '128GB'
|
||||||
processes = ['bw-02']
|
processes = ['bw-02']
|
||||||
|
|
||||||
[[mounts]]
|
[[mounts]]
|
||||||
source = 'bw03'
|
source = 'bw03'
|
||||||
destination = '/mnt/data'
|
destination = '/mnt/data'
|
||||||
initial_size = '256GB'
|
initial_size = '128GB'
|
||||||
processes = ['bw-03']
|
processes = ['bw-03']
|
||||||
|
|
||||||
[[mounts]]
|
[[mounts]]
|
||||||
source = 'bw04'
|
source = 'bw04'
|
||||||
destination = '/mnt/data'
|
destination = '/mnt/data'
|
||||||
initial_size = '256GB'
|
initial_size = '128GB'
|
||||||
processes = ['bw-04']
|
processes = ['bw-04']
|
||||||
|
|
||||||
[[mounts]]
|
[[mounts]]
|
||||||
|
@ -69,15 +62,6 @@ primary_region = 'ams'
|
||||||
initial_size = '256GB'
|
initial_size = '256GB'
|
||||||
processes = ['bw-08']
|
processes = ['bw-08']
|
||||||
|
|
||||||
[[services]]
|
|
||||||
protocol = 'tcp'
|
|
||||||
internal_port = 2222
|
|
||||||
auto_stop_machines = 'off'
|
|
||||||
processes = ['bw-00']
|
|
||||||
|
|
||||||
[[services.ports]]
|
|
||||||
port = 2200
|
|
||||||
|
|
||||||
[[services]]
|
[[services]]
|
||||||
protocol = 'tcp'
|
protocol = 'tcp'
|
||||||
internal_port = 2222
|
internal_port = 2222
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, inputs, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
config.home-manager.users.emily = lib.mkIf (config.kyouma.graphical.compositor == "hyprland") {
|
config.home-manager.users.emily = lib.mkIf (config.kyouma.graphical.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -9,8 +9,6 @@
|
||||||
notifysend = "${pkgs.libnotify}/bin/notify-send";
|
notifysend = "${pkgs.libnotify}/bin/notify-send";
|
||||||
dolphin = "${pkgs.libsForQt5.dolphin}/bin/dolphin";
|
dolphin = "${pkgs.libsForQt5.dolphin}/bin/dolphin";
|
||||||
firefox = "${pkgs.firefox}/bin/firefox";
|
firefox = "${pkgs.firefox}/bin/firefox";
|
||||||
# currently broken
|
|
||||||
#firefox = "${inputs.firefox.packages.${pkgs.system}.firefox}/bin/firefox";
|
|
||||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||||
screenshot = "~/.local/bin/hypr/screenshot.sh";
|
screenshot = "~/.local/bin/hypr/screenshot.sh";
|
||||||
rofi = "${pkgs.rofi-wayland}/bin/rofi";
|
rofi = "${pkgs.rofi-wayland}/bin/rofi";
|
||||||
|
|
|
@ -10,32 +10,21 @@
|
||||||
add_header Referrer-Policy "same-origin" always;
|
add_header Referrer-Policy "same-origin" always;
|
||||||
'';
|
'';
|
||||||
createHost = vhostName: vhostCfg: {
|
createHost = vhostName: vhostCfg: {
|
||||||
extraConfig = lib.optionalString (vhostCfg ? "extraConfig") (
|
extraConfig = lib.optionalString (builtins.hasAttr "extraConfig" vhostCfg) (vhostCfg.extraConfig + "\n" + extraConfig);
|
||||||
vhostCfg.extraConfig + "\n" + extraConfig
|
|
||||||
) + lib.optionalString (
|
|
||||||
if (vhostCfg ? "verifyClientCert") then
|
|
||||||
vhostCfg.verifyClientCert
|
|
||||||
else false
|
|
||||||
) ''
|
|
||||||
ssl_client_certificate ${./kyouma_Root_CA.pem};
|
|
||||||
ssl_verify_client on;
|
|
||||||
ssl_verify_depth 1;
|
|
||||||
'';
|
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
#kTLS = true;
|
||||||
|
http3 = true;
|
||||||
|
quic = true;
|
||||||
} //
|
} //
|
||||||
lib.optionalAttrs (!(vhostCfg ? "useACMEHost")) {
|
lib.optionalAttrs (!(builtins.hasAttr "useACMEHost" vhostCfg)) {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
} //
|
} //
|
||||||
lib.optionalAttrs (vhostCfg ? "redirectTo") {
|
lib.optionalAttrs (builtins.hasAttr "redirectTo" vhostCfg) {
|
||||||
enableACME = false;
|
enableACME = false;
|
||||||
useACMEHost = vhostCfg.redirectTo;
|
useACMEHost = vhostCfg.redirectTo;
|
||||||
globalRedirect = vhostCfg.redirectTo;
|
globalRedirect = vhostCfg.redirectTo;
|
||||||
} //
|
} //
|
||||||
lib.optionalAttrs (!vhostCfg ? "disableHttp3") {
|
(builtins.removeAttrs vhostCfg [ "redirectTo" "extraConfig" ]);
|
||||||
http3 = true;
|
|
||||||
quic = true;
|
|
||||||
} //
|
|
||||||
(builtins.removeAttrs vhostCfg [ "redirectTo" "extraConfig" "verifyClientCert" "disableHttp3" ]);
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
|
@ -50,8 +39,8 @@ in {
|
||||||
};
|
};
|
||||||
config = {
|
config = {
|
||||||
services.nginx.virtualHosts = lib.optionalAttrs (cfg.virtualHosts != null) (
|
services.nginx.virtualHosts = lib.optionalAttrs (cfg.virtualHosts != null) (
|
||||||
builtins.mapAttrs (createHost) cfg.virtualHosts
|
builtins.mapAttrs (createHost) cfg.virtualHosts) //
|
||||||
) // lib.optionalAttrs (cfg.defaultForbidden != null) {
|
lib.optionalAttrs (cfg.defaultForbidden != null) {
|
||||||
"redirect" = {
|
"redirect" = {
|
||||||
quic = true;
|
quic = true;
|
||||||
http3 = true;
|
http3 = true;
|
||||||
|
|
|
@ -1,192 +0,0 @@
|
||||||
Certificate:
|
|
||||||
Data:
|
|
||||||
Version: 3 (0x2)
|
|
||||||
Serial Number:
|
|
||||||
47:94:9e:44:65:f4:61:f8:aa:b3:c1:7b:86:38:21:d9:88:a5:88:f0
|
|
||||||
Signature Algorithm: sha256WithRSAEncryption
|
|
||||||
Issuer: CN=kyouma Root CA
|
|
||||||
Validity
|
|
||||||
Not Before: Jun 21 14:02:26 2024 GMT
|
|
||||||
Not After : Jun 21 14:02:26 2044 GMT
|
|
||||||
Subject: CN=kyouma Root CA
|
|
||||||
Subject Public Key Info:
|
|
||||||
Public Key Algorithm: rsaEncryption
|
|
||||||
Public-Key: (7680 bit)
|
|
||||||
Modulus:
|
|
||||||
00:f9:d0:a3:4b:d9:77:e3:ec:b4:46:8e:3f:1f:a4:
|
|
||||||
39:22:60:d8:ad:e9:1e:fe:ad:17:f8:30:d6:f6:fa:
|
|
||||||
e9:62:f7:36:25:07:e9:6c:83:91:42:0f:e2:53:f1:
|
|
||||||
ca:70:da:26:7d:bf:bb:1d:d5:4d:5e:99:82:99:39:
|
|
||||||
97:f3:c3:7d:f9:0d:08:e8:d4:ae:fc:45:88:98:8e:
|
|
||||||
a3:bc:2a:bd:16:67:32:59:08:59:eb:a8:de:a6:a7:
|
|
||||||
77:9d:f9:1a:c6:7f:76:92:3d:d7:56:74:2b:a3:5a:
|
|
||||||
97:8f:05:ab:3b:dc:92:61:2e:7f:95:b1:5c:04:da:
|
|
||||||
1e:2e:b9:de:7b:16:b2:85:b4:b4:5a:48:34:9a:bb:
|
|
||||||
18:0d:0a:0a:34:91:f8:8f:f3:79:46:a6:c4:ee:aa:
|
|
||||||
93:88:03:cf:43:a2:ba:1e:bc:65:f1:78:d8:ce:d8:
|
|
||||||
2b:fb:db:33:d6:37:ad:d4:9d:44:38:ff:b5:0d:dc:
|
|
||||||
08:61:2c:fb:f0:86:b2:ef:ff:a8:4f:63:28:13:49:
|
|
||||||
f8:21:4e:cb:22:98:54:de:e7:b4:e2:b6:14:c9:c5:
|
|
||||||
59:04:82:04:a2:39:3c:61:f5:91:99:ff:ac:6e:80:
|
|
||||||
9a:d2:22:7d:51:fb:ad:a3:6a:4c:14:a8:e3:28:d9:
|
|
||||||
22:ac:c8:3d:34:17:5a:40:ce:8d:3c:52:e7:e1:e9:
|
|
||||||
d4:75:0d:3f:b8:dd:d3:d2:56:25:92:fa:75:87:81:
|
|
||||||
fe:59:4a:82:53:d5:e7:03:39:c0:07:84:73:70:d0:
|
|
||||||
fc:fe:3f:06:e0:f9:0f:59:22:74:05:13:65:58:5a:
|
|
||||||
a8:1d:7b:52:4f:47:ed:be:26:57:47:49:57:d5:7f:
|
|
||||||
34:c7:3c:0f:55:d4:17:57:8a:0e:bb:f5:3a:c7:77:
|
|
||||||
f1:7d:06:49:a9:a8:dd:18:0e:a2:97:52:c8:49:e5:
|
|
||||||
39:c7:31:5d:07:c3:58:ed:8e:ae:c7:7c:1b:db:8d:
|
|
||||||
dc:a0:c3:e3:f5:c0:98:35:cf:fc:92:a0:a6:f3:0f:
|
|
||||||
b1:18:95:c0:01:eb:1d:96:8d:02:7b:9a:dc:29:5d:
|
|
||||||
59:f1:2a:dc:53:0e:6b:2b:6b:5d:36:03:a1:bd:e4:
|
|
||||||
e6:b4:1f:5a:66:67:13:4a:2c:7f:56:c9:75:5c:fe:
|
|
||||||
42:20:24:51:18:bb:ea:30:12:8f:88:d1:ad:fe:eb:
|
|
||||||
59:92:8d:1e:be:ff:3e:6e:f2:5a:d9:8c:20:f4:35:
|
|
||||||
ed:bc:01:47:21:d3:10:b9:5d:fe:6a:8e:e0:a3:e3:
|
|
||||||
e5:6f:ac:8b:fc:61:d0:75:a8:a3:92:1f:2c:cc:c1:
|
|
||||||
15:17:36:3b:05:ab:58:76:be:63:9d:30:5d:ed:7d:
|
|
||||||
83:0c:b7:24:8f:10:a8:90:02:ee:68:81:05:cd:d9:
|
|
||||||
4f:2e:cc:ef:97:62:d1:75:6b:82:f3:d0:34:56:d3:
|
|
||||||
59:7e:d9:d3:7d:93:ce:1b:17:de:fd:18:4b:e6:50:
|
|
||||||
72:77:88:60:dd:ff:5e:95:05:61:fe:d8:31:dd:34:
|
|
||||||
1e:e1:6d:61:1e:80:73:05:3e:3b:22:c2:34:07:48:
|
|
||||||
9b:0e:06:8d:a6:81:c4:4d:e9:4d:5d:df:e1:04:cd:
|
|
||||||
5b:85:6e:b2:12:aa:1b:cd:bd:4e:7e:53:ea:59:49:
|
|
||||||
af:11:70:b3:11:87:0f:af:2f:99:ce:e9:69:db:6d:
|
|
||||||
d0:5a:14:1a:95:2f:2f:db:bf:36:62:e1:99:ff:7c:
|
|
||||||
b8:b9:5c:4e:79:33:61:ee:db:4b:6f:40:7d:49:b2:
|
|
||||||
6e:e1:65:9d:f6:45:fe:27:14:24:82:5d:f6:a4:38:
|
|
||||||
01:ac:47:54:da:b6:02:c1:ad:79:71:b6:93:64:ec:
|
|
||||||
a4:06:7b:d6:5e:1c:da:7f:40:16:47:65:47:24:2a:
|
|
||||||
8b:77:32:49:89:c4:9f:26:d4:f9:a6:ba:e6:42:aa:
|
|
||||||
74:fd:7e:1e:d1:75:95:5c:5c:d8:d4:bb:75:05:79:
|
|
||||||
10:7a:df:5a:2b:69:9b:75:28:cb:b5:4e:48:3e:a3:
|
|
||||||
aa:21:04:95:8f:62:3b:46:2f:07:d0:9e:1c:50:9b:
|
|
||||||
3d:ba:6d:1f:c2:a0:41:7f:47:43:57:ef:92:31:47:
|
|
||||||
4a:a2:91:65:43:5c:c1:2b:fd:26:2d:be:41:a7:98:
|
|
||||||
7a:8f:52:89:5f:81:ff:48:7d:04:2a:b8:4d:50:91:
|
|
||||||
f5:af:18:33:44:f2:55:5f:68:87:33:d8:e6:4f:5d:
|
|
||||||
b9:92:ca:06:51:f3:e0:b1:5b:6f:a0:52:fe:6e:98:
|
|
||||||
22:01:5f:c2:fb:45:59:02:67:62:6f:74:2b:79:62:
|
|
||||||
e7:5a:13:a8:db:fd:a2:64:b1:0b:49:2f:f4:61:35:
|
|
||||||
a0:b6:12:2c:ec:24:19:9f:0c:14:85:05:b5:e1:c1:
|
|
||||||
9e:4e:87:a4:88:c9:79:65:1d:12:ac:89:e6:bc:ed:
|
|
||||||
6b:58:90:fd:95:40:3f:2e:ba:ff:b8:52:5d:60:98:
|
|
||||||
32:b9:20:38:a5:08:da:a1:fc:38:89:3c:f1:de:38:
|
|
||||||
cf:60:d8:69:a1:4b:88:51:f7:31:b8:fc:56:dc:56:
|
|
||||||
3a:7a:39:c5:03:23:2a:8f:fa:ab:92:7a:b6:37:da:
|
|
||||||
c1:9f:55:e7:31:b1:c5:be:31:60:08:c2:33:30:ec:
|
|
||||||
cf
|
|
||||||
Exponent: 65537 (0x10001)
|
|
||||||
X509v3 extensions:
|
|
||||||
X509v3 Subject Key Identifier:
|
|
||||||
7B:C0:C6:7B:04:C4:66:0C:CD:32:FF:B0:6F:E1:D9:51:FD:1C:EE:B7
|
|
||||||
X509v3 Basic Constraints: critical
|
|
||||||
CA:TRUE
|
|
||||||
X509v3 Key Usage: critical
|
|
||||||
Certificate Sign, CRL Sign
|
|
||||||
Signature Algorithm: sha256WithRSAEncryption
|
|
||||||
Signature Value:
|
|
||||||
58:b3:2d:00:8e:c2:72:5b:ed:91:8e:3c:98:66:6a:e4:61:c3:
|
|
||||||
0f:d1:51:98:0c:64:79:3d:01:ac:8a:38:7f:af:fc:80:31:83:
|
|
||||||
86:a8:79:b9:0f:18:6d:2e:3a:ef:0a:c0:b1:30:39:7e:a4:3d:
|
|
||||||
ed:4e:35:3e:9e:f1:a3:29:dd:cc:01:1e:62:6b:ed:5b:77:31:
|
|
||||||
b3:4c:91:1d:69:70:20:44:87:e0:37:17:a0:ba:c4:e5:57:c5:
|
|
||||||
90:1a:f2:1e:0d:ac:aa:30:11:c3:da:1c:3f:3a:28:b5:6d:12:
|
|
||||||
ac:45:b6:6c:f0:b2:b2:6e:f0:55:33:8e:29:10:ac:9e:61:ac:
|
|
||||||
35:ec:ed:c7:e3:51:c2:86:52:10:7a:9c:f6:22:5d:65:65:18:
|
|
||||||
62:b7:e9:6e:be:64:46:db:dc:15:45:eb:1a:42:45:83:d7:aa:
|
|
||||||
dd:63:24:4a:ed:b9:d5:35:86:27:22:33:6a:26:4b:32:0a:15:
|
|
||||||
75:18:19:58:e9:6b:b4:84:ac:00:a3:78:d3:9d:7d:25:3c:5e:
|
|
||||||
51:7f:01:ca:90:d1:40:2b:d2:45:e1:4f:fb:6e:8d:2e:cc:04:
|
|
||||||
07:34:07:91:c6:8c:4f:a5:e4:7d:dd:78:0f:b0:9d:01:9d:6e:
|
|
||||||
89:16:6d:3a:94:dd:38:57:bc:49:c2:e1:b5:aa:54:8f:d1:8b:
|
|
||||||
13:db:35:2f:d1:80:5e:45:fb:53:60:61:d5:c3:e1:9c:21:60:
|
|
||||||
a3:83:34:e6:9e:bc:86:70:fe:36:8b:35:55:28:e0:f4:b0:81:
|
|
||||||
ed:37:59:0e:7a:f6:a7:66:a1:b6:36:45:30:95:c8:80:d6:40:
|
|
||||||
a9:12:bf:47:b1:33:09:fa:89:d4:9f:c2:57:75:6a:47:dd:87:
|
|
||||||
3f:b3:d1:3d:13:bc:5e:82:ea:5f:3a:dc:46:35:1e:1f:83:40:
|
|
||||||
1c:1d:5e:ba:37:18:a3:75:2f:60:a7:84:67:9b:79:17:ad:fb:
|
|
||||||
2a:5b:d8:84:5d:f2:ff:cc:81:4c:08:e4:17:ec:b7:cf:ac:4c:
|
|
||||||
0f:91:8a:4c:fa:91:ed:24:39:f9:04:3a:18:b0:b1:c3:57:ed:
|
|
||||||
9b:f1:cf:ab:bf:07:f1:52:ef:57:de:0a:76:e7:e4:c4:5f:69:
|
|
||||||
93:71:0c:d4:3f:23:12:55:8c:3d:e6:79:b3:3c:5e:86:ac:1f:
|
|
||||||
5e:7f:ec:96:d8:da:4d:c9:40:32:ee:b5:cb:6e:86:27:49:45:
|
|
||||||
e6:89:30:80:fa:ba:ef:21:42:92:ba:f8:a7:51:16:61:04:13:
|
|
||||||
da:87:ac:c5:9c:c0:19:55:80:2d:4a:32:bb:30:12:0b:49:15:
|
|
||||||
ec:1e:5b:23:d4:d2:a3:4e:c6:22:19:bc:e2:ba:23:67:88:4c:
|
|
||||||
54:d0:bf:10:61:91:d9:eb:f7:d7:bc:89:ee:83:0d:a3:2c:81:
|
|
||||||
a4:c2:38:58:c3:50:b7:fe:3f:f2:bc:a2:f0:52:9d:04:1f:c2:
|
|
||||||
85:bd:d6:06:77:30:7b:90:3d:29:92:dc:41:a9:40:4b:bb:7c:
|
|
||||||
b7:91:07:65:2b:03:af:e4:a0:18:ab:a5:76:00:bc:10:e8:21:
|
|
||||||
41:c7:d7:53:80:41:21:67:af:fe:d1:9d:14:4c:a9:7e:16:1d:
|
|
||||||
4b:61:a4:f4:b1:e8:88:fe:c4:f1:60:3e:6d:d5:a9:90:14:3e:
|
|
||||||
95:5d:7d:f0:7b:1e:af:5f:80:63:a8:ce:b1:a7:a1:b2:9a:10:
|
|
||||||
f7:d9:e7:00:fa:33:d7:61:c9:35:b1:c2:c9:60:0b:a5:1d:08:
|
|
||||||
a8:b2:1d:56:15:b8:b9:5e:36:b3:df:6a:76:6c:5e:9d:a7:e5:
|
|
||||||
54:dc:1a:6c:c3:34:f2:c2:c6:ee:7a:68:49:a3:41:d6:54:34:
|
|
||||||
78:c9:2b:d2:d2:52:94:23:35:d7:c4:bf:c6:e0:21:18:4f:7a:
|
|
||||||
7a:be:e8:ab:34:fa:f7:4d:1a:4b:3c:37:e9:5f:1c:76:b1:6d:
|
|
||||||
96:70:f5:f5:db:b4:15:ba:2c:71:25:80:b3:98:4a:d3:1a:8d:
|
|
||||||
0e:69:24:de:e3:0c:38:64:82:6e:54:d1:74:47:e5:e5:69:b1:
|
|
||||||
c1:04:12:72:8a:3f:71:c0:9f:dc:db:ba:0e:e8:3d:52:4a:23:
|
|
||||||
56:04:9b:8c:eb:4f:62:19:7f:f5:bd:1e:48:d9:7f:89:84:3c:
|
|
||||||
8d:f5:67:21:d6:81:ee:5a:cd:fa:c2:53:60:a0:97:1e:80:a2:
|
|
||||||
dc:96:89:e6:99:d9:9d:48:23:a0:07:9a:02:06:29:04:eb:03:
|
|
||||||
79:06:6b:a0:41:98:d2:8f:2d:b4:e3:cb:c2:5e:78:74:a1:92:
|
|
||||||
29:c9:7d:07:03:ca:3f:8c:f5:71:f0:c4:7d:6a:1b:ac:33:37:
|
|
||||||
4f:03:54:44:46:b6:76:1c:55:8a:7d:7b:e5:58:4e:a9:f8:e1:
|
|
||||||
fe:7b:f3:a2:f8:e6:3b:e0:0b:5d:47:a8:b7:aa:f8:f3:c0:65:
|
|
||||||
b0:e4:1c:22:8f:9e:b9:d1:8f:a6:4a:a4:28:6f:6c:27:31:49:
|
|
||||||
58:c0:4d:80:3b:e3:e2:22:aa:ec:4e:ba:a5:0d:9e:b8:17:8c:
|
|
||||||
6b:4e:2d:37:6a:cc:f3:2d:0d:6b:34:b4:00:eb:ce:31:0e:a5:
|
|
||||||
c4:85:cd:1e:16:0b
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIIgjCCBKqgAwIBAgIUR5SeRGX0Yfiqs8F7hjgh2YiliPAwDQYJKoZIhvcNAQEL
|
|
||||||
BQAwGTEXMBUGA1UEAwwOa3lvdW1hIFJvb3QgQ0EwHhcNMjQwNjIxMTQwMjI2WhcN
|
|
||||||
NDQwNjIxMTQwMjI2WjAZMRcwFQYDVQQDDA5reW91bWEgUm9vdCBDQTCCA+IwDQYJ
|
|
||||||
KoZIhvcNAQEBBQADggPPADCCA8oCggPBAPnQo0vZd+PstEaOPx+kOSJg2K3pHv6t
|
|
||||||
F/gw1vb66WL3NiUH6WyDkUIP4lPxynDaJn2/ux3VTV6Zgpk5l/PDffkNCOjUrvxF
|
|
||||||
iJiOo7wqvRZnMlkIWeuo3qand535GsZ/dpI911Z0K6Nal48FqzvckmEuf5WxXATa
|
|
||||||
Hi653nsWsoW0tFpINJq7GA0KCjSR+I/zeUamxO6qk4gDz0Oiuh68ZfF42M7YK/vb
|
|
||||||
M9Y3rdSdRDj/tQ3cCGEs+/CGsu//qE9jKBNJ+CFOyyKYVN7ntOK2FMnFWQSCBKI5
|
|
||||||
PGH1kZn/rG6AmtIifVH7raNqTBSo4yjZIqzIPTQXWkDOjTxS5+Hp1HUNP7jd09JW
|
|
||||||
JZL6dYeB/llKglPV5wM5wAeEc3DQ/P4/BuD5D1kidAUTZVhaqB17Uk9H7b4mV0dJ
|
|
||||||
V9V/NMc8D1XUF1eKDrv1Osd38X0GSamo3RgOopdSyEnlOccxXQfDWO2Orsd8G9uN
|
|
||||||
3KDD4/XAmDXP/JKgpvMPsRiVwAHrHZaNAnua3CldWfEq3FMOaytrXTYDob3k5rQf
|
|
||||||
WmZnE0osf1bJdVz+QiAkURi76jASj4jRrf7rWZKNHr7/Pm7yWtmMIPQ17bwBRyHT
|
|
||||||
ELld/mqO4KPj5W+si/xh0HWoo5IfLMzBFRc2OwWrWHa+Y50wXe19gwy3JI8QqJAC
|
|
||||||
7miBBc3ZTy7M75di0XVrgvPQNFbTWX7Z032TzhsX3v0YS+ZQcneIYN3/XpUFYf7Y
|
|
||||||
Md00HuFtYR6AcwU+OyLCNAdImw4GjaaBxE3pTV3f4QTNW4VushKqG829Tn5T6llJ
|
|
||||||
rxFwsxGHD68vmc7padtt0FoUGpUvL9u/NmLhmf98uLlcTnkzYe7bS29AfUmybuFl
|
|
||||||
nfZF/icUJIJd9qQ4AaxHVNq2AsGteXG2k2TspAZ71l4c2n9AFkdlRyQqi3cySYnE
|
|
||||||
nybU+aa65kKqdP1+HtF1lVxc2NS7dQV5EHrfWitpm3Uoy7VOSD6jqiEElY9iO0Yv
|
|
||||||
B9CeHFCbPbptH8KgQX9HQ1fvkjFHSqKRZUNcwSv9Ji2+QaeYeo9SiV+B/0h9BCq4
|
|
||||||
TVCR9a8YM0TyVV9ohzPY5k9duZLKBlHz4LFbb6BS/m6YIgFfwvtFWQJnYm90K3li
|
|
||||||
51oTqNv9omSxC0kv9GE1oLYSLOwkGZ8MFIUFteHBnk6HpIjJeWUdEqyJ5rzta1iQ
|
|
||||||
/ZVAPy66/7hSXWCYMrkgOKUI2qH8OIk88d44z2DYaaFLiFH3Mbj8VtxWOno5xQMj
|
|
||||||
Ko/6q5J6tjfawZ9V5zGxxb4xYAjCMzDszwIDAQABo0IwQDAdBgNVHQ4EFgQUe8DG
|
|
||||||
ewTEZgzNMv+wb+HZUf0c7rcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
|
||||||
AQYwDQYJKoZIhvcNAQELBQADggPBAFizLQCOwnJb7ZGOPJhmauRhww/RUZgMZHk9
|
|
||||||
AayKOH+v/IAxg4aoebkPGG0uOu8KwLEwOX6kPe1ONT6e8aMp3cwBHmJr7Vt3MbNM
|
|
||||||
kR1pcCBEh+A3F6C6xOVXxZAa8h4NrKowEcPaHD86KLVtEqxFtmzwsrJu8FUzjikQ
|
|
||||||
rJ5hrDXs7cfjUcKGUhB6nPYiXWVlGGK36W6+ZEbb3BVF6xpCRYPXqt1jJErtudU1
|
|
||||||
hiciM2omSzIKFXUYGVjpa7SErACjeNOdfSU8XlF/AcqQ0UAr0kXhT/tujS7MBAc0
|
|
||||||
B5HGjE+l5H3deA+wnQGdbokWbTqU3ThXvEnC4bWqVI/RixPbNS/RgF5F+1NgYdXD
|
|
||||||
4ZwhYKODNOaevIZw/jaLNVUo4PSwge03WQ569qdmobY2RTCVyIDWQKkSv0exMwn6
|
|
||||||
idSfwld1akfdhz+z0T0TvF6C6l863EY1Hh+DQBwdXro3GKN1L2CnhGebeRet+ypb
|
|
||||||
2IRd8v/MgUwI5Bfst8+sTA+Rikz6ke0kOfkEOhiwscNX7Zvxz6u/B/FS71feCnbn
|
|
||||||
5MRfaZNxDNQ/IxJVjD3mebM8XoasH15/7JbY2k3JQDLutctuhidJReaJMID6uu8h
|
|
||||||
QpK6+KdRFmEEE9qHrMWcwBlVgC1KMrswEgtJFeweWyPU0qNOxiIZvOK6I2eITFTQ
|
|
||||||
vxBhkdnr99e8ie6DDaMsgaTCOFjDULf+P/K8ovBSnQQfwoW91gZ3MHuQPSmS3EGp
|
|
||||||
QEu7fLeRB2UrA6/koBirpXYAvBDoIUHH11OAQSFnr/7RnRRMqX4WHUthpPSx6Ij+
|
|
||||||
xPFgPm3VqZAUPpVdffB7Hq9fgGOozrGnobKaEPfZ5wD6M9dhyTWxwslgC6UdCKiy
|
|
||||||
HVYVuLleNrPfanZsXp2n5VTcGmzDNPLCxu56aEmjQdZUNHjJK9LSUpQjNdfEv8bg
|
|
||||||
IRhPenq+6Ks0+vdNGks8N+lfHHaxbZZw9fXbtBW6LHElgLOYStMajQ5pJN7jDDhk
|
|
||||||
gm5U0XRH5eVpscEEEnKKP3HAn9zbug7oPVJKI1YEm4zrT2IZf/W9HkjZf4mEPI31
|
|
||||||
ZyHWge5azfrCU2Cglx6AotyWieaZ2Z1II6AHmgIGKQTrA3kGa6BBmNKPLbTjy8Je
|
|
||||||
eHShkinJfQcDyj+M9XHwxH1qG6wzN08DVERGtnYcVYp9e+VYTqn44f5786L45jvg
|
|
||||||
C11HqLeq+PPAZbDkHCKPnrnRj6ZKpChvbCcxSVjATYA74+IiquxOuqUNnrgXjGtO
|
|
||||||
LTdqzPMtDWs0tADrzjEOpcSFzR4WCw==
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,11 +1,9 @@
|
||||||
{ config, lib, options, pkgs, ... }: let
|
{ config, lib, pkgs, ... }: let
|
||||||
cfg = config.kyouma.restic;
|
cfg = config.kyouma.restic;
|
||||||
in {
|
in {
|
||||||
options.kyouma.restic = let
|
options.kyouma.restic = let
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
in {
|
in {
|
||||||
inherit (options.services.restic.backups.type.getSubOptions [])
|
|
||||||
timerConfig backupPrepareCommand backupCleanupCommand;
|
|
||||||
enable = lib.mkEnableOption "Enable restic backup";
|
enable = lib.mkEnableOption "Enable restic backup";
|
||||||
paths = mkOption {
|
paths = mkOption {
|
||||||
description = "paths to backup";
|
description = "paths to backup";
|
||||||
|
@ -52,15 +50,10 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
services.restic.backups."${config.networking.hostName}-${cfg.remote}" = {
|
services.restic.backups."${config.networking.hostName}-${cfg.remote}" = {
|
||||||
inherit (cfg) paths user pruneOpts timerConfig backupPrepareCommand backupCleanupCommand;
|
inherit (cfg) paths user pruneOpts;
|
||||||
initialize = true;
|
initialize = true;
|
||||||
repository = "sftp:${cfg.remoteUser}@${cfg.remote}:${cfg.repo}";
|
repository = "sftp:${cfg.remoteUser}@${cfg.remote}:${cfg.repo}";
|
||||||
passwordFile = config.sops.secrets."restic/${cfg.remoteUser}/password".path;
|
passwordFile = config.sops.secrets."restic/${cfg.remoteUser}/password".path;
|
||||||
extraBackupArgs = [
|
|
||||||
"--compression=max"
|
|
||||||
"--pack-size=128"
|
|
||||||
"--read-concurrency=8"
|
|
||||||
];
|
|
||||||
extraOptions = let
|
extraOptions = let
|
||||||
knownHost = pkgs.writeText "${cfg.remote}-known-host" (builtins.readFile ./${cfg.remote}/ssh_host_ed25519_key.pub);
|
knownHost = pkgs.writeText "${cfg.remote}-known-host" (builtins.readFile ./${cfg.remote}/ssh_host_ed25519_key.pub);
|
||||||
sshKey = config.sops.secrets."restic/${cfg.remoteUser}/id_ed25519".path;
|
sshKey = config.sops.secrets."restic/${cfg.remoteUser}/id_ed25519".path;
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
akkoma-frontends
|
|
||||||
}:
|
|
||||||
|
|
||||||
akkoma-frontends.admin-fe.overrideAttrs {
|
|
||||||
patches = [ ./disable-options.patch ];
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff --git a/config/prod.env.js b/config/prod.env.js
|
|
||||||
index 7acb93a2..ea500e99 100644
|
|
||||||
--- a/config/prod.env.js
|
|
||||||
+++ b/config/prod.env.js
|
|
||||||
@@ -2,6 +2,6 @@ module.exports = {
|
|
||||||
NODE_ENV: '"production"',
|
|
||||||
ENV_CONFIG: '"prod"',
|
|
||||||
BASE_API: '"https://api-prod"',
|
|
||||||
- DISABLED_FEATURES: '[""]',
|
|
||||||
+ DISABLED_FEATURES: '["settings","media-proxy-cache","relays"]',
|
|
||||||
ASSETS_PUBLIC_PATH: '/pleroma/admin/'
|
|
||||||
}
|
|
|
@ -1,67 +0,0 @@
|
||||||
# fly.toml app configuration file generated for build-worker-kyoumanet-cdg on 2024-11-21T00:31:54+01:00
|
|
||||||
#
|
|
||||||
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
|
|
||||||
#
|
|
||||||
|
|
||||||
app = 'build-worker-kyoumanet-cdg'
|
|
||||||
primary_region = 'cdg'
|
|
||||||
|
|
||||||
[build]
|
|
||||||
image = 'registry.fly.io/build-worker-kyoumanet:latest'
|
|
||||||
|
|
||||||
[processes]
|
|
||||||
bw-09 = '/entrypoint.sh'
|
|
||||||
bw-10 = '/entrypoint.sh'
|
|
||||||
bw-11 = '/entrypoint.sh'
|
|
||||||
|
|
||||||
[[mounts]]
|
|
||||||
source = 'bw09'
|
|
||||||
destination = '/mnt/data'
|
|
||||||
initial_size = '256GB'
|
|
||||||
processes = ['bw-09']
|
|
||||||
|
|
||||||
[[mounts]]
|
|
||||||
source = 'bw10'
|
|
||||||
destination = '/mnt/data'
|
|
||||||
initial_size = '256GB'
|
|
||||||
processes = ['bw-10']
|
|
||||||
|
|
||||||
[[mounts]]
|
|
||||||
source = 'bw11'
|
|
||||||
destination = '/mnt/data'
|
|
||||||
initial_size = '256GB'
|
|
||||||
processes = ['bw-11']
|
|
||||||
|
|
||||||
[[services]]
|
|
||||||
protocol = 'tcp'
|
|
||||||
internal_port = 2222
|
|
||||||
auto_stop_machines = 'off'
|
|
||||||
processes = ['bw-09']
|
|
||||||
|
|
||||||
[[services.ports]]
|
|
||||||
port = 2209
|
|
||||||
|
|
||||||
[[services]]
|
|
||||||
protocol = 'tcp'
|
|
||||||
internal_port = 2222
|
|
||||||
auto_stop_machines = 'off'
|
|
||||||
processes = ['bw-10']
|
|
||||||
|
|
||||||
[[services.ports]]
|
|
||||||
port = 2210
|
|
||||||
|
|
||||||
[[services]]
|
|
||||||
protocol = 'tcp'
|
|
||||||
internal_port = 2222
|
|
||||||
auto_stop_machines = 'off'
|
|
||||||
processes = ['bw-11']
|
|
||||||
|
|
||||||
[[services.ports]]
|
|
||||||
port = 2211
|
|
||||||
|
|
||||||
[[restart]]
|
|
||||||
policy = 'never'
|
|
||||||
|
|
||||||
[[vm]]
|
|
||||||
size = 'performance-16x'
|
|
||||||
memory = '96GB'
|
|
|
@ -51,9 +51,6 @@ dockerTools.buildLayeredImage {
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOpyVefbZLkNVNzdSIlO6x6JohHE1snoHiUB3Qdvl5I2 aprl@idk
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOpyVefbZLkNVNzdSIlO6x6JohHE1snoHiUB3Qdvl5I2 aprl@idk
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVNo871p97NTefP52KYiwuch+FaVScxvcFd9fg0yykySTq7Y5JsxrJQgTnox/oDa0O87OyHD/GHQljAXkqiHpDkExbiGjDmGXJSKReKH061F4FqBnDIwYRzUu9Cxjl4MNqsU0RqLaz4+F42c/L7GROQwjEPUb8JHThRiI5FJnDvvB+oBLBxeyQA4v3O4i8DaDQayTr/XB+aSlhNwKrb6cjjL93AHT1uE53yY5jn4kZX+RiPQhH7rvt9N6E4Yr3CG6nUgRCUS0L66d9yfrq0XAbAVk9F+viV7Nk9qy4MWHtXZ4h0qUlzrGALPgGsCGiLGd4NvEgeCcV4nvxdmevxTSdKlJP75xlmlLVXGyhqCZkTsxm/png2UvDl+p0pLyrgNaNoXPdE0Jbv7C28WX36Nast1QFSMUhexzuOx8OgaOioeXVfK98AouqWb58iPBCvgreUIH/gJhZcnlB/Foo1KSO+fJNH8hAsLH7w0mnKyHhJjkrjjwUqsnpepB3SOLfZTE= aprl@meow
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVNo871p97NTefP52KYiwuch+FaVScxvcFd9fg0yykySTq7Y5JsxrJQgTnox/oDa0O87OyHD/GHQljAXkqiHpDkExbiGjDmGXJSKReKH061F4FqBnDIwYRzUu9Cxjl4MNqsU0RqLaz4+F42c/L7GROQwjEPUb8JHThRiI5FJnDvvB+oBLBxeyQA4v3O4i8DaDQayTr/XB+aSlhNwKrb6cjjL93AHT1uE53yY5jn4kZX+RiPQhH7rvt9N6E4Yr3CG6nUgRCUS0L66d9yfrq0XAbAVk9F+viV7Nk9qy4MWHtXZ4h0qUlzrGALPgGsCGiLGd4NvEgeCcV4nvxdmevxTSdKlJP75xlmlLVXGyhqCZkTsxm/png2UvDl+p0pLyrgNaNoXPdE0Jbv7C28WX36Nast1QFSMUhexzuOx8OgaOioeXVfK98AouqWb58iPBCvgreUIH/gJhZcnlB/Foo1KSO+fJNH8hAsLH7w0mnKyHhJjkrjjwUqsnpepB3SOLfZTE= aprl@meow
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD0v3tUBNEUxfoOQBFb+N2DUBQDay0iFggUWa9Nd+BtFLOKkz+RRto3eBF0ZiJZVUxv/hLb8m2s45hcMw8agwuPrXMe5085T1fzkvPdKAPZdsT/cCmBi1OsoLjAKBFIdM4lcV0A2cca8hip+/ZPpjFPUWx73/672gAPHU7co7fP8+8CSf9dx+WIeLx3yaYHYZ/th3dB5auX3VjOazS8MojsAorwTUeBoPamHQ5dFeNafhFUL/hhtGkUI1cNHUn3bJd2V7AKTW3UglK7hVgMJPrzVS31OlpcJEf6S5XgKTWdOSwubn1bs5Lt6YYRDU24NV6CGrwKgCJSRxzNMLwpnFKiSXpO8FzkqWHYWyju141hQcFF31aZIV+7YcwEt5ZukLjFOpVtpbSXvJYigOUzGi34P3/OAGshDXjTQjvM8GIir49gx3b2Nwhg0z4UHBkAKZvDDFPHDMJoclvnhITojaAojfC9zmMCO5ZaEsk8yv7c/lWQumzRpfldWF4mwHvhD5kTADbhRdO7WTdX7AaiAYINooToeWKjFe2wn3rFubPUppptqtP03mmvs7vhhgnEVBbGZRJK3GTVk1XcsfF9rDKzewSa+wb4LsBoZtFRhc8cJqHGlKWSNk7dQ04B1atPyNLKGpGoo/UIPxyZ6bSqFVxY3nhz46VZ6z8XWI48z0/fRQ== aprl@uwu
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD0v3tUBNEUxfoOQBFb+N2DUBQDay0iFggUWa9Nd+BtFLOKkz+RRto3eBF0ZiJZVUxv/hLb8m2s45hcMw8agwuPrXMe5085T1fzkvPdKAPZdsT/cCmBi1OsoLjAKBFIdM4lcV0A2cca8hip+/ZPpjFPUWx73/672gAPHU7co7fP8+8CSf9dx+WIeLx3yaYHYZ/th3dB5auX3VjOazS8MojsAorwTUeBoPamHQ5dFeNafhFUL/hhtGkUI1cNHUn3bJd2V7AKTW3UglK7hVgMJPrzVS31OlpcJEf6S5XgKTWdOSwubn1bs5Lt6YYRDU24NV6CGrwKgCJSRxzNMLwpnFKiSXpO8FzkqWHYWyju141hQcFF31aZIV+7YcwEt5ZukLjFOpVtpbSXvJYigOUzGi34P3/OAGshDXjTQjvM8GIir49gx3b2Nwhg0z4UHBkAKZvDDFPHDMJoclvnhITojaAojfC9zmMCO5ZaEsk8yv7c/lWQumzRpfldWF4mwHvhD5kTADbhRdO7WTdX7AaiAYINooToeWKjFe2wn3rFubPUppptqtP03mmvs7vhhgnEVBbGZRJK3GTVk1XcsfF9rDKzewSa+wb4LsBoZtFRhc8cJqHGlKWSNk7dQ04B1atPyNLKGpGoo/UIPxyZ6bSqFVxY3nhz46VZ6z8XWI48z0/fRQ== aprl@uwu
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAAl3/krXJeCcDEJXRuzOdCOrJLG7b6MRqC+a9Xux3mW vika@hydrangea
|
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQjTy9qqHcs5vgTz+iMAiNNMqdyGtOhEpnpJCReEFfZ vika@rafflesia
|
|
||||||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINAgFdk78I4zssUGsAIV01zefLBpwc1W7hfTobbG80XLAAAABHNzaDo= vika@nitrokey
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF > /root/.ssh/environment
|
cat <<EOF > /root/.ssh/environment
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
dockerTools.pullImage {
|
dockerTools.pullImage {
|
||||||
imageName = "nixos/nix";
|
imageName = "nixos/nix";
|
||||||
imageDigest = "sha256:133a1607deea14a02c2bc0850e275ed135814235a1147f68967afee261caea2b";
|
imageDigest = "sha256:fd7a5c67d396fe6bddeb9c10779d97541ab3a1b2a9d744df3754a99add4046f1";
|
||||||
sha256 = "0602a59g14l1jiqfffz14hcp982qaqczi5f0ylvv0h9pp2pqrqs5";
|
sha256 = "1ggkwd9zw8lj97ig7zah7dqy463hfhsgq3iwxxf8117gf8xi422s";
|
||||||
finalImageName = "nixos/nix";
|
finalImageName = "nixos/nix";
|
||||||
finalImageTag = "latest";
|
finalImageTag = "latest";
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ final: prev: {
|
||||||
librespeed-rust = final.callPackage ./librespeed-rust/default.nix {};
|
librespeed-rust = final.callPackage ./librespeed-rust/default.nix {};
|
||||||
librespeed-go = final.callPackage ./librespeed-go/default.nix {};
|
librespeed-go = final.callPackage ./librespeed-go/default.nix {};
|
||||||
akkoma-fe-domi = final.callPackage ./akkoma-fe-domi/default.nix {};
|
akkoma-fe-domi = final.callPackage ./akkoma-fe-domi/default.nix {};
|
||||||
akkoma-admin-fe = final.callPackage ./akkoma-admin-fe/default.nix {};
|
|
||||||
nginxQuic = prev.nginxQuic.override {
|
nginxQuic = prev.nginxQuic.override {
|
||||||
withSlice = true;
|
withSlice = true;
|
||||||
# Use zlib because zlib-ng uses larger buffers then nginx preallocates.
|
# Use zlib because zlib-ng uses larger buffers then nginx preallocates.
|
||||||
|
|
|
@ -21,11 +21,12 @@ merge_theirs () {
|
||||||
}
|
}
|
||||||
|
|
||||||
test_build () {
|
test_build () {
|
||||||
|
local last_error
|
||||||
local build_jobs
|
local build_jobs
|
||||||
|
local start_time
|
||||||
|
start_time="$(date +%s)"
|
||||||
|
|
||||||
sleep 30
|
build_jobs="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}/latest-eval" | jq -r ".builds | .[]")"
|
||||||
|
|
||||||
build_jobs="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}/evals" | jq -r ".evals | max_by(.id) | .builds | .[]")"
|
|
||||||
for build in ${build_jobs}; do
|
for build in ${build_jobs}; do
|
||||||
local build_status
|
local build_status
|
||||||
|
|
||||||
|
@ -43,16 +44,10 @@ test_build () {
|
||||||
echo "Build ${build} was successful"
|
echo "Build ${build} was successful"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Idk why this is broken someone should fix me
|
last_error="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}" | jq -r ".errortime")"
|
||||||
# local last_error
|
[[ $last_error -gt $start_time ]] &&
|
||||||
# local now
|
echo "Evaluation error encountered at $(date +%Y-%m-%d-%H:%M:%S --date="@${last_error}")" &&
|
||||||
#
|
exit 1
|
||||||
# last_error="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}" | jq -r ".errortime")"
|
|
||||||
# now="$(date +%s)"
|
|
||||||
#
|
|
||||||
# [[ $last_error -gt $now ]] &&
|
|
||||||
# echo "Evaluation error encountered at $(date +%Y-%m-%d-%H:%M:%S --date="@${last_error}")" &&
|
|
||||||
# exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_hydra () {
|
wait_for_hydra () {
|
||||||
|
@ -61,17 +56,15 @@ wait_for_hydra () {
|
||||||
local counter
|
local counter
|
||||||
counter=0
|
counter=0
|
||||||
git_rev="$(git -C "${1}/nixfiles" rev-parse update-inputs)"
|
git_rev="$(git -C "${1}/nixfiles" rev-parse update-inputs)"
|
||||||
while [[ $counter -lt 180 ]]; do
|
while true; do
|
||||||
counter=$((counter +1))
|
hydra_rev="$(curl -s -L -H "Accept: application/json" "${2}/latest-eval" | jq -r .flake | sed -E "s/.+&rev=(.*)/\1/g")"
|
||||||
hydra_rev="$(curl -s -L -H "Accept: application/json" "${2}/evals" | jq -r '.evals | max_by(.id) | .flake' | sed -E "s/.+&rev=(.*)/\1/g")"
|
|
||||||
if [[ "${git_rev}" == "${hydra_rev}" ]]; then
|
if [[ "${git_rev}" == "${hydra_rev}" ]]; then
|
||||||
echo "Hydra got new commit"
|
echo "Hydra got new commit"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
sleep 5
|
sleep 30
|
||||||
done
|
done
|
||||||
|
if [[ $counter -ge 30 ]]; then
|
||||||
if [[ $counter -ge 180 ]]; then
|
|
||||||
echo "Hydra no workey"
|
echo "Hydra no workey"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
restic:
|
|
||||||
zh3485s2:
|
|
||||||
password: ENC[AES256_GCM,data:GAesjt8CMFKuZk30vJTS7kH0cSg/p6NQCOU9udcVbVCurnUdqjKqZp97KnCcmA/A,iv:bf7trphHgzFzI3Pza8dDOgmKcHsBURsXEHtw0KpGQ7s=,tag:zE1WXaptcqBQMqgk+6SRqQ==,type:str]
|
|
||||||
id_ed25519: ENC[AES256_GCM,data:hRViIdnq9VNjjqD/X6tERHsCAuxF723bh+oES/Va5KVBJdsEK2LYXWxRQV6/dpYGnmSBNJ2q4eJS0iz2kjfNUTXg1DQZ0uuxSDbhOcKQ+ksE99VrU3Go7196gXQ+rsCuRht6vzgGzIoTcMVDlA+lvJ2EAB0o7EhK4qcKI0pRHziy4/i0JgLJKc2Xw7WwAZajyUToRrroi+oh3LRJiN0+L3B13RWNBDMxfVgSH5KERhPjU40VteKNyXg9YnZxiqRMTmDmpAu/fogXwIDgnfRuWBoDgPsHeSWVN/0IpfEegoXnmdYUGk9vKQmXNJ5z7vj6oIaz8Zuk9PfPaKZHrsUGkPZqBJydvfcUpH74+sn3idDJdQ92mYIn6rorabt6QtN9bbtULmtOU/R7wvZkRSn3SmvR6uo/xShs1pkwGa1oidn8atfoMMYnR973wvuGlDZwFGy0ZJD+Mc108U7o0U153/MervsxxZ3eIpzgmRol+TjoSJINQoPNPHsj6nx65MNfJd+AFw35h5jKUag4xKaPXS5ew/wDCqZ1PFYG,iv:P8VtAFoL0CcO7m7S60JardB95MUWYiABDOUZhLhXEzo=,tag:fLniekA0lMx6wW3u4NZPKQ==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1sky8kccyyxe79ws4rew42r94427v2xnphq2vtxvdlw5xl7yzgs2q599yzs
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUnFUQlhzYTdyblNOWUt3
|
|
||||||
V0daclVOZ0hlSmlJTHlKRDd5eThVSzVOVWh3CkpiaGNJd0hCMlk3MVdsdnY0TVJM
|
|
||||||
MEtKUXFnSlAwQ0kzd1M0eVA1WG1Bb2sKLS0tIFAvVklzZldkOFpCNHV4YnQ2SDA3
|
|
||||||
OW5TcVlqV0p4RThBRGlyaHkreEFMY28KPdgR9WCByJaLZcNophcfW7+7NU9MuI3E
|
|
||||||
bfWEFgqZLTdAg8y7s/M6ZAyjciflclxVnY8mTIhnERD+ZHHi++z1XA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-11-13T12:51:05Z"
|
|
||||||
mac: ENC[AES256_GCM,data:t/gg9SqDfrU+eKU9yw2R7ahLQY6pTgsRVFNk7K+zxTBiqUG2Rx0wm0bclkrkSKeHAVSJkc8OOWJvvRCMxaE980mknPM6721xNDV90Pt0ZsJvFXdOYKIaPQHC29klJKO60lsMsuup3BiF94O8+wIavLvYuc3jKFcaA4b9xAPRveM=,iv:TJhR1NzPVYIysghFAbjWB5lBpMhhkvwJdszkWGSLDPI=,tag:TCnewzN2qwFyG4Xio2JatQ==,type:str]
|
|
||||||
pgp:
|
|
||||||
- created_at: "2024-11-13T12:49:09Z"
|
|
||||||
enc: |-
|
|
||||||
-----BEGIN PGP MESSAGE-----
|
|
||||||
|
|
||||||
hF4D1GtNSlou/HkSAQdArN4L/MZSZoKwk/RKgA56OQMyt7IhW15qa7+Utie4/TQw
|
|
||||||
0xKauGLJEMp7cnpmEvpBW8sy3hZRj1K4vLv2NKHzoXBuWGBer1Hf+CDZJ71ta6J9
|
|
||||||
0l4B9f4L9AIRHO3ncb4IPyVprr+sFyhVJJAI7bo9mbFUqH0yfM5EmFiXWg5d9zO6
|
|
||||||
NfXbbfpW4ISEXFa//SuVl3h/HHxwDd83qA13OnhrlCjjwPfdA32kKM3CS/81JHNd
|
|
||||||
=4L7O
|
|
||||||
-----END PGP MESSAGE-----
|
|
||||||
fp: B04F01A7A98A13020C39B4A68AB7B773A214ACE5
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.9.1
|
|
Loading…
Reference in a new issue