feat: expanded all lists

This commit is contained in:
Nick 2025-01-08 19:06:14 -06:00
parent 59cc199722
commit bb0b55b011
144 changed files with 1798 additions and 507 deletions

View file

@ -1,7 +1,11 @@
{
nix.settings = {
substituters = ["https://cosmic.cachix.org/"];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
substituters = [
"https://cosmic.cachix.org/"
];
trusted-public-keys = [
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
};
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;

View file

@ -1,5 +1,8 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit
(flake.config.people)
user0
;
in {
security = {
doas = {
@ -8,7 +11,9 @@ in {
{
keepEnv = true;
noPass = true;
users = [user0];
users = [
user0
];
}
];
};

View file

@ -13,13 +13,12 @@
;
};
variables = {
VIDEO_PLAYER = "vlc";
VIDEO_PLAYER = "mpv";
EDITOR = "hx";
WLR_NO_HARDWARE_CURSORS = "1";
WLR_DRM_NO_ATOMIC = "1";
NIXPKGS_ALLOW_INSECURE = "1";
NIXPKGS_ALLOW_UNFREE = "1";
GRIM_DEFAULT_DIR = "$HOME/Pictures/screenshots/";
};
};
}

View file

@ -3,15 +3,24 @@
flake,
...
}: let
inherit (flake.config.aesthetics.themes.theme) font;
inherit
(flake.config.aesthetics.themes.theme)
font
;
in {
fonts = {
fontconfig = {
enable = true;
defaultFonts = {
serif = [font];
monospace = [font];
sansSerif = [font];
serif = [
font
];
monospace = [
font
];
sansSerif = [
font
];
emoji = ["Noto Fonts Color Emoji"];
};
antialias = true;

View file

@ -4,7 +4,10 @@
lib,
...
}: let
inherit (flake.config.people) user0;
inherit
(flake.config.people)
user0
;
in {
services = {
greetd = {

View file

@ -4,7 +4,9 @@
useUserPackages = true;
backupFileExtension = "backup";
extraSpecialArgs = {
inherit flake;
inherit
flake
;
};
};
}

View file

@ -10,6 +10,8 @@
};
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk];
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
}

View file

