From 5745510e1a7884a3e06ce95e46223f47858307fb Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Mon, 28 Apr 2025 19:34:43 +0800 Subject: [PATCH] refactor(glance): moved to nixos module --- configs/services.nix | 1 - hosts/apollo.nix | 1 + modules/nixos/default.nix | 1 + .../nixos}/services/glance.nix | 48 +++++++++++++------ 4 files changed, 36 insertions(+), 15 deletions(-) rename {configs => modules/nixos}/services/glance.nix (70%) diff --git a/configs/services.nix b/configs/services.nix index 222f3ea..c69f642 100644 --- a/configs/services.nix +++ b/configs/services.nix @@ -1,6 +1,5 @@ { imports = [ - ./services/glance.nix ./services/wakapi.nix ./services/nginx.nix ]; diff --git a/hosts/apollo.nix b/hosts/apollo.nix index b12a8c2..a4ecca8 100644 --- a/hosts/apollo.nix +++ b/hosts/apollo.nix @@ -5,4 +5,5 @@ ]; boot-config.bootloader = "systemd-boot"; hardware-config.cpu = "intel"; + service-glance.enable = true; } diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 21b6df7..bc619e3 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -15,6 +15,7 @@ in ./gaming.nix ./filesystems.nix ./networking.nix + ./services/glance.nix ]; options = { diff --git a/configs/services/glance.nix b/modules/nixos/services/glance.nix similarity index 70% rename from configs/services/glance.nix rename to modules/nixos/services/glance.nix index 27b930f..7d0d812 100644 --- a/configs/services/glance.nix +++ b/modules/nixos/services/glance.nix @@ -1,4 +1,12 @@ +{ + config, + lib, + ... +}: let + moduleName = "service-glance"; + cfg = config."${moduleName}"; + glancePort = 1227; homeColumn = { size = "full"; @@ -65,20 +73,32 @@ let }; in { - home-manager.users.rafiq.services.glance = { - enable = true; - settings.server = { - host = "0.0.0.0"; - port = glancePort; + options = { + "${moduleName}" = { + enable = lib.mkEnableOption "Enable ${moduleName}."; }; - settings.pages = [ - { - name = "Home"; - columns = [ - homeColumn - ]; - } - ]; }; - networking.firewall.allowedTCPPorts = [ glancePort ]; + + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + networking.firewall.allowedTCPPorts = [ glancePort ]; + services.glance = { + enable = true; + settings.server = { + host = "0.0.0.0"; + port = glancePort; + }; + settings.pages = [ + { + name = "Home"; + columns = [ + homeColumn + ]; + } + ]; + }; + } + ] + ); }