Note
This is still during development. 0.1.0 hasn't even rolled out yet.
A robust declarative (hjson)/interactive (weepin add) nix pinning system akin to niv/npins.
Important
No code is written yet. Look at functional spec
Will it be possible to make weepin able to lazily load flakes?
Make a weepin-loader
.
TODO:
- Finish functional spec and technical spec first draft
- Consider
weepin issue
-
weepin version
which lists the weepin version with embedded loader and lockfile version - Move the generated structure of weepin to functional
- Change
weepin.json5
name to more generic name - manifest - Think about channels generated structure
- Talk with nobbz about why he strongly believes inputs for nix only
- Refine the name inference spec
- Decide between hjson and nix, make a draft, ask people
- Add a definition for the
weepin/
folder - Redesign syntax.
:
can be used for resolvables and it would already constitute a pinned version! - Get rid of resolvable template tags, they are added complexity for no reason at all, and not very practical
- Add magic template tags, that is
weepin add 'https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-i386-deb8-linux.tar.xz' -t version 8.4.3
should automatically make it a tag with<version>
- Create hjson2nix
- (During impl) List differences and similarities between niv and npins (in terms of interface as well!!!) Go back to my message on ghostty discord and list these in functional.md
- Add CONTRIBUTING.md with my conventions (for example not using pragma once)
- Impl that shit:
- ?
- Create a lua lib/module/stuff?
- Add nix shell and default for Nix2
Planned features:
- Implement rate limit protection
- Progress (see zig and rust bob)