| 1 Feb 2023 |
Arson Copperflame | * GitHub gives us a nice json of all releases here https://api.github.com/repos/nix-community/nixos-wsl/releases | 13:19:07 |
Sandro 🐧 | In reply to @nzbr:nzbr.de And we definitely need to come up with a better mechanism to get the version into the module. Adding a file in CI doesn't feel particularly nice, but I had no better idea, because nix strips the .git directory from the input or we just copy lib.version from nixpkgs | 13:31:07 |
Sandro 🐧 | and sell it as the module for version X of NixOS | 13:31:15 |
Arson Copperflame | But if we ever want to release between two versions, we'd have no chance to do that
Does nix give us a timestamp to the commit? | 13:35:30 |
Sandro 🐧 | In reply to @nzbr:nzbr.de The Launcher could check for updates against the GitHub API instead of relying on its own version number I really don't want to have the extra work for that in the launcher. | 13:41:47 |
Sandro 🐧 | In reply to @nzbr:nzbr.de But if we ever want to release between two versions, we'd have no chance to do that Does nix give us a timestamp to the commit? then we need a version file or manually tag the archive or push it to a branch from where nix downloads things | 13:42:32 |
Arson Copperflame | In reply to @sandro:supersandro.de I really don't want to have the extra work for that in the launcher. that's less complex than what it does right now | 13:44:17 |
Sandro 🐧 | hmmm, well at least something, I guess | 13:56:37 |
Arson Copperflame | What I want to happen is basically the following: We publish a release on GitHub. The Launcher knows that through some method. It then checks whether or not the user has that commit or a newer one installed and if not, prompts them to update. nixos update is a convenience function that does that for them, provided they are using the default configuration layout
channels might be a way to achieve this, but I don't really know how they work, because I'm using flakes for everything
| 14:04:15 |
K900 | We can just do a version compare | 14:05:24 |
K900 | So e.g. if we have a channel pointing at the 22.11.1 tag, we can just compare the tag to known latest | 14:06:16 |
K900 | And update if needed | 14:06:25 |
Sandro 🐧 | channels would work like sudo nix-channel --add https://github.com/SuperSandro2000/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz nixpkg | 14:06:42 |
Arson Copperflame | In reply to @k900:0upti.me So e.g. if we have a channel pointing at the 22.11.1 tag, we can just compare the tag to known latest Oh yeah right, we could just parse the version from the channel URL | 14:09:41 |
K900 | Also if we're doing that, we might want to follow home-manager | 14:11:00 |
K900 | And have a separate stable branch | 14:11:05 |
Arson Copperflame | But that'd only give us the channel version, not what's actually installed. nixos-wsl-version should return the version that's currently running. Can a module that comes from a channel know the channel's git rev? | 14:11:24 |
K900 | No, but I don't think it's a big stretch to assume that the channel version matches the system | 14:12:21 |
Arson Copperflame | In reply to @nzbr:nzbr.de But that'd only give us the channel version, not what's actually installed. nixos-wsl-version should return the version that's currently running. Can a module that comes from a channel know the channel's git rev? Then we could just drop the last part of the version number (for the module at least) and put a version file into the repo that we bump after every release | 14:12:36 |
Arson Copperflame | In reply to @k900:0upti.me No, but I don't think it's a big stretch to assume that the channel version matches the system It is, if the bug that gets reported is related to running nixos-rebuild for example | 14:14:03 |
Sandro 🐧 | In reply to @k900:0upti.me And have a separate stable branch but none us run stable, right? So that would be a bit shooting into the dark. | 14:15:12 |
Arson Copperflame | stable as in nixos-stable or as in a release version of nixos-wsl? | 14:15:55 |
Sandro 🐧 | nixos-stable | 14:16:50 |
K900 | As in nixos-stable, yes | 14:16:55 |
Arson Copperflame | I'm running NixOS 22.11 stable | 14:17:07 |
Arson Copperflame | with a few select packages from unstable | 14:17:22 |
Sandro 🐧 | good to know that, I run nixos-unstable with ~60 patches from all over the place | 14:23:50 |
Arson Copperflame | main is supposed to run on the latest stable nixos version (or the one that's referenced in flake.nix to be exact). That's what the tests check against. Ideally it'll run on unstable as well, but I've never tested for that specifically | 14:24:52 |
Arson Copperflame | nixpkgs seems to add a .version-suffix file to their channel tarballs to give lib access to the commit hash | 15:21:47 |
Arson Copperflame | We could just do that and push to github pages, no changes to how nixos-wsl-version works required | 15:27:19 |