-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove unnecessary IFD + add auto updates & testing #40
Conversation
Can't we use something like nvfetcher to automate updates? I've had a great time with it on my NUR, I think keeping the amount of inputs down is worthwhile. The inputs will only get worse when more are added regarding size and the amount of lines that show up in I'd also like to add everything that's in the Nix flake from our git repositories, and not wait on nixpkgs to update. It would make sense to have our self-maintained derivations here, IMO. |
honestly i thought flake inputs would be the simplest way to handle it, but after using it i barely noticed a difference lol. it's been added 👍🏻
i'll put this into a different pr, as this is already big enough and i have work in a bit :p |
Glad that my suggestion of nvfetcher was of use 😄
Absolutely, that was me just sharing my vision for what ctp/nix could be used for, not a comment on this PR 👍 |
I would argue that flakes could have the advantage of allowing users to override inputs. On the other hand, this seems very niche, and perhaps we could support this another way in the future if anyone needs it. |
this will need to be rebased, so draft for now 🐈 |
by moving all upstream repos to our flake inputs, we no longer need to have [IFD](https://nixos.wiki/wiki/Import_From_Derivation) in most of our modules - making evaluation faster for all configurations. the only remaining instances of IFD are in `lib.ctp.toYAML` and the themes for kitty, which is due to it's use upstream in home-manager
this is required to run tests such as test-vm after the pull request is made
while this does make us lose out on easy updating, i think it's nice not have this as a required dependency for flake users
Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f58889c07efa8e1328fdf93dc1796ec2a5c47f38' (2023-07-29) → 'github:nix-community/home-manager/48b0a30202516e25d9885525fbb200a045f23f26' (2023-11-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2a9d660ff0f7ffde9d73be328ee6e6f10ef66b28' (2023-07-28) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29)
787b3b4
to
2b4277a
Compare
by moving all upstream repos to
our flake inputssources generated by nvfetcher, we no longer need to have IFD in most of our modules - making evaluation faster for all configurations. the only remaining instances of IFD are inlib.ctp.toYAML
and the themes for kitty, which is due to it's use upstream in home-manager. these seem unavoidable for now, but the benefits in other modules are still great. this also gives us the ability to easily update our upstream sources and access them inside of modules.workflows have been added to assist with this, mainly
update-lock
which updates both our flake inputs and nvfetcher sources. to ensure nothing breaks from these updates, i have also created a test vm that can also be run when the pr is created - however this will require an individual PAT in order to trigger the testing workflows properlycloses #15