feat: extract tuigreet and workstation modules

This commit is contained in:
2026-02-21 12:56:24 +01:00
parent edc1e6149a
commit a3cf0b7523
4 changed files with 87 additions and 48 deletions

View File

@@ -0,0 +1,39 @@
{
lib,
config,
pkgs,
...
}:
let
cfg = config.tuigreet;
in
{
options = {
tuigreet = {
enable = lib.mkEnableOption "greetd with tuigreet";
command = lib.mkOption {
type = lib.types.str;
description = "Session command to launch";
};
};
};
config = lib.mkIf cfg.enable {
services.greetd = {
enable = true;
useTextGreeter = true;
settings = {
default_session = {
command = builtins.toString (
pkgs.writeShellScript "tuigreet-session" ''
${pkgs.util-linux}/bin/setterm --blank 1 --powersave powerdown --powerdown 1
exec ${pkgs.tuigreet}/bin/tuigreet --time --remember --cmd ${cfg.command}
''
);
user = "greeter";
};
};
};
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
config,
pkgs,
...
}:
let
cfg = config.workstation;
in
{
options = {
workstation = {
enable = lib.mkEnableOption "workstation utilities";
};
};
config = lib.mkIf cfg.enable {
virtualisation.docker = {
enable = true;
logDriver = "json-file";
};
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
};
environment.systemPackages = with pkgs; [
smartmontools
];
};
}