diff options
-rw-r--r-- | flake.lock | 34 | ||||
-rw-r--r-- | flake.nix | 34 |
2 files changed, 64 insertions, 4 deletions
@@ -1,7 +1,38 @@ | |||
1 | { | 1 | { |
2 | "nodes": { | 2 | "nodes": { |
3 | "naersk": { | ||
4 | "inputs": { | ||
5 | "nixpkgs": "nixpkgs" | ||
6 | }, | ||
7 | "locked": { | ||
8 | "lastModified": 1671096816, | ||
9 | "narHash": "sha256-ezQCsNgmpUHdZANDCILm3RvtO1xH8uujk/+EqNvzIOg=", | ||
10 | "owner": "nix-community", | ||
11 | "repo": "naersk", | ||
12 | "rev": "d998160d6a076cfe8f9741e56aeec7e267e3e114", | ||
13 | "type": "github" | ||
14 | }, | ||
15 | "original": { | ||
16 | "owner": "nix-community", | ||
17 | "repo": "naersk", | ||
18 | "type": "github" | ||
19 | } | ||
20 | }, | ||
3 | "nixpkgs": { | 21 | "nixpkgs": { |
4 | "locked": { | 22 | "locked": { |
23 | "lastModified": 1674333941, | ||
24 | "narHash": "sha256-jelQS56nVVFXGOZg6yUZ/3QWgU1Loa4Bzd4+TEPJX+c=", | ||
25 | "path": "/nix/store/66j54843ng5il9h6iszzj2f7ajv5lqj1-source", | ||
26 | "rev": "339fc3dcc98f39d08496fb90c0d6b5fb81519246", | ||
27 | "type": "path" | ||
28 | }, | ||
29 | "original": { | ||
30 | "id": "nixpkgs", | ||
31 | "type": "indirect" | ||
32 | } | ||
33 | }, | ||
34 | "nixpkgs_2": { | ||
35 | "locked": { | ||
5 | "lastModified": 1670461440, | 36 | "lastModified": 1670461440, |
6 | "narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=", | 37 | "narHash": "sha256-jy1LB8HOMKGJEGXgzFRLDU1CBGL0/LlkolgnqIsF0D8=", |
7 | "owner": "NixOS", | 38 | "owner": "NixOS", |
@@ -18,7 +49,8 @@ | |||
18 | }, | 49 | }, |
19 | "root": { | 50 | "root": { |
20 | "inputs": { | 51 | "inputs": { |
21 | "nixpkgs": "nixpkgs" | 52 | "naersk": "naersk", |
53 | "nixpkgs": "nixpkgs_2" | ||
22 | } | 54 | } |
23 | } | 55 | } |
24 | }, | 56 | }, |
@@ -1,18 +1,45 @@ | |||
1 | { | 1 | { |
2 | description = "Generate constraint-based diagrams"; | ||
3 | |||
2 | inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; | 4 | inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; |
5 | inputs.naersk.url = "github:nix-community/naersk"; | ||
3 | 6 | ||
4 | outputs = { | 7 | outputs = { |
5 | self, | 8 | self, |
6 | nixpkgs, | 9 | nixpkgs, |
10 | naersk, | ||
7 | }: let | 11 | }: let |
8 | pkgs = nixpkgs.legacyPackages.x86_64-linux; | 12 | pkgs = import nixpkgs { |
13 | overlays = [self.overlays.default]; | ||
14 | localSystem = "x86_64-linux"; | ||
15 | }; | ||
16 | naersk-lib = pkgs.callPackage naersk {}; | ||
9 | in { | 17 | in { |
10 | devShell.x86_64-linux = pkgs.mkShell { | 18 | overlays.default = final: prev: { |
19 | diaphragm = final.lua5_4.passthru.pkgs.toLuaModule (naersk-lib.buildPackage { | ||
20 | src = ./.; | ||
21 | nativeBuildInputs = with final; [pkg-config rustPlatform.bindgenHook]; | ||
22 | buildInputs = with final; [pango z3]; | ||
23 | |||
24 | copyBins = false; | ||
25 | copyLibs = true; | ||
26 | |||
27 | postInstall = '' | ||
28 | mkdir -p $out/lib/lua/5.4 $out/share/lua/5.4 | ||
11 | 29 | ||
30 | mv $out/lib/libdiaphragm.so $out/lib/lua/5.4 | ||
31 | cp $src/lua-bindings/diaphragm.lua $out/share/lua/5.4/ | ||
32 | ''; | ||
33 | }); | ||
34 | }; | ||
35 | |||
36 | packages.x86_64-linux.default = pkgs.diaphragm; | ||
37 | |||
38 | devShell.x86_64-linux = pkgs.mkShell { | ||
12 | LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; | 39 | LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; |
13 | 40 | ||
14 | buildInputs = with pkgs; [ | 41 | buildInputs = with pkgs; [ |
15 | pkgconfig | 42 | pkg-config |
16 | cairo | 43 | cairo |
17 | gdk-pixbuf | 44 | gdk-pixbuf |
18 | gtk3 | 45 | gtk3 |
@@ -22,6 +49,7 @@ | |||
22 | cargo-watch | 49 | cargo-watch |
23 | 50 | ||
24 | lua5_4 | 51 | lua5_4 |
52 | luarocks | ||
25 | stylua | 53 | stylua |
26 | ]; | 54 | ]; |
27 | }; | 55 | }; |