blob: 525209d6b42cee9a83d6bf276068cca26eb19d6a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#+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]]
|