[[https://clojure.org][Clojure]] is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like other dialects, Clojure treats code as data and has a Lisp macro system. The current development process is community driven.
Import this shell with ~nix-shell /etc/dotfiles/shells/clojure.nix~.
[[https://nixos.org/][NixOS]] typically stores the current machine configuration in =/etc/nixos/configuration.nix=. In this project, this file is stored in =/etc/dotfiles/hosts/$HOSTNAME/...=, and imported, along with the generated hardware configurations. This ensures that multiple host machines can share the same modules, and generating new host definitions is trivial. It also makes it easier to share common configurations amongst all of the hosts, such as with pre-configured wireless networking:
@ -1083,6 +1103,7 @@ let
<<emacs-golang-package>>
<<emacs-python-package>>
<<emacs-rustic-package>>
<<emacs-clojure-package>>
<<emacs-plantuml-package>>
<<emacs-protobuf-package>>
@ -1160,6 +1181,7 @@ When Emacs is started, it normally tries to load a Lisp program from an ititiali
<<emacs-golang-elisp>>
<<emacs-python-elisp>>
<<emacs-rustic-elisp>>
<<emacs-clojure-elisp>>
<<emacs-plantuml-elisp>>
<<emacs-desktop-elisp>>
@ -2410,6 +2432,26 @@ The built in [[https://emacswiki.org/emacs/PythonProgrammingInEmacs][Python Mode
epkgs.protobuf-mode
#+END_SRC
** Clojure Environment
#+NAME: emacs-clojure-package
#+BEGIN_SRC nix
epkgs.clojure-mode
epkgs.cider
#+END_SRC
[[https://github.com/clojure-emacs/clojure-mode][Clojure Mode]] is an Emacs major mode that provides font-lock (syntax highlighting), indentation, navigation, and refactoring support for the [[https://clojure.org][Clojure]] programming language.
https://github.com/clojure-emacs/cider extends Emacs with support for interactive programming in Clojure. The features are centered around =cider-mode=, adding a running process for compilation, code completion, debugging, definition and documentation lookup, running tests, and more.