digga
digga copied to clipboard
Automatically build sources
This pull request does a couple things.
- Any package inside
./pkgs
(with the exception of./pkgs/bud
,./pkgs/_sources
and./pkgs/default.nix
will be called (as incallPackage
) and can useinherit (source) pname version src
so long as the name of parent folder for thedefault.nix
or the name of the nix file stripped of .nix is the same name used insources.toml
- Start work on automatically building vimPlugins, vscode extension, and other development tools from prefixes in
sources.toml
Currently only vimPlugins are implemented. Addresses 321.
I recognize that flake.nix
is not a great place for an overlay. I was unable to find a way to make an overlay that lets you import inputs, which means defining rakeTree and flattenTree before writing what's currently in the flake. It would also have had to be used as (import ./path/filename.nix).overlay
.
now, I got a clearer picture what this is all about :smile:
@danielphan2003 Can vs-ext
generalize well enough over <package set>
so that we could actually inaugurate a pkgsSet lib? Or merge anything +- viable back into digga
?
Yes, it can. Head over to vs-ext
for usage, assuming this PR is merged.
I kind of see a divnix/vim-ext
repo not too far on the horizon. @Th3Whit3Wolf what do you think?
It would make more sense to be able to iterate independently of the devos
release cycle. :rocket:
Relatively soon (v1.0
) devos
will become very boring and slow motion.
I kind of see a divnix/vim-ext repo not too far on the horizon. @Th3Whit3Wolf what do you think?
We could do that, would it be better to have a repo for each <package set>
or one repo that has all of them?
would it be better to have a repo for each
or one repo that has all of them?
That depends probably on two things:
How much design overlap there is and how much does it hurt if release cycles have to be coupled.
Do you have any idea about what we could expect?
I think multiples repos are best for now.
I think there could also be a future where one larger repo or maybe even digga creates the overlay itself as to not clutter the users' flake inputs.
https://github.com/divnix/vim-ext the project is yours :rocket:
@blaggacao sorry it's taken me so long to respond, I've been quite busy lately.
I've been looking at vs-ext and I'm not sure it's best to make vim-ext right now. Unless I'm mistaken the goal of vs-ext updates is to take use bud to take a vscode extension unique id, query openvsx, and then update that extensions metadata.
This could be done for vim plugins however it would be a lot more work. Vim plugins aren't collectively stored in one location. You can find them on github,gitlab,(any code hosting service), vimawesome, and nvim-awesome So there would be need to create a method to query each one. If vim-ext is being described as
A kick ass library to dominate your Vim Extensions (with DevOS)
I would expect it to build vim plugins that have build requirements (could be node, rust, clojure, or really anything).
Follow up question, how much reliant is devos on nvfetcher?
I've started playing around with something similliar to nvfetcher with a few key differences
- you don't have to declare fetch (just src)
- My intentions are to generate overlays, with metadata, using platform apis (github, gitlab, openvsx, vscode).
Follow up question, how much reliant is devos on nvfetcher?
We made a general decision to use nvfetcher over flakes for updating srcs because it was a cleaner solution that was built for the use case. But if another solution is better, I'm sure minds can be changed :). We would have to run through a similar discussion/debate again.
@Th3Whit3Wolf this time sorry for me chiming in late for the same reason as yours.
Well, one day, if subflakes get really advanced, we might even want to switch something flake compatible, since there is a benefit in creating a SBOM easily from the flake.lock
.
Ideally flakes would gain the capability to make use of a library (such as nvchecker
that already has wide platform support and an upstream community momentum).
vim-ext
can be also really small. The point in having it in a repo also is a bit not having it in devos
or digga
(for now). The reason is that all those editors might a) either have their own dynamic and benefit from a separate release schedule for the users (nix flake lock --update-input vim-ext
). Another reason is that beyond some initial preferences of Tim, we would probably try to avoid being opinionated with anything that doesn't directly relate to flakes/nix. So by making it a separate repo, we essentially avoid "pissing of" those who don't use X or Y. A third reason is maintenance and support. If the project grows, then it will be helpful to forward vim-ext
issues to the repo in order to create "tighter" feedback cycles between authors and users and convert users more easily into co-authors / co-maintainers once they find a tiny and easy to understand codebase. vs-ext
/ vim-ext
can well be the 'entry drug' heheheh. :smile:
@blaggacao I have been selected for a program that will likely eat up all of my free time for the next 7 months. I do not how soon I will be able to commit to vim-ext.
@Th3Whit3Wolf Thanks for letting us know. I think you already did a good start to kick off vim ergonomics with devos. Now the strategically most important task is maybe to broaden the user base and get morenusers of various ecosystems onvoarx.