- Management of NixOS and Emacs configs in literate org file - d-setup.org.
- Files are tangled to
gdk/
directory, thus making the repo look clean and minimal. - .dir-locals.el - Helps to set local variable in emacs session for org-mode buffer.
- .envrc - For direnv, shell environment based on flake or bash.
Class | Name |
---|---|
πΈ Window Manager | Hyprland |
π Text Editor | Emacs |
π¨ Gtk Theme | Adw-gtk3 |
ο± Font | Recursive font |
π Pdf Reader | Sioyek (ditch zathura) |
π¬ Media Player | MPV! (its MVP too) |
πΌοΈ Image Viewer | Imv |
π° RSS Reader | Elfeed (Again, Emacs) |
πΆ Music Player | Ncmpcpp or Mingus in Emacs |
ο Terminal | Foot via footclient |
π Menu/Launcher | Rofi |
ποΈ Notification | Dunst |
π° Shell | Zshell |
π₯ Status Bar | Waybar |
π«° Favorite Color-Schemes | Haki + Modus-Vivendi |
Rest all other stuffs I do in Emacs, tbh I could do everything in Emacs lol.
Back to literate config. I initially started nixos and emacs config in literate org config, but later on moved to modular split config, cause that is what world demands to have file tree hierarchy. After several months of maintaining it, I wanted to come back to literate org config. The reasons are simple:
- The config has to focus on learning, and literate programming is the way.
- File tree model is dynamic, over time my brain can change and I donβt want to burden by thinking where to put or organize them.
- Maintaining in single org file is easy, yes, it might primarily depend on Emacs only or searching capabilities, but thatβs fine.
- One host, one user, one system; why not one file?
- I can make use of TODO, Fixes, notes, additional resources to refer.
- Learning is the key, forgetting is natural phenomena, so why should I bother about where things are, better off be at one place.
- This really turns out useful when the time of forgetting comes into play.
- One con for maintaining nix config would be that you can repeat an attribute again. (e.g.,
home.packages
) - Other cons like multi host maintenance can be over come by using elisp or org-mode features, or simply with nix conditional statement
if/else
. - I mean if you are still not getting convinced, think again, why ArchWiki is supreme, why google, apple ecosystem are preferred. It is simple, they provide everything at one stop.
- Same applies here, things are at one well organized place, I donβt have to navigate over the dynamic file hierarchy model.
- So analogy goes like this, ArchWiki is like literate org-config and nix documentation is like modular config, nix has scattered resources and no proper place to learn them all. (hope that suffices)
- You can ask me anything by opening an issue, Iβd be glad to share or help you with literate org config.
CPU | 13th Gen Intel i5-13500H (16) @ 2.600GHz |
RAM (startup) | 600MiB / 16GiB |
Swap | 50% (8GB) zram |
Pkgs | 1767 |
Nix current-system | 17 GB |
This repo has bunch of links for learning nix in every possible way.
These configs were the inspiration and helped to build this way.
I thank them sincerely.
- rasendubi - Initiating the idea for literate org config
- Sioodmy - For simplifying the modular config
- fufexan - For advanced nix codes.
If you have reached here, I think youβd like to read more. I have made a static website, you can catch on some stuffs here ==> https://idlip.github.io