Skip to content
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

Merged
merged 17 commits into from
Nov 2, 2023

Conversation

getchoo
Copy link
Member

@getchoo getchoo commented Jul 30, 2023

by moving all upstream repos to our flake inputs sources 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 in lib.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 properly

closes #15

@getchoo getchoo changed the title feat: remove all IFD remove all IFD + add auto updates & testing Jul 30, 2023
@getchoo getchoo changed the title remove all IFD + add auto updates & testing remove unnecessary IFD + add auto updates & testing Jul 30, 2023
@getchoo getchoo marked this pull request as ready for review July 30, 2023 07:45
@nekowinston
Copy link

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 nix flake metadata.

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.

@getchoo
Copy link
Member Author

getchoo commented Jul 30, 2023

Can't we use something like nvfetcher to automate updates?

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'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.

i'll put this into a different pr, as this is already big enough and i have work in a bit :p

@nekowinston
Copy link

Glad that my suggestion of nvfetcher was of use 😄

i'll put this into a different pr, as this is already big enough and i have work in a bit :p

Absolutely, that was me just sharing my vision for what ctp/nix could be used for, not a comment on this PR 👍

@Scrumplex
Copy link
Contributor

honestly i thought flake inputs would be the simplest way to handle it

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.

@getchoo getchoo marked this pull request as draft October 22, 2023 19:28
@getchoo
Copy link
Member Author

getchoo commented Oct 22, 2023

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)
@getchoo getchoo force-pushed the flake-inputs branch 2 times, most recently from 787b3b4 to 2b4277a Compare November 2, 2023 17:41
@getchoo getchoo marked this pull request as ready for review November 2, 2023 17:42
@getchoo getchoo merged commit a30f0ff into catppuccin:main Nov 2, 2023
2 checks passed
@getchoo getchoo deleted the flake-inputs branch November 2, 2023 17:55
@github-actions github-actions bot mentioned this pull request Nov 2, 2023
@getchoo getchoo mentioned this pull request May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Testing
3 participants