diff --git a/Droidnix/README.html b/Droidnix/README.html index fbdf52c4a..1023d8439 100644 --- a/Droidnix/README.html +++ b/Droidnix/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Droidnix: A Dendritic NixOS + Home Manager Configuration NixOS Configuration Structure @@ -204,110 +204,110 @@

Table of Contents

-
-

Shortcuts

-
+
+

Shortcuts

+

Introduction The Assets Folder @@ -323,26 +323,26 @@

Introduction   intro

-
-

What is Droidnix

-
+
+

What is Droidnix

+

Droidnix is a modular, declarative NixOS + Home Manager configuration system. It allows users to choose between Hyprland and Mangowc as their window manager, with shared and WM-specific configurations managed via Emacs Org and Nix Flakes. The project is designed for reproducibility, maintainability, and cross-machine compatibility.

-
-

Installed components:

-
+
+

Installed components:

+
    -
  • Core
  • -
  • Hyprland
  • -
  • Mangowc
  • +
  • Core
  • +
  • Hyprland
  • +
  • Mangowc
-
-

Goals, project Structure, import hierarchy

-
+
+

Goals, project Structure, import hierarchy

+

This project uses a modular NixOS configuration with Hyprland and MangoWC support, designed for literate programming and cross-device reusability. The Droidnix repository is organized into two main parts: @@ -355,9 +355,9 @@ The Droidnix repository is organized into two main parts:

-
-

Root Level

-
+
+

Root Level

+
  • flake.nix is the entry point and imports:
      @@ -369,23 +369,23 @@ The Droidnix repository is organized into two main parts:
-
-

Generated Structure

-
+
+

Generated Structure

+

The generated/ directory contains all generated configurations, divided into three main groups: system, hyprland, and mangowc.

-
-

System (generated/system/)

-
+
+

System (generated/system/)

+

This directory contains system-wide configurations that are independent of the window manager.

-
-

Applications (applications/)

-
+
+

Applications (applications/)

+
  • file_management/: Configurations for file managers and storage solutions.
  • gaming/: Settings for gaming-related software.
  • @@ -395,9 +395,9 @@ This directory contains system-wide configurations that are independent of the w
-
-

Development (development/)

-
+
+

Development (development/)

+
  • databases/: Settings for local databases.
  • devops_ci_cd/: Configurations for DevOps tools.
  • @@ -407,9 +407,9 @@ This directory contains system-wide configurations that are independent of the w
-
-

System Management (system_management/)

-
+
+

System Management (system_management/)

+
  • backups/: Settings for backup software.
  • bluetooth/: Configurations for Bluetooth devices and services.
  • @@ -428,9 +428,9 @@ This directory contains system-wide configurations that are independent of the w
-
-

Hyprland (generated/hyprland/)

-
+
+

Hyprland (generated/hyprland/)

+

This directory contains configurations specific to Hyprland.

@@ -447,9 +447,9 @@ This directory contains configurations specific to Hyprland.
-
-

MangoWC (generated/mangowc/)

-
+
+

MangoWC (generated/mangowc/)

+

This directory contains configurations specific to MangoWC.

