44 lines
986 B
Nix
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
|
|
|
|
};
|
|
}
|
|
|