calliope/user.nix
2025-05-22 15:19:16 -04:00

44 lines
986 B
Nix

# User config definitions
{ config, pkgs, lib, ... }:
{
options = {
calliope = {
hostname = lib.mkOption {
type = string;
default = "calliope";
};
ipv4Address = lib.mkOption {
type = string;
};
# TODO:
password = lib.mkOption {};
cec = lib.mkOption {
type = string;
username = lib.mkOption {
type = string;
# TODO: make this default to CEC
};
defaultShell = mkPackageOption pkgs "shell" {
default = [ "bash" ];
};
};
# TODO:
authorizedKeys = lib.mkOption {};
# TODO:
sshIdentities = lib.mkOption {};
}
config = {
networking.hostName = options.calliope.hostname;
# TODO: set the ipv4 address, and figure out how to set this without knowing interface name
# TODO: set default gateway
# TODO: use CEC to set up git identity
# TODO: set default shell
# TODO: set authorized_keys
# TODO: set SSH Private keys
};
}