ahoneybun.net/content/posts/unstable-nixos.md
2024-11-22 19:16:15 -07:00

39 lines
1.7 KiB
Markdown

+++
title = "Unstable software in NixOS"
date = 2022-06-18
draft = false
[taxonomies]
categories = [ "nixos" ]
tags = [ "nixos", "nixos-22.05" ]
+++
## Installing newer software
Recently I ran into this [bug](https://github.com/NixOS/nixpkgs/issues/175512) 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.