I’m trying to add Pianoteq to my nixos flake but I’m running into some issues
Pianoteq doesn’t show up in search (24.11 or unstable)
Despite this it’s in the nixpkgs repo and has been a for years
I’m confused by why the package isn’t showing up in search but when trying to add Pianoteq to my audio.nix file I get the error "A definition for option ‘…’ is not of type ‘package’
It seems to me like pianoteq itself is a collection of packages (for the different versions) but I can’t figure out, then how to add it to my packages
To add it to your system, choose one of those, and then put it in your package list. For example with standard_8:
{
environment.systemPackages = with pkgs; [
pianoteq.standard_8
];
}
It seems the standard and stage versions require a login to download the software, and it expects the environment variables NIX_MODARTT_USERNAME and NIX_MODARTT_PASSWORD to be set. This would require building with --impure. I think you can get around this by adding the 7z file to the store manually with “nix-store --add-fixed sha256 pianoteq_linux_v<version>.7z”. Note the filename matters.
No, unfree means hydra can’t build it, nothing to do with search. It doesn’t show up because it’s a package set that presumably isn’t marked for recursing into via lib.recurseIntoAttrs.
so, when I try to use piantoteq.standard_8 it gives me error: attribute 'standard_8' missing, even if I set my username and password and build with --impure
For future explorers, I finally got the first error resolved
I used the repl by typing nix repl -f flake.nix into the terminal
Note that it takes a path to your flake but I was in the directory already so I could just name the flake.
Then in the repl you type :l <nixpkgs> to load all the nix packages.
Finally typing pkgs.pianoteq. and hitting tab shows the following options nix-repl> pkgs.pianoteq. pkgs.pianoteq.override pkgs.pianoteq.stage-6 pkgs.pianoteq.stage-trial pkgs.pianoteq.standard-trial pkgs.pianoteq.overrideDerivation pkgs.pianoteq.stage-7 pkgs.pianoteq.standard-8
Adding pianoteq.standard-8 to my config gives the following:
> Error: Downloading a personal Pianoteq instance requires the nix building process (nix-daemon in multi user mode) to have the NIX_MODARTT_USERNAME and NIX_MODARTT_PASSWORD env vars set.
As you said I need to set the environment variables but as some point you’re just happy to have a new set of errors