diff --git a/modules/nixos/system/hw/virt/default.nix b/modules/nixos/system/hw/virt/default.nix index ebbc0a0..fd7e970 100644 --- a/modules/nixos/system/hw/virt/default.nix +++ b/modules/nixos/system/hw/virt/default.nix @@ -1,17 +1,15 @@ { lib, config, pkgs, ... }: { config = lib.mkIf (config.syscfg.make.virt) { - #environment.systemPackages = [ pkgs.qemu ]; virtualisation = { #libvirtd.enable = true; # waydroid.enable = true; # lxd.enable = true; - docker = { + docker.enable = false; + podman = { enable = true; - rootless = { - enable = true; - setSocketVariable = true; - }; + dockerSocket.enable = true; + defaultNetwork.dnsname.enable = true; }; }; }; diff --git a/modules/nixos/users/default.nix b/modules/nixos/users/default.nix index 391d781..44cc82e 100644 --- a/modules/nixos/users/default.nix +++ b/modules/nixos/users/default.nix @@ -19,6 +19,7 @@ in { "audio" "video" "docker" + "podman" "wireshark" ]; }) config.syscfg.users); diff --git a/systems/avalon/server/default.nix b/modules/server/default.nix similarity index 100% rename from systems/avalon/server/default.nix rename to modules/server/default.nix diff --git a/systems/avalon/server/docker/authentik.nix b/modules/server/docker/authentik.nix similarity index 94% rename from systems/avalon/server/docker/authentik.nix rename to modules/server/docker/authentik.nix index f3f6352..9395a70 100644 --- a/systems/avalon/server/docker/authentik.nix +++ b/modules/server/docker/authentik.nix @@ -1,10 +1,4 @@ -{ pkgs, ... }: -let - HOST_DOMAIN = "helcel.net"; - MAIL_HOST_DOMAIN = "norereply.${HOST_DOMAIN}"; - MAIL_SERVER_DOMAIN = "mail.infomaniak.com"; - DATA_PATH = "/media/data/"; -in { +{ pkgs, ... }:{ project.name = "Authentik"; networks = { diff --git a/systems/avalon/server/docker/cloud.nix b/modules/server/docker/cloud.nix similarity index 95% rename from systems/avalon/server/docker/cloud.nix rename to modules/server/docker/cloud.nix index 3270e93..8553767 100644 --- a/systems/avalon/server/docker/cloud.nix +++ b/modules/server/docker/cloud.nix @@ -1,12 +1,4 @@ -{ pkgs, ... }: -let - HOST_DOMAIN = "helcel.net"; - DB_HOST = "10.10.1.2"; - DB_PORT = "3306"; - MAIL_HOST_DOMAIN = "norereply.${HOST_DOMAIN}"; - MAIL_SERVER_DOMAIN = "mail.infomaniak.com"; - DATA_PATH = "/media/data/"; -in { +{ pkgs, ... }:{ project.name = "Cloud"; networks = { diff --git a/systems/avalon/server/docker/sample.nix b/modules/server/docker/sample.nix similarity index 65% rename from systems/avalon/server/docker/sample.nix rename to modules/server/docker/sample.nix index 680054b..73749db 100644 --- a/systems/avalon/server/docker/sample.nix +++ b/modules/server/docker/sample.nix @@ -1,12 +1,4 @@ -{ pkgs, ... }: -let - HOST_DOMAIN = "helcel.net"; - DB_HOST = "10.10.1.2"; - DB_PORT = "3306"; - MAIL_HOST_DOMAIN = "norereply.${HOST_DOMAIN}"; - MAIL_SERVER_DOMAIN = "mail.infomaniak.com"; - DATA_PATH = "/media/data/"; -in { +{ pkgs, ... }:{ project.name = "NEW"; networks = { diff --git a/modules/shared/syscfg/default.nix b/modules/shared/syscfg/default.nix index 62eec72..32dae33 100644 --- a/modules/shared/syscfg/default.nix +++ b/modules/shared/syscfg/default.nix @@ -12,63 +12,77 @@ let key = mkOption { type = types.str; }; }; }; + netOpt = with lib; { + wlp = { + enable = mkOption { + type = types.bool; + default = false; + }; + nif = mkOption { + type = types.str; + default = ""; + }; + }; + wg = { + enable = mkOption { + type = types.bool; + default = false; + }; + ip4 = mkOption { + type = types.str; + default = ""; + }; + ip6 = mkOption { + type = types.str; + default = ""; + }; + }; + }; + makeOpt = with lib; { + cli = mkOption { + type = types.bool; + default = true; + }; + gui = mkOption { + type = types.bool; + default = false; + }; + virt = mkOption { + type = types.bool; + default = true; + }; + power = mkOption { + type = types.bool; + default = false; + }; + game = mkOption { + type = types.bool; + default = false; + }; + develop = mkOption { + type = types.bool; + default = false; + }; + }; + serverOpt = with lib; { + hostDomain = mkOption {type = types.str;}; + mailDomain = mkOption {type = types.str;}; + mailServer = mkOption {type = types.str;}; + + dbHost = mkOption {type = types.str; default = "localhost";}; + dbPort = mkOption {type = types.str; default = "3306";}; + + configPath = mkOption {type=types.str; default= "/media/config";}; + dataPath = mkOption {type=types.str; default= "/media/data";}; + + }; in with lib; { options.usercfg = userOpt; options.syscfg = { hostname = mkOption { type = types.str; }; defaultUser = mkOption { type = types.str; }; - make = { - cli = mkOption { - type = types.bool; - default = true; - }; - gui = mkOption { - type = types.bool; - default = false; - }; - virt = mkOption { - type = types.bool; - default = true; - }; - power = mkOption { - type = types.bool; - default = false; - }; - game = mkOption { - type = types.bool; - default = false; - }; - develop = mkOption { - type = types.bool; - default = false; - }; - }; - net = { - wlp = { - enable = mkOption { - type = types.bool; - default = false; - }; - nif = mkOption { - type = types.str; - default = ""; - }; - }; - wg = { - enable = mkOption { - type = types.bool; - default = false; - }; - ip4 = mkOption { - type = types.str; - default = ""; - }; - ip6 = mkOption { - type = types.str; - default = ""; - }; - }; - }; + make = makeOpt; + net = netOpt; users = mkOption { type = types.listOf (types.submodule { options = userOpt; }); default = [ ];