Closed mrtnvgr closed 10 months ago
This is a temporary fix I found while we wait for this to be resolved:
Add nixpkgs-staging to your inputs: nixpkgs-staging.url = "github:nixos/nixpkgs/staging";
And override libvterm-neovim for the actual neovim package
neovim-flake.packages.x86_64-linux.default.override {
libvterm-neovim = nixpkgs-staging.legacyPackages.x86_64-linux.libvterm-neovim;
};
it takes longer to rebuild but you can also just add to the input for the overlay:
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs-staging";
};
with nixpkgs-staging
being the same as in the above comment
Is it possible to change the automation to only update the flake if it builds successfully?
Is it possible to change the automation to only update the flake if it builds successfully?
Sure. Idk if I want it to be blocked if Darwin fails though, I have to look into that.
it takes longer to rebuild but you can also just add to the input for the overlay:
neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs-staging"; };
with
nixpkgs-staging
being the same as in the above comment
What do you mean by the last part
with `nixpkgs-staging` being the same as in the above comment
?
When I try to add the logic you mention in your post, I get errors that nixpkgs-staging
doesn't exist. How exactly do you have to set the flake up to get this working with the temporary fix, cause I've tried everything and still cannot build.
Thanks!
@LSleutsky add the line nixpkgs-staging.url = "github:nixos/nixpkgs/staging";
below here
nixpkgs-staging
just being nixpkgs from the staging branch (which currently has the good dependency)
i would link my config but it seems i forgot to push the changes after getting it working 😄
@LSleutsky add the line
nixpkgs-staging.url = "github:nixos/nixpkgs/staging";
below here
nixpkgs-staging
just being nixpkgs from the staging branch (which currently has the good dependency)i would link my config but it seems i forgot to push the changes after getting it working 😄
Ahhhh gotcha, duh! Thanks for the reply, works like a charm now...!
Is it possible to change the automation to only update the flake if it builds successfully?
Sure. Idk if I want it to be blocked if Darwin fails though, I have to look into that.
I've made it so updates are now made in the flake-update branch and are turned into a PR that gets rebased & merged into master once neovim builds for Linux. This means that the master branch from now on should always have a working Linux package, Darwin on the other hand can still be blocker as I make its failure ignore-able in CI as Darwin tends to be much more fragile. If enough people want me to set Darwin as a blocker too, I can agree to do that, just remember that until recently Darwin was failing for multiple months while Linux was not. I am also applying the temp workaround for the current build failure.
I am keeping this issue open until this gets resolved in the next staging bump in nixpkgs
Another quick solution is to just use overlays:
_: _final: prev: {
libvterm-neovim = prev.libvterm-neovim.overrideAttrs (_: rec {
doCheck = false;
version = "0.3.3";
src = prev.fetchurl {
url = "https://launchpad.net/libvterm/trunk/v${prev.lib.versions.majorMinor version}/+download/libvterm-${version}.tar.gz";
hash = "sha256-CRVvQ90hKL00fL7r5Q2aVx0yxk4M8Y0hEZeUav9yJuA=";
};
});
neovim-unwrapped = prev.neovim-unwrapped.override {
inherit (prev.llvmPackages_latest) stdenv;
inherit (final) libvterm-neovim;
};
}
....
<inside nixVim setup>
config = { package = pkgs.neovim-unwrapped; }
These are all basically worse than what I pushed to master earlier.
solved.