NixOS/README.org

89 lines
2.5 KiB
Org Mode
Executable File

#+title:CaptainJawZ's system configuration
This is my personal system configuration, a project powered by the amazing
self-documenting capabilities of Emacs and NixOS. The goal of this project is
to create a declarative repository. Which when cloned into a live CD, will
replicate my ideal system into a fresh NixOS installation, preconfigured to my
every preference out of the box.
You may be wondering what that system looks like, so here is an overview:
- Modern looking system
- Vanilla Gnome with some quality-of-life extensions.
- A bunch of (preferably GTK/Libadwaita) applications to simplify common
tasks.
- Terminal friendly environment
- Feature-rich terminal applications for automation.
- Fish Shell functions to simplify menial tasks.
- Declaratively setting up paths in a centralize manner to avoid having to
check all of my scripts, functions, dotfiles, if I ever modify the location
of a directory.
- Developer ready environment both for learning and developing.
- Home media center
- Easy deployment of Docker containers for home media center.
- LAN-network settings
- Reverse proxies for accessing my servers outside my home-network
- Minimal gaming
- Windows 10 virtual-machine environment
- Self-organizing database of files
- Resources
https://gitlab.com/dwt1/dotfiles
- Secrets
https://nixos.wiki/wiki/Comparison_of_secret_managing_schemes
https://www.richdevelops.dev/blog/keeping-secrets-out-of-git
https://github.com/ryantm/agenix
https://github.com/Mic92/sops-nix
https://xeiaso.net/blog/nixos-encrypted-secrets-2021-01-20 <--- best one
https://www.reddit.com/r/NixOS/comments/j6nqbe/declarative_secrets/
- Babel
https://www.youtube.com/watch?v=kkqVTDbfYp4&t=1032s
https://orgmode.org/worg/org-contrib/babel/intro.html
https://orgmode.org/manual/Environment-of-a-Code-Block.html
https://org-babel.readthedocs.io/en/latest/eval/
#+name: square
#+begin_src python :results value :header :var x = 0 :var y = 0
return x * y
#+end_src
#+call: square(x=2, y=7)
#+RESULTS:
: 14
#+name: gnome
#+begin_src python :results value
list = [["blender", "gimp", "krita"],["curtail"]]
return list
#+end_src
#+call: gnome()
#+RESULTS:
| blender | gimp | krita |
| curtail | | |
#+name: addthree
#+begin_src python :results value
return <<square(x=2, y=3)>> + 3
#+end_src
#+call: addthree()
#+RESULTS:
#+name: list
- blender
- krita
- gimp
#+begin_src python :results output :var list=list
for item in list:
print(item)
#+end_src
#+RESULTS:
: ['blender']
: ['krita']
: ['gimp']