#+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=.