Just giving NixOS for a spin. Having an issue installing unfree packages and them being available when installed via configuration.nix into a user profile. So in my case in configuration.nix:
nixpkgs.config.allowUnfree = true;
users.users.jasonh= {
name = "jason";
home = "/home/jason";
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
packages = with pkgs; [
htop alacritty zsh zsh-powerlevel10k oh-my-zsh powerline-fonts fzf font-awesome al
bert neofetch autorandr arandr firefox slack spotify vscode
];
shell = pkgs.zsh;
};
I’d expect vscode, slack, and spotify to be in that list, but alas. Running code or slack or spotify all give a command not found which makes sense since it’s not listed in ~/.nix-profile/bin. However running:
It is because there are essentially two mostly separate ways of managing packages and so you need to enable non-free software in both places. This is described here.
The declarative way you are using in configuration.nix and imperatively via nix-env. Unless I am mistaken, only software you install with nix-env will show up in nix-env. If you mix and match both methods haphazardly, it can be kind of a pain to keep track of what you have installed. Installing system-wide software with nix-env as you would with a traditional Linux distro also limits the reproducibility of nixos which is one of the primary benefits.
Lastly, since much of your declarative software is showing up in nix-env -q, I suspect you have most of those packages installed twice.