@@ -483,7 +483,7 @@ This directory contains configurations specific to MangoWC.
  • Scalability: Easy to add new machines or configurations.
  • -
    +
     .
     ├── assets
     │   ├── common
    @@ -665,9 +665,9 @@ This directory contains configurations specific to MangoWC.
     
    -
    -

    First Setup

    -
    +
    +

    First Setup

    +
    1. Clone this repository.
    2. Run the setup script: ./setup_droidnix.sh.
    3. @@ -689,9 +689,9 @@ This directory contains configurations specific to MangoWC. The .assets/ folder contains all static files, such as configs, scripts, and themes. These files are not generated and can be edited directly.

    -
    -

    .assets/common/

    -
    +
    +

    .assets/common/

    +

    This folder contains files shared across both window managers, such as wallpapers, shell configs, and common scripts.

    @@ -702,9 +702,9 @@ This folder contains files shared across both window managers, such as wallpaper
    -
    -

    .assets/hyprland/

    -
    +
    +

    .assets/hyprland/

    +

    Hyprland-specific assets, including configs, themes, and scripts.

    @@ -716,9 +716,9 @@ Hyprland-specific assets, including configs, themes, and scripts.
    -
    -

    .assets/mangowc/

    -
    +
    +

    .assets/mangowc/

    +

    Mangowc-specific assets, including configs, themes, and scripts.

    @@ -730,9 +730,9 @@ Mangowc-specific assets, including configs, themes, and scripts.
    -
    -

    .assets/machines/

    -
    +
    +

    .assets/machines/

    +

    Machine-specific NixOS configurations (e.g., configuration.nix for maindroid and traveldroid).

    @@ -750,9 +750,9 @@ Machine-specific NixOS configurations (e.g., configuration.nix for This section contains the Org blocks for tangling Nix code into the generated folders.

    -
    -

    flake.nix

    -
    +
    +

    flake.nix

    +

    The Nix flake definition for Droidnix.

    @@ -832,21 +832,22 @@ The Nix flake definition for Droidnix.
    -
    -

    First the nix-files that flake really needs and that do not fit wel in the hierarchical structure

    -
    +
    +

    First the nix-files that flake really needs and that do not fit wel in the hierarchical structure

    +
    -
    -

    assets/flake/users/henrov.nix

    -
    +
    +

    assets/flake/users/henrov.nix

    +

    This is the default user, just search and replace henrov another name if you want to change

    { system, ... }:
    +users.users.henrov =
     {
       username = "henrov";
    -  password = "henrov";
    +  hashedPassword = "$6$jAGyXvcVkJxQhY9y$wZObQV9DR8AS4FSzO3GviOmSdMu9bX7ckUqj4DyFcZlX5sStmxkIv8OE7N9cbS5qksDfxBQQGLGHtjzMKGecI1";
       homeDirectory = "/home/henrov";
       stateVersion = "25.11";
       locale = "nl_NL.UTF-8";
    @@ -855,9 +856,9 @@ This is the default user, just search and replace henrov another name if you wan
     
    -
    -

    assets/flake/terminal_shell/devshell.nix

    -
    +
    +

    assets/flake/terminal_shell/devshell.nix

    +

    This code defines a Nix shell environment (also called a "devShell") that you can enter using the nix develop command. When you enter this shell, Nix will provide the tools and dependencies listed in buildInputs.

    @@ -873,9 +874,9 @@ mkShell {
    -
    -

    assets/flake/machines/traveldroid/top.nix

    -
    +
    +

    assets/flake/machines/traveldroid/top.nix

    +

    This code defines the machine to build. Just search and replace traveldroid to provision another machine.

    @@ -911,9 +912,9 @@ This code defines the machine to build. Just search and replace traveldroid to p
    -
    -

    assets/flake/machines/traveldroid/boot.nix

    -
    +
    +

    assets/flake/machines/traveldroid/boot.nix

    +

    This file has most of the settings the control how the computer boots up.

    @@ -948,13 +949,13 @@ This file has most of the settings the control how the computer boots up.
    -
    -

    Now we reach the top of the hierarchy which will call all other imports

    -
    +
    +

    Now we reach the top of the hierarchy which will call all other imports

    +
    -
    -

    generated/top.nix

    -
    +
    +

    generated/top.nix

    +

    The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.

    @@ -978,9 +979,9 @@ The ./generated/top.nix file acts as an anchor or entry point for the entire cha
    -
    -

    generated/hyprland/top.nix

    -
    +
    +

    generated/hyprland/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1069,9 +1070,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/top.nix

    -
    +
    +

    generated/mangowc/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1094,9 +1095,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/top.nix

    -
    +
    +

    generated/system/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1114,9 +1115,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/top.nix

    -
    +
    +

    generated/system/applications/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1137,9 +1138,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/development/top.nix

    -
    +
    +

    generated/system/development/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1159,9 +1160,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/top.nix

    -
    +
    +

    generated/system/system_management/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1189,9 +1190,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/animations_effects/top.nix

    -
    +
    +

    generated/hyprland/animations_effects/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1207,9 +1208,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/decorations/top.nix

    -
    +
    +

    generated/hyprland/decorations/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1225,9 +1226,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/keyboard_binds/top.nix

    -
    +
    +

    generated/hyprland/keyboard_binds/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1249,9 +1250,9 @@ in
    -
    -

    generated/hyprland/notifications/top.nix

    -
    +
    +

    generated/hyprland/notifications/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1267,9 +1268,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/statusbar_tray/top.nix

    -
    +
    +

    generated/hyprland/statusbar_tray/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1285,9 +1286,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/task_launcher/top.nix

    -
    +
    +

    generated/hyprland/task_launcher/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1303,9 +1304,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/task_window_workspace_switcher/top.nix

    -
    +
    +

    generated/hyprland/task_window_workspace_switcher/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1321,9 +1322,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/hyprland/window_rules/top.nix

    -
    +
    +

    generated/hyprland/window_rules/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1339,9 +1340,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/animations_effects/top.nix

    -
    +
    +

    generated/mangowc/animations_effects/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1357,9 +1358,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/decorations/top.nix

    -
    +
    +

    generated/mangowc/decorations/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1375,9 +1376,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/keyboard_binds/top.nix

    -
    +
    +

    generated/mangowc/keyboard_binds/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1393,9 +1394,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/notifications/top.nix

    -
    +
    +

    generated/mangowc/notifications/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1411,9 +1412,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/statusbar_tray/top.nix

    -
    +
    +

    generated/mangowc/statusbar_tray/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1429,9 +1430,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/task_launcher/top.nix

    -
    +
    +

    generated/mangowc/task_launcher/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1447,9 +1448,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/task_window_workspace_switcher/top.nix

    -
    +
    +

    generated/mangowc/task_window_workspace_switcher/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1465,9 +1466,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/mangowc/window_rules/top.nix

    -
    +
    +

    generated/mangowc/window_rules/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1483,9 +1484,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/accessibility/top.nix

    -
    +
    +

    generated/system/applications/accessibility/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1501,9 +1502,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/file_management/top.nix

    -
    +
    +

    generated/system/applications/file_management/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1519,9 +1520,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/gaming/top.nix

    -
    +
    +

    generated/system/applications/gaming/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1537,9 +1538,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/media_playback_editing/top.nix

    -
    +
    +

    generated/system/applications/media_playback_editing/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1555,9 +1556,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/office_productivity/top.nix

    -
    +
    +

    generated/system/applications/office_productivity/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1573,9 +1574,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/applications/terminal_shell/top.nix

    -
    +
    +

    generated/system/applications/terminal_shell/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1591,9 +1592,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/development/databases/top.nix

    -
    +
    +

    generated/system/development/databases/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1609,9 +1610,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/development/devops_ci_cd/top.nix

    -
    +
    +

    generated/system/development/devops_ci_cd/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1627,9 +1628,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/development/programming_languages/top.nix

    -
    +
    +

    generated/system/development/programming_languages/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1645,9 +1646,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/development/virtualization/top.nix

    -
    +
    +

    generated/system/development/virtualization/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1663,9 +1664,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/development/web_development/top.nix

    -
    +
    +

    generated/system/development/web_development/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1681,9 +1682,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/audio/top.nix

    -
    +
    +

    generated/system/system_management/audio/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1699,9 +1700,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/backups/top.nix

    -
    +
    +

    generated/system/system_management/backups/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1717,9 +1718,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/bluetooth/top.nix

    -
    +
    +

    generated/system/system_management/bluetooth/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1735,9 +1736,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/disk_management/top.nix

    -
    +
    +

    generated/system/system_management/disk_management/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1753,9 +1754,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/hardware_sensors/top.nix

    -
    +
    +

    generated/system/system_management/hardware_sensors/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1771,9 +1772,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/logging_monitoring/top.nix

    -
    +
    +

    generated/system/system_management/logging_monitoring/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1789,9 +1790,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/login_manager/top.nix

    -
    +
    +

    generated/system/system_management/login_manager/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1807,9 +1808,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/monitor_setup/top.nix

    -
    +
    +

    generated/system/system_management/monitor_setup/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1825,9 +1826,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/networking/top.nix

    -
    +
    +

    generated/system/system_management/networking/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1843,9 +1844,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/power_management/top.nix

    -
    +
    +

    generated/system/system_management/power_management/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1861,9 +1862,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/printers_scanners/top.nix

    -
    +
    +

    generated/system/system_management/printers_scanners/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1879,9 +1880,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/security/top.nix

    -
    +
    +

    generated/system/system_management/security/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1897,9 +1898,9 @@ This is top file of this level which contains the bare necessities for this subj
    -
    -

    generated/system/system_management/system_updates/top.nix

    -
    +
    +

    generated/system/system_management/system_updates/top.nix

    +

    This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder

    @@ -1919,7 +1920,7 @@ This is top file of this level which contains the bare necessities for this subj

    Author: Henro Veijer

    -

    Created: 2026-03-07 za 14:05

    +

    Created: 2026-03-07 za 14:17

    Validate

    diff --git a/Droidnix/README.org b/Droidnix/README.org index ea82c38ce..1850a9ebd 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -418,9 +418,10 @@ The Nix flake definition for Droidnix. This is the default user, just search and replace henrov another name if you want to change #+BEGIN_SRC nix :tangle assets/flake/users/henrov.nix :noweb tangle :mkdirp yes :eval never-html { system, ... }: +users.users.henrov = { username = "henrov"; - password = "henrov"; + hashedPassword = "$6$jAGyXvcVkJxQhY9y$wZObQV9DR8AS4FSzO3GviOmSdMu9bX7ckUqj4DyFcZlX5sStmxkIv8OE7N9cbS5qksDfxBQQGLGHtjzMKGecI1"; homeDirectory = "/home/henrov"; stateVersion = "25.11"; locale = "nl_NL.UTF-8"; diff --git a/Droidnix/assets/flake/users/henrov.nix b/Droidnix/assets/flake/users/henrov.nix index d3f595f12..320d40c1f 100644 --- a/Droidnix/assets/flake/users/henrov.nix +++ b/Droidnix/assets/flake/users/henrov.nix @@ -1,7 +1,8 @@ { system, ... }: +users.users.henrov = { username = "henrov"; - password = "henrov"; + hashedPassword = "$6$jAGyXvcVkJxQhY9y$wZObQV9DR8AS4FSzO3GviOmSdMu9bX7ckUqj4DyFcZlX5sStmxkIv8OE7N9cbS5qksDfxBQQGLGHtjzMKGecI1"; homeDirectory = "/home/henrov"; stateVersion = "25.11"; locale = "nl_NL.UTF-8"; diff --git a/Droidnix/traveldroid.qcow2 b/Droidnix/traveldroid.qcow2 index baf67a8c6..62175c266 100644 Binary files a/Droidnix/traveldroid.qcow2 and b/Droidnix/traveldroid.qcow2 differ