examples/shell.nix: minor improvements
- Use idiomatic var name `pkgs` for the imported nixpkgs. - Don't add `figlet` to PATH because it's only used internally. - Only print figlet in interactive shells to avoid interfering with stdout when running `nix-shell --run <cmd>`. - Define `fetch-release` as a function to enable running it via `nix-shell --run fetch-release`
This commit is contained in:
parent
cc7149eb78
commit
45d0964e27
@ -8,19 +8,18 @@ let
|
|||||||
else nix-bitcoin-release;
|
else nix-bitcoin-release;
|
||||||
|
|
||||||
nixpkgs-path = (import "${toString nix-bitcoin-path}/pkgs/nixpkgs-pinned.nix").nixpkgs;
|
nixpkgs-path = (import "${toString nix-bitcoin-path}/pkgs/nixpkgs-pinned.nix").nixpkgs;
|
||||||
nixpkgs = import nixpkgs-path {};
|
pkgs = import nixpkgs-path {};
|
||||||
nix-bitcoin = nixpkgs.callPackage nix-bitcoin-path {};
|
nix-bitcoin = pkgs.callPackage nix-bitcoin-path {};
|
||||||
|
|
||||||
nix-bitcoin-unpacked = (import <nixpkgs> {}).runCommand "nix-bitcoin-src" {} ''
|
nix-bitcoin-unpacked = (import <nixpkgs> {}).runCommand "nix-bitcoin-src" {} ''
|
||||||
mkdir $out; tar xf ${builtins.fetchurl nix-bitcoin-release} -C $out
|
mkdir $out; tar xf ${builtins.fetchurl nix-bitcoin-release} -C $out
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
with nixpkgs;
|
with pkgs;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "nix-bitcoin-environment";
|
name = "nix-bitcoin-environment";
|
||||||
|
|
||||||
path = lib.makeBinPath [ nix-bitcoin.extra-container figlet ];
|
path = lib.makeBinPath [ nix-bitcoin.extra-container ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export NIX_PATH="nixpkgs=${nixpkgs-path}:nix-bitcoin=${toString nix-bitcoin-path}:."
|
export NIX_PATH="nixpkgs=${nixpkgs-path}:nix-bitcoin=${toString nix-bitcoin-path}:."
|
||||||
@ -28,7 +27,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
export NIX_BITCOIN_EXAMPLES_DIR="${toString ./.}"
|
export NIX_BITCOIN_EXAMPLES_DIR="${toString ./.}"
|
||||||
|
|
||||||
alias fetch-release="${toString nix-bitcoin-path}/helper/fetch-release"
|
fetch-release() {
|
||||||
|
${toString nix-bitcoin-path}/helper/fetch-release
|
||||||
|
}
|
||||||
|
|
||||||
krops-deploy() {
|
krops-deploy() {
|
||||||
# Ensure strict permissions on secrets/ directory before rsyncing it to
|
# Ensure strict permissions on secrets/ directory before rsyncing it to
|
||||||
@ -37,7 +38,13 @@ stdenv.mkDerivation rec {
|
|||||||
$(nix-build --no-out-link ${toString ./krops/deploy.nix})
|
$(nix-build --no-out-link ${toString ./krops/deploy.nix})
|
||||||
}
|
}
|
||||||
|
|
||||||
figlet "nix-bitcoin"
|
# Print logo if
|
||||||
|
# 1. stdout is a TTY, i.e. we're not piping the output
|
||||||
|
# 2. the shell is interactive
|
||||||
|
if [[ -t 1 && $- == *i* ]]; then
|
||||||
|
${figlet}/bin/figlet "nix-bitcoin"
|
||||||
|
fi
|
||||||
|
|
||||||
(mkdir -p secrets; cd secrets; env -i ${nix-bitcoin.generate-secrets})
|
(mkdir -p secrets; cd secrets; env -i ${nix-bitcoin.generate-secrets})
|
||||||
|
|
||||||
# Don't run this hook when another nix-shell is run inside this shell
|
# Don't run this hook when another nix-shell is run inside this shell
|
||||||
|
Loading…
Reference in New Issue
Block a user