Skip to content

Conversation

@tani
Copy link

@tani tani commented Nov 24, 2024

Closes #82

Thank you for maintaining this fantastic project!

This pull request adds a flake.nix file to facilitate the installation of CIEL via Nix. As you may know, Nix’s official repository aggregates Lisp libraries from Quicklisp. If you plan to upload CIEL to Quicklisp in the future, this pull request may no longer be necessary.

However, until that exciting milestone, this flake.nix allows users to easily install CIEL using Nix.

Thank you again for your hard work on this project. I hope this addition proves helpful!

@tani
Copy link
Author

tani commented Nov 24, 2024

This pull request for nix still does not allow the ciel command line interface to parse arguments. This is due to the fact that the libreadline path is off when ciel is built as an executable. Therefore, this recipe outputs an image file, which is read by sbcl to invoke the REPL. readline bugs will be addressed in the future.

@theneosloth
Copy link

Is there any additional testing or dev required on this? I use nix for my dev environments and I would love to have a documented way to load ciel.

repl.lisp Outdated
(ignore-errors (load "~/quicklisp/setup"))
#+quicklisp
(let ((*standard-output* (make-broadcast-stream)))
(ql:quickload "cl-readline"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fear this fails silently for some users. Should you not handle the case of users who have Quicklisp, don't use Nix, but could have an error loading ~/quicklisp/setup and thus don't load cl-readline? Just print a warning on stdout.

@vindarel
Copy link
Contributor

vindarel commented Mar 6, 2025

indeed it looks great. Everything's ready @tani ?

I only have a fear after your addition of ignore-errors and #+quicklisp (handle #-quicklisp and print a message?)

- Add flake.nix with complete build configuration
- Use nvfetcher for non-Quicklisp dependencies (cl-json-pointer, termp)
- Remove Quicklisp dependency via patch
- Support nix develop, nix run, and nix build commands
- Include all necessary dependencies from nixpkgs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@tani
Copy link
Author

tani commented Aug 11, 2025

I have further improved the Nix setup to align more closely with Nix best practices, while ensuring the changes are harmless to the core CIEL codebase. When convenient, I would be grateful if you could review and, if everything looks good, proceed with the merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants