{ config, pkgs, lib, ... }: { options.local = { hostname = lib.mkOption { type = lib.types.str; default = "nixos-default"; description = "System hostname"; }; username = lib.mkOption { type = lib.types.str; default = "user"; description = "Primary user username"; }; userDescription = lib.mkOption { type = lib.types.str; default = "NixOS User"; description = "Primary user description"; }; address = lib.mkOption { type = lib.types.str; default = "10.1.1.100"; description = "Static IP address"; }; }; imports = [ ./modules/desktop-manager/sway_greetd_homemanager.nix ./modules/local/hostname_username.nix ./modules/local/networking_local.nix ./modules/bootloader/seabios-assigned-iso-at-birth.nix ./modules/lix-default.nix # Optionally: ./modules/toolsets/remote_building.nix # # ## Compose modules for Portainer service ./modules/songsheet/wavelog/docker-compose.nix ./modules/secrets/sops-nix.nix ]; config = { local.hostname = "nixos-songsheet"; local.username = "songsheetprg"; local.userDescription = "NixOS PRG Portainer-Like Songsheet Service"; local.address = "10.1.1.249"; networking.firewall.allowedTCPPorts = [ 80 443 8086 # Wavelog 8087 # PartDB ]; networking.firewall.allowedUDPPorts = [ 80 443 8086 # Wavelog 8087 # PartDB ]; system.stateVersion = "25.11"; }; }