himalaya/default.nix
Sridhar Ratnakumar 76f9084f91
add nix support (#76)
* Add default.nix for nix support

* Convert to flake

* gitignore before building the source

* Add default.nix and shell.nix for legacy workflows

* Use https://github.com/oxalica/rust-overlay

This one works for development workflow, with a functional rust-analyzer for using with language server support in IDEs.

Also add .vscode/ for pre-configured settings.

* Add documentation

* Restore old TOC and apply TOC patch manually

* Clarify that these two commands are either-or

* Add installing from local checkout (nix-env)

* Add note about version update

* Improve Nix workflow, for zero maintenance

Use https://github.com/nmattia/naersk

This avoids having to set a sha and version in Nix scripts.

* Simplify using crate2nix

Ref: https://www.reddit.com/r/rust/comments/mmbfnj/nixifying_a_rust_project/

* Use rootCrate

* Propagate openssl deps to non-shell build

* Try the oxalica overlay

* Get rid of gitignore crate

cf. https://www.reddit.com/r/rust/comments/mmbfnj/nixifying_a_rust_project/gtsgxal/?context=3

* Configure himalaya crate under defaultCrateOverrides

* Specify openssl in buildInputs

* Make a note about a potential error when using Nix 2.4pre

* Remove PKG_CONFIG_PATH (unnecessary)

* Add cargo-watch

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
2021-04-18 00:06:11 +02:00

12 lines
480 B
Nix

# This file exists for legacy Nix installs (nix-build & nix-env)
# https://nixos.wiki/wiki/Flakes#Using_flakes_project_from_a_legacy_Nix
# You generally do *not* have to modify this ever.
(import (
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
in fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash; }
) {
src = ./.;
}).defaultNix