scmpuff: init (#1921)

scmpuff is a command line tool that allows you to work quicker with Git by substituting numeric shortcuts for files
This commit is contained in:
Phillip Cloud 2021-04-22 22:27:29 -04:00 committed by GitHub
parent db00b39a9a
commit 26fa84ebce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 136 additions and 0 deletions

View file

@ -0,0 +1,46 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.programs.scmpuff;
in {
meta.maintainers = [ maintainers.cpcloud ];
options.programs.scmpuff = {
enable = mkEnableOption
"scmpuff, a command line tool that allows you to work quicker with Git by substituting numeric shortcuts for files";
package = mkOption {
type = types.package;
default = pkgs.gitAndTools.scmpuff;
defaultText = literalExample "pkgs.gitAndTools.scmpuff";
description = "Package providing the <command>scmpuff</command> tool.";
};
enableBashIntegration = mkOption {
default = true;
type = types.bool;
description = ''
Whether to enable Bash integration.
'';
};
enableZshIntegration = mkOption {
default = true;
type = types.bool;
description = ''
Whether to enable Zsh integration.
'';
};
};
config = mkIf cfg.enable {
home.packages = [ cfg.package ];
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
eval "$(${cfg.package}/bin/scmpuff init -s)"
'';
programs.zsh.initExtra = mkIf cfg.enableZshIntegration ''
eval "$(${cfg.package}/bin/scmpuff init -s)"
'';
};
}