forked from aylac.top/nixcfg
this repo has no description

skibididi

Changed files
+170 -128
hosts
modules
snippets
tailnet
+12 -12
flake.lock
···
]
},
"locked": {
-
"lastModified": 1754971456,
-
"narHash": "sha256-p04ZnIBGzerSyiY2dNGmookCldhldWAu03y0s3P8CB0=",
+
"lastModified": 1755519972,
+
"narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=",
"owner": "nix-community",
"repo": "disko",
-
"rev": "8246829f2e675a46919718f9a64b71afe3bfb22d",
+
"rev": "4073ff2f481f9ef3501678ff479ed81402caae6d",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1755442500,
-
"narHash": "sha256-RHK4H6SWzkAtW/5WBHsyugaXJX25yr5y7FAZznxcBJs=",
+
"lastModified": 1755618859,
+
"narHash": "sha256-VGEZMAX/bOKrkg9x5DjXBfjpxm9gvU3kRVps7RKm8mQ=",
"owner": "nix-community",
"repo": "home-manager",
-
"rev": "d2ffdedfc39c591367b1ddf22b4ce107f029dcc3",
+
"rev": "0e0a16b342bcd435ad83c62f4794ce1a4ccff0ea",
"type": "github"
},
"original": {
···
"nixpkgs": "nixpkgs_3"
},
"locked": {
-
"lastModified": 1755476870,
-
"narHash": "sha256-VktLRbdxqIMMRaA+cYyCqviFfYJ9MB77INxPWX3d12A=",
+
"lastModified": 1755615368,
+
"narHash": "sha256-99dlSdCjn1J1e0115g59nDbjsbGwihJsicjwWmzz0Bo=",
"owner": "nix-community",
"repo": "NUR",
-
"rev": "ba8a68a07b1cca8063b0473db7274c6e88ca5d53",
+
"rev": "03f3f029e496e5e7456f2870557d5f2e5509022b",
"type": "github"
},
"original": {
···
"secrets": {
"flake": false,
"locked": {
-
"lastModified": 1755578239,
-
"narHash": "sha256-JwP/TAFVlSHjTHcBWi4zPpC3POhRyeHB4QaKjGsa/94=",
+
"lastModified": 1755593350,
+
"narHash": "sha256-eZmgZh++H7IzcmIFUxBY14P9B3BVT1PPitvwbGN9WLA=",
"owner": "ayla6",
"repo": "secrets",
-
"rev": "955c759c8103ceefae27d5cd5d0fa667cbbd6c54",
+
"rev": "babaa14c8e6f1b47567d690371794d157aed260c",
"type": "github"
},
"original": {
+1
hosts/nanpi/default.nix
···
./home.nix
./secrets.nix
./services.nix
+
./glance.nix
self.nixosModules.locale-en-gb
self.diskoConfigurations.luks-btrfs-subvolumes
];
+128
hosts/nanpi/glance.nix
···
+
{config, ...}: {
+
services.glance = {
+
enable = true;
+
openFirewall = true;
+
+
settings = {
+
pages = [
+
{
+
name = config.mySnippets.tailnet.networkMap.glance.vHost;
+
width = "slim";
+
hide-desktop-navigation = true;
+
center-vertically = true;
+
columns = [
+
{
+
size = "full";
+
widgets = [
+
{
+
type = "search";
+
autofocus = true;
+
}
+
{
+
type = "monitor";
+
cache = "1m";
+
title = "Public Services";
+
+
sites = [
+
{
+
title = "Forgejo";
+
url = "https://${config.mySnippets.aylac-top.networkMap.forgejo.vHost}/";
+
check-url = "http://${config.mySnippets.aylac-top.networkMap.forgejo.hostName}:${toString config.mySnippets.aylac-top.networkMap.forgejo.port}/";
+
icon = "di:forgejo";
+
}
+
{
+
title = "PDS";
+
url = "https://${config.mySnippets.aylac-top.networkMap.pds.vHost}/";
+
check-url = "http://${config.mySnippets.aylac-top.networkMap.pds.hostName}:${toString config.mySnippets.aylac-top.networkMap.pds.port}/";
+
icon = "di:bluesky";
+
}
+
{
+
title = "Vaultwarden";
+
url = "https://${config.mySnippets.aylac-top.networkMap.vaultwarden.vHost}/";
+
check-url = "http://${config.mySnippets.aylac-top.networkMap.vaultwarden.hostName}:${toString config.mySnippets.aylac-top.networkMap.vaultwarden.port}/";
+
icon = "di:vaultwarden";
+
}
+
];
+
}
+
{
+
type = "monitor";
+
cache = "1m";
+
title = "Private Services";
+
+
sites = [
+
{
+
title = "Karakeep";
+
url = "https://${config.mySnippets.tailnet.networkMap.karakeep.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.karakeep.hostName}:${toString config.mySnippets.tailnet.networkMap.karakeep.port}/";
+
icon = "di:karakeep";
+
}
+
{
+
title = "Jellyfin";
+
url = "https://${config.mySnippets.tailnet.networkMap.jellyfin.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.jellyfin.hostName}:${toString config.mySnippets.tailnet.networkMap.jellyfin.port}/web/index.html";
+
icon = "di:jellyfin";
+
}
+
{
+
title = "Sonarr";
+
url = "https://${config.mySnippets.tailnet.networkMap.sonarr.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.sonarr.hostName}:${toString config.mySnippets.tailnet.networkMap.sonarr.port}/";
+
icon = "di:sonarr";
+
}
+
{
+
title = "Radarr";
+
url = "https://${config.mySnippets.tailnet.networkMap.radarr.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.radarr.hostName}:${toString config.mySnippets.tailnet.networkMap.radarr.port}/";
+
icon = "di:radarr";
+
}
+
#{
+
# title = "Lidarr";
+
# url = "https://${config.mySnippets.tailnet.networkMap.lidarr.vHost}/";
+
# check-url = "http://${config.mySnippets.tailnet.networkMap.lidarr.hostName}:${toString config.mySnippets.tailnet.networkMap.lidarr.port}/";
+
# icon = "di:lidarr";
+
#}
+
{
+
title = "Prowlarr";
+
url = "https://${config.mySnippets.tailnet.networkMap.prowlarr.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.prowlarr.hostName}:${toString config.mySnippets.tailnet.networkMap.prowlarr.port}/";
+
icon = "di:prowlarr";
+
}
+
{
+
title = "Bazarr";
+
url = "https://${config.mySnippets.tailnet.networkMap.bazarr.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.bazarr.hostName}:${toString config.mySnippets.tailnet.networkMap.bazarr.port}/";
+
icon = "di:bazarr";
+
}
+
{
+
title = "qBittorrent";
+
url = "https://${config.mySnippets.tailnet.networkMap.qbittorrent.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.qbittorrent.hostName}:${toString config.mySnippets.tailnet.networkMap.qbittorrent.port}/";
+
icon = "di:qbittorrent";
+
alt-status-codes = [401];
+
}
+
{
+
title = "Uptime Kuma";
+
url = "https://${config.mySnippets.tailnet.networkMap.uptime-kuma.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.uptime-kuma.hostName}:${toString config.mySnippets.tailnet.networkMap.uptime-kuma.port}/";
+
icon = "di:uptime-kuma";
+
}
+
{
+
title = "Radicale";
+
url = "https://${config.mySnippets.tailnet.networkMap.radicale.vHost}/";
+
check-url = "http://${config.mySnippets.tailnet.networkMap.radicale.hostName}:${toString config.mySnippets.tailnet.networkMap.radicale.port}/";
+
icon = "di:radicale";
+
}
+
];
+
}
+
];
+
}
+
];
+
}
+
];
+
+
server = {
+
host = "0.0.0.0";
+
inherit (config.mySnippets.tailnet.networkMap.glance) port;
+
};
+
};
+
};
+
}
+1
hosts/nanpi/secrets.nix
···
syncthingCert.file = "${self.inputs.secrets}/ayla/syncthing/nanpi/cert.age";
syncthingKey.file = "${self.inputs.secrets}/ayla/syncthing/nanpi/key.age";
vaultwarden.file = "${self.inputs.secrets}/vaultwarden.age";
+
gemini.file = "${self.inputs.secrets}/gemini.age";
};
}
+22 -116
hosts/nanpi/services.nix
···
reverse_proxy ${config.mySnippets.tailnet.networkMap.glance.hostName}:${toString config.mySnippets.tailnet.networkMap.glance.port}
'';
};
+
+
"${config.mySnippets.tailnet.networkMap.karakeep.vHost}" = {
+
extraConfig = ''
+
bind tailscale/karakeep
+
encode zstd gzip
+
reverse_proxy ${config.mySnippets.tailnet.networkMap.karakeep.hostName}:${toString config.mySnippets.tailnet.networkMap.karakeep.port}
+
'';
+
};
};
# it's failing to build because it can't download some stuff
···
};
};
-
glance = {
+
karakeep = {
enable = true;
-
openFirewall = true;
-
settings = {
-
pages = [
-
{
-
name = config.mySnippets.tailnet.networkMap.glance.vHost;
-
width = "slim";
-
hide-desktop-navigation = true;
-
center-vertically = true;
-
columns = [
-
{
-
size = "full";
-
widgets = [
-
{
-
type = "search";
-
autofocus = true;
-
}
-
{
-
type = "monitor";
-
cache = "1m";
-
title = "Public Services";
-
-
sites = [
-
{
-
title = "Forgejo";
-
url = "https://${config.mySnippets.aylac-top.networkMap.forgejo.vHost}/";
-
check-url = "http://${config.mySnippets.aylac-top.networkMap.forgejo.hostName}:${toString config.mySnippets.aylac-top.networkMap.forgejo.port}/";
-
icon = "di:forgejo";
-
}
-
{
-
title = "PDS";
-
url = "https://${config.mySnippets.aylac-top.networkMap.pds.vHost}/";
-
check-url = "http://${config.mySnippets.aylac-top.networkMap.pds.hostName}:${toString config.mySnippets.aylac-top.networkMap.pds.port}/";
-
icon = "di:bluesky";
-
}
-
{
-
title = "Vaultwarden";
-
url = "https://${config.mySnippets.aylac-top.networkMap.vaultwarden.vHost}/";
-
check-url = "http://${config.mySnippets.aylac-top.networkMap.vaultwarden.hostName}:${toString config.mySnippets.aylac-top.networkMap.vaultwarden.port}/";
-
icon = "di:vaultwarden";
-
}
-
];
-
}
-
{
-
type = "monitor";
-
cache = "1m";
-
title = "Private Services";
-
-
sites = [
-
{
-
title = "Jellyfin";
-
url = "https://${config.mySnippets.tailnet.networkMap.jellyfin.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.jellyfin.hostName}:${toString config.mySnippets.tailnet.networkMap.jellyfin.port}/web/index.html";
-
icon = "di:jellyfin";
-
}
-
{
-
title = "Sonarr";
-
url = "https://${config.mySnippets.tailnet.networkMap.sonarr.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.sonarr.hostName}:${toString config.mySnippets.tailnet.networkMap.sonarr.port}/";
-
icon = "di:sonarr";
-
}
-
{
-
title = "Radarr";
-
url = "https://${config.mySnippets.tailnet.networkMap.radarr.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.radarr.hostName}:${toString config.mySnippets.tailnet.networkMap.radarr.port}/";
-
icon = "di:radarr";
-
}
-
#{
-
# title = "Lidarr";
-
# url = "https://${config.mySnippets.tailnet.networkMap.lidarr.vHost}/";
-
# check-url = "http://${config.mySnippets.tailnet.networkMap.lidarr.hostName}:${toString config.mySnippets.tailnet.networkMap.lidarr.port}/";
-
# icon = "di:lidarr";
-
#}
-
{
-
title = "Prowlarr";
-
url = "https://${config.mySnippets.tailnet.networkMap.prowlarr.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.prowlarr.hostName}:${toString config.mySnippets.tailnet.networkMap.prowlarr.port}/";
-
icon = "di:prowlarr";
-
}
-
{
-
title = "Bazarr";
-
url = "https://${config.mySnippets.tailnet.networkMap.bazarr.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.bazarr.hostName}:${toString config.mySnippets.tailnet.networkMap.bazarr.port}/";
-
icon = "di:bazarr";
-
}
-
{
-
title = "qBittorrent";
-
url = "https://${config.mySnippets.tailnet.networkMap.qbittorrent.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.qbittorrent.hostName}:${toString config.mySnippets.tailnet.networkMap.qbittorrent.port}/";
-
icon = "di:qbittorrent";
-
alt-status-codes = [401];
-
}
-
{
-
title = "Uptime Kuma";
-
url = "https://${config.mySnippets.tailnet.networkMap.uptime-kuma.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.uptime-kuma.hostName}:${toString config.mySnippets.tailnet.networkMap.uptime-kuma.port}/";
-
icon = "di:uptime-kuma";
-
}
-
{
-
title = "Radicale";
-
url = "https://${config.mySnippets.tailnet.networkMap.radicale.vHost}/";
-
check-url = "http://${config.mySnippets.tailnet.networkMap.radicale.hostName}:${toString config.mySnippets.tailnet.networkMap.radicale.port}/";
-
icon = "di:radicale";
-
}
-
];
-
}
-
];
-
}
-
];
-
}
-
];
-
-
server = {
-
host = "0.0.0.0";
-
inherit (config.mySnippets.tailnet.networkMap.glance) port;
-
};
+
extraEnvironment = rec {
+
DISABLE_NEW_RELEASE_CHECK = "true";
+
DISABLE_SIGNUPS = "true";
+
OPENAI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/openai/";
+
INFERENCE_TEXT_MODEL = "gemini-2.5-flash";
+
INFERENCE_IMAGE_MODEL = INFERENCE_TEXT_MODEL;
+
EMBEDDING_TEXT_MODEL = INFERENCE_TEXT_MODEL;
+
INFERENCE_CONTEXT_LENGTH = "600000";
+
INFERENCE_LANG = "english";
+
INFERENCE_NUM_WORKERS = "2";
+
NEXTAUTH_URL = "https://${config.mySnippets.tailnet.networkMap.karakeep.vHost}";
+
PORT = "7020";
};
+
environmentFile = config.age.secrets.gemini.path;
};
};
+6
modules/snippets/tailnet/default.nix
···
port = 8989;
vHost = "sonarr.${config.mySnippets.tailnet.name}";
};
+
+
karakeep = {
+
hostName = "nanpi";
+
port = 7020;
+
vHost = "karakeep.${config.mySnippets.tailnet.name}";
+
};
};
};
};