#+title: Droidnix: A Dendritic NixOS + Home Manager Configuration
#+author: Henro Veijer
#+BEGIN_SRC emacs-lisp :results silent
(let ((dir (getenv "XDG_DROIDNIX_DIR")))
(when dir
(let ((langs '("nix" "sh" "bash" "conf" "lua" "qml" "jsonc" "el" "toml" "css")))
(dolist (lang langs)
(let* ((prop (concat "header-args:" lang))
(val (org-entry-get (point-min) prop t))
(expanded (when val (replace-regexp-in-string
(regexp-quote "$XDG_DROIDNIX_DIR")
dir val))))
(when expanded
(org-global-prop-set prop expanded)))))))
#+END_SRC
#+options: toc:t num:nil htmlize:nil
#+PROPERTY: header-args:nix :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:sh :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:bash :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:css :prologue "/* --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. --- */"
#+PROPERTY: header-args:lua :prologue "--- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:conf :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:qml :prologue "// --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:json :prologue ""
#+PROPERTY: header-args:jsonc :prologue "// --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:el :prologue ";; --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:toml :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in $XDG_DROIDNIX_DIR/README.org. ---"
#+PROPERTY: header-args:none :prologue ""
#+language: en
#+html_head:
#+HTML_HEAD:
#+HTML_HEAD:
* Shortcuts
[#introduction][Introduction]
[#the-assets-folder][The Assets Folder]
[#the-nix-files][The .nix files]
---
* Introduction :intro:
:PROPERTIES:
:CUSTOM_ID: introduction
:END:
** What is Droidnix
Droidnix is a modular, declarative NixOS + Home Manager configuration with configurations managed via Emacs Org and Nix Flakes. The project is designed for reproducibility, maintainability, and cross-machine compatibility.
*** Installed components:
**** Core
**** Hyprland
*** Goals, project Structure, import hierarchy
This project uses a **modular NixOS configuration** with **Hyprland** support, designed for **literate programming** and **cross-device reusability**.
The Droidnix repository is organized into two main parts:
1. =.assets/=: Static, non-generated files (e.g., configs, scripts, themes).
2. Generated files and folders
#+title: NixOS Configuration Structure
* Root Level
- = is the entry point and imports:
- =generated/assets/=
- =generated/modules/=
- =generated/hosts/=
* Generated Structure
The =generated/= directory contains all generated configurations, divided into three main groups: =system=, =hyprland=, and =mangowc=.