feat: refactored wireguard and fixed self-hosted bookmarks

This commit is contained in:
Nick 2025-07-06 13:35:31 -05:00
parent 5c1d3e6356
commit cd118791e5
14 changed files with 55 additions and 128 deletions

View file

@ -3,12 +3,6 @@ let
inherit (flake.config.people) user0;
user = config.home.username;
keyLogic =
if user == user0 then
"$env.ANTHROPIC_API_KEY = (open /home/${user0}/.config/zed/claude-api-key)"
else
"";
in
{
programs.nushell = {
@ -16,7 +10,6 @@ in
configFile.text = ''
sleep 7ms
$env.config = {show_banner: false}
${keyLogic}
'';
shellAliases = {
y = "yy";

View file

@ -31,7 +31,6 @@ in
lutris
heroic
zed
vsCode
feishin
obsidian
libreOffice

View file

@ -21,12 +21,11 @@ in
keyword = "Discord";
}
{
name = "Elm-UI";
url = "https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/";
name = "Elm Packages";
url = "https://package.elm-lang.org/packages";
tags = [
"elm-ui"
"elm"
"ui"
"packages"
];
keyword = "Elm";
}
@ -52,7 +51,7 @@ in
}
{
name = "GitLab (Fallaryn)";
url = "${gitlabURL}/fallaryn/dotfiles";
url = "${gitlabURL}/fallaryn";
tags = [
"fallaryn"
] ++ gitlabTags;
@ -60,7 +59,7 @@ in
}
{
name = "GitLab (Isaac)";
url = "${gitlabURL}/askyourself/dotfiles";
url = "${gitlabURL}/askyourself";
tags = [
"isaac"
"askyourself"
@ -69,9 +68,9 @@ in
}
{
name = "GitLab (Nick)";
url = "${gitlabURL}/upRootNutrition/dotfiles";
url = "${gitlabURL}/upRootNutrition";
tags = [
"brbwaffles"
"uprootnutrition"
] ++ gitlabTags;
keyword = "GitLab";
}
@ -85,14 +84,5 @@ in
];
keyword = "Hack";
}
{
name = "Discord-Haskell";
url = "https://hackage.haskell.org/package/discord-haskell-1.17.1";
tags = [
"discord"
"haskell"
];
keyword = "Dack";
}
];
}

View file

@ -51,7 +51,7 @@ in
}
{
name = instances.forgejo.label;
url = "https://${instances.forgejo.subdomain}.${instances.web.domains.url3}";
url = "https://${instances.forgejo.domains.url0}";
tags = [
instances.forgejo.name
"forge"
@ -59,19 +59,9 @@ in
];
keyword = instances.forgejo.label;
}
# {
# name = instances.hledger.label;
# url = "http://localhost.${builtins.toString instances.hledger.ports.port0}";
# tags = [
# instances.hledger.name
# "hledger"
# "finances"
# ];
# keyword = instances.hledger.label;
# }
{
name = "${instances.jellyfin.label} (Internet)";
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
url = "https://${instances.jellyfin.domains.url0}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
@ -83,7 +73,7 @@ in
}
{
name = instances.mastodon.label;
url = "https://${instances.mastodon.subdomain}.${instances.web.domains.url3}";
url = "https://${instances.mastodon.domains.url0}";
tags = [
instances.mastodon.name
"mast"
@ -104,7 +94,7 @@ in
}
{
name = instances.nextcloud.label;
url = "https://${instances.nextcloud.subdomain}.${instances.web.domains.url1}";
url = "https://${instances.nextcloud.domains.url0}";
tags = [
instances.nextcloud.name
"next"
@ -124,7 +114,7 @@ in
}
{
name = "${instances.glance.label} (Local)";
url = "http://${instances.web.localhost.address0}:${toString instances.glance.ports.port0}";
url = "https://${instances.glance.domains.url0}";
tags = [
"glance"
"dashboard"
@ -135,7 +125,7 @@ in
}
{
name = "${instances.ollama.label} (Server)";
url = "https://${instances.ollama.subdomain}.${instances.web.domains.url0}";
url = "https://${instances.ollama.domains.url0}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
@ -145,29 +135,6 @@ in
tags = ollamaTags;
keyword = instances.ollama.label;
}
# {
# name = "${instances.owncast.label} (Admin)";
# url = "http://${ceres.ip.address0}:${toString instances.owncast.ports.port0}/admin";
# tags = owncastTags;
# keyword = instances.owncast.label;
# }
# {
# name = "${instances.owncast.label} (Server)";
# url = "http://${instances.owncast.subdomain}.${instances.web.domains.url1}";
# tags = owncastTags;
# keyword = instances.owncast.label;
# }
# {
# name = instances.peertube.label;
# url = "https://${instances.peertube.subdomain}.${instances.web.domains.url3}";
# tags = [
# instances.peertube.name
# "peer"
# "tube"
# "uprootnutrition"
# ];
# keyword = instances.peertube.label;
# }
{
name = "Router";
url = "http://${instances.web.localhost.address2}";
@ -179,7 +146,7 @@ in
}
{
name = "${instances.searx.label} (Internet)";
url = "https://${instances.searx.subdomain}.${instances.web.domains.url0}";
url = "https://${instances.searx.domains.url0}";
tags = [
"search"
"sear"
@ -215,7 +182,7 @@ in
}
{
name = instances.vaultwarden.label;
url = "https://${instances.vaultwarden.subdomain}.${instances.web.domains.url0}";
url = "https://${instances.vaultwarden.domains.url0}";
tags = [
instances.vaultwarden.name
"bitwarden"

View file

@ -90,15 +90,6 @@
];
keyword = "Deep";
}
{
name = "Uncensored AI";
url = "https://www.aiuncensored.info";
tags = [
"uncensored"
"ai"
];
keyword = "AI";
}
{
name = "Canadian Blood Services";
url = "https://www.blood.ca/en";

View file

@ -29,11 +29,10 @@ in
"terminal.integrated.fontSize" = fonts.sizes.applications;
"terminal.integrated.fontFamily" = "'${fonts.name}', 'monospace', monospace";
"editor.fontLigatures" = true;
"editor.formatOnSave" = true;
"elmLS.disableElmLSDiagnostics" = true;
"elmLS.elmReviewDiagnostics" = "warning";
"elmLS.elmReviewPath" =
"/nix/store/r19y19rx5b7l4dzapbx1g64d30yisby1-elm-review-2.10.3/bin/elm-review";
"editor.formatOnSave" = true;
"elmLS.elmReviewPath" = "/etc/profiles/per-user/nick/bin/elm-review";
"[elm]" = {
"editor.defaultFormatter" = "elmTooling.elm-ls-vscode";
};

View file

@ -10,5 +10,6 @@ builtins.attrValues {
inherit (pkgs.elmPackages)
elm-language-server
elm-review
elm-format
;
}

View file

@ -39,7 +39,7 @@
language_servers = [ "elm-language-server" ];
format_on_save = {
external = {
command = "elm-review";
command = "elm-format";
arguments = [ "--stdin" ];
};
};

View file

@ -18,12 +18,12 @@ let
;
};
extraPackagesPath = import (configPath + /extraPackages) { inherit pkgs; };
# packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default;
packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default;
in
{
programs.zed-editor = {
enable = true;
# package = packagePath;
package = packagePath;
extraPackages = extraPackagesPath;
extensions = extensionsPath;
userKeymaps = userKeymapsPath;

View file

@ -7,7 +7,6 @@ in
mars = {
imports = builtins.attrValues {
inherit (modules)
mullvad
syncthing
ollama
plasma
@ -17,6 +16,7 @@ in
wayland
searx
flatpak
wireGuard
;
};
};
@ -31,6 +31,7 @@ in
sddm
flatpak
espanso
wireGuard
;
};
};

View file

@ -1,7 +1,8 @@
{ config, flake, ... }:
let
inherit (flake.config.services.instances) wireGuard;
service = wireGuard;
inherit (flake.config.services) instances;
inherit (flake.config.machines.devices) ceres;
service = instances.wireGuard;
wireGuardInterface =
{
secret,
@ -49,6 +50,27 @@ let
in
{
networking = {
hosts = {
${ceres.wireguard.ip0} = [
instances.searx.domains.url0
instances.glance.domains.url0
];
};
wireguard.interfaces = {
wg0 = {
peers = [
{
publicKey = "fs58+Kz+eG9qAXvvMB2NkW+wa88yP61uam4HHWaBJVw=";
allowedIPs = [
"${ceres.wireguard.ip0}/32"
"${instances.web.localhost.address4}/24"
];
endpoint = "${instances.web.remotehost.address0}:${builtins.toString service.ports.port1}";
persistentKeepalive = 25;
}
];
};
};
wg-quick.interfaces = builtins.listToAttrs (map wireGuardInterface interfaces);
};

View file

@ -23,10 +23,10 @@ in
path = "/home/${user0}/.ssh/known_hosts";
owner = user0;
};
"claude-api-key" = {
path = "/home/${user0}/.config/zed/claude-api-key";
owner = user0;
};
# "claude-api-key" = {
# path = "/home/${user0}/.config/zed/claude-api-key";
# owner = user0;
# };
};
};
}