# 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 }; }