#+title: Crazazy's literal config #+author: Crazazy #+PROPERTY: header-args :tangle yes :noweb yes :results silent #+INCLUDE: ./style.org This is my collection of literal config for my global and emacs setup you can =git clone= the org files at [[https://crazazy.tilde.cafe/literal-config.git][this link]] In this document I'm mostly going to set up some prerequisites for tangling other files and setting up dependencies * Maintenance links :noexport: This is for the org-mode side only It is assumed that you have nix and emacs installed for this config to work. You can tangle all files [[elisp:(dolist (i (directory-files (file-name-directory (buffer-file-name (current-buffer))) t "\\.org$")) (org-babel-tangle-file i))][with this lisp]] You can export all org files to html with a [[shell:for i in *.org; do emacs -Q $i --batch --eval "(org-html-export-to-html)" & done; rm style.html*; scp *.html cafe:public_html/][this small script]] You can then install required dependencies with [[shell:./bootstrap.sh &][the bootstrap link]] * Dependencies Dependencies are handled by [[https://github.com/nmattia/niv][niv]]. I have put the dependencies in a shell file, rather than the output of niv itself, as I prefer that this configuration setup declares what I as a user would otherwise be doing by hand. Declarativity takes precendence over reproducibility here ** initialization First, we have to setup niv, you don't have to do anything here, as nix will just do everything for you #+begin_src sh :tangle bootstrap.sh :tangle-mode (identity #o755) #!/usr/bin/env nix-shell #!nix-shell -p niv -i bash niv init --no-nixpkgs #+end_src Then, we remove the default stuff that niv comes with by default #+begin_src sh :tangle bootstrap.sh niv drop niv #+end_src ** Adding dependencies Now it is time to actually add some dependencies into niv *** Emacs This dependency adds nix infrastructure for emacs that I wrote a while ago. better to add it as a dependency now #+begin_src sh :tangle bootstrap.sh niv add crazazy/emacs #+end_src *** NUR the [[https://github.com/nix-community/nur][Nix User Repository]] that contains my old config, and custom packages some people made #+begin_src sh :tangle bootstrap.sh niv add nix-community/NUR #+end_src *** emacs-ng I don't want to exactly lose track of this, so I'm going to include [[https://github.com/emacs-ng/emacs-ng][emacs-ng]] just incase #+begin_src sh :tangle bootstrap.sh niv add emacs-ng/emacs-ng #+end_src * Other stuff Other files that are available right now are [[file:nixos.org][the nixos config]] and [[file:emacs.org][the emacs config]] If you have any questions or comments about this repository, just HMU at [[mailto:crazazy@tilde.cafe][crazazy (at) tilde (dot) cafe]]