working-ish, not all options

This commit is contained in:
John Lancaster
2025-07-01 23:16:12 -05:00
parent 9b4f75126e
commit 8b48ed06e2
3 changed files with 30 additions and 8 deletions

51
nixosModules/options.nix Normal file
View File

@@ -0,0 +1,51 @@
{ 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;
# default = "25.01";
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.shell = 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";
};
}