This is a skeleton for a Common Lisp project.
The goal is to reuse the facilities provided by nixpkgs to generate expressions for quicklisp packages.
- Enter required systems line by line in
ql.txt
. - Run
nix-shell
:- If no expressions have been generated before:
ql-to-nix.lisp
andtop-package.emb
, the sources for which are distributed with nixpkgs, are patched and installedquicklisp-to-nix
is called inside./nix-lisp
with arguments--local
(provided by patching) and.
for current directorynix-shell
exits
- If expressions have been generated:
./nix-lisp/lisp.nix
is imported- Packages in
ql.txt
are used to create inputs for your shell - A wrapper
lisp
is provided to loadlinedit
when it is installed
- If no expressions have been generated before:
- Overrides in
./nix-lisp/quicklisp-to-nix-overrides.nix
are to be written manually. - Provided
.envrc
useslorri
quicklisp-to-nix
when called locally should check if requested quicklisp package already exists in the nixpkgs tree, that is why we patchql-to-nix.lisp
top-package.emb
is the template for finalquicklisp-to-nix.nix
and it uses a relative path to the nixpkgs tree to loaddefine-package.nix
, which makes it unusable in a local shell. Instead, we passbuildLispPackage
as an argument
- Test for bugs