Droidnix: A Dendritic NixOS + Home Manager Configuration NixOS Configuration Structure
+Table of Contents
+-
+
- Shortcuts +
- Introduction intro + + +
- Root Level +
- Generated Structure + + +
- The Assets Folder assets + + +
- The Actual Code code
+
-
+
flake.nix
+
+ - First the nix-files that flake really needs and that do not fit wel in the hierarchical structure + + +
- Now we reach the top of the hierarchiy which will call all other imports + + +
- Hyprland
+
-
+
generated/hyprland/animations_effects/top.nix
+generated/hyprland/animations_effects/placeholder.nix
+generated/hyprland/decorations/top.nix
+generated/hyprland/decorations/placeholder.nix
+generated/hyprland/keyboard_binds/top.nix
+generated/hyprland/keyboard_binds/placeholder.nix
+generated/hyprland/notifications/top.nix
+generated/hyprland/notifications/placeholder.nix
+generated/hyprland/statusbar_tray/top.nix
+generated/hyprland/statusbar_tray/placeholder.nix
+generated/hyprland/task_launcher/top.nix
+generated/hyprland/task_launcher/placeholder.nix
+generated/hyprland/task_window_workspace_switcher/top.nix
+generated/hyprland/task_window_workspace_switcher/placeholder.nix
+generated/hyprland/window_rules/top.nix
+generated/hyprland/window_rules/placeholder.nix
+
+ - Mangowc
+
-
+
generated/mangowc/animations_effects/top.nix
+generated/mangowc/animations_effects/placeholder.nix
+generated/mangowc/decorations/top.nix
+generated/mangowc/decorations/placeholder.nix
+generated/mangowc/keyboard_binds/top.nix
+generated/mangowc/keyboard_binds/placeholder.nix
+generated/mangowc/notifications/top.nix
+generated/mangowc/notifications/placeholder.nix
+generated/mangowc/statusbar_tray/top.nix
+generated/mangowc/statusbar_tray/placeholder.nix
+generated/mangowc/task_launcher/top.nix
+generated/mangowc/task_launcher/placeholder.nix
+generated/mangowc/task_window_workspace_switcher/top.nix
+generated/mangowc/task_window_workspace_switcher/placeholder.nix
+generated/mangowc/window_rules/top.nix
+generated/mangowc/window_rules/placeholder.nix
+
+ - System
+
-
+
generated/system/applications/file_management/top.nix
+generated/system/applications/file_management/placeholder.nix
+generated/system/applications/gaming/top.nix
+generated/system/applications/gaming/placeholder.nix
+generated/system/applications/office_productivity/top.nix
+generated/system/applications/office_productivity/placeholder.nix
+generated/system/applications/media_playback_editing/top.nix
+generated/system/applications/media_playback_editing/placeholder.nix
+generated/system/applications/terminal_shell/top.nix
+generated/system/applications/terminal_shell/placeholder.nix
+generated/system/applications/accessibility/top.nix
+generated/system/applications/accessibility/placeholder.nix
+generated/system/development/databases/top.nix
+generated/system/development/databases/placeholder.nix
+generated/system/development/devops_ci_cd/top.nix
+generated/system/development/devops_ci_cd/placeholder.nix
+generated/system/development/programming_languages/top.nix
+generated/system/development/programming_languages/placeholder.nix
+generated/system/development/virtualization/top.nix
+generated/system/development/virtualization/placeholder.nix
+generated/system/development/web_development/top.nix
+generated/system/development/web_development/placeholder.nix
+generated/system/system_management/backups/top.nix
+generated/system/system_management/backups/placeholder.nix
+generated/system/system_management/bluetooth/top.nix
+generated/system/system_management/bluetooth/placeholder.nix
+generated/system/system_management/power_management/top.nix
+generated/system/system_management/power_management/placeholder.nix
+generated/system/system_management/audio/top.nix
+generated/system/system_management/audio/placeholder.nix
+generated/system/system_management/hardware_sensors/top.nix
+generated/system/system_management/hardware_sensors/placeholder.nix
+generated/system/system_management/logging_monitoring/top.nix
+generated/system/system_management/logging_monitoring/placeholder.nix
+generated/system/system_management/login_manager/top.nix
+generated/system/system_management/login_manager/placeholder.nix
+generated/system/system_management/monitor_setup/top.nix
+generated/system/system_management/monitor_setup/placeholder.nix
+generated/system/system_management/networking/top.nix
+generated/system/system_management/networking/placeholder.nix
+generated/system/system_management/printers_scanners/top.nix
+generated/system/system_management/printers_scanners/placeholder.nix
+generated/system/system_management/disk_management/top.nix
+generated/system/system_management/disk_management/placeholder.nix
+generated/system/system_management/security/top.nix
+generated/system/system_management/security/placeholder.nix
+generated/system/system_management/system_updates/top.nix
+generated/system/system_management/system_updates/placeholder.nix
+
+
Shortcuts
++Introduction +The Assets Folder +The Actual Code +
+ ++— +
+Introduction intro
+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.
+
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: +
+-
+
.assets/: Static, non-generated files (e.g., configs, scripts, themes).
+- Generated folders (
common,hyprland,mangowc): NixOS and Home Manager configurations, generated from Org files.
+
Root Level
+-
+
flake.nixis the entry point and imports: +-
+
generated/system/
+generated/hyprland/
+generated/mangowc/
+- Machine-specific configurations from
assets/machines/
+
+
Generated Structure
+
+The generated/ directory contains all generated configurations, divided into three main groups: system, hyprland, and mangowc.
+
System (generated/system/)
++This directory contains system-wide configurations that are independent of the window manager. +
+Applications (applications/)
+-
+
file_management/: Configurations for file managers and storage solutions.
+gaming/: Settings for gaming-related software.
+office_productivity/: Configurations for office software.
+media_playback_editing/: Settings for media playback and editing software.
+terminal_shell/: Configurations for terminal emulators and shells.
+
Development (development/)
+-
+
databases/: Settings for local databases.
+devops_ci_cd/: Configurations for DevOps tools.
+programming_languages/: Settings for programming languages and their runtimes.
+virtualization/: Configurations for virtualization and containerization tools.
+web_development/: Settings for web development.
+
System Management (system_management/)
+-
+
backups/: Settings for backup software.
+bluetooth/: Configurations for Bluetooth devices and services.
+power_management/: Settings for power management.
+audio/: Configurations for audio.
+hardware_sensors/: Settings for hardware monitoring.
+logging_monitoring/: Configurations for system logging and monitoring.
+login_manager/: Settings for the login manager.
+monitor_setup/: Configurations for display settings.
+networking/: Settings for networking.
+printers_scanners/: Configurations for printers and scanners.
+disk_management/: Settings for disk management.
+security/: Security-related configurations.
+system_updates/: Settings for system updates and package management.
+
Hyprland (generated/hyprland/)
++This directory contains configurations specific to Hyprland. +
+ +-
+
animations_effects/: Settings for window animations and visual effects.
+decorations/: Configurations for window decorations.
+keyboard_binds/: Keyboard shortcuts for Hyprland.
+notifications/: Settings for notifications.
+statusbar_tray/: Configurations for the status bar and system tray.
+task_launcher/: Settings for task launchers.
+task_window_workspace_switcher/: Configurations for switching between windows and workspaces.
+window_rules/: Rules for window behavior.
+
MangoWC (generated/mangowc/)
++This directory contains configurations specific to MangoWC. +
+ +-
+
animations_effects/: Settings for animations and effects in MangoWC.
+decorations/: Configurations for window decorations.
+keyboard_binds/: Keyboard shortcuts for MangoWC.
+notifications/: Settings for notifications.
+statusbar_tray/: Configurations for the status bar and system tray.
+task_launcher/: Settings for task launchers.
+task_window_workspace_switcher/: Configurations for switching between windows and workspaces.
+window_rules/: Rules for window behavior.
+
+File Structure and Imports +
+-
+
- Every
top.nixfile imports all.nixfiles in its directory.
+ - Machine-specific configurations are stored in
assets/machines/.
+ - Themes and overrides are modular and reusable across setups. +
+Design Principles +
+-
+
- Modularity: Each component is self-contained and reusable. +
- Consistency: Every directory follows the same import pattern. +
- Scalability: Easy to add new machines or configurations. +
+. +├── assets +│ ├── common +│ │ ├── conf +│ │ │ └── base.conf +│ │ ├── cursors +│ │ │ └── Bibata_Cursor-main +│ │ ├── emacs +│ │ │ └── setup_emacs.sh +│ │ ├── icons +│ │ │ └── papirus-icon-theme-master +│ │ ├── neovim +│ │ │ └── setup_nvim_literate_nixos.sh +│ │ ├── nixos_conf +│ │ │ └── wallpaperstuff +│ │ │ ├── pictures +│ │ │ └── videos +│ │ ├── scripts +│ │ │ ├── copy_stuff.sh +│ │ │ └── end_script.sh +│ │ └── themes +│ │ └── Catppuccin-Mocha-Standard-Blue-Dark +│ ├── copy_stuff +│ │ ├── Droidnix +│ │ │ ├── hypr +│ │ │ │ ├── conf.d +│ │ │ │ └── scripts +│ │ │ └── wallpaperstuff +│ │ │ ├── pictures +│ │ │ └── videos +│ │ └── kitty +│ │ ├── kitty.conf +│ │ └── themes +│ │ └── Catppuccin-Mocha.conf +│ ├── hyprland +│ │ ├── conf +│ │ ├── scripts +│ │ └── themes +│ ├── machines +│ │ ├── maindroid +│ │ └── traveldroid +│ │ ├── configuration.nix +│ │ ├── hardware-configuration.nix +│ │ └── home.nix +│ └── mangowc +│ ├── conf +│ ├── scripts +│ └── themes +├── generated +│ ├── hyprland +│ │ ├── animations_effects +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── decorations +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── keyboard_binds +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── notifications +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── statusbar_tray +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── task_launcher +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── task_window_workspace_switcher +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ └── window_rules +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── mangowc +│ │ ├── animations_effects +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── decorations +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── keyboard_binds +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── notifications +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── statusbar_tray +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── task_launcher +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── task_window_workspace_switcher +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ └── window_rules +│ │ ├── top.nix +│ │ └── placeholder.nix +│ └── system +│ ├── applications +│ │ ├── file_management +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── gaming +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── office_productivity +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── media_playback_editing +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── terminal_shell +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ └── accessibility +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── development +│ │ ├── databases +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── devops_ci_cd +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── programming_languages +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ ├── virtualization +│ │ │ ├── top.nix +│ │ │ └── placeholder.nix +│ │ └── web_development +│ │ ├── top.nix +│ │ └── placeholder.nix +│ └── system_management +│ ├── backups +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── bluetooth +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── power_management +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── audio +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── hardware_sensors +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── logging_monitoring +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── login_manager +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── monitor_setup +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── networking +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── printers_scanners +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── disk_management +│ │ ├── top.nix +│ │ └── placeholder.nix +│ ├── security +│ │ ├── top.nix +│ │ └── placeholder.nix +│ └── system_updates +│ ├── top.nix +│ └── placeholder.nix +├── flake.nix +├── README.html +└── README.org ++
First Setup
+-
+
- Clone this repository. +
- Run the setup script:
./setup_droidnix.sh.
+ - Edit
.assets/common/conf/base.confto choose your window manager (wm = "hyprland"orwm = "mangowc").
+ - Tangle this Org file to generate Nix configurations:
C-c C-v tin Emacs or use this:emacs README.org --batch -f org-babel-tangle && emacs --batch --eval "(setq org-html-htmlize-output-type nil)" README.org -f org-html-export-to-html
+ - Build and switch:
sudo nixos-rebuild switch --flake .#<hostname>.
+
+— +
+The Assets Folder assets
+
+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/
++This folder contains files shared across both window managers, such as wallpapers, shell configs, and common scripts. +
+ +-
+
conf/base.conf: Defines the window manager choice and other global settings.
+scripts/: System-wide scripts (e.g., utilities, helpers).
+
.assets/hyprland/
++Hyprland-specific assets, including configs, themes, and scripts. +
+ +-
+
conf/: Hyprland configuration files (e.g.,hyprland.conf).
+themes/: Hyprland-specific theme scripts.
+scripts/: Hyprland-specific scripts.
+
.assets/mangowc/
++Mangowc-specific assets, including configs, themes, and scripts. +
+ +-
+
conf/: Mangowc configuration files.
+themes/: Mangowc-specific theme scripts.
+scripts/: Mangowc-specific scripts.
+
.assets/machines/
+
+Machine-specific NixOS configurations (e.g., configuration.nix for maindroid and traveldroid).
+
+— +
+The Actual Code code
++This section contains the Org blocks for tangling Nix code into the generated folders. +
+flake.nix
++The Nix flake definition for Droidnix. +
+{
+ description = "Droidnix: A dendritic NixOS + Home Manager configuration";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ home-manager = {
+ url = "github:nix-community/home-manager";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ emacs-overlay = {
+ url = "github:nix-community/emacs-overlay";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ catppuccin = {
+ url = "github:catppuccin/nix";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ zen-browser = {
+ url = "github:youwen5/zen-browser-flake";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ hyprland.url = "github:hyprwm/Hyprland";
+ };
+
+ outputs = inputs@{ nixpkgs, home-manager, emacs-overlay, catppuccin, zen-browser, hyprland, ... }:
+ let
+ lib = nixpkgs.lib;
+ system = lib.system.system;
+ user = import ./assets/flake/users/henrov.nix;
+ machines = ["traveldroid" "maindroid"];
+ in
+ {
+ nixosConfigurations = lib.genAttrs machines (machine: lib.nixosSystem {
+ inherit system;
+ modules = [
+ # Import machine-specific configurations
+ ./assets/flake/machines/${machine}/top.nix
+
+ # Home Manager and theme modules
+ home-manager.nixosModules.home-manager {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.extraSpecialArgs = { inherit user inputs; };
+ }
+ inputs.catppuccin.nixosModules.catppuccin
+ ];
+ specialArgs = { inherit user inputs; };
+ });
+
+ devShells.${system}.default = import ./assets/flake/terminal_shell/devshell.nix {
+ inherit (nixpkgs) mkShell;
+ };
+ };
+}
+
+
+First the nix-files that flake really needs and that do not fit wel in the hierarchical structure
+assets/flake/users/henrov.nix
++This is the default user, just search and replace henrov another name if you want to change +
+{ system, ... }:
+{
+ username = "henrov";
+ homeDirectory = "/home/henrov";
+ stateVersion = "25.11";
+ locale = "nl_NL.UTF-8";
+}
+
+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. +
+{ mkShell }:
+mkShell {
+ buildInputs = with import <nixpkgs> {}; [
+ nil
+ nixfmt-rfc-style
+ ];
+}
+
+assets/flake/machines/traveldroid/top.nix
++This code defines the machine to build. Just search and replace traveldroid to provision another machine. +
+{ config, pkgs, lib, user, inputs, ... }:
+{
+ # Import all other configurations
+ imports = [
+ ./hardware-configuration.nix
+ ];
+ # Minimal settings that must be defined here
+ networking.hostName = "traveldroid";
+ wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the nerar future.
+ # In generated/top.nix the chpice fopr a window manager will be effectuated
+}
+
+Now we reach the top of the hierarchiy which will call all other imports
+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. +
+{ config, pkgs, lib, user, inputs, ... }:
+{
+ imports = [
+ # First the stuff that we always want, regardless of windowmanager
+ ./system/top.nix
+ # Import window manager configurations based on the type defined in the machine file
+ (if config.wm.type == "hyprland" then
+ ./window_managers/hyprland/top.nix
+ else if config.wm.type == "mangowc" then
+ ./window_managers/mangowc/top.nix
+ else
+ assert false; "Unknown window manager type: ${config.wm.type}"
+ )
+ ];
+}
+
+Hyprland
+generated/hyprland/animations_effects/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/animations_effects/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/decorations/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/decorations/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/keyboard_binds/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/keyboard_binds/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/notifications/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/notifications/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/statusbar_tray/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/statusbar_tray/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/task_launcher/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/task_launcher/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/task_window_workspace_switcher/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/task_window_workspace_switcher/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/hyprland/window_rules/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/hyprland/window_rules/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+Mangowc
+generated/mangowc/animations_effects/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/animations_effects/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/decorations/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/decorations/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/keyboard_binds/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/keyboard_binds/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/notifications/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/notifications/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/statusbar_tray/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/statusbar_tray/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/task_launcher/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/task_launcher/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/task_window_workspace_switcher/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/task_window_workspace_switcher/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/mangowc/window_rules/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/mangowc/window_rules/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+System
+generated/system/applications/file_management/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/applications/file_management/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/applications/gaming/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/applications/gaming/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/applications/office_productivity/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/applications/office_productivity/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/applications/media_playback_editing/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/applications/media_playback_editing/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/applications/terminal_shell/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/applications/terminal_shell/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/applications/accessibility/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/applications/accessibility/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/development/databases/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/development/databases/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/development/devops_ci_cd/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/development/devops_ci_cd/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/development/programming_languages/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/development/programming_languages/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/development/virtualization/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/development/virtualization/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/development/web_development/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/development/web_development/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/backups/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/backups/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/bluetooth/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/bluetooth/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/power_management/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/power_management/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/audio/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/audio/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/hardware_sensors/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/hardware_sensors/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/logging_monitoring/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/logging_monitoring/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/login_manager/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/login_manager/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/monitor_setup/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/monitor_setup/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/networking/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/networking/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/printers_scanners/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/printers_scanners/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/disk_management/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/disk_management/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/security/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/security/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+generated/system/system_management/system_updates/top.nix
+{ lib, config, pkgs, ... }:
+{
+ imports = [ ./placeholder.nix ];
+}
+
+generated/system/system_management/system_updates/placeholder.nix
+{ pkgs, user, ... }:
+{
+ # Your configurations here
+}
+
+