@ -20,7 +20,9 @@
options = "--delete-older-than 10d";
};
settings = {
substituters = ["https://hyprland.cachix.org"];
substituters = [
"https://hyprland.cachix.org"
];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
};

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.services.instances) ollama web;
inherit
(flake.config.services.instances)
ollama
web
;
service = ollama;
localhost = web.localhost.address0;
in {
@ -27,7 +31,9 @@ in {
};
};
systemd.tmpfiles.rules = ["Z ${service.paths.path1} 0755 ${service.name} ${service.name} -"];
systemd.tmpfiles.rules = [
"Z ${service.paths.path1} 0755 ${service.name} ${service.name} -"
];
networking = {
firewall = {

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.machines.devices) printer0 printer1;
inherit
(flake.config.machines.devices)
printer0
printer1
;
genericPPD = "drv:///sample.drv/generic.ppd";
pageSize = "Letter";
in {

View file

@ -3,9 +3,18 @@
flake,
...
}: let
inherit (flake.config.people) user0;
inherit (flake.config.people.users.${user0}) email;
inherit (flake.config.services) instances;
inherit
(flake.config.people)
user0
;
inherit
(flake.config.people.users.${user0})
email
;
inherit
(flake.config.services)
instances
;
domain0 = instances.web.domains.url0;
domain1 = instances.web.domains.url1;
domain3 = instances.web.domains.url3;
@ -65,7 +74,9 @@ in {
);
};
sops = let
sopsSecrets = ["pass"];
sopsSecrets = [
"pass"
];
sopsPath = secret: {
path = "/var/lib/secrets/${instances.acme.name}/${dns}-${secret}";
owner = "root";

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.services.instances) caddy web;
inherit
(flake.config.services.instances)
caddy
web
;
domain0 = web.domains.url0;
@ -17,7 +21,11 @@ in {
};
};
users.users.${service.name}.extraGroups = ["acme" "nextcloud" "mastodon"];
users.users.${service.name}.extraGroups = [
"acme"
"nextcloud"
"mastodon"
];
networking = {
firewall = {

View file

@ -3,8 +3,15 @@
config,
...
}: let
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) forgejo web;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
forgejo
web
;
service = forgejo;
localhost = web.localhost.address0;
host = "${service.subdomain}.${web.domains.url1}";
@ -86,7 +93,9 @@ in {
fileSystems."/var/lib/${service.name}" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
options = [
"bind"
];
depends = [server.storage0.mount];
};
@ -95,7 +104,10 @@ in {
"Z ${service.sops.path0} 755 ${service.name} ${service.name} -"
];
users.users.${service.name}.extraGroups = ["caddy" "postgres"];
users.users.${service.name}.extraGroups = [
"caddy"
"postgres"
];
networking = {
firewall = {

View file

@ -1,7 +1,17 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) jellyfin web;
inherit
(flake.config.people)
user0
;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
jellyfin
web
;
service = jellyfin;
localhost = web.localhost.address0;
host = "${service.subdomain}.${web.domains.url0}";
@ -35,7 +45,9 @@ in {
fileSystems = let
settings = {
fsType = "none";
options = ["bind"];
options = [
"bind"
];
depends = [server.storage0.mount];
};
in {

View file

@ -5,8 +5,15 @@
lib,
...
}: let
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) mastodon web;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
mastodon
web
;
service = mastodon;
host = web.domains.url1;
localhost = web.localhost.address0;
@ -68,23 +75,33 @@ in {
sidekiqThreads = 25;
sidekiqProcesses = {
all = {
jobClasses = [];
jobClasses = [
];
threads = null;
};
default = {
jobClasses = ["default"];
jobClasses = [
"default"
];
threads = 5;
};
ingress = {
jobClasses = ["ingress"];
jobClasses = [
"ingress"
];
threads = 5;
};
push-pull = {
jobClasses = ["push" "pull"];
jobClasses = [
"push"
"pull"
];
threads = 5;
};
mailers = {
jobClasses = ["mailers"];
jobClasses = [
"mailers"
];
threads = 5;
};
};
@ -169,7 +186,9 @@ in {
fileSystems."/var/lib/${service.name}" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
options = [
"bind"
];
depends = [server.storage0.mount];
};
@ -178,11 +197,14 @@ in {
"Z ${service.sops.path0} 0755 ${service.name} ${service.name} -"
];
users.users.${service.name}.extraGroups = ["postgres"];
users.users.${service.name}.extraGroups = [
"postgres"
];
networking = {
firewall = {
allowedTCPPorts = [];
allowedTCPPorts = [
];
};
};
}

View file

@ -3,8 +3,14 @@
flake,
...
}: let
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) minecraft;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
minecraft
;
service = minecraft;
in {
services = {
@ -71,8 +77,12 @@ in {
fileSystems."/var/lib/${service.name}" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
depends = [server.storage0.mount];
options = [
"bind"
];
depends = [
server.storage0.mount
];
};
systemd.tmpfiles.rules = [

View file

@ -4,10 +4,24 @@
pkgs,
...
}: let
inherit (flake.config.people) user0;
inherit (flake.config.people.users.${user0}) name;
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) nextcloud nginx web;
inherit
(flake.config.people)
user0
;
inherit
(flake.config.people.users.${user0})
name
;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
nextcloud
nginx
web
;
service = nextcloud;
localhost = web.localhost.address0;
host = "${service.subdomain}.${web.domains.url1}";
@ -96,7 +110,9 @@ in {
fileSystems."/var/lib/${service.name}" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
options = [
"bind"
];
depends = [server.storage0.mount];
};
@ -105,7 +121,11 @@ in {
"Z ${service.sops.path0} 750 ${service.name} ${service.name} -"
];
users.users.${service.name}.extraGroups = ["caddy" "nginx" "postgres"];
users.users.${service.name}.extraGroups = [
"caddy"
"nginx"
"postgres"
];
networking = {
firewall = {

View file

@ -1,6 +1,13 @@
{flake, ...}: let
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) ollama web;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
ollama
web
;
service = ollama;
localhost = web.localhost.address0;
host = "${service.subdomain}.${web.domains.url0}";
@ -45,11 +52,15 @@ in {
fileSystems."/var/lib/${service.name}" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
options = [
"bind"
];
depends = [server.storage0.mount];
};
systemd.tmpfiles.rules = ["Z ${service.paths.path0} 0755 ${service.name} ${service.name} -"];
systemd.tmpfiles.rules = [
"Z ${service.paths.path0} 0755 ${service.name} ${service.name} -"
];
networking = {
firewall = {

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.services.instances) owncast web;
inherit
(flake.config.services.instances)
owncast
web
;
service = owncast;
localhost = web.localhost.address1;
host = "${service.subdomain}.${web.domains.url1}";

View file

@ -4,8 +4,16 @@
pkgs,
...
}: let
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) caddy peertube web;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
caddy
peertube
web
;
service = peertube;
localhost = web.localhost.address0;
host = "${service.subdomain}.${web.domains.url3}";
@ -109,7 +117,9 @@ in {
fileSystems."/var/lib/${service.name}" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
options = [
"bind"
];
depends = [server.storage0.mount];
};

View file

@ -1,6 +1,12 @@
{flake, ...}: let
inherit (flake.config.machines.devices) server;
inherit (flake.config.services.instances) postgresql;
inherit
(flake.config.machines.devices)
server
;
inherit
(flake.config.services.instances)
postgresql
;
service = postgresql;
in {
@ -8,7 +14,13 @@ in {
postgresqlBackup = {
enable = true;
location = service.paths.path0;
databases = ["mastodon" "nextcloud" "peertube" "forgejo" "wiki"];
databases = [
"mastodon"
"nextcloud"
"peertube"
"forgejo"
"wiki"
];
};
postgresql = {
enable = true;
@ -25,13 +37,23 @@ in {
fileSystems."/var/lib/postgresql" = {
device = service.paths.path0;
fsType = "none";
options = ["bind"];
depends = [server.storage0.mount];
options = [
"bind"
];
depends = [
server.storage0.mount
];
};
systemd.tmpfiles.rules = ["Z ${service.paths.path0} 700 ${service.name} ${service.name} -"];
systemd.tmpfiles.rules = [
"Z ${service.paths.path0} 700 ${service.name} ${service.name} -"
];
users.users.${service.name}.extraGroups = ["nextcloud" "mastodon" "forgejo"];
users.users.${service.name}.extraGroups = [
"nextcloud"
"mastodon"
"forgejo"
];
system.activationScripts.postgresCommands = ''
chown -R ${service.name}:${service.name} ${service.paths.path0}

View file

@ -3,7 +3,11 @@
flake,
...
}: let
inherit (flake.config.services.instances) samba jellyfin;
inherit
(flake.config.services.instances)
samba
jellyfin
;
service = samba;
in {
# If you ever need to start fresh, you need to add yourself to the Samba users database:

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.services.instances) upRootNutrition web;
inherit
(flake.config.services.instances)
upRootNutrition
web
;
service = upRootNutrition;
host = web.domains.url3;
in {

View file

@ -3,7 +3,11 @@
config,
...
}: let
inherit (flake.config.services.instances) vaultwarden web;
inherit
(flake.config.services.instances)
vaultwarden
web
;
service = vaultwarden;
localhost = web.localhost.address0;
host = "${service.subdomain}.${web.domains.url0}";

View file

@ -1,5 +1,8 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit
(flake.config.people)
user0
;
in {
sops = {
defaultSopsFile = ../../secrets/secrets.yaml;

View file

@ -1,6 +1,12 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit (flake.config.people.users.${user0}) sshKeys;
inherit
(flake.config.people)
user0
;
inherit
(flake.config.people.users.${user0})
sshKeys
;
in {
users.users.${user0} = {
openssh.authorizedKeys.keys = sshKeys;

View file

@ -1,6 +1,15 @@
{flake, ...}: let
inherit (flake.config.machines.devices) synology phone tablet;
inherit (flake.config.services.instances) syncthing web;
inherit
(flake.config.machines.devices)
synology
phone
tablet
;
inherit
(flake.config.services.instances)
syncthing
web
;
service = syncthing;
localhost = web.localhost.address0;
in {