-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.yml
31 lines (30 loc) · 2.58 KB
/
todo.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
- start a package index system:
- have a yaml file:
- keys being urls, values being a map, and the map contains a branch name
- iterate over the sources:
- use this to get a list of all tags and commit hashes; git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' https://github.com/jeff-hykin/quickr
- compare this with what has already been seen, if there are new versions check them out but use a timer to prevent massive repos/branches from being pulled:
- once checked out
- read each json file in package/variants/
- make a superset json file that contains the branch name, tag name, commit hash, and commit date
- hash all of those newly created json files
- if their hash doesnt exist in the database store, then copy them to the database store (and rename them to match their hash)
- then build the search index for all those json files:
- create a database
- index all the names, tag names, versions, version lists, platforms, licenses, authors and commit dates
- create an html page that queries the database
- display all the name matches, followed by description matches, and keyword matches
- list them out by source, when a source is clicked, list out all the variants and versions
- when a version is selected, do like lazamar but include ones that install from tag, commit hash, or branch name
- create an easy installer tool:
- create a one line curl command for installing nix, and then using nix to install this tool via nix-env -i -f "$(curl -fsSL https://raw.githubusercontent.com/jeff-hykin/snowball/3df028e5d9e92dbe077ce34f6907da852e61895a/)"
- search just pings a website I host: results are URL's that are likely be a git branch/tag and can be a commit hash
- a global install:
get the snowball, get package0, build the derivation, then install the derivation
- a virkshop install command:
- which will create a virkshop/system.nix file if it doesnt exist
- and then print out a message for adding the a line to the virkshop/system.nix
- that line will use the snowball tool, and will have an inputs and outputs section
- allow for a "disabled" input so they can be turned off depending on the platform
- under the hood the snowball tool will be intercepting the arguments, checking if they're a snowball, and then giving the package0 as the actual inputs for the being-loaded snowball
- this will result in a nice flat structure that still allows for overriding/overlaying inputs