aboutsummaryrefslogtreecommitdiffhomepage
path: root/flake.nix
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2023-06-23 18:58:56 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2023-06-23 19:03:49 -0400
commiteff4a98d150ac52e90e77c43b9ec755777882bba (patch)
tree09f21e96f9e55b40d4749959bd396858e42f4a1f /flake.nix
parentnix dev + update direnv 2.2.1 => 2.3.0 (diff)
nix flake, overlays from spine
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix72
1 files changed, 40 insertions, 32 deletions
diff --git a/flake.nix b/flake.nix
index c98f513..ca13b8e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,34 +1,40 @@
{
description = "spine (sisu like parser & document generator) made available to process markup samples";
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # "github:nixos/nixpkgs";
- flake-utils.url = "github:numtide/flake-utils";
- spine = {
- url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine";
- inputs.nixpkgs.follows = "nixpkgs";
- flake = true;
- };
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ inputs.flake-utils.url = "github:numtide/flake-utils";
+ inputs.spine = {
+ url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/spine";
+ inputs.nixpkgs.follows = "nixpkgs";
+ flake = true;
+ };
+ inputs.d-overlay = {
+ url = "git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/packages/nix-flakes/dlang/dlang-nix-flakes";
+ inputs.nixpkgs.follows = "nixpkgs";
+ flake = true;
};
outputs = {
self,
nixpkgs,
flake-utils,
spine,
+ d-overlay,
} @ inputs: let
version = "0.12.0";
shell = ./shell.nix; # ./default.nix;
devEnv = ./.envrc; # ./shell.nix; # ./default.nix;
supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
- nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); # nixpkgs instantiated for supported system types.
+ nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); # nixpkgs instantiated for supported system types
in {
packages = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
in {
default = spine.packages.${system}.default;
- spine-dmd = spine.packages.${system}.spine-dmd;
- spine-ldc = spine.packages.${system}.spine-ldc;
- #spine-gdc = spine.packages.${system}.spine-gdc;
+ spine-overlay-ldc = spine.packages.${system}.spine-overlay-ldc;
+ spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
+ #spine-overlay-dmd = spine.packages.${system}.spine-overlay-dmd;
+ #spine-overlay-ldc = spine.packages.${system}.spine-overlay-ldc;
+ #spine-overlay-gdc = spine.packages.${system}.spine-overlay-gdc;
#vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";
});
apps = forAllSystems (system: {
@@ -40,35 +46,37 @@
devShells = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
shellHook = ''
- export DFLAGS="-O2 -inline -boundscheck=on -color=on"
+ export DFLAGS="-O2 -boundscheck=on"
export Date=`date "+%Y%m%d"`
## set local values in .envrc-local (or here if you must)
'';
in
with pkgs; {
- devShell = mkShell {
+ dsh = mkShell {
name = "spine base dev shell";
inherit shell;
inherit devEnv;
#buildInputs = [ sqlite ];
#nativeBuildInputs = [ dub dmd ldc gdc gnumake ];
packages = [
- sqlite
- dub
- #dmd
ldc
+ #dmd
+ dub
gnumake
+ sqlite
];
inherit shellHook;
};
- devShell-epub = mkShell {
+ dsh-spine = spine.devShells.${system}.default;
+ dsh-overlay-ldc = d-overlay.devShells.${system}.default;
+ dsh-epub = mkShell {
name = "spine dev shell for epub output";
inherit shell;
inherit devEnv;
packages = [
- dub
- #dmd
ldc
+ #dmd
+ dub
gnumake
sqlite
libxml2
@@ -88,27 +96,27 @@
];
inherit shellHook;
};
- devShell-html = mkShell {
+ dsh-html = mkShell {
name = "spine dev shell for latex & pdf output";
inherit shell;
inherit devEnv;
packages = [
- dub
- #dmd
ldc
+ #dmd
+ dub
gnumake
sqlite
];
inherit shellHook;
};
- devShell-latex-pdf = mkShell {
+ dsh-latex-pdf = mkShell {
name = "spine dev shell for latex & pdf output";
inherit shell;
inherit devEnv;
packages = [
- dub
- #dmd
ldc
+ #dmd
+ dub
gnumake
sqlite
source-sans-pro
@@ -118,27 +126,27 @@
];
inherit shellHook;
};
- devShell-sqlite = mkShell {
+ dsh-sqlite = mkShell {
name = "spine dev shell for latex & pdf output";
inherit shell;
inherit devEnv;
packages = [
- dub
- #dmd
ldc
+ #dmd
+ dub
gnumake
sqlite
];
inherit shellHook;
};
- devShell-i18n = mkShell {
+ dsh-i18n = mkShell {
name = "spine dev shell internationalization, po4a";
inherit shell;
inherit devEnv;
packages = [
- dub
- #dmd
ldc
+ #dmd
+ dub
gnumake
sqlite
perl534Packages.Po4a