Helm gives me "is not available on the requested hostPlatform"

I’m a newbie to nix, but it looks to me that there’s no build for my architecture + os. How do I make my own build? I couldn’t find a way to just build and existing package from source.

Or is there another solution to this?

I didn’t try the NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM route because it looks like all these platforms are linux.

I’m using nix-darwin and home manager.

Cheers

nix-shell -p helm
error:
       … while calling the 'derivationStrict' builtin

         at //builtin/derivation.nix:9:12: (source not available)

       … while evaluating derivation 'shell'
         whose name attribute is located at /nix/store/zsws92vc2ljlh0r0wymqa902fpxxpv4c-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:303:7

       … while evaluating attribute 'buildInputs' of derivation 'shell'

         at /nix/store/zsws92vc2ljlh0r0wymqa902fpxxpv4c-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:350:7:

          349|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          350|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          351|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       error: Package ‘helm-0.9.0’ in /nix/store/zsws92vc2ljlh0r0wymqa902fpxxpv4c-nixpkgs/nixpkgs/pkgs/applications/audio/helm/default.nix:52 is not available on the requested hostPlatform:
         hostPlatform.config = "aarch64-apple-darwin"
         package.meta.platforms = [
           "aarch64-linux"
           "armv5tel-linux"
           "armv6l-linux"
           "armv7a-linux"
           "armv7l-linux"
           "i686-linux"
           "loongarch64-linux"
           "m68k-linux"
           "microblaze-linux"
           "microblazeel-linux"
           "mips-linux"
           "mips64-linux"
           "mips64el-linux"
           "mipsel-linux"
           "powerpc64-linux"
           "powerpc64le-linux"
           "riscv32-linux"
           "riscv64-linux"
           "s390-linux"
           "s390x-linux"
           "x86_64-linux"
         ]
         package.meta.badPlatforms = [ ]
       , refusing to evaluate.

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

        Note: For `nix shell`, `nix build`, `nix develop` or any other Nix 2.4+
        (Flake) command, `--impure` must be passed in order to read this
        environment variable.

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.

Not every program is currently packaged for darwin, especially GUI programs.

That said, maybe you’re looking for the CLI tool? Try kubernetes-helm instead.

How embarrassing. I should have checked the package description. Thanks! :slight_smile: