I'm planning to find out myself. I think you're plan sounds good - especially since I have backups in case of a catastrophic data corruption error.
Edit: Oh I don't think nix flake update
will upgrade you to the next release if that's what you're thinking. I think you need to edit the nixpkgs input in flake.nix
:
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; # change to "23.11"
# ...
}
There are a couple of special values I'm wondering about. Part of the generated part of my NixOS config says this:
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
So I guess that value can stay unchanged?
And Home Manager has something similar:
home.stateVersion = "23.05"; # Please read the comment before changing.
Unfortunately I misplaced the comment that goes with that one.
As a Nix fanboy I would write a Nix expression that downloads the AppImage, and also writes the desktop file with the appropriate path written into it via string interpolation. That can be done either through a NixOS configuration, or in any Linux distro using Home Manager.