summary refs log tree commit diff
path: root/readme.org
blob: e5335a521622f76176c134caec660de39d57a80f (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
50
#+title: Crazazy's literal config
#+author: Crazazy
#+PROPERTY: header-args :tangle yes :noweb yes :results silent
#+HTML_HEAD: <link rel="stylesheet" href="https://latex.now.sh/style.css">
#+OPTIONS: ^:nil p:t

This is my collection of literal config for my global and emacs setup

In this document I'm mostly going to set up some prerequisites for tangling other files and setting up dependencies

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 link]]
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
   #+end_src

   Then, we remove the default stuff that niv comes with by default
   #+begin_src sh :tangle bootstrap.sh
     niv drop nixpkgs
     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]]