Unstable software in NixOS
Installing newer software
Recently I ran into this bug with the stable (22.05 at this writing) of the ProtonVPN software in NixOS. A way to work around it was use the unstable version of the software which had the fix. I did a bit of Googling to find how to do that so I wanted to share what I found, this is the file that I use:
{ config, pkgs, ...}:
let
unstable = import
(builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/master)
# reuse the current configuration
{ config = config.nixpkgs.config; };
in
{
environment.systemPackages = with pkgs; [
unstable.protonvpn-cli
unstable.protonvpn-gui
];
}
Now I made this in a file like this /etc/nixos/unstable-programs.nix
and then edit my /etc/nixos/configuration.nix
file to import it like this:
[
./hardware-configuration.nix
./plasma.nix
./programs.nix
./unstable-programs.nix
];
That way I can comment it out once the fix is released or if I want to remove it for some reason. Once I made these edits to those two files I would rebuild and switch with this command sudo nixos-rebuild switch
now if you want to test it just for the next reboot in case you are worried you can run this command instead sudo nixos-rebuild test
. Now when you reboot it boots into that generation but if it doesn't work just reboot and you'll be in the previous generation without the change.