mirror of
https://github.com/nix-community/home-manager
synced 2024-11-24 03:59:46 +01:00
53 lines
1.2 KiB
Nix
53 lines
1.2 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
let
|
||
|
|
||
|
cfg = config.programs.just;
|
||
|
|
||
|
in {
|
||
|
meta.maintainers = [ hm.maintainers.maximsmol ];
|
||
|
|
||
|
options.programs.just = {
|
||
|
enable = mkEnableOption
|
||
|
"just, a handy way to save and run project-specific commands";
|
||
|
|
||
|
package = mkOption {
|
||
|
type = types.package;
|
||
|
default = pkgs.just;
|
||
|
defaultText = literalExpression "pkgs.just";
|
||
|
description = "Package providing the <command>just</command> tool.";
|
||
|
};
|
||
|
|
||
|
enableBashIntegration = mkEnableOption "Bash integration" // {
|
||
|
default = true;
|
||
|
};
|
||
|
|
||
|
enableZshIntegration = mkEnableOption "Zsh integration" // {
|
||
|
default = true;
|
||
|
};
|
||
|
|
||
|
enableFishIntegration = mkEnableOption "Fish integration" // {
|
||
|
default = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
home.packages = [ cfg.package ];
|
||
|
|
||
|
programs.bash.initExtra = mkIf cfg.enableBashIntegration ''
|
||
|
source ${cfg.package}/share/bash-completion/completions/just.bash
|
||
|
'';
|
||
|
|
||
|
programs.zsh.initExtra = mkIf cfg.enableZshIntegration ''
|
||
|
source ${cfg.package}/share/zsh/site-functions/_just
|
||
|
'';
|
||
|
|
||
|
programs.fish.shellInit = mkIf cfg.enableFishIntegration ''
|
||
|
source ${cfg.package}/share/fish/vendor_completions.d/just.fish
|
||
|
'';
|
||
|
|
||
|
};
|
||
|
}
|