Open lukego opened 1 year ago
Hmm, You can use something like this in flake.nix
inputs.nixpkgs.url = "nixpkgs/release-22.11";
inputs.dev.url = "github:uthar/dev";
inputs.dev.inputs.nixpkgs.follows = "nixpkgs";
inputs.nix-cl.url = "github:uthar/nix-cl";
inputs.nix-cl.inputs.dev.follows = "dev";
this "dev" flake is used to get clasp, which is not in nixpkgs, rest should come from nixpkgs itself
I see! Thanks for the tip on follows
I didn't know that one.
Just in case it's useful information at any point the nixpkgs patch that's needed for vk
is this one https://github.com/NixOS/nixpkgs/pull/204643.
Hey I don't quite understand which nixpkgs version nix-cl is supposed to use for libraries?
In practice the chain of dependencies seems to be
github:uthar/nix-cl
->github:uthar/dev
->nixpkgs
i.e. that the nixpkgs version will be determined by the contents of https://github.com/Uthar/dev/blob/master/flake.lock.That seems a bit random, though? Is it just that using flakes means pinning everything by default anyway?
I ask because I need to make a not-quite-trivial update to the Vulkan
shaderc
library in nixpkgs (https://github.com/lukego/nixpkgs/commit/059fb3863bf3ceb1f670ee70919db7a9260cf8fc) in order to fix an obscure runtime incompatibility in the Lispvk
library that only shows up when running real application code (not during build.) I'm planning to upstream that change to nixpkgs but I don't really understand the flow for landing it in nix-cl where it is needed e.g. when I make a PR to package vk.Tips welcome, I don't know how understood all this flakes stuff is really in general :)