From b8ad2badd1d053640d316941df41918547943f26 Mon Sep 17 00:00:00 2001 From: Christopher James Hayward Date: Sun, 17 Apr 2022 10:50:32 -0400 Subject: [PATCH] Force XDG spec in lein --- README.org | 15 +++++++++++---- shells/clojure.nix | 10 ++++++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/README.org b/README.org index cb37557..206c32a 100644 --- a/README.org +++ b/README.org @@ -423,18 +423,25 @@ mkShell { ** Clojure -[[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. +[[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. Unfortunately the tooling does not comply with the XDG directory specification, so we bring it into the modern age kicking and screaming with a custom shell script binary. Import this shell with ~nix-shell /etc/dotfiles/shells/clojure.nix~. + #+BEGIN_SRC nix :noweb yes :tangle shells/clojure.nix # <> { pkgs ? import { } }: with pkgs; -mkShell { + +let + myLein = pkgs.writeShellScriptBin "lein" '' + HOME=~/.local/share/lein ${pkgs.leiningen}/bin/lein + ''; + +in mkShell { buildInputs = [ - leiningen + myLein ]; shellHook = '' ''; @@ -1527,7 +1534,7 @@ epkgs.which-key (erc-tls :server "irc.libera.chat" :port 6697 :nick "megaphone" - :password (password-store-get "megaphone@libera.chat") + :password (password-store-get "libera.chat/megaphone") :full-name "Chris Hayward")) ;; Configure keybindings. diff --git a/shells/clojure.nix b/shells/clojure.nix index 746d9d8..abff562 100644 --- a/shells/clojure.nix +++ b/shells/clojure.nix @@ -2,9 +2,15 @@ { pkgs ? import { } }: with pkgs; -mkShell { + +let + myLein = pkgs.writeShellScriptBin "lein" '' + HOME=~/.local/share/lein ${pkgs.leiningen}/bin/lein + ''; + +in mkShell { buildInputs = [ - leiningen + myLein ]; shellHook = '' '';