mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 14:01:34 +01:00
Implement global custom libs as a flake output
This commit is contained in:
parent
f276848b18
commit
671a13239a
10 changed files with 40 additions and 31 deletions
|
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -10,8 +11,8 @@ let
|
|||
|
||||
virtualHosts = cfg.virtualHosts |> lib.attrValues |> lib.filter (value: value.enable);
|
||||
|
||||
tailscaleHosts = virtualHosts |> lib.filter (value: lib.custom.isTailscaleDomain value.domain);
|
||||
nonTailscaleHosts = virtualHosts |> lib.filter (value: !lib.custom.isTailscaleDomain value.domain);
|
||||
tailscaleHosts = virtualHosts |> lib.filter (value: lib'.isTailscaleDomain value.domain);
|
||||
nonTailscaleHosts = virtualHosts |> lib.filter (value: !lib'.isTailscaleDomain value.domain);
|
||||
|
||||
webPorts = [
|
||||
80
|
||||
|
|
@ -28,8 +29,8 @@ let
|
|||
{ domain, port, ... }:
|
||||
''
|
||||
import subdomain-log ${domain}
|
||||
@${lib.custom.subdomainOf domain} host ${domain}
|
||||
handle @${lib.custom.subdomainOf domain} {
|
||||
@${lib'.subdomainOf domain} host ${domain}
|
||||
handle @${lib'.subdomainOf domain} {
|
||||
reverse_proxy localhost:${toString port}
|
||||
}
|
||||
'';
|
||||
|
|
@ -42,7 +43,7 @@ let
|
|||
lib.nameValuePair domain {
|
||||
logFormat = "output file ${config.services.caddy.logDir}/${domain}.log { mode 640 }";
|
||||
extraConfig = ''
|
||||
bind tailscale/${lib.custom.subdomainOf domain}
|
||||
bind tailscale/${lib'.subdomainOf domain}
|
||||
reverse_proxy localhost:${toString port}
|
||||
'';
|
||||
};
|
||||
|
|
@ -141,7 +142,7 @@ in
|
|||
'';
|
||||
virtualHosts =
|
||||
nonTailscaleHosts
|
||||
|> lib.groupBy (value: lib.custom.rootDomainOf value.domain)
|
||||
|> lib.groupBy (value: lib'.rootDomainOf value.domain)
|
||||
|> lib.mapAttrs' mkWildCardDomain;
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
self,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -51,7 +52,7 @@ in
|
|||
message = "Running syncthing on a server requires `gui.domain` to be set.";
|
||||
}
|
||||
{
|
||||
assertion = (cfg.gui.domain != null) -> (lib.custom.isTailscaleDomain cfg.gui.domain);
|
||||
assertion = (cfg.gui.domain != null) -> (lib'.isTailscaleDomain cfg.gui.domain);
|
||||
message = "The syncthing gui should only be exposed on a private network as it isn't yet configured with access controll.";
|
||||
}
|
||||
];
|
||||
|
|
@ -108,7 +109,7 @@ in
|
|||
genFolders =
|
||||
folders:
|
||||
folders
|
||||
|> lib.custom.genAttrs (name: {
|
||||
|> lib'.genAttrs (name: {
|
||||
path = "${dataDir}/${name}";
|
||||
ignorePerms = false;
|
||||
devices = config.services.syncthing.settings.devices |> lib.attrNames;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -30,7 +31,7 @@ in
|
|||
sops.secrets =
|
||||
cfg.networks
|
||||
|> lib.map (name: "iwd/${name}")
|
||||
|> lib.custom.genAttrs (_: {
|
||||
|> lib'.genAttrs (_: {
|
||||
restartUnits = [ "iwd.service" ];
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
modulesPath,
|
||||
inputs,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -29,7 +30,7 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = lib.custom.isTailscaleDomain cfg.domain;
|
||||
assertion = lib'.isTailscaleDomain cfg.domain;
|
||||
message = "Filebrowser isn't yet configured with access controll.";
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -24,7 +25,7 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = lib.custom.isTailscaleDomain cfg.domain;
|
||||
assertion = lib'.isTailscaleDomain cfg.domain;
|
||||
message = "FreshRSS isn't configured with access controll.";
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
self,
|
||||
pkgs-unstable,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -110,7 +111,7 @@ in
|
|||
|> lib.filter (domain: domain != cfg.domain)
|
||||
|> lib.map (
|
||||
domain:
|
||||
lib.nameValuePair (lib.custom.subdomainOf domain) {
|
||||
lib.nameValuePair (lib'.subdomainOf domain) {
|
||||
inherit domain;
|
||||
group = hostName;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue