|Hazel Levine 7f66b0ff11||4 weeks ago|
|nix||1 month ago|
|src||4 weeks ago|
|.envrc||1 month ago|
|.gitignore||4 weeks ago|
|Cargo.toml||4 weeks ago|
|LICENSE||3 months ago|
|README.org||4 weeks ago|
|default.nix||1 month ago|
|shell.nix||1 month ago|
stow, and also like
make for dotfiles. In short, another symlink
manager, because I'm not satisfied with any of the other ones.
In your main folder, have subdirectories:
λ ~ ls etc bin bspwm doom Linkfile zsh README.md
Under each subdirectory:
λ ~ ls etc/doom/ blog.org config.org init.el nice.png
Lakefile) defines where you put your stuff. It follows the
following (tentative) syntax, with the file on the left and the target directory
on the right, and defaults to
doom/config.org => .config/doom/
You can specify what filename you'd like to use, if they aren't the same:
zsh/zshrc => .zshrc
If you aren't using
$HOME, you can specify a path:
udev/95-monitor-hotplug.rules => /etc/udev/rules.d/
You can also use glob syntax to grab all files:
bin/* => bin/
You can add empty lines anywhere, and comments with
To run the program, you can just run
lake. To remove the links, you can run
lake -r. Furthermore, the location of the
Linkfile can depend on how you
want to structure your dots. Just want to run
lake? Put it in the root. Want
to keep stuff program-specific? Put a
Linkfile in each directory.
If you're using the Nix package manager, just
cargo build --release.
Fair note that issues may arise when building with Nix, because the Nix build uses nightly rust due to a limitation in Naersk, a Rust build system for Nix. This'll be fixed soon enough.
Again, with Nix:
nix-env -i -f https://git.qtp2t.club/hazel/lake/archive/0.3.0.tar.gz
You can also use https://qtp2t.cachix.org to get prebuilt binaries for Linux.
Otherwise, just put the binary generated by cargo somewhere.
This one's hard on the merit that
anyhow::Error ensures that the resultant
error has static lifetime, but due to the nature of
nom::IResult, this would
make the input static, which is decidedly undesired behavior.