Skip to content

Instantly share code, notes, and snippets.

\begin{circuitikz}[]
\draw (3,0) node[spdt,xscale=-1,yscale=-1] (SwR) {};
\draw (1,0) node[spdt] (SwL) {};
\draw (SwL.out 1) -- (SwR.out 2);
\draw (SwL.out 2) -- (SwR.out 1);
\draw (SwL.in)
-- (0,0) to[sV=220<\volt>] (0,3)
-- (1,3) to[lamp] (3,3) -| (SwR.in);
\end{circuitikz}
(defmacro access (trail value)
(let ((trail_ (reverse trail))
(result value))
(dolist (focus trail_ result)
(pcase focus
(`(vector . ,index) (setq result `(aref ,result ',index)))
(`(object . ,key) (setq result `(alist-get ',key ,result)))))))
(defmacro vector-alist-let (spec value body)
(let ((varlist '())
;; Package-Requires: ((request "0.3.2"))
(require 'request)
(defmacro access (trail value)
(let ((trail_ (reverse trail))
(result value))
(dolist (focus trail_ result)
(pcase focus
(`(vector . ,index) (setq result `(aref ,result ',index)))
(`(object . ,key) (setq result `(alist-get ',key ,result)))))))

Converting ClojureScript projects into Nix packages

JavaScript/NPM

Run =node2nix=[fn:node2nix] on the repo to convert JavaScript dependencies into Nix-addressable packages

Clojure

Run =clj2nix=[fn:clj2nix] on the repo to convert Clojure/Java/Maven dependencies into Nix-addressible packages

Converting ClojureScript projects into Nix packages

JavaScript/NPM

Run ~node2nix~[fn:node2nix] on the repo to convert JavaScript dependencies into Nix-addressable packages

Clojure

Run ~clj2nix~[fn:clj2nix] on the repo to convert Clojure/Java/Maven dependencies into Nix-addressible packages