From 40ccbcf2cf53b1fd1476e7ced6b70c29d491d464 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 10 Apr 2026 23:16:06 -0400 Subject: nix keeping: shell.nix --- flake.lock | 6 +++--- flake.nix | 3 ++- org/dlang-nix-flakes.org | 20 ++++++++++++++------ shell.nix | 17 ++++++++++++----- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index f8094e4..aeaac22 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1775639890, - "narHash": "sha256-9O9gNidrdzcb7vgKGtff7QiLtr0IsVaCi0pAXm8anhQ=", + "lastModified": 1775793324, + "narHash": "sha256-omax7atcZbol+6HJ2RLpP+ZCFcPa5bZ65Hn71RufeWQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "456e8a9468b9d46bd8c9524425026c00745bc4d2", + "rev": "9d29d5f667d7467f98efc31881e824fa586c927e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a3653ef..2d344f2 100644 --- a/flake.nix +++ b/flake.nix @@ -130,7 +130,8 @@ ]; #inherit shellHook; }; - default = import ./shell.nix {inherit pkgs-nix;}; + default = self.devShells.${system}.dsh-overlay-ldc; + #default = import ./shell.nix {inherit pkgs-nix;}; }); }; } diff --git a/org/dlang-nix-flakes.org b/org/dlang-nix-flakes.org index 85a207c..e3a01ed 100644 --- a/org/dlang-nix-flakes.org +++ b/org/dlang-nix-flakes.org @@ -477,7 +477,8 @@ use flake . ]; #inherit shellHook; }; - default = import ./shell.nix {inherit pkgs-nix;}; + default = self.devShells.${system}.dsh-overlay-ldc; + #default = import ./shell.nix {inherit pkgs-nix;}; }); }; } @@ -490,8 +491,17 @@ use flake . #+HEADER: :shebang "#!/usr/bin/env -S nix-shell --pure\n#!nix-shell -i bash" #+BEGIN_SRC nix {pkgs-nix ? import {}}: +let + ldc = pkgs-nix.callPackage ./nix-overlays/ldc {}; # -> <> + # dmd overlay reverts to gcc14Stdenv; gcc15 introduced nullptr in its headers + # and DMD's ImportC parser needs update to handle it. Monitor and update. + dmd = pkgs-nix.callPackage ./nix-overlays/dmd { stdenv = pkgs-nix.gcc14Stdenv; }; # -> <> + dub = pkgs-nix.callPackage ./nix-overlays/dub { inherit ldc; }; # -> <> + dtools = pkgs-nix.callPackage ./nix-overlays/dtools { inherit ldc; }; # -> <>' +in with pkgs-nix; mkShell { + name = "overlay_ldc-<>_dub-<>_dtools-<>"; buildInputs = [ # ❯❯❯ nix_related #nix @@ -508,12 +518,11 @@ with pkgs-nix; # ❯❯❯ dev gnumake ps - # ❯❯❯ d_build_related # ❯❯ package manager - #dub + dub # ❯❯ compiler #dmd - #ldc + ldc #rund # ❯❯ linker #lld @@ -522,8 +531,7 @@ with pkgs-nix; #ninja #meson # ❯❯ tools - #dub - #dtools + dtools # ❯❯❯ test #tilix #gtkd diff --git a/shell.nix b/shell.nix index 8e5bf10..eb6d246 100755 --- a/shell.nix +++ b/shell.nix @@ -1,8 +1,17 @@ #!/usr/bin/env -S nix-shell --pure #!nix-shell -i bash {pkgs-nix ? import {}}: +let + ldc = pkgs-nix.callPackage ./nix-overlays/ldc {}; # -> 1.42.0 + # dmd overlay reverts to gcc14Stdenv; gcc15 introduced nullptr in its headers + # and DMD's ImportC parser needs update to handle it. Monitor and update. + dmd = pkgs-nix.callPackage ./nix-overlays/dmd { stdenv = pkgs-nix.gcc14Stdenv; }; # -> 2.111.0 + dub = pkgs-nix.callPackage ./nix-overlays/dub { inherit ldc; }; # -> 1.40.0 + dtools = pkgs-nix.callPackage ./nix-overlays/dtools { inherit ldc; }; # -> 2.110.0' +in with pkgs-nix; mkShell { + name = "overlay_ldc-1.42.0_dub-1.40.0_dtools-2.110.0"; buildInputs = [ # ❯❯❯ nix_related #nix @@ -19,12 +28,11 @@ with pkgs-nix; # ❯❯❯ dev gnumake ps - # ❯❯❯ d_build_related # ❯❯ package manager - #dub + dub # ❯❯ compiler #dmd - #ldc + ldc #rund # ❯❯ linker #lld @@ -33,8 +41,7 @@ with pkgs-nix; #ninja #meson # ❯❯ tools - #dub - #dtools + dtools # ❯❯❯ test #tilix #gtkd -- cgit v1.2.3