diff --git a/Droidnix/README.html b/Droidnix/README.html index e8abbfa8e..92f5f754e 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,113 +204,114 @@

Table of Contents

-
-

Shortcuts

-
+
+

Shortcuts

+

Introduction The Assets Folder @@ -326,26 +327,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: @@ -358,9 +359,9 @@ The Droidnix repository is organized into two main parts:

-
-

Root Level

-
+
+

Root Level

+
  • flake.nix is the entry point and imports:
      @@ -372,23 +373,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.
  • @@ -398,9 +399,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.
  • @@ -410,9 +411,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.
  • @@ -431,9 +432,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.

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

MangoWC (generated/mangowc/)

-
+
+

MangoWC (generated/mangowc/)

+

This directory contains configurations specific to MangoWC.

@@ -486,7 +487,7 @@ This directory contains configurations specific to MangoWC.
  • Scalability: Easy to add new machines or configurations.
  • -
    +
     .
     ├── assets
     │   ├── common
    @@ -668,9 +669,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. @@ -692,9 +693,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.

    @@ -705,9 +706,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.

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

    .assets/mangowc/

    -
    +
    +

    .assets/mangowc/

    +

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

    @@ -733,9 +734,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).

    @@ -753,9 +754,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.

    @@ -838,13 +839,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

    @@ -860,9 +861,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.

    @@ -878,9 +879,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.

    @@ -922,9 +923,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.

    @@ -959,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.

    @@ -982,9 +983,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 just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1007,9 +1008,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/hyprland.nix

    -
    +
    +

    generated/hyprland/hyprland.nix

    +

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

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

    generated/mangowc/top.nix

    -
    +
    +

    generated/mangowc/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1066,9 +1067,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/top.nix

    -
    +
    +

    generated/system/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1087,9 +1088,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/top.nix

    -
    +
    +

    generated/system/applications/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1110,9 +1111,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/core/top.nix

    -
    +
    +

    generated/system/core/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1128,9 +1129,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/core/wayland.nix

    -
    +
    +

    generated/system/core/wayland.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1174,9 +1175,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/top.nix

    -
    +
    +

    generated/system/development/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1196,9 +1197,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/top.nix

    -
    +
    +

    generated/system/system_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1226,9 +1227,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/animations_effects/top.nix

    -
    +
    +

    generated/hyprland/animations_effects/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1244,9 +1245,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/decorations/top.nix

    -
    +
    +

    generated/hyprland/decorations/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1262,9 +1263,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/keyboard_binds/top.nix

    -
    +
    +

    generated/hyprland/keyboard_binds/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1288,9 +1289,9 @@ in
    -
    -

    generated/hyprland/notifications/top.nix

    -
    +
    +

    generated/hyprland/notifications/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1306,9 +1307,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/statusbar_tray/top.nix

    -
    +
    +

    generated/hyprland/statusbar_tray/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1324,9 +1325,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/task_launcher/top.nix

    -
    +
    +

    generated/hyprland/task_launcher/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1342,9 +1343,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    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 just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1360,9 +1361,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/window_rules/top.nix

    -
    +
    +

    generated/hyprland/window_rules/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1378,9 +1379,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/animations_effects/top.nix

    -
    +
    +

    generated/mangowc/animations_effects/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1396,9 +1397,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/decorations/top.nix

    -
    +
    +

    generated/mangowc/decorations/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1414,9 +1415,44 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/keyboard_binds/top.nix

    -
    +
    +

    generated/mangowc/keyboard_binds/top.nix

    +
    +

    +This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder +

    +
    +
    {
    +  config,
    +  pkgs,
    +  lib,
    +  user,
    +  inputs,
    +  flakeRoot,
    +  ...
    +}:
    +let
    +  bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf");
    +  userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix");
    +in
    +{
    +  home-manager.users.${user.username} = {
    +    home.stateVersion = userConfig.stateVersion;
    +    home.username = userConfig.username;
    +    home.homeDirectory = userConfig.homeDirectory;
    +    wayland.windowManager.hyprland = {
    +      enable = true;
    +      extraConfig = bindingsContent;
    +    };
    +  };
    +}
    +
    +
    +
    +
    +
    +

    generated/mangowc/notifications/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1432,9 +1468,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/notifications/top.nix

    -
    +
    +

    generated/mangowc/statusbar_tray/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1450,9 +1486,69 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/statusbar_tray/top.nix

    -
    +
    +

    generated/mangowc/task_launcher/top.nix

    +
    +

    +This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder +

    +
    +
    { config, pkgs, lib, user, inputs, flakeRoot,... }:
    +{
    +  imports = [
    +    ./wofi.nix
    +  ];
    +  # .. put any code here
    +}
    +
    +
    +
    +
    +
    +

    generated/mangowc/task_launcher/wofi.nix

    +
    +

    +This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder +

    +
    +
    { config, pkgs, lib, user, inputs, flakeRoot,... }:
    +{
    +  programs.wofi = {
    +    enable = true;
    +    wrapGtkApps = true; # Required for GTK theming
    +    extraPackages = with pkgs; [ wofi ];
    +  };
    +
    +  # Catppuccin theme for Wofi
    +  home-manager.users.${user.username} = {
    +    xdg.configFile."wofi/config".text = ''
    +      dark
    +      width=500
    +      height=800
    +      lines=10
    +      columns=1
    +      cache_dir=${config.xdg.dataHome}/wofi
    +      allow_images=true
    +      allow_markup=true
    +      show_drun=true
    +    '';
    +
    +    xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub {
    +      owner = "catppuccin";
    +      repo = "wofi";
    +      rev = "main";
    +      sha256 = "sha256-0000000000000000000000000000000000000000000000000000"; # Update with the correct hash
    +      file = "mocha.css"; # or latte/frappe/macchiato
    +    };
    +  };
    +}
    +
    +
    +
    +
    +
    +

    generated/mangowc/task_window_workspace_switcher/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1468,9 +1564,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/task_launcher/top.nix

    -
    +
    +

    generated/mangowc/window_rules/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1486,9 +1582,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/task_window_workspace_switcher/top.nix

    -
    +
    +

    generated/system/applications/accessibility/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1504,9 +1600,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/window_rules/top.nix

    -
    +
    +

    generated/system/applications/file_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1522,9 +1618,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/accessibility/top.nix

    -
    +
    +

    generated/system/applications/gaming/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1540,9 +1636,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/file_management/top.nix

    -
    +
    +

    generated/system/applications/media_playback_editing/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1558,9 +1654,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/gaming/top.nix

    -
    +
    +

    generated/system/applications/office_productivity/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1576,9 +1672,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/media_playback_editing/top.nix

    -
    +
    +

    generated/system/applications/terminal_shell/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1594,9 +1690,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/office_productivity/top.nix

    -
    +
    +

    generated/system/development/databases/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1612,9 +1708,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/terminal_shell/top.nix

    -
    +
    +

    generated/system/development/devops_ci_cd/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1630,9 +1726,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/databases/top.nix

    -
    +
    +

    generated/system/development/programming_languages/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1648,9 +1744,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/devops_ci_cd/top.nix

    -
    +
    +

    generated/system/development/virtualization/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1666,9 +1762,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/programming_languages/top.nix

    -
    +
    +

    generated/system/development/web_development/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1684,9 +1780,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/virtualization/top.nix

    -
    +
    +

    generated/system/system_management/audio/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1702,9 +1798,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/web_development/top.nix

    -
    +
    +

    generated/system/system_management/backups/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1720,9 +1816,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/audio/top.nix

    -
    +
    +

    generated/system/system_management/bluetooth/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1738,9 +1834,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/backups/top.nix

    -
    +
    +

    generated/system/system_management/disk_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1756,9 +1852,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/bluetooth/top.nix

    -
    +
    +

    generated/system/system_management/hardware_sensors/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1774,9 +1870,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/disk_management/top.nix

    -
    +
    +

    generated/system/system_management/logging_monitoring/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1792,9 +1888,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/hardware_sensors/top.nix

    -
    +
    +

    generated/system/system_management/login_manager/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1810,9 +1906,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/logging_monitoring/top.nix

    -
    +
    +

    generated/system/system_management/monitor_setup/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1828,9 +1924,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/login_manager/top.nix

    -
    +
    +

    generated/system/system_management/networking/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1846,9 +1942,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/monitor_setup/top.nix

    -
    +
    +

    generated/system/system_management/power_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1864,9 +1960,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/networking/top.nix

    -
    +
    +

    generated/system/system_management/printers_scanners/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1882,9 +1978,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/power_management/top.nix

    -
    +
    +

    generated/system/system_management/security/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1900,45 +1996,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/printers_scanners/top.nix

    -
    -

    -This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder -

    -
    -
    { config, pkgs, lib, user, inputs, flakeRoot,... }:
    -{
    -  imports = [
    -    # No subfolders to import
    -  ];
    -  # .. put any code here
    -}
    -
    -
    -
    -
    -
    -

    generated/system/system_management/security/top.nix

    -
    -

    -This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder -

    -
    -
    { config, pkgs, lib, user, inputs, flakeRoot,... }:
    -{
    -  imports = [
    -    # No subfolders to import
    -  ];
    -  # .. put any code here
    -}
    -
    -
    -
    -
    -
    -

    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 just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1958,7 +2018,7 @@ This is top file of this level which contains just an import statement for all r

    Author: Henro Veijer

    -

    Created: 2026-03-07 za 16:15

    +

    Created: 2026-03-07 za 22:10

    Validate

    diff --git a/Droidnix/README.org b/Droidnix/README.org index 42e7575a5..e1cddc2dc 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -901,12 +901,48 @@ This is top file of this level which contains just an import statement for all r { config, pkgs, lib, user, inputs, flakeRoot,... }: { imports = [ - # No subfolders to import + ./wofi.nix ]; # .. put any code here } #+END_SRC +** =generated/mangowc/task_launcher/wofi.nix= +This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder +#+BEGIN_SRC nix :tangle generated/mangowc/task_launcher/wofi.nix :noweb tangle :mkdirp yes :eval never-html +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + programs.wofi = { + enable = true; + wrapGtkApps = true; # Required for GTK theming + extraPackages = with pkgs; [ wofi ]; + }; + + # Catppuccin theme for Wofi + home-manager.users.${user.username} = { + xdg.configFile."wofi/config".text = '' + dark + width=500 + height=800 + lines=10 + columns=1 + cache_dir=${config.xdg.dataHome}/wofi + allow_images=true + allow_markup=true + show_drun=true + ''; + + xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "wofi"; + rev = "main"; + sha256 = "sha256-0000000000000000000000000000000000000000000000000000"; # Update with the correct hash + file = "mocha.css"; # or latte/frappe/macchiato + }; + }; +} +#+END_SRC + ** =generated/mangowc/task_window_workspace_switcher/top.nix= This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder #+BEGIN_SRC nix :tangle generated/mangowc/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html diff --git a/Droidnix/generated/hyprland/keyboard_binds/top.nix b/Droidnix/generated/hyprland/keyboard_binds/top.nix index 4e88b2781..e0c0ba0cb 100644 --- a/Droidnix/generated/hyprland/keyboard_binds/top.nix +++ b/Droidnix/generated/hyprland/keyboard_binds/top.nix @@ -1,24 +1,14 @@ -{ - config, - pkgs, - lib, - user, - inputs, - flakeRoot, - ... -}: +{ config, pkgs, lib, user, inputs, flakeRoot, ... }: let bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf"); - userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix"); + configFile = pkgs.writeText "hyprland.conf" bindingsContent; in { + # Home Manager configurations must be nested under the user home-manager.users.${user.username} = { - home.stateVersion = userConfig.stateVersion; - home.username = userConfig.username; - home.homeDirectory = userConfig.homeDirectory; wayland.windowManager.hyprland = { enable = true; - extraConfig = bindingsContent; + config = configFile; }; }; } diff --git a/Droidnix/generated/mangowc/keyboard_binds/top.nix b/Droidnix/generated/mangowc/keyboard_binds/top.nix index c7da173ce..4e88b2781 100644 --- a/Droidnix/generated/mangowc/keyboard_binds/top.nix +++ b/Droidnix/generated/mangowc/keyboard_binds/top.nix @@ -1,7 +1,24 @@ -{ config, pkgs, lib, user, inputs, flakeRoot,... }: { - imports = [ - # No subfolders to import - ]; - # .. put any code here + config, + pkgs, + lib, + user, + inputs, + flakeRoot, + ... +}: +let + bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf"); + userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix"); +in +{ + home-manager.users.${user.username} = { + home.stateVersion = userConfig.stateVersion; + home.username = userConfig.username; + home.homeDirectory = userConfig.homeDirectory; + wayland.windowManager.hyprland = { + enable = true; + extraConfig = bindingsContent; + }; + }; } diff --git a/Droidnix/generated/mangowc/task_launcher/top.nix b/Droidnix/generated/mangowc/task_launcher/top.nix index c7da173ce..f60e4fb46 100644 --- a/Droidnix/generated/mangowc/task_launcher/top.nix +++ b/Droidnix/generated/mangowc/task_launcher/top.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, user, inputs, flakeRoot,... }: { imports = [ - # No subfolders to import + ./wofi.nix ]; # .. put any code here } diff --git a/Droidnix/generated/mangowc/task_launcher/wofi.nix b/Droidnix/generated/mangowc/task_launcher/wofi.nix new file mode 100644 index 000000000..8ce8722bb --- /dev/null +++ b/Droidnix/generated/mangowc/task_launcher/wofi.nix @@ -0,0 +1,31 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + programs.wofi = { + enable = true; + wrapGtkApps = true; # Required for GTK theming + extraPackages = with pkgs; [ wofi ]; + }; + + # Catppuccin theme for Wofi + home-manager.users.${user.username} = { + xdg.configFile."wofi/config".text = '' + dark + width=500 + height=800 + lines=10 + columns=1 + cache_dir=${config.xdg.dataHome}/wofi + allow_images=true + allow_markup=true + show_drun=true + ''; + + xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "wofi"; + rev = "main"; + sha256 = "sha256-0000000000000000000000000000000000000000000000000000"; # Update with the correct hash + file = "mocha.css"; # or latte/frappe/macchiato + }; + }; +}