1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-09 09:36:20 +09:00

nix-your-shell: Add generate-config script

This lets users generate a shell configuration file from Nix, for use
with `home-manager` and similar:

    { config, pkgs, ... }: {
      home.file."${config.xdg.configHome}/nushell/nix-your-shell.nu".source =
        pkgs.nix-your-shell.generate-config "nu";
    }

See: https://github.com/MercuryTechnologies/nix-your-shell/issues/81
This commit is contained in:
Rebecca Turner 2025-02-18 10:28:23 -08:00 committed by cinereal
parent 8a24274e27
commit feef46cb80
No known key found for this signature in database

View file

@ -3,6 +3,8 @@
rustPlatform,
fetchFromGitHub,
nix-update-script,
runCommand,
nix-your-shell,
}:
rustPlatform.buildRustPackage rec {
pname = "nix-your-shell";
@ -11,13 +13,22 @@ rustPlatform.buildRustPackage rec {
src = fetchFromGitHub {
owner = "MercuryTechnologies";
repo = "nix-your-shell";
rev = "v${version}";
tag = "v${version}";
hash = "sha256-FjGjLq/4qeZz9foA7pfz1hiXvsdmbnzB3BpiTESLE1c=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-zQpK13iudyWDZbpAN8zm9kKmz8qy3yt8JxT4lwq4YF0=";
passthru = {
generate-config =
shell:
runCommand "nix-your-shell-config" { } ''
${lib.getExe nix-your-shell} ${lib.escapeShellArg shell} >> "$out"
'';
updateScript = nix-update-script { };
};
meta = {
mainProgram = "nix-your-shell";
description = "`nix` and `nix-shell` wrapper for shells other than `bash`";
@ -26,6 +37,4 @@ rustPlatform.buildRustPackage rec {
license = [ lib.licenses.mit ];
maintainers = with lib.maintainers; [ _9999years ];
};
passthru.updateScript = nix-update-script { };
}