Simplify system and home options

This commit is contained in:
Jimbo 2025-01-21 12:02:11 -05:00
parent ac22bc1849
commit 72ec65064d
20 changed files with 59 additions and 79 deletions

View file

@ -1,8 +1,7 @@
{ nur, ... }:
{ nur, lib, ... }:
{
imports = [
./files
./options
./programs
./services
./settings
@ -14,6 +13,12 @@
nur.modules.homeManager.default
];
nixpkgs.config.allowUnfree = true;
home.stateVersion = "24.11";
options.home = {
desktop.enable = lib.mkEnableOption "Enable desktop programs and services.";
};
config = {
nixpkgs.config.allowUnfree = true;
home.stateVersion = "24.11";
};
}

View file

@ -1,7 +0,0 @@
{ lib, ... }:
with lib; {
options.home.desktop.enable = mkOption {
type = types.bool;
default = true;
};
}

View file

@ -1,13 +1,17 @@
{ ... }:
{ lib, ... }:
{
imports = [
./accounts
./devices
./options
./programs
./secrets
./services
./settings
../extras
];
options.system = {
desktop.enable = lib.mkEnableOption "Enable desktop apps and services";
server.enable = lib.mkEnableOption "Enable server apps and services";
};
}

View file

@ -1,13 +0,0 @@
{ lib, ... }:
with lib; {
options.system = {
desktop.enable = mkOption {
type = types.bool;
default = true;
};
server.enable = mkOption {
type = types.bool;
default = false;
};
};
}

View file

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
{
config = lib.mkIf config.system.server.enable {
services.ddclient = {
enable = true;
protocol = "cloudflare";
zone = "${config.domains.p2}";
usev6 = "";
username = "token";
passwordFile = "${pkgs.writeText "cloudflareapikey" config.secrets.flareApiKey}";
};
environment.persistence."/persist".directories = [
"/var/lib/private/ddclient"
];
};
}

View file

@ -1,6 +1,7 @@
{ ... }:
{
imports = [
./ddclient
./fileserver
./forgejo
./icecast

View file

@ -1,9 +1,6 @@
{ lib, ... }:
{
options.system.fileserver.enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
options.system.fileserver.enable = lib.mkEnableOption "Enable file serving services";
imports = [
./jellyfin

View file

@ -1,9 +1,6 @@
{ lib, ... }:
{
options.system.mailserver.enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
options.system.mailserver.enable = lib.mkEnableOption "Enable Simple NixOS Mailserver";
imports = [
./simplenix

View file

@ -1,9 +1,6 @@
{ lib, ... }:
{
options.system.socialserver.enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
options.system.socialserver.enable = lib.mkEnableOption "Enable social media like services";
imports = [
./mastodon

View file

@ -1,14 +0,0 @@
{ config, lib, pkgs, ... }:
{
services.ddclient = {
enable = config.system.server.enable;
protocol = "cloudflare";
zone = "${config.domains.p2}";
usev6 = "";
username = "token";
passwordFile = "${pkgs.writeText "cloudflareapikey" config.secrets.flareApiKey}";
};
environment.persistence."/persist".directories = lib.mkIf config.services.ddclient.enable [
"/var/lib/private/ddclient"
];
}

View file

@ -1,8 +1,9 @@
{ lib, ... }:
{
options.system.webserver.enable = lib.mkEnableOption "Enable nginx related services";
imports = [
./acme
./ddclient
./nginx
];
}