|
1 | 1 | { |
2 | 2 | description = "A terminal slideshow tool"; |
3 | 3 |
|
4 | | - inputs = { |
5 | | - flakebox = { |
6 | | - url = "github:rustshop/flakebox?rev=62af969ab344229d2a0d585a482293b3f186b221"; |
| 4 | + inputs.nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; |
| 5 | + |
| 6 | + outputs = |
| 7 | + { nixpkgs, self }: |
| 8 | + let |
| 9 | + inherit (nixpkgs.lib) genAttrs systems; |
| 10 | + forEachSystem = genAttrs systems.flakeExposed; |
| 11 | + pkgsForEach = nixpkgs.legacyPackages; |
| 12 | + rev = self.shortRev or self.dirtyShortRev or "unknown"; |
| 13 | + in |
| 14 | + { |
| 15 | + packages = forEachSystem (system: { |
| 16 | + presenterm = pkgsForEach.${system}.callPackage ./package.nix { inherit rev; }; |
| 17 | + default = self.packages.${system}.presenterm; |
| 18 | + }); |
| 19 | + |
| 20 | + devShells = forEachSystem (system: { |
| 21 | + default = pkgsForEach.${system}.callPackage ./shell.nix { }; |
| 22 | + }); |
7 | 23 | }; |
8 | | - |
9 | | - flake-utils.url = "github:numtide/flake-utils"; |
10 | | - }; |
11 | | - |
12 | | - outputs = { self, flake-utils, flakebox }: |
13 | | - flake-utils.lib.eachDefaultSystem (system: |
14 | | - let |
15 | | - projectName = "presenterm"; |
16 | | - pkgs = flakebox.inputs.nixpkgs.legacyPackages.${system}; |
17 | | - |
18 | | - flakeboxLib = flakebox.lib.mkLib pkgs { |
19 | | - config = { |
20 | | - github.ci.buildOutputs = [ ".#ci.${projectName}" ]; |
21 | | - }; |
22 | | - }; |
23 | | - |
24 | | - buildPaths = [ |
25 | | - "build.rs" |
26 | | - "Cargo.toml" |
27 | | - "Cargo.lock" |
28 | | - ".cargo" |
29 | | - "src" |
30 | | - "themes" |
31 | | - "bat" |
32 | | - "executors.yaml" |
33 | | - ]; |
34 | | - |
35 | | - buildSrc = flakeboxLib.filterSubPaths { |
36 | | - root = builtins.path { |
37 | | - name = projectName; |
38 | | - path = ./.; |
39 | | - }; |
40 | | - paths = buildPaths; |
41 | | - }; |
42 | | - |
43 | | - multiBuild = |
44 | | - (flakeboxLib.craneMultiBuild { }) (craneLib': |
45 | | - let |
46 | | - craneLib = (craneLib'.overrideArgs { |
47 | | - pname = projectName; |
48 | | - src = buildSrc; |
49 | | - nativeBuildInputs = [ ]; |
50 | | - }); |
51 | | - in |
52 | | - { |
53 | | - ${projectName} = craneLib.buildPackage { }; |
54 | | - }); |
55 | | - in |
56 | | - { |
57 | | - packages.default = multiBuild.${projectName}; |
58 | | - |
59 | | - legacyPackages = multiBuild; |
60 | | - |
61 | | - devShells = flakeboxLib.mkShells { }; |
62 | | - } |
63 | | - ); |
64 | 24 | } |
0 commit comments