-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathflake.nix
62 lines (62 loc) · 2.07 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{
description = "Demo lispPackagesLite app using flakes";
inputs = {
cl-nix-lite.url = "github:hraban/cl-nix-lite/v0";
};
outputs = {
self, nixpkgs, cl-nix-lite, flake-utils
}:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system}.extend cl-nix-lite.overlays.default;
in
{
# This is a demo of how to use lispPackagesLite, not a demo of how to
# write the perfect minimal DRY flake.nix. Hence the code duplication
# 🙂
packages = {
# This is how you would create a derivation using SBCL (the default)
sbcl = with pkgs.lispPackagesLite; lispDerivation {
name = "flake-app";
lispSystem = "flake-app";
lispDependencies = [
alexandria
arrow-macros
];
src = pkgs.lib.cleanSource ./.;
dontStrip = true;
meta = {
license = pkgs.lib.licenses.agpl3Only;
};
};
# This uses CLISP
clisp = with pkgs.lispPackagesLiteFor pkgs.clisp; lispDerivation {
name = "flake-app";
lispSystem = "flake-app";
lispDependencies = [
alexandria
arrow-macros
];
src = pkgs.lib.cleanSource ./.;
meta = {
license = pkgs.lib.licenses.agpl3Only;
};
};
# This uses ECL
ecl = with pkgs.lispPackagesLiteFor pkgs.ecl; lispDerivation {
name = "flake-app";
lispSystem = "flake-app";
lispDependencies = [
alexandria
arrow-macros
];
src = pkgs.lib.cleanSource ./.;
meta = {
license = pkgs.lib.licenses.agpl3Only;
};
};
# Error using ABCL:
# Not (currently) implemented on ABCL: UIOP/IMAGE:DUMP-IMAGE dumping an executable
};
});
}