57 lines
1.6 KiB
Nix
57 lines
1.6 KiB
Nix
{ lib, ... }:
|
|
|
|
{
|
|
options.user = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = "The username for the Home Manager configuration.";
|
|
};
|
|
|
|
# This value determines the Home Manager release that your configuration is
|
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
# introduces backwards incompatible changes.
|
|
#
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
# release notes.
|
|
options.stateVersion = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = "The state version when the configuration was initially created";
|
|
};
|
|
|
|
options.profile = lib.mkOption {
|
|
type = lib.types.enum [ "personal" "work" ];
|
|
default = "personal";
|
|
description = "Profile type for the Home Manager configuration.";
|
|
};
|
|
|
|
options.root = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether enable all the root user stuff";
|
|
};
|
|
|
|
options.enableShell = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Whether to enable all the zsh stuff";
|
|
};
|
|
|
|
options.ssh = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Whether to enable SSH configuration";
|
|
};
|
|
|
|
options._1password = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether to enable 1 password stuff";
|
|
};
|
|
|
|
options.extraImports = lib.mkOption {
|
|
type = lib.types.listOf lib.types.anything;
|
|
default = [];
|
|
description = "Additional Home Manager modules to import";
|
|
};
|
|
}
|