#!/usr/bin/env -S nix-shell --pure
#!nix-shell -i bash
{pkgs ? import <nixpkgs> {}}:
with pkgs;
  mkShell {
    buildInputs = [
      # ❯❯❯ nix_related
      #nix
      direnv
      #cachix
      nixVersions.unstable #nixFlakes
      nix-prefetch-git
      validatePkgConfig
      nix-output-monitor
      nix-tree
      jq
      alejandra
      git
      gnumake
      ps
      # ❯❯❯ d_build_related
      # ❯❯ package manager
      dub
      # ❯❯ compiler
      ldc
      rund
      # ❯❯ linker
      #lld
      #mold
      # ❯❯ builder
      #ninja
      #meson
      # ❯❯❯ sqlite search related
      sqlite
      # ❯❯❯ tools
      #aria #wget #curl
    ];
    shellHook = ''
      nix flake update
      nix flake check
      nix flake show
      echo '
        shell.nix echo ❯❯

        ❯❯ nix flake update && nix flake check --show-trace && nix flake show && nix develop ".#devShell" -c zsh

        ❯❯ nix develop
        ❯❯ nix develop -c zsh

        ❯❯ nix build
        ❯❯ nix build ".#default" --print-build-logs
        ❯❯ nix build ".#spine-search-dmd" --print-build-logs |& nom
        ❯❯ nix build ".#spine-search-ldc" --print-build-logs |& nom

        ❯❯ dub build --compiler=ldmd --build=release --combined --skip-registry=all
      '
    '';
  }