Improve core module
* Drop unsued iwdConfig option * Add flag to enable caddy (default !lite) * Add flag to enable vhost in caddy for help (default !lite) * Add flag to enable vhost in caddy for cups (default printing.enable) * Set defaults instead of a hard value to have individual options overridable
This commit is contained in:
parent
a7f5b9de2a
commit
b0765db925
|
@ -19,7 +19,7 @@ in
|
|||
config = {
|
||||
boot = {
|
||||
# Enable plymouth for better experience of booting
|
||||
plymouth.enable = true;
|
||||
plymouth.enable = mkIf (!cfg.lite) (lib.mkDefault true);
|
||||
|
||||
# Mount / luks device in initrd
|
||||
# Allow fstrim to work on it.
|
||||
|
|
|
@ -29,12 +29,12 @@ in
|
|||
|
||||
config = {
|
||||
pub-solar = {
|
||||
audio.enable = lib.mkIf (!cfg.lite) true;
|
||||
crypto.enable = lib.mkIf (!cfg.lite) true;
|
||||
devops.enable = lib.mkIf (!cfg.lite) true;
|
||||
audio.enable = lib.mkIf (!cfg.lite) (lib.mkDefault true);
|
||||
crypto.enable = lib.mkIf (!cfg.lite) (lib.mkDefault true);
|
||||
devops.enable = lib.mkIf (!cfg.lite) (lib.mkDefault true);
|
||||
|
||||
terminal-life = {
|
||||
enable = true;
|
||||
enable = lib.mkDefault true;
|
||||
lite = cfg.lite;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,6 +6,15 @@ let cfg = config.pub-solar.core;
|
|||
in
|
||||
{
|
||||
options.pub-solar.core = {
|
||||
enableCaddy = mkOption {
|
||||
type = types.bool;
|
||||
default = !cfg.lite;
|
||||
};
|
||||
enableHelp = mkOption {
|
||||
type = types.bool;
|
||||
default = !cfg.lite;
|
||||
};
|
||||
|
||||
binaryCaches = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
|
@ -16,11 +25,6 @@ in
|
|||
default = [ ];
|
||||
description = "Public keys of binary caches.";
|
||||
};
|
||||
iwdConfig = mkOption {
|
||||
type = with types; nullOr (attrsOf (attrsOf (oneOf [ bool int str ])));
|
||||
default = null;
|
||||
description = "Configuratoin of iNet Wireless Daemon.";
|
||||
};
|
||||
};
|
||||
config = {
|
||||
# disable NetworkManager-wait-online by default
|
||||
|
@ -38,27 +42,38 @@ in
|
|||
|
||||
# These entries get added to /etc/hosts
|
||||
networking.hosts = {
|
||||
"127.0.0.1" = [ "cups.local" "help.local" "caddy.local" ];
|
||||
"127.0.0.1" = [ ]
|
||||
++ lib.optionals cfg.enableCaddy [ "caddy.local" ]
|
||||
++ lib.optionals config.pub-solar.printing.enable [ "cups.local" ]
|
||||
++ lib.optionals cfg.enableHelp [ "help.local" ];
|
||||
};
|
||||
|
||||
# Caddy reverse proxy for local services like cups
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
enable = cfg.enableCaddy;
|
||||
globalConfig = ''
|
||||
default_bind 127.0.0.1
|
||||
auto_https off
|
||||
'';
|
||||
extraConfig = ''
|
||||
extraConfig = concatStringsSep "\n" [
|
||||
(lib.optionalString
|
||||
config.pub-solar.printing.enable
|
||||
''
|
||||
cups.local:80 {
|
||||
request_header Host localhost:631
|
||||
reverse_proxy unix//run/cups/cups.sock
|
||||
}
|
||||
'')
|
||||
|
||||
(lib.optionalString
|
||||
cfg.enableHelp
|
||||
''
|
||||
help.local:80 {
|
||||
root * ${pkgs.psos-docs}/lib/html
|
||||
file_server
|
||||
}
|
||||
'';
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue