Search code examples
nixnixosnixpkgs

What is the recommended way to install packages not in `nixpkgs/pkgs/top-level/all-packages.nix`


I would like to install elementary-terminal. This package is not in nixpkgs/pkgs/top-level/all-packages.nix and I suppose it is therefore not sufficient to just add elementary-terminal into configuration.nix

What is the recommended way to install such packages?


Solution

  • Some packages are namespaced to group them together or avoid potential conflicting names, in this case it's under pantheon.

    { config, lib, pkgs, ... }:
    {
      environment.systemPackages =
        [ pkgs.pantheon.elementary-terminal
        ];
    }
    

    To figure this out use, nix-env -q, nix search or even nix-index to show the corresponding attribute path of a package.

    $ nix-env -f '<nixpkgs>' -qaP elementary-terminal
    pantheon.elementary-terminal  elementary-terminal-5.3.3