digga icon indicating copy to clipboard operation
digga copied to clipboard

Automatically build sources

Open Th3Whit3Wolf opened this issue 3 years ago • 13 comments

This pull request does a couple things.

  1. Any package inside ./pkgs (with the exception of ./pkgs/bud, ./pkgs/_sources and ./pkgs/default.nix will be called (as in callPackage) and can use inherit (source) pname version src so long as the name of parent folder for the default.nix or the name of the nix file stripped of .nix is the same name used in sources.toml
  2. 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.

Th3Whit3Wolf avatar Jul 25 '21 23:07 Th3Whit3Wolf

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?

blaggacao avatar Aug 02 '21 22:08 blaggacao

Yes, it can. Head over to vs-ext for usage, assuming this PR is merged.

danielphan2003 avatar Aug 03 '21 01:08 danielphan2003

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.

blaggacao avatar Aug 03 '21 03:08 blaggacao

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?

Th3Whit3Wolf avatar Aug 05 '21 06:08 Th3Whit3Wolf

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?

blaggacao avatar Aug 05 '21 10:08 blaggacao

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.

Th3Whit3Wolf avatar Aug 05 '21 11:08 Th3Whit3Wolf

https://github.com/divnix/vim-ext the project is yours :rocket:

blaggacao avatar Aug 06 '21 02:08 blaggacao

@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).

Th3Whit3Wolf avatar Aug 10 '21 10:08 Th3Whit3Wolf

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

  1. you don't have to declare fetch (just src)
  2. My intentions are to generate overlays, with metadata, using platform apis (github, gitlab, openvsx, vscode).

Th3Whit3Wolf avatar Aug 10 '21 10:08 Th3Whit3Wolf

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.

Pacman99 avatar Aug 11 '21 18:08 Pacman99

@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 avatar Aug 12 '21 11:08 blaggacao

@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 avatar Oct 24 '21 11:10 Th3Whit3Wolf

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

blaggacao avatar Oct 25 '21 02:10 blaggacao