Files
athenix/sw/headless/default.nix

58 lines
1.1 KiB
Nix

# ============================================================================
# Headless Software Configuration
# ============================================================================
# Imports headless-specific programs and services (SSH, minimal CLI tools)
{
config,
lib,
pkgs,
inputs,
...
}:
with lib;
let
cfg = config.athenix.sw.headless;
in
{
options.athenix.sw.headless = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable minimal headless server configuration.
Includes:
- SSH server with password authentication
- Minimal CLI tools (tmux, man)
- Systemd-networkd for networking
- No graphical environment
Recommended for: Servers, containers (LXC), WSL, remote systems
'';
example = true;
};
};
config = mkIf cfg.enable (mkMerge [
(import ./programs.nix {
inherit
config
lib
pkgs
inputs
;
})
(import ./services.nix {
inherit
config
lib
pkgs
inputs
;
})
]);
}