blob: 1afbe4c6c4fc4d2380e57579054e6300c19c4ff4 (
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
51
|
#+title: Crazazy's literal config
#+author: Crazazy
#+PROPERTY: header-args :tangle yes :noweb yes :results silent
#+HTML_HEAD: <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/latex.css@1.6.0/style.min.css" integrity="sha256-Ncz7wrwMhIHPJupOT4BWvsCDbduC61SmpMasJCmvPB8=" crossorigin="anonymous">
#+HTML_HEAD:<style>body { max-width : 120ch; }</style>
#+OPTIONS: ^:nil p:t
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
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]]
|