From d6736ab99defd25d0a7f45cb1d04f6b4c602130a Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Wed, 11 Mar 2026 19:54:54 +0100 Subject: [PATCH] working on waybar --- Droidnix/README.html | 736 +++++++++++----------- Droidnix/README.org | 52 +- Droidnix/generated/system/core/waybar.nix | 51 +- 3 files changed, 405 insertions(+), 434 deletions(-) diff --git a/Droidnix/README.html b/Droidnix/README.html index 6dcd7b709..4ed3d0b58 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,123 +204,123 @@

Table of Contents

-
-

Shortcuts

-
+
+

Shortcuts

+

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

-
-

Root Level

-
+
+

Root Level

+
  • flake.nix is the entry point and imports:
      @@ -382,23 +382,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.
  • @@ -408,9 +408,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.
  • @@ -420,9 +420,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.
  • @@ -441,9 +441,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.

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

MangoWC (generated/mangowc/)

-
+
+

MangoWC (generated/mangowc/)

+

This directory contains configurations specific to MangoWC.

@@ -496,7 +496,7 @@ This directory contains configurations specific to MangoWC.
  • Scalability: Easy to add new machines or configurations.
  • -
    +
     .
     ├── assets
     │   ├── system
    @@ -678,9 +678,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. @@ -702,9 +702,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/system/

    -
    +
    +

    .assets/system/

    +

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

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

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

    .assets/mangowc/

    -
    +
    +

    .assets/mangowc/

    +

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

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

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

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

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

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

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

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

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

    -
    +
    +

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

    +
    -
    -

    generated/top.nix

    -
    +
    +

    generated/top.nix

    +

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

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

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

    @@ -1072,9 +1072,9 @@ in
    -
    -

    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

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

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

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

    generated/system/applications/packages.nix

    -
    +
    +

    generated/system/applications/packages.nix

    +

    This will import all packages listed in ./assets/system/apps/packlages.conf

    @@ -1198,9 +1198,9 @@ in
    -
    -

    generated/system/applications/flatpaks.nix

    -
    +
    +

    generated/system/applications/flatpaks.nix

    +

    This will import all packages listed in ./assets/system/apps/flatpaks.conf

    @@ -1321,9 +1321,9 @@ in
    -
    -

    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

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

    generated/system/core/fonts.nix

    -
    +
    +

    generated/system/core/fonts.nix

    +

    This file installs and configures eww

    @@ -1360,9 +1360,9 @@ This file installs and configures eww
    -
    -

    generated/system/core/eww.nix

    -
    +
    +

    generated/system/core/eww.nix

    +

    This file installs and configures eww

    @@ -1407,9 +1407,9 @@ in
    -
    -

    generated/system/core/waybar.nix

    -
    +
    +

    generated/system/core/waybar.nix

    +

    This file installs and configures waybar

    @@ -1417,50 +1417,40 @@ This file installs and configures waybar
    { lib, pkgs, config, ... }:
     
     let
    -  cfg = config.programs.waybar;
    -  waybar-config = builtins.readFile ./assets/system/conf/config;
    -  waybar-style = builtins.readFile ./assets/system/conf/style.css;
    +  waybar-config = ./assets/system/conf/config;
    +  waybar-style = ./assets/system/conf/style.css;
     in
     {
    -  options.programs.waybar = {
    -    enable = lib.mkEnableOption "Waybar";
    -    package = lib.mkOption {
    -      type = lib.types.package;
    -      default = pkgs.waybar;
    -      description = "Waybar package to use.";
    +  programs.waybar = {
    +    enable = true;
    +    package = pkgs.waybar;
    +  };
    +
    +  systemd.user.services.waybar = {
    +    description = "Waybar (status bar for Wayland)";
    +    wantedBy = [ "graphical-session.target" ];
    +    after = [ "graphical-session.target" ];
    +    serviceConfig = {
    +      ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}";
    +      Restart = "on-failure";
    +      RestartSec = "5s";
         };
       };
     
    -  config = lib.mkIf cfg.enable {
    -    environment.systemPackages = [ cfg.package ];
    -
    -    systemd.user.services.waybar = {
    -      description = "Waybar (status bar for Wayland)";
    -      wantedBy = [ "graphical-session.target" ];
    -      after = [ "graphical-session.target" ];
    -      serviceConfig = {
    -        ExecStart = "${cfg.package}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}";
    -        Restart = "on-failure";
    -        RestartSec = "5s";
    -      };
    -    };
    -
    -    # Create symlinks for config and style
    -    system.activationScripts.waybarSetup = lib.mkAfter ''
    -      mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar
    -      ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config
    -      ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css
    -    '';
    -  };
    +  # Create symlinks for config and style
    +  system.activationScripts.waybarSetup = lib.mkAfter ''
    +    mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar
    +    ln -sf ${waybar-config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config
    +    ln -sf ${waybar-style} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css
    +  '';
     }
    -
     
    -
    -

    generated/system/core/login-tuigreeter.nix

    -
    +
    +

    generated/system/core/login-tuigreeter.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

    @@ -1483,9 +1473,9 @@ settings = {
    -
    -

    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

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

    @@ -1551,9 +1541,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

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

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

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

    @@ -1648,9 +1638,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

    @@ -1666,9 +1656,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

    @@ -1684,9 +1674,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

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

    generated/system/task_launcher/wofi.nix

    -
    +
    +

    generated/system/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

    @@ -1749,9 +1739,9 @@ in
    -
    -

    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

    @@ -1767,9 +1757,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

    @@ -1785,9 +1775,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

    @@ -1803,9 +1793,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

    @@ -1821,9 +1811,9 @@ 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

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

    generated/mangowc/notifications/top.nix

    -
    +
    +

    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

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

    generated/mangowc/statusbar_tray/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

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

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

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

    generated/mangowc/window_rules/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

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

    @@ -1941,9 +1931,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/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

    @@ -1959,9 +1949,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/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

    @@ -1977,9 +1967,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/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

    @@ -1995,9 +1985,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/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

    @@ -2013,9 +2003,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/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

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

    generated/system/applications/terminal_shell/kitty.nix

    -
    +
    +

    generated/system/applications/terminal_shell/kitty.nix

    +

    This file sets up Kitty terminal

    @@ -2063,9 +2053,9 @@ in
    -
    -

    generated/system/applications/terminal_shell/starship.nix

    -
    +
    +

    generated/system/applications/terminal_shell/starship.nix

    +

    This file sets up starship prompt

    @@ -2090,9 +2080,9 @@ in
    -
    -

    generated/system/applications/terminal_shell/zsh.nix

    -
    +
    +

    generated/system/applications/terminal_shell/zsh.nix

    +

    This sets up the zsh terminal

    @@ -2197,9 +2187,9 @@ This sets up the zsh terminal
    -
    -

    generated/system/development/databases/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

    @@ -2215,9 +2205,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/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

    @@ -2233,9 +2223,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/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

    @@ -2251,9 +2241,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/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

    @@ -2269,9 +2259,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/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

    @@ -2287,9 +2277,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/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

    @@ -2305,9 +2295,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/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

    @@ -2323,9 +2313,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/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

    @@ -2341,9 +2331,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/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

    @@ -2359,9 +2349,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/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

    @@ -2377,9 +2367,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/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

    @@ -2395,9 +2385,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/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

    @@ -2413,9 +2403,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/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

    @@ -2431,9 +2421,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/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

    @@ -2449,9 +2439,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/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

    @@ -2467,9 +2457,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

    -
    +
    +

    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

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

    generated/system/system_management/security/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

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

    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

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

    Author: Henro Veijer

    -

    Created: 2026-03-11 wo 19:53

    +

    Created: 2026-03-11 wo 19:54

    Validate

    diff --git a/Droidnix/README.org b/Droidnix/README.org index 7d3913558..0e44e30fe 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -888,43 +888,33 @@ This file installs and configures waybar { lib, pkgs, config, ... }: let - cfg = config.programs.waybar; - waybar-config = builtins.readFile ./assets/system/conf/config; - waybar-style = builtins.readFile ./assets/system/conf/style.css; + waybar-config = ./assets/system/conf/config; + waybar-style = ./assets/system/conf/style.css; in { - options.programs.waybar = { - enable = lib.mkEnableOption "Waybar"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.waybar; - description = "Waybar package to use."; + programs.waybar = { + enable = true; + package = pkgs.waybar; + }; + + systemd.user.services.waybar = { + description = "Waybar (status bar for Wayland)"; + wantedBy = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}"; + Restart = "on-failure"; + RestartSec = "5s"; }; }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; - - systemd.user.services.waybar = { - description = "Waybar (status bar for Wayland)"; - wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - ExecStart = "${cfg.package}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}"; - Restart = "on-failure"; - RestartSec = "5s"; - }; - }; - - # Create symlinks for config and style - system.activationScripts.waybarSetup = lib.mkAfter '' - mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar - ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config - ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css - ''; - }; + # Create symlinks for config and style + system.activationScripts.waybarSetup = lib.mkAfter '' + mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar + ln -sf ${waybar-config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config + ln -sf ${waybar-style} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css + ''; } - #+END_SRC ** =generated/system/core/login-tuigreeter.nix= diff --git a/Droidnix/generated/system/core/waybar.nix b/Droidnix/generated/system/core/waybar.nix index 8e8b30879..dcbcca037 100644 --- a/Droidnix/generated/system/core/waybar.nix +++ b/Droidnix/generated/system/core/waybar.nix @@ -1,39 +1,30 @@ { lib, pkgs, config, ... }: let - cfg = config.programs.waybar; - waybar-config = builtins.readFile ./assets/system/conf/config; - waybar-style = builtins.readFile ./assets/system/conf/style.css; + waybar-config = ./assets/system/conf/config; + waybar-style = ./assets/system/conf/style.css; in { - options.programs.waybar = { - enable = lib.mkEnableOption "Waybar"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.waybar; - description = "Waybar package to use."; + programs.waybar = { + enable = true; + package = pkgs.waybar; + }; + + systemd.user.services.waybar = { + description = "Waybar (status bar for Wayland)"; + wantedBy = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}"; + Restart = "on-failure"; + RestartSec = "5s"; }; }; - config = lib.mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; - - systemd.user.services.waybar = { - description = "Waybar (status bar for Wayland)"; - wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - ExecStart = "${cfg.package}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}"; - Restart = "on-failure"; - RestartSec = "5s"; - }; - }; - - # Create symlinks for config and style - system.activationScripts.waybarSetup = lib.mkAfter '' - mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar - ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config - ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css - ''; - }; + # Create symlinks for config and style + system.activationScripts.waybarSetup = lib.mkAfter '' + mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar + ln -sf ${waybar-config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config + ln -sf ${waybar-style} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css + ''; }