#+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 <> + 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']