1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-30 15:09:46 +01:00

nix-your-shell: add module

A wrapper for `nix develop` and `nix-shell` to run non-Bash shells.
This commit is contained in:
nicoo 2023-11-10 02:05:16 +00:00
parent 6a8444467c
commit bc7ef22d1f
2 changed files with 22 additions and 0 deletions

View file

@ -156,6 +156,7 @@ let
./programs/newsboat.nix ./programs/newsboat.nix
./programs/nheko.nix ./programs/nheko.nix
./programs/nix-index.nix ./programs/nix-index.nix
./programs/nix-your-shell.nix
./programs/nnn.nix ./programs/nnn.nix
./programs/noti.nix ./programs/noti.nix
./programs/notmuch.nix ./programs/notmuch.nix

View file

@ -0,0 +1,21 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) genAttrs getExe;
cfg = config.programs.nix-your-shell;
# In principle `bash` is supported too, but... 😹
shells = [ "fish" "nushell" "zsh" ];
programs = [ "nix" "nix-shell" ];
in {
meta.maintainers = with lib.maintainers; [ nicoo ];
options.programs.nix-your-shell.enable = lib.mkEnableOption ''
`nix-your-shell`, a wrapper for `nix develop` or `nix-shell`
to run the same shell inside the new environment.
'';
config.programs = lib.mkIf cfg.enable (genAttrs shells (shell: {
shellAliases = genAttrs programs
(program: "${getExe pkgs.nix-your-shell} ${shell} ${program} --");
}));
}