26 lines
639 B
Nix
26 lines
639 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
cfg = config.programs.nh;
|
|
wrapper = pkgs.writeShellScriptBin "nh" ''
|
|
function alejandra() { ${pkgs.alejandra}/bin/alejandra "$@"; }
|
|
function git() { ${pkgs.git}/bin/git "$@"; }
|
|
function lazygit() { ${pkgs.lazygit}/bin/lazygit "$@"; }
|
|
function nh() { ${pkgs.nh}/bin/nh "$@"; }
|
|
function shellharden() { ${pkgs.shellharden}/bin/shellharden "$@"; }
|
|
|
|
FLAKE_DIR=${toString cfg.flake}
|
|
|
|
${builtins.readFile ./wrapper.sh}
|
|
'';
|
|
in {
|
|
options.programs.nh = with lib; with lib.types; {};
|
|
config = with lib;
|
|
mkIf cfg.enable {
|
|
programs.nh.package = wrapper;
|
|
};
|
|
}
|