How to update (pulumi-bin)

I’m using home-manager/nix-darwin. I’m using the pulumi-bin package.

I was pointing to the “github:nixos/nixpkgs/nixpkgs-22.11-darwin” channel and my pulumi version was back at 3.55.

When I search for pulumi on NixOS Search

I see there is a 23.05 channel and pulumi bin is at 3.68.

I rebuilt usin the 23.05 channel but my pulumi version is still at 3.55.

How can I get to version 3.68 which is in 23.05? Or if I wanted to the latest which is 3.77?

(I’ve searched on how to upgrade but I’m not finding clear docs/explanation. Maybe I’m not looking in the right place?)

The easiest way is to update your channel to a new version or switch to a newer channel.


I updated the channel to 23.05

    # Package sets
    nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-23.05-darwin";
    nixpkgs-unstable.url = github:NixOS/nixpkgs/nixpkgs-unstable;
    # Environment/system management
    darwin.url = "github:lnl7/nix-darwin/master";
    darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
    home-manager.url = "github:nix-community/home-manager";
    home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable";

    # Other sources
    #comma = { url = github:Shopify/comma; flake = false; };

but after I rebuilt I still have the old version of pulumi-bin.

What am I missing?

Could you share your entire flake? Parts with private details can be omitted. Maybe you have it in a repo that you could link us to?


Here’s the flake.nix in this gist

pulumi-bin is not mentioned anywhere in that flake. How did you install it? Is it in home.nix? Or did you maybe install it with nix profile?

What does which pulumi return?


Sorry. Here’s the home.nix which installs pulumi-bin

which pulumi returns /etc/profiles/per-user/phil/bin/pulumi

Hm, I can’t see anything wrong with it. Seems like a pretty straightforward setup, all in line with the manual.

I couldn’t find anything about nixpkgs = nixpkgsConfig;, but I’m sure it works as intended.

One thing you could try is have a look at the flake.lock. Maybe it’s still referring to some older commit of nixpkgs?

That being said, I’m not even sure how nixpkgs-23.05 gets to home-manager in your situation. The way you’ve set up the .follows, it would expect everything to be installed from nixpkgs-unstable. Though I’m not super familiar with home-manger, so maybe I’m missing something here.

I was able to resolve it by deleting flake.lock As a newbie, it wasn’t obvious to me that flake.lock would, well, lock the versions. But being familiar with package-lock.json for nodejs that makes sense.

Is that the correct procedure to just delete the file or should I do something more focused and not so heavy-handed?

(I hit an error with another package I was trying to install but I start another thread for that issue.)

To update your flake.lock with the latest inputs:

nix flake update
1 Like

What command are you using to rebuild your configuration?

@noah Thanks! I restored my previous flake.lock then did nix flake update and got the newer version of pulumi-bin.

@iFreilicht I use this command to rebuild
nix build .#darwinConfigurations.Karambit.system

Ah ok, in that case you can use the flag --recreate-lock-file to do basically what you did first (deleting the lockfile and downloading the newest version of everything), or you can use --update-input nixpkgs to only upgrade one input without having to re-download all the others.