add nix build shell

pull/117/head
eatb33ts 3 years ago
parent 6dceac8612
commit 2facb849e8

@ -28,6 +28,8 @@ You can download and run already built binaries from [releases](https://github.c
You can build Alfis by issuing `cargo build` and `cargo run` commands in a directory of cloned repository. You can build Alfis by issuing `cargo build` and `cargo run` commands in a directory of cloned repository.
If you want to build release version you need to do `cargo build --release` as usual. If you want to build release version you need to do `cargo build --release` as usual.
If you have the Nix package manager on Linux/Mac/Windows, an initial `shell.nix` is provided that provides build tools and dependencies. Run `nix-shell` to enter it, then run `cargo build` and `cargo run` as listed above.
### ![Windows Logo](/img/windows.svg) On Windows ### ![Windows Logo](/img/windows.svg) On Windows
You don't need any additional steps to build Alfis, just stick to the MSVC version of Rust. You don't need any additional steps to build Alfis, just stick to the MSVC version of Rust.
@ -56,6 +58,9 @@ Install from available [AUR package](https://aur.archlinux.org/packages/alfis) c
yay -S alfis yay -S alfis
``` ```
### On NixOS
`nix-shell` in this repo and then run `cargo build` and `cargo install` after you have entered the shell
## Installation ## Installation
### Debian/Ubuntu (only blockchain DNS, without GUI) ### Debian/Ubuntu (only blockchain DNS, without GUI)
@ -95,4 +100,4 @@ If you want it to load config from another file you can command it so: `alfis -c
1. Stabilize blockchain functions (domain transfer, info & contacts in UI), bug hunting and fixing. 1. Stabilize blockchain functions (domain transfer, info & contacts in UI), bug hunting and fixing.
2. Change DNS server/proxy to own resource saving implementation (using trust-dns-proto for RR parsing). 2. Change DNS server/proxy to own resource saving implementation (using trust-dns-proto for RR parsing).
3. P2P traffic encryption (ECDH). 3. P2P traffic encryption (ECDH).
4. Web-GUI to manage you node from browser. 4. Web-GUI to manage you node from browser.

@ -0,0 +1,10 @@
let
# Pinned nixpkgs, deterministic. Last updated: 2/12/21.
pkgs = import (fetchTarball("https://github.com/NixOS/nixpkgs/archive/a58a0b5098f0c2a389ee70eb69422a052982d990.tar.gz")) {};
# Rolling updates, not deterministic.
# pkgs = import (fetchTarball("channel:nixpkgs-unstable")) {};
in pkgs.mkShell {
buildInputs = [ pkgs.cargo pkgs.rustc pkgs.webkitgtk pkgs.pkg-config pkgs.kdialog];
}
Loading…
Cancel
Save