28 lines
770 B
Nix
28 lines
770 B
Nix
{ lib, config, pkgs, self, ... }:
|
|
|
|
let
|
|
cfg = config.services.every-channel.runner;
|
|
in
|
|
{
|
|
options.services.every-channel.runner = {
|
|
enable = lib.mkEnableOption "every.channel runner base system profile";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
# Minimal, conservative baseline for headless runners.
|
|
networking.useDHCP = lib.mkDefault true;
|
|
services.openssh.enable = lib.mkDefault true;
|
|
|
|
# Keep Nix flakes available on the runner itself.
|
|
nix.settings.experimental-features = lib.mkDefault [ "nix-command" "flakes" ];
|
|
|
|
# Provide the flake source tree at a stable path (symlink into /nix/store).
|
|
environment.etc."every-channel/flake".source = self;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
jq
|
|
curl
|
|
];
|
|
};
|
|
}
|