Compare commits
17 commits
update-inp
...
main
Author | SHA1 | Date | |
---|---|---|---|
8428584816 | |||
8910001198 | |||
a03fc6bb9c | |||
59ef761474 | |||
c0c8f825fc | |||
73eaf9c154 | |||
6b0e944765 | |||
3e03107d00 | |||
320717a71d | |||
38397e271b | |||
8444f3e28c | |||
faafea4739 | |||
|
c6f27fc33a | ||
|
9cbf6f9558 | ||
018d5f4cd4 | |||
f436f8fcdb | |||
ff8630ece5 |
21 changed files with 624 additions and 161 deletions
|
@ -5,7 +5,7 @@ in {
|
|||
./kernel.nix
|
||||
./networking.nix
|
||||
./openssh.nix
|
||||
./users
|
||||
./users.nix
|
||||
../../modules
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
|
@ -23,6 +23,7 @@ in {
|
|||
man-pages-posix
|
||||
unzip
|
||||
zip
|
||||
fd
|
||||
figlet
|
||||
];
|
||||
programs = {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
imports = [
|
||||
./emily
|
||||
../users/emily
|
||||
];
|
||||
}
|
|
@ -1,12 +1,14 @@
|
|||
{ ... }: {
|
||||
{ inputs, ... }: {
|
||||
imports = [
|
||||
../../common
|
||||
../../users/lucy
|
||||
../../profiles/headless.nix
|
||||
../../profiles/kartoffel.nix
|
||||
../../profiles/lxc.nix
|
||||
../../services/arrs
|
||||
../../services/jellyfin.nix
|
||||
../../services/nginx.nix
|
||||
inputs.oth.nixosModules.default
|
||||
];
|
||||
networking.hostName = "crime";
|
||||
systemd.network.networks."98-eth-default" = {
|
||||
|
@ -23,6 +25,7 @@
|
|||
"/var/lib/radarr"
|
||||
"/var/lib/sonarr"
|
||||
"/var/lib/private/prowlarr"
|
||||
"/home"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
../../common
|
||||
../../users/nil
|
||||
../../profiles/builder.nix
|
||||
../../profiles/headless.nix
|
||||
../../profiles/kartoffel.nix
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
{ config, inputs, lib, pkgs, ... }: {
|
||||
sops.secrets."services/akkoma/mailerPassword" = {
|
||||
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" = {
|
||||
sopsFile = ../../../secrets/services/akkoma.yaml;
|
||||
};
|
||||
sops.secrets."services/akkoma/deepl" = {
|
||||
|
@ -8,32 +13,79 @@
|
|||
|
||||
services.akkoma = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [ exiftool ffmpeg-headless imagemagick ];
|
||||
extraStatic."emoji/blobs.gg" = pkgs.akkoma-emoji.blobs_gg;
|
||||
extraPackages = let
|
||||
imagemagick = pkgs.imagemagick.override {
|
||||
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."emoji/florp" = pkgs.runCommandNoCC "florp" {
|
||||
src = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.favicon;
|
||||
} ''
|
||||
mkdir $out
|
||||
cp $src $out/florp.png
|
||||
'';
|
||||
extraStatic = let
|
||||
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;
|
||||
|
||||
extraStatic."static/styles.json" = pkgs.writeText "styles.json" (builtins.toJSON (
|
||||
builtins.fromJSON (builtins.readFile "${pkgs.akkoma-fe-domi}/static/styles.json") // {
|
||||
elly-mod = "/static/themes/elly-mod.json";
|
||||
}
|
||||
));
|
||||
"emoji/custom" = pkgs.runCommandNoCC "florp" {
|
||||
src = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.favicon;
|
||||
} ''
|
||||
mkdir $out
|
||||
cp $src $out/florp.png
|
||||
'';
|
||||
|
||||
extraStatic."static/themes/elly-mod.json" = pkgs.writeText "elly-mod.json" (builtins.readFile ./elly-mod.json);
|
||||
"emoji/neodog" = actualFetchzip {
|
||||
url = "https://git.gay/moonrabbits/neodog/raw/commit/6f9eb283b6dcbe507fde1110abab267cb2d73b70/neodog.zip";
|
||||
hash = "sha256-ISyzpRyjHf+4jKrOtHHqH0Qn7CQu5RQSLH/HL/YSdT4=";
|
||||
};
|
||||
|
||||
extraStatic."static/custom.css" = pkgs.writeText "custom.css" ''
|
||||
.tos-content img { max-width: 100%; }
|
||||
'';
|
||||
"emoji/neocat" = actualFetchzip {
|
||||
url = "https://volpeon.ink/emojis/neocat/neocat.zip";
|
||||
hash = "sha256-DZDuk0Djlax504flNWdpqAw+ROLOOVGj0ZvJLyouo7A=";
|
||||
};
|
||||
|
||||
extraStatic."static/terms-of-service.html" = inputs.florp-about.packages.${pkgs.system}.default;
|
||||
extraStatic."images/sylvia-ritter-15012323.avif" = inputs.florp-branding.packages.${pkgs.system}.wallpaper;
|
||||
extraStatic."images/florp_banner.avif" = inputs.florp-branding.packages.${pkgs.system}.banner;
|
||||
extraStatic."favicon.png" = inputs.florp-branding.packages.${pkgs.system}.favicon;
|
||||
"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") // {
|
||||
elly-mod = "/static/themes/elly-mod.json";
|
||||
}
|
||||
));
|
||||
|
||||
"static/themes/elly-mod.json" = pkgs.writeText "elly-mod.json" (builtins.readFile ./elly-mod.json);
|
||||
|
||||
"static/custom.css" = pkgs.writeText "custom.css" ''
|
||||
.tos-content img, .terms-of-service img {
|
||||
max-width: 100%;
|
||||
}
|
||||
'';
|
||||
|
||||
"static/terms-of-service.html" = inputs.florp-about.packages.${pkgs.system}.default;
|
||||
"images/sylvia-ritter-15012323.avif" = inputs.florp-branding.packages.${pkgs.system}.wallpaper;
|
||||
"images/florp_banner.avif" = inputs.florp-branding.packages.${pkgs.system}.banner;
|
||||
"favicon.png" = inputs.florp-branding.packages.${pkgs.system}.favicon;
|
||||
};
|
||||
|
||||
frontends = {
|
||||
primary = {
|
||||
|
@ -42,16 +94,14 @@
|
|||
ref = "5f0339ce00";
|
||||
};
|
||||
admin = {
|
||||
package = pkgs.akkoma-frontends.admin-fe;
|
||||
package = pkgs.akkoma-admin-fe;
|
||||
name = "admin-fe";
|
||||
ref = "stable";
|
||||
};
|
||||
};
|
||||
};
|
||||
services.akkoma.config = let
|
||||
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw mkAtom mkTuple;
|
||||
|
||||
mapAttrsToListOfTuple = attr: lib.mapAttrsToList (name: value: mkTuple [ name value ]) attr;
|
||||
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw mkAtom;
|
||||
|
||||
mkMapOfPredefinedKeys = set: let
|
||||
string = value: "\"${(lib.escape [ "\\" "#" "\"" ]) value}\"";
|
||||
|
@ -79,10 +129,10 @@
|
|||
limit = 69420;
|
||||
description_limit = 69420;
|
||||
remote_limit = 131072;
|
||||
upload_limit = 160 * 1024 * 1024;
|
||||
avatar_upload_limit = 16 * 1024 * 1024;
|
||||
background_upload_limit = 32 * 1024 * 1024;
|
||||
banner_upload_limit = 32 * 1024 * 1024;
|
||||
upload_limit = 256 * 1024 * 1024;
|
||||
avatar_upload_limit = 4 * 1024 * 1024;
|
||||
background_upload_limit = 8 * 1024 * 1024;
|
||||
banner_upload_limit = 8 * 1024 * 1024;
|
||||
registrations_open = true;
|
||||
registration_reason_length = 2048;
|
||||
account_approval_required = true;
|
||||
|
@ -105,6 +155,21 @@
|
|||
];
|
||||
};
|
||||
|
||||
":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.Web.Endpoint".url.host = "florp.social";
|
||||
|
@ -148,45 +213,9 @@
|
|||
];
|
||||
|
||||
":mrf".policies = map mkRaw [
|
||||
"Pleroma.Web.ActivityPub.MRF.SimplePolicy"
|
||||
"Pleroma.Web.ActivityPub.MRF.ObjectAgePolicy"
|
||||
"Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
|
||||
];
|
||||
|
||||
":mrf_simple" = {
|
||||
reject = mapAttrsToListOfTuple {
|
||||
"bae.st" = "transphobia, queerphobia";
|
||||
"brighteon.social" = "transphobia, right‐wing extremism";
|
||||
"detroitriotcity.com" = "transphobia, queerphobia";
|
||||
"freeatlantis.com" = "harassment";
|
||||
"freespeechextremist.com" = "N/A";
|
||||
"gab.com" = "N/A";
|
||||
"gleasonator.com" = "transphobia";
|
||||
"kitsunemimi.club" = "transphobia";
|
||||
"kiwifarms.*" = "harassment";
|
||||
"poa.st" = "queerphobia, racism, right‐wing extremism";
|
||||
"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" = "security";
|
||||
"repl.co" = "N/A";
|
||||
"rape.pet" = "CSAM";
|
||||
"childlove.space" = "CSAM";
|
||||
"pedo.school" = "CSAM";
|
||||
"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;
|
||||
|
||||
":frontend_configurations" = {
|
||||
|
@ -198,7 +227,6 @@
|
|||
webPushNotifications = true;
|
||||
useStreamingApi = true;
|
||||
scopeCopy = true;
|
||||
showFeaturesPanel = false;
|
||||
subjectLineBehavior = "masto";
|
||||
alwaysShowSubjectInput = true;
|
||||
postContentType = "text/markdown";
|
||||
|
@ -279,6 +307,12 @@
|
|||
};
|
||||
locations."^/media(/.*)$".return = "308 https://media.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" = {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
where = "/mnt/mezzomix";
|
||||
what = "mezzomix@otos.feralhosting.com:private/rtorrent/data";
|
||||
type = "fuse.sshfs";
|
||||
options = "_netdev,rw,nosuid,allow_other,default_permissions,follow_symlinks,identityfile=/etc/keys/ssh_host_ed25519_key";
|
||||
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";
|
||||
|
@ -35,8 +35,8 @@
|
|||
verifyClientCert = true;
|
||||
disableHttp3 = true;
|
||||
locations = {
|
||||
# "/".root = pkgs.writeTextDir "index.html" (builtins.readFile ./landingPage.html);
|
||||
"/" = {
|
||||
"/".root = pkgs.writeTextDir "index.html" (builtins.readFile ./landingPage.html);
|
||||
"/sonarr/" = {
|
||||
proxyPass = "http://127.0.0.1:8989";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
extraConfig = ''
|
||||
server_store_uri = https://cache.kyouma.net
|
||||
binary_cache_public_uri = https://cache.kyouma.net
|
||||
evaluator_workers = 8
|
||||
evaluator_max_memory_size = 16384
|
||||
evaluator_workers = 6
|
||||
evaluator_max_memory_size = 12288
|
||||
max_output_size = ${builtins.toString (24 * 1024 * 1024 * 1024)}
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -25,20 +25,11 @@
|
|||
maxJobs = 0;
|
||||
speedFactor = 20;
|
||||
systems = [ "riscv64-linux" ];
|
||||
supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" ];
|
||||
supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" "gccarch-rv64gc" ];
|
||||
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
||||
}
|
||||
{
|
||||
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}";
|
||||
] ++ lib.forEach (lib.range 0 10) (num: {
|
||||
hostName = "build-worker-${lib.fixedWidthNumber 2 num}";
|
||||
sshUser = "root";
|
||||
maxJobs = 2;
|
||||
speedFactor = 20;
|
||||
|
@ -63,8 +54,9 @@
|
|||
"build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK";
|
||||
"integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU";
|
||||
"schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp";
|
||||
"[machine.cloud-v.co]:20008".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK6Kri0cjPKEXXDEl2GwfwzPO9wuPZEgJS0M6lKRHCqH";
|
||||
"lab.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIUePtVPtBK+CYosufbaGiMT4EVanti4V5t2Wg0g/Fy4";
|
||||
"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]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz";
|
||||
"[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp";
|
||||
|
@ -73,15 +65,17 @@
|
|||
"[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]: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";
|
||||
};
|
||||
extraConfig = ''
|
||||
Host machine-0008.cloud-v.co
|
||||
Hostname machine.cloud-v.co
|
||||
Port 20008
|
||||
'' + lib.concatLines (lib.genList (i: ''
|
||||
Host build-worker-0${toString (i + 1)}
|
||||
Hostname build-worker-kyoumanet.fly.dev
|
||||
Port 220${toString (i + 1)}
|
||||
'') 8);
|
||||
'' + lib.concatLines (lib.forEach (lib.range 0 10) (num: ''
|
||||
Host build-worker-${lib.fixedWidthNumber 2 num}
|
||||
Hostname build-worker-kyoumanet${lib.optionalString (num > 8) "-cdg"}.fly.dev
|
||||
Port 22${lib.fixedWidthNumber 2 num}
|
||||
''));
|
||||
};
|
||||
}
|
||||
|
|
|
@ -37,6 +37,9 @@
|
|||
pavucontrol
|
||||
signal-desktop
|
||||
element-desktop
|
||||
firefox
|
||||
# currently broken
|
||||
#inputs.firefox.packages.${pkgs.system}.firefox
|
||||
|
||||
nixfmt-classic
|
||||
wl-clipboard
|
78
config/users/lucy/default.nix
Normal file
78
config/users/lucy/default.nix
Normal file
|
@ -0,0 +1,78 @@
|
|||
{ 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
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
49
config/users/nil/default.nix
Normal file
49
config/users/nil/default.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ 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
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
295
flake.lock
295
flake.lock
|
@ -214,6 +214,27 @@
|
|||
"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": false,
|
||||
"locked": {
|
||||
|
@ -344,6 +365,24 @@
|
|||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"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_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
|
@ -358,9 +397,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -376,9 +415,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
|
@ -394,7 +433,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"flake-utils_5": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"stylix",
|
||||
|
@ -430,6 +469,21 @@
|
|||
"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": [
|
||||
|
@ -437,11 +491,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731279732,
|
||||
"narHash": "sha256-eZllHPzbjvTNrzImqtDrs0k1LsIIeTlp8MMN9SxMvvE=",
|
||||
"lastModified": 1731582952,
|
||||
"narHash": "sha256-hnvqHeekGal+hml6BQB254LsJn+Vk5QNKzkIu8rH/xs=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "2f1130b23576a403b9b1d70d6431649bfa044621",
|
||||
"revCount": 8,
|
||||
"rev": "f283dba73f777746e1675126f8fa4c5b1fd06152",
|
||||
"revCount": 10,
|
||||
"type": "git",
|
||||
"url": "https://woof.rip/florp/about.git"
|
||||
},
|
||||
|
@ -470,6 +524,26 @@
|
|||
"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": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -503,11 +577,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730814269,
|
||||
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
|
||||
"lastModified": 1731363552,
|
||||
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
|
||||
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -562,11 +636,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731535640,
|
||||
"narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=",
|
||||
"lastModified": 1731604581,
|
||||
"narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "35b055009afd0107b69c286fca34d2ad98940d57",
|
||||
"rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -651,6 +725,68 @@
|
|||
}
|
||||
},
|
||||
"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": 1723510904,
|
||||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix_2": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nix2container": "nix2container",
|
||||
|
@ -670,28 +806,7 @@
|
|||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723510904,
|
||||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix_2": {
|
||||
"lix_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723503926,
|
||||
|
@ -705,6 +820,29 @@
|
|||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"neoidiosyn": {
|
||||
"inputs": {
|
||||
"lix": "lix",
|
||||
"lix-module": "lix-module",
|
||||
"nixpkgs": [
|
||||
"firefox",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731867586,
|
||||
"narHash": "sha256-6anSWv1Vw83RKMAFMHOCv/9pp23ExzscEKFAe+GbAmU=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "86605e5489fb5045f4dee48de2a69082e17c033b",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "https://woof.rip/mikael/neoidiosyn.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://woof.rip/mikael/neoidiosyn.git"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -713,11 +851,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731153869,
|
||||
"narHash": "sha256-3Ftf9oqOypcEyyrWJ0baVkRpvQqroK/SVBFLvU3nPuc=",
|
||||
"lastModified": 1731454423,
|
||||
"narHash": "sha256-TtwvgFxUa0wyptLhQbKaixgNW1UXf3+TDqfX3Kp63oM=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "5c74ab862c8070cbf6400128a1b56abb213656da",
|
||||
"rev": "6c71c49e2448e51ad830ed211024e6d0edc50116",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -946,11 +1084,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1731139594,
|
||||
"narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
|
||||
"lastModified": 1731319897,
|
||||
"narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
|
||||
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -977,11 +1115,11 @@
|
|||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731527733,
|
||||
"narHash": "sha256-12OpSgbLDiKmxvBXwVracIfGI9FpjFyHpa1r0Ho+NFA=",
|
||||
"lastModified": 1731707185,
|
||||
"narHash": "sha256-IfA3x0eL4Be/7hvdvGSnT8fgiXz7GL3PtjGw3BH68gM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "f11a877bcc1d66cc8bd7990c704f91c1e99c7d08",
|
||||
"rev": "be455f7f2714ce3479ae5bb662a03bd450f45793",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -992,7 +1130,7 @@
|
|||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
|
@ -1000,11 +1138,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731060242,
|
||||
"narHash": "sha256-43yLsOm/wxBbfYSNDWVJeVv5Ij+23X3BIjFUfsdx/6M=",
|
||||
"lastModified": 1731347683,
|
||||
"narHash": "sha256-BcSWCEUBShuB32LPif+EG0XGXyUi2jyjCSpGE1rbOws=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "ef493352f9e1f051e01a55c062731503a6b36b4e",
|
||||
"rev": "135d202e032be70c93b6d7d53592ef4799d6efde",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1013,6 +1151,29 @@
|
|||
"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": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -1035,18 +1196,21 @@
|
|||
"disko": "disko",
|
||||
"dns": "dns",
|
||||
"fernglas": "fernglas",
|
||||
"flake-utils": "flake-utils",
|
||||
"firefox": "firefox",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"florp-about": "florp-about",
|
||||
"florp-branding": "florp-branding",
|
||||
"florp-moderation": "florp-moderation",
|
||||
"home-manager": "home-manager",
|
||||
"hydra": "hydra",
|
||||
"kyouma-www": "kyouma-www",
|
||||
"lix": "lix",
|
||||
"lix-module": "lix-module",
|
||||
"lix": "lix_2",
|
||||
"lix-module": "lix-module_2",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixos-needsreboot": "nixos-needsreboot",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixvim": "nixvim",
|
||||
"oth": "oth",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
|
@ -1079,7 +1243,7 @@
|
|||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
|
@ -1087,17 +1251,17 @@
|
|||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4",
|
||||
"systems": "systems_5",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-tmux": "tinted-tmux"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731537763,
|
||||
"narHash": "sha256-dOjxeHAXbQ4KRe5j9uClFp8SyYY2r62bbsdraETtO84=",
|
||||
"lastModified": 1731657386,
|
||||
"narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "be94701ce7b746cb020e667f71492e398ed470f4",
|
||||
"rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1166,6 +1330,21 @@
|
|||
"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": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
17
flake.nix
17
flake.nix
|
@ -21,14 +21,22 @@
|
|||
url = "github:wobcom/fernglas";
|
||||
inputs.flake-utils.follows = "flake-utils";
|
||||
};
|
||||
florp-branding = {
|
||||
url = "git+https://woof.rip/florp/branding.git";
|
||||
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 = {
|
||||
url = "git+https://woof.rip/florp/branding.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
florp-moderation = {
|
||||
url = "git+https://woof.rip/florp/moderation.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -56,6 +64,11 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
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 = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, ... }: {
|
||||
{ config, inputs, lib, pkgs, ... }: {
|
||||
config.home-manager.users.emily = lib.mkIf (config.kyouma.graphical.compositor == "hyprland") {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
@ -9,6 +9,8 @@
|
|||
notifysend = "${pkgs.libnotify}/bin/notify-send";
|
||||
dolphin = "${pkgs.libsForQt5.dolphin}/bin/dolphin";
|
||||
firefox = "${pkgs.firefox}/bin/firefox";
|
||||
# currently broken
|
||||
#firefox = "${inputs.firefox.packages.${pkgs.system}.firefox}/bin/firefox";
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
screenshot = "~/.local/bin/hypr/screenshot.sh";
|
||||
rofi = "${pkgs.rofi-wayland}/bin/rofi";
|
||||
|
|
7
pkgs/akkoma-admin-fe/default.nix
Normal file
7
pkgs/akkoma-admin-fe/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
akkoma-frontends
|
||||
}:
|
||||
|
||||
akkoma-frontends.admin-fe.overrideAttrs {
|
||||
patches = [ ./disable-options.patch ];
|
||||
}
|
12
pkgs/akkoma-admin-fe/disable-options.patch
Normal file
12
pkgs/akkoma-admin-fe/disable-options.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
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/'
|
||||
}
|
|
@ -5,6 +5,7 @@ primary_region = 'ams'
|
|||
image = 'registry.fly.io/build-worker-kyoumanet:latest'
|
||||
|
||||
[processes]
|
||||
bw-00 = '/entrypoint.sh'
|
||||
bw-01 = '/entrypoint.sh'
|
||||
bw-02 = '/entrypoint.sh'
|
||||
bw-03 = '/entrypoint.sh'
|
||||
|
@ -14,28 +15,34 @@ primary_region = 'ams'
|
|||
bw-07 = '/entrypoint.sh'
|
||||
bw-08 = '/entrypoint.sh'
|
||||
|
||||
[[mounts]]
|
||||
source = 'bw00'
|
||||
destination = '/mnt/data'
|
||||
initial_size = '256GB'
|
||||
processes = ['bw-00']
|
||||
|
||||
[[mounts]]
|
||||
source = 'bw01'
|
||||
destination = '/mnt/data'
|
||||
initial_size = '128GB'
|
||||
initial_size = '256GB'
|
||||
processes = ['bw-01']
|
||||
|
||||
[[mounts]]
|
||||
source = 'bw02'
|
||||
destination = '/mnt/data'
|
||||
initial_size = '128GB'
|
||||
initial_size = '256GB'
|
||||
processes = ['bw-02']
|
||||
|
||||
[[mounts]]
|
||||
source = 'bw03'
|
||||
destination = '/mnt/data'
|
||||
initial_size = '128GB'
|
||||
initial_size = '256GB'
|
||||
processes = ['bw-03']
|
||||
|
||||
[[mounts]]
|
||||
source = 'bw04'
|
||||
destination = '/mnt/data'
|
||||
initial_size = '128GB'
|
||||
initial_size = '256GB'
|
||||
processes = ['bw-04']
|
||||
|
||||
[[mounts]]
|
||||
|
@ -62,6 +69,15 @@ primary_region = 'ams'
|
|||
initial_size = '256GB'
|
||||
processes = ['bw-08']
|
||||
|
||||
[[services]]
|
||||
protocol = 'tcp'
|
||||
internal_port = 2222
|
||||
auto_stop_machines = 'off'
|
||||
processes = ['bw-00']
|
||||
|
||||
[[services.ports]]
|
||||
port = 2200
|
||||
|
||||
[[services]]
|
||||
protocol = 'tcp'
|
||||
internal_port = 2222
|
67
pkgs/build-worker-oci/cdg/fly.toml
Normal file
67
pkgs/build-worker-oci/cdg/fly.toml
Normal file
|
@ -0,0 +1,67 @@
|
|||
# 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,6 +51,9 @@ dockerTools.buildLayeredImage {
|
|||
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 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
|
||||
|
||||
cat <<EOF > /root/.ssh/environment
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
dockerTools.pullImage {
|
||||
imageName = "nixos/nix";
|
||||
imageDigest = "sha256:fd7a5c67d396fe6bddeb9c10779d97541ab3a1b2a9d744df3754a99add4046f1";
|
||||
sha256 = "1ggkwd9zw8lj97ig7zah7dqy463hfhsgq3iwxxf8117gf8xi422s";
|
||||
imageDigest = "sha256:133a1607deea14a02c2bc0850e275ed135814235a1147f68967afee261caea2b";
|
||||
sha256 = "0602a59g14l1jiqfffz14hcp982qaqczi5f0ylvv0h9pp2pqrqs5";
|
||||
finalImageName = "nixos/nix";
|
||||
finalImageTag = "latest";
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ final: prev: {
|
|||
librespeed-rust = final.callPackage ./librespeed-rust/default.nix {};
|
||||
librespeed-go = final.callPackage ./librespeed-go/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 {
|
||||
withSlice = true;
|
||||
# Use zlib because zlib-ng uses larger buffers then nginx preallocates.
|
||||
|
|
Loading…
Reference in a new issue