diff --git a/Droidnix/README.html b/Droidnix/README.html index 6e14bc1be..234b5ab70 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,13 +832,13 @@ 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

    @@ -855,9 +855,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 +873,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.

    @@ -907,9 +907,6 @@ This code defines the machine to build. Just search and replace traveldroid to p wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the near future. }; - { config, lib, user, ... }: - - { users.users.${user.username} = { isNormalUser = true; #description = "Henro Veijer"; @@ -920,16 +917,15 @@ This code defines the machine to build. Just search and replace traveldroid to p # Optional: Enable auto-login for testing services.getty.autologinUser = user.username; - } }
    -
    -

    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.

    @@ -964,13 +960,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.

    @@ -994,9 +990,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

    @@ -1085,9 +1081,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

    @@ -1110,9 +1106,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

    @@ -1130,9 +1126,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

    @@ -1153,9 +1149,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

    @@ -1175,9 +1171,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

    @@ -1205,9 +1201,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

    @@ -1223,9 +1219,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

    @@ -1241,9 +1237,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

    @@ -1265,9 +1261,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

    @@ -1283,9 +1279,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

    @@ -1301,9 +1297,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

    @@ -1319,9 +1315,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

    @@ -1337,9 +1333,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

    @@ -1355,9 +1351,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

    @@ -1373,9 +1369,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

    @@ -1391,9 +1387,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

    @@ -1409,9 +1405,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

    @@ -1427,9 +1423,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

    @@ -1445,9 +1441,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

    @@ -1463,9 +1459,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

    @@ -1481,9 +1477,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

    @@ -1499,9 +1495,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

    @@ -1517,9 +1513,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

    @@ -1535,9 +1531,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

    @@ -1553,9 +1549,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

    @@ -1571,9 +1567,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

    @@ -1589,9 +1585,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

    @@ -1607,9 +1603,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

    @@ -1625,9 +1621,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

    @@ -1643,9 +1639,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

    @@ -1661,9 +1657,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

    @@ -1679,9 +1675,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

    @@ -1697,9 +1693,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

    @@ -1715,9 +1711,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

    @@ -1733,9 +1729,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

    @@ -1751,9 +1747,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

    @@ -1769,9 +1765,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

    @@ -1787,9 +1783,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

    @@ -1805,9 +1801,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

    @@ -1823,9 +1819,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

    @@ -1841,9 +1837,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

    @@ -1859,9 +1855,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

    @@ -1877,9 +1873,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

    @@ -1895,9 +1891,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

    @@ -1913,9 +1909,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

    @@ -1935,7 +1931,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:33

    +

    Created: 2026-03-07 za 14:34

    Validate

    diff --git a/Droidnix/README.org b/Droidnix/README.org index 6b6e08a62..970c7844f 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -469,9 +469,6 @@ This code defines the machine to build. Just search and replace traveldroid to p wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the near future. }; - { config, lib, user, ... }: - - { users.users.${user.username} = { isNormalUser = true; #description = "Henro Veijer"; @@ -482,7 +479,6 @@ This code defines the machine to build. Just search and replace traveldroid to p # Optional: Enable auto-login for testing services.getty.autologinUser = user.username; - } } #+END_SRC diff --git a/Droidnix/assets/flake/machines/traveldroid/top.nix b/Droidnix/assets/flake/machines/traveldroid/top.nix index 7fea16ba2..076c138fa 100644 --- a/Droidnix/assets/flake/machines/traveldroid/top.nix +++ b/Droidnix/assets/flake/machines/traveldroid/top.nix @@ -25,9 +25,6 @@ wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the near future. }; - { config, lib, user, ... }: - - { users.users.${user.username} = { isNormalUser = true; #description = "Henro Veijer"; @@ -38,6 +35,5 @@ # Optional: Enable auto-login for testing services.getty.autologinUser = user.username; - } }