diff --git a/Droidnix/README.html b/Droidnix/README.html index 650f6dff7..28f6df15b 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,85 +750,95 @@ 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.

    -
    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";
    -};
    +
    {
    +  description = "Droidnix: A dendritic NixOS + Home Manager configuration";
     
    -outputs =
    -inputs@{
    -nixpkgs,
    -home-manager,
    -emacs-overlay,
    -catppuccin,
    -zen-browser,
    -hyprland,
    -...
    -}:
    -let
    -lib = nixpkgs.lib;
    -system = "x86_64-linux"; # Define the system explicitly
    -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;
    +  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 = "x86_64-linux"; # Define the system explicitly
    +      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

    -
    +
    +

    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

    @@ -844,9 +854,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.

    @@ -862,9 +872,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.

    @@ -900,9 +910,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.

    @@ -938,13 +948,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.

    @@ -968,9 +978,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

    @@ -1059,9 +1069,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

    @@ -1084,9 +1094,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

    @@ -1104,9 +1114,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

    @@ -1127,9 +1137,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

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

    @@ -1179,9 +1189,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

    @@ -1197,9 +1207,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

    @@ -1215,9 +1225,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

    @@ -1239,9 +1249,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

    @@ -1257,9 +1267,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

    @@ -1275,9 +1285,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

    @@ -1293,9 +1303,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

    @@ -1311,9 +1321,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

    @@ -1329,9 +1339,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

    @@ -1347,9 +1357,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

    @@ -1365,9 +1375,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

    @@ -1383,9 +1393,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

    @@ -1401,9 +1411,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

    @@ -1419,9 +1429,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

    @@ -1437,9 +1447,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

    @@ -1455,9 +1465,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

    @@ -1473,9 +1483,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

    @@ -1491,9 +1501,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

    @@ -1509,9 +1519,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

    @@ -1527,9 +1537,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

    @@ -1545,9 +1555,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

    @@ -1563,9 +1573,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

    @@ -1581,9 +1591,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

    @@ -1599,9 +1609,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

    @@ -1617,9 +1627,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

    @@ -1635,9 +1645,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

    @@ -1653,9 +1663,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

    @@ -1671,9 +1681,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

    @@ -1689,9 +1699,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

    @@ -1707,9 +1717,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

    @@ -1725,9 +1735,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

    @@ -1743,9 +1753,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

    @@ -1761,9 +1771,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

    @@ -1779,9 +1789,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

    @@ -1797,9 +1807,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

    @@ -1815,9 +1825,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

    @@ -1833,9 +1843,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

    @@ -1851,9 +1861,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

    @@ -1869,9 +1879,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

    @@ -1887,9 +1897,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

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

    Author: Henro Veijer

    -

    Created: 2026-03-06 vr 23:22

    +

    Created: 2026-03-06 vr 23:25

    Validate

    diff --git a/Droidnix/README.org b/Droidnix/README.org index 4e110fde9..d2fdf7acf 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -341,65 +341,75 @@ This section contains the Org blocks for tangling Nix code into the generated fo ** =flake.nix= The Nix flake definition for Droidnix. #+BEGIN_SRC nix :tangle flake.nix :noweb tangle :mkdirp yes :eval never-html -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 = "x86_64-linux"; # Define the system explicitly -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 + description = "Droidnix: A dendritic NixOS + Home Manager configuration"; - # 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; + 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 = "x86_64-linux"; # Define the system explicitly + 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; + }; + }; } #+END_SRC diff --git a/Droidnix/flake.nix b/Droidnix/flake.nix index cce4dd01f..484837642 100644 --- a/Droidnix/flake.nix +++ b/Droidnix/flake.nix @@ -1,60 +1,70 @@ -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 = "x86_64-linux"; # Define the system explicitly -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 + description = "Droidnix: A dendritic NixOS + Home Manager configuration"; - # 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; + 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 = "x86_64-linux"; # Define the system explicitly + 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; + }; + }; }