more migration stuff
This commit is contained in:
parent
30cff89a50
commit
0f7e28abd0
@ -5,7 +5,7 @@
|
||||
../../config/base.nix
|
||||
../../config/stylix.nix
|
||||
];
|
||||
my = import ./toggles.nix // {
|
||||
my = import ./toggles.nix { inherit inputs; } // {
|
||||
nix.cores = 3;
|
||||
nix.maxJobs = 8;
|
||||
users.nixremote.enable = true;
|
||||
|
||||
@ -1,16 +1,6 @@
|
||||
{ inputs }:
|
||||
let
|
||||
mkEnabled = name: {
|
||||
inherit name;
|
||||
value.enable = true;
|
||||
};
|
||||
mkEnabledWithProxy = name: {
|
||||
inherit name;
|
||||
value = {
|
||||
enable = true;
|
||||
enableProxy = true;
|
||||
};
|
||||
};
|
||||
enableList = func: list: list |> map func |> builtins.listToAttrs;
|
||||
inherit (inputs.self.lib) mkEnabled mkEnabledWithProxy enableList;
|
||||
in
|
||||
{
|
||||
emacs.enable = true;
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
../../config/base.nix
|
||||
../../config/stylix.nix
|
||||
];
|
||||
my = import ./toggles.nix { inherit config; } // {
|
||||
my = import ./toggles.nix { inherit config inputs; } // {
|
||||
nix.cores = 6;
|
||||
users.nixremote.enable = true;
|
||||
users.nixremote.authorizedKeys = [
|
||||
|
||||
@ -1,17 +1,7 @@
|
||||
{ config }:
|
||||
{ config, inputs }:
|
||||
let
|
||||
mkEnabled = name: {
|
||||
inherit name;
|
||||
value.enable = true;
|
||||
};
|
||||
mkEnabledIp = name: {
|
||||
inherit name;
|
||||
value = {
|
||||
enable = true;
|
||||
ip = config.my.ips.wg-server;
|
||||
};
|
||||
};
|
||||
enableList = func: list: list |> map func |> builtins.listToAttrs;
|
||||
inherit (inputs.self.lib) mkEnabled enableList;
|
||||
mkEnabledIp = inputs.self.lib.mkEnabledIp config.my.ips.wg-server;
|
||||
in
|
||||
{
|
||||
mainServer = "server";
|
||||
|
||||
@ -22,7 +22,7 @@ in
|
||||
../../config/stylix.nix
|
||||
../../environments/gnome.nix
|
||||
];
|
||||
my = import ./toggles.nix // {
|
||||
my = import ./toggles.nix { inherit inputs; } // {
|
||||
nix.cores = 8;
|
||||
nix.maxJobs = 8;
|
||||
users.nixremote.enable = true;
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
{ inputs }:
|
||||
let
|
||||
mkEnabled = name: {
|
||||
inherit name;
|
||||
value.enable = true;
|
||||
};
|
||||
enableList = func: list: list |> map func |> builtins.listToAttrs;
|
||||
inherit (inputs.self.lib) mkEnabled enableList;
|
||||
in
|
||||
{
|
||||
stylix.enable = true;
|
||||
|
||||
@ -105,39 +105,45 @@ in
|
||||
enableProxy = lib.mkEnableOption "nginx reverse proxy for services";
|
||||
};
|
||||
config = {
|
||||
assertions = [
|
||||
assertions =
|
||||
# PostgreSQL dependency assertions
|
||||
inputs.self.lib.mkPostgresDependencies config [
|
||||
{
|
||||
assertion = config.my.servers.nextcloud.enable -> config.my.servers.postgres.enable;
|
||||
message = "Nextcloud requires PostgreSQL to be enabled";
|
||||
service = "nextcloud";
|
||||
name = "Nextcloud";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.vaultwarden.enable -> config.my.servers.postgres.enable;
|
||||
message = "Vaultwarden requires PostgreSQL to be enabled";
|
||||
service = "vaultwarden";
|
||||
name = "Vaultwarden";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.firefly-iii.enable -> config.my.servers.postgres.enable;
|
||||
message = "Firefly III requires PostgreSQL to be enabled";
|
||||
service = "firefly-iii";
|
||||
name = "Firefly III";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.mealie.enable -> config.my.servers.postgres.enable;
|
||||
message = "Mealie requires PostgreSQL to be enabled";
|
||||
service = "mealie";
|
||||
name = "Mealie";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.shiori.enable -> config.my.servers.postgres.enable;
|
||||
message = "Shiori requires PostgreSQL to be enabled";
|
||||
service = "shiori";
|
||||
name = "Shiori";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.ryot.enable -> config.my.servers.postgres.enable;
|
||||
message = "Ryot requires PostgreSQL to be enabled";
|
||||
service = "ryot";
|
||||
name = "Ryot";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.synapse.enable -> config.my.servers.postgres.enable;
|
||||
message = "Matrix Synapse requires PostgreSQL to be enabled";
|
||||
service = "synapse";
|
||||
name = "Matrix Synapse";
|
||||
}
|
||||
{
|
||||
assertion = config.my.servers.gitea.enable -> config.my.servers.postgres.enable;
|
||||
message = "Gitea requires PostgreSQL to be enabled";
|
||||
service = "gitea";
|
||||
name = "Gitea";
|
||||
}
|
||||
]
|
||||
++
|
||||
# Other assertions
|
||||
[
|
||||
{
|
||||
assertion =
|
||||
config.my.enableProxy
|
||||
|
||||
@ -171,6 +171,32 @@ in
|
||||
|> lib.attrValues
|
||||
|> map (srv: srv.port)
|
||||
);
|
||||
mkEnabled = name: {
|
||||
inherit name;
|
||||
value.enable = true;
|
||||
};
|
||||
mkEnabledWithProxy = name: {
|
||||
inherit name;
|
||||
value = {
|
||||
enable = true;
|
||||
enableProxy = true;
|
||||
};
|
||||
};
|
||||
mkEnabledIp = ip: name: {
|
||||
inherit name;
|
||||
value = {
|
||||
enable = true;
|
||||
inherit ip;
|
||||
};
|
||||
};
|
||||
enableList = func: list: list |> map func |> builtins.listToAttrs;
|
||||
mkPostgresDependency = config: serviceName: displayName: {
|
||||
assertion = config.my.servers.${serviceName}.enable -> config.my.servers.postgres.enable;
|
||||
message = "${displayName} requires PostgreSQL to be enabled";
|
||||
};
|
||||
mkPostgresDependencies =
|
||||
config: serviceMap:
|
||||
serviceMap |> map (entry: inputs.self.lib.mkPostgresDependency config entry.service entry.name);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user