34 lines
1.2 KiB
Nix
34 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: let
|
|
pkgsRepositories = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version;
|
|
pkgsRepository = pkgsRepositories.vscode-marketplace;
|
|
in {
|
|
options.programs.vscode.profiles = lib.mkOption {
|
|
type = lib.types.attrsOf (lib.types.submodule ({config, ...}: {
|
|
options = {
|
|
extraExtensions.conventionalCommits = {
|
|
enable = lib.mkEnableOption "Enable VSCode Conventional Commits extension";
|
|
extension = lib.mkPackageOption pkgsRepository "conventional-commits" {
|
|
default = ["vivaxy" "vscode-conventional-commits"];
|
|
};
|
|
|
|
gitmoji = lib.mkEnableOption "should emoji be prompted for as a part of the commit message./";
|
|
|
|
promptScopes = lib.mkEnableOption "prompting for scopes in conventional commits";
|
|
};
|
|
};
|
|
config = lib.mkIf config.extraExtensions.conventionalCommits.enable {
|
|
extensions = [config.extraExtensions.conventionalCommits.extension];
|
|
|
|
userSettings = {
|
|
"conventionalCommits.gitmoji" = config.extraExtensions.conventionalCommits.gitmoji;
|
|
"conventionalCommits.promptScopes" = config.extraExtensions.conventionalCommits.promptScopes;
|
|
};
|
|
};
|
|
}));
|
|
};
|
|
}
|