summaryrefslogtreecommitdiffhomepage
path: root/shell.nix
diff options
context:
space:
mode:
Diffstat (limited to 'shell.nix')
-rwxr-xr-xshell.nix80
1 files changed, 80 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix
new file mode 100755
index 0000000..1282fbb
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,80 @@
+#!/usr/bin/env -S nix-shell --pure
+#!nix-shell -i bash
+{ pkgs ? import <nixpkgs> {} }:
+with pkgs;
+mkShell {
+ buildInputs = [
+ direnv
+ nixVersions.unstable #nixFlakes
+ nix-prefetch-git
+ validatePkgConfig
+ nix-tree jq nix-output-monitor
+ git
+ ps
+ ### d_build_related
+ dub
+ ## compiler
+ ldc
+ rund
+ ## linker
+ #lld
+ #mold
+ ## builder
+ #ninja
+ #meson
+ ### sqlite search related
+ sqlite
+ ### tools
+ #aria #wget #curl
+ ### candy
+ #starship
+ ];
+ shellHook = ''
+ #if [[ -f ".envrc" ]]; then
+ # source .envrc
+ #fi
+ nix flake update
+ echo ""
+ echo "nix flake metadata:"
+ nix flake metadata
+ echo ""
+ echo "nix flake check:"
+ nix flake check
+ echo ""
+ echo "nix flake show:"
+ nix flake show
+ echo "
+ nix flake update
+ nix flake metadata
+ nix flake check
+ nix flake show
+
+ nix build or nix develop? (suggestions):
+
+ - nix build
+ nix build .#default --print-build-logs
+ nix build --print-build-logs
+ nix build .#default --print-build-logs |& nom
+
+ - nix run
+ nix run .#default --print-build-logs
+ nix run default.nix --print-build-logs
+
+ - nix shell
+ nix shell --print-build-logs
+
+ - nix develop
+ nix develop --build .#default --print-build-logs
+ nix develop --build -f derivation.nix -I .envrc --print-build-logs
+ nix develop ; eval \$buildPhase
+
+ nix-build |& nom
+
+ nix-instantiate | nix show-derivation | jq
+ nix-build . --no-out-link | xargs -o nix-tree
+ nix-tree --derivation .#spine_search
+
+ dub build --compiler=ldmd --build=release --combined --skip-registry=all
+ "
+ '';
+}