diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 6edbaa63d213..3a707308a163 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - makeWrapper, + makeBinaryWrapper, rustPlatform, testers, cachix, @@ -11,6 +11,7 @@ nixVersions, openssl, pkg-config, + glibcLocalesUtf8, devenv, # required to run version test }: @@ -55,7 +56,7 @@ rustPlatform.buildRustPackage { ''; nativeBuildInputs = [ - makeWrapper + makeBinaryWrapper pkg-config sqlx-cli ]; @@ -66,9 +67,33 @@ rustPlatform.buildRustPackage { darwin.apple_sdk.frameworks.SystemConfiguration ]; - postInstall = '' - wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin" - ''; + postInstall = + let + setDefaultLocaleArchive = lib.optionalString (glibcLocalesUtf8 != null) '' + --set-default LOCALE_ARCHIVE ${glibcLocalesUtf8}/lib/locale/locale-archive + ''; + in + '' + wrapProgram $out/bin/devenv \ + --prefix PATH ":" "$out/bin:${cachix}/bin" \ + --set DEVENV_NIX ${devenv_nix} \ + ${setDefaultLocaleArchive} + + # Generate manpages + cargo xtask generate-manpages --out-dir man + installManPage man/* + + # Generate shell completions + compdir=./completions + for shell in bash fish zsh; do + cargo xtask generate-shell-completion $shell --out-dir $compdir + done + + installShellCompletion --cmd devenv \ + --bash $compdir/devenv.bash \ + --fish $compdir/devenv.fish \ + --zsh $compdir/_devenv + ''; passthru.tests = { version = testers.testVersion {