retooling and updated README
This commit is contained in:
37
modules/core/role-logix.nix
Executable file
37
modules/core/role-logix.nix
Executable file
@@ -0,0 +1,37 @@
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkMerge [
|
||||
|
||||
# Server-Desktop Role most services enabled
|
||||
(lib.mkIf config.sovran_systemsOS.roles.server-desktop {
|
||||
sovran_systemsOS.features = {
|
||||
synapse = true;
|
||||
bitcoin = true;
|
||||
coturn = true;
|
||||
vaultwarden = true;
|
||||
haven = false;
|
||||
mempool = false;
|
||||
bip110 = false;
|
||||
element-calling = false;
|
||||
bitcoin-core = false;
|
||||
rdp = false;
|
||||
};
|
||||
})
|
||||
|
||||
# Desktop role
|
||||
(lib.mkIf config.sovran_systemsOS.roles.desktop {
|
||||
services.xserver.enable = true;
|
||||
services.desktopManager.gnome.enable = true;
|
||||
})
|
||||
|
||||
# Bitcoin node role
|
||||
(lib.mkIf config.sovran_systemsOS.roles.node {
|
||||
sovran_systemsOS.features = {
|
||||
bitcoin = true;
|
||||
bip110 = false;
|
||||
};
|
||||
})
|
||||
|
||||
];
|
||||
}
|
||||
27
modules/core/roles.nix
Executable file
27
modules/core/roles.nix
Executable file
@@ -0,0 +1,27 @@
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
options.sovran_systemsOS = {
|
||||
roles = {
|
||||
server-desktop = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = !config.sovran_sovransystemsOS.roles.desktop && !config.sovran_systemsOS.roles.node;
|
||||
};
|
||||
desktop = lib.mkEnableOption "Desktop Role";
|
||||
node = lib.mkEnableOption "Bitcoin Node Only Role";
|
||||
};
|
||||
|
||||
features = {
|
||||
coturn = lib.mkEnableOption "TURN server";
|
||||
synapse = lib.mkEnableOption "Matrix Synapse";
|
||||
bitcoin = lib.mkEnableOption "Bitcoin Ecosystem";
|
||||
vaultwarden = lib.mkEnableOption "Vaultwarden";
|
||||
haven = lib.mkEnableOption "Haven NOSTR relay";
|
||||
bip110 = lib.mkEnableOption "BIP-110 Bitcoin Better Money";
|
||||
mempool = lib.mkEnableOption "Bitcoin Mempool Explorer";
|
||||
element-calling = lib.mkEnableOption "Element Video and Audio Calling";
|
||||
bitcoin-core = lib.mkEnableOption "Bitcoin Core";
|
||||
rdp = lib.mkEnableOption "Gnome Remote Desktop";
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user