From 9e1439ce32b34c5a3d565650ef3de3a32bdac84b Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Sat, 11 Apr 2026 19:48:59 +0200 Subject: [PATCH] Regenerated --- Droidnix/README.html | 780 ++++++++++-------- Droidnix/README.org | 118 ++- .../.config/quickshell/powermenu/shell.qml | 111 +++ Droidnix/generated/.config/waybar/config | 2 +- 4 files changed, 680 insertions(+), 331 deletions(-) create mode 100644 Droidnix/generated/.config/quickshell/powermenu/shell.qml diff --git a/Droidnix/README.html b/Droidnix/README.html index 8f71c085a..f13fe3706 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,127 +204,128 @@

Table of Contents

-
-

Shortcuts

-
+
+

Shortcuts

+

Introduction The Assets Folder @@ -340,25 +341,25 @@

Introduction   intro

-
-

What is Droidnix

-
+
+

What is Droidnix

+

Droidnix is a modular, declarative NixOS + Home Manager configuration system. with 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
  • +
  • Core
  • +
  • Hyprland
-
-

Goals, project Structure, import hierarchy

-
+
+

Goals, project Structure, import hierarchy

+

This project uses a modular NixOS configuration with Hyprland support, designed for literate programming and cross-device reusability. The Droidnix repository is organized into two main parts: @@ -371,9 +372,9 @@ The Droidnix repository is organized into two main parts:

-
-

Root Level

-
+
+

Root Level

+
  • flake.nix is the entry point and imports:
      @@ -384,16 +385,16 @@ 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.

-
-

First Setup

-
+
+

First Setup

+
  1. Clone this repository.
  2. Run the setup script: ./setup_droid.
  3. @@ -414,9 +415,9 @@ The generated/ directory contains all generated configurations, div The .assets/ folder contains all static files, such as configs, scripts, and themes. These files are not generated and can be edited directly.

-
-

generated/assets/2_b_installed.conf

-
+
+

generated/assets/2_b_installed.conf

+

This is a list of additional apps to install

@@ -494,9 +495,9 @@ com.todoist.Todoist This section contains the Org blocks for tangling Nix code into the generated folders.

-
-

generated/flake.nix

-
+
+

generated/flake.nix

+

The Nix flake definition for Droidnix.

@@ -570,9 +571,9 @@ The Nix flake definition for Droidnix.
-
-

generated/modules/traveldroid/system/colors.nix

-
+
+

generated/modules/traveldroid/system/colors.nix

+

Setting the colors for Droidnix.

@@ -647,9 +648,9 @@ in
-
-

generated/hosts/traveldroid/boot.nix

-
+
+

generated/hosts/traveldroid/boot.nix

+
{ config, pkgs, lib, flakeRoot, ... }:
 
@@ -695,9 +696,9 @@ in
 
-
-

generated/hosts/traveldroid/hardware-configuration.nix

-
+
+

generated/hosts/traveldroid/hardware-configuration.nix

+
  1. Boot into NixOS Live ISO or your installed system.
  2. Open a terminal.
  3. @@ -755,9 +756,9 @@ in
-
-

generated/hosts/traveldroid/host.nix

-
+
+

generated/hosts/traveldroid/host.nix

+
{ lib, config, pkgs, flakeRoot, import-tree, home-manager, ... }:
 
@@ -816,13 +817,13 @@ in
 
-
-

generated/traveldroid/modules/apps

-
+
+

generated/traveldroid/modules/apps

+
-
-

generated/modules/traveldroid/apps/2_b_installed.nix

-
+
+

generated/modules/traveldroid/apps/2_b_installed.nix

+

This installs a list of apps

@@ -930,9 +931,9 @@ in {
-
-

generated/modules/traveldroid/apps/emacs/emacs.nix

-
+
+

generated/modules/traveldroid/apps/emacs/emacs.nix

+

This installs emacs

@@ -1028,9 +1029,9 @@ in
-
-

generated/modules/traveldroid/apps/flameshot.nix

-
+
+

generated/modules/traveldroid/apps/flameshot.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

@@ -1069,9 +1070,9 @@ in
-
-

generated/modules/traveldroid/apps/kitty.nix

-
+
+

generated/modules/traveldroid/apps/kitty.nix

+

This file sets up Kitty terminal

@@ -1129,9 +1130,9 @@ in
-
-

generated/modules/traveldroid/apps/starship.nix

-
+
+

generated/modules/traveldroid/apps/starship.nix

+

This file sets up starship prompt

@@ -1170,9 +1171,9 @@ in
-
-

generated/modules/traveldroid/apps/thunar.nix

-
+
+

generated/modules/traveldroid/apps/thunar.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

@@ -1213,9 +1214,9 @@ in
-
-

generated/modules/traveldroid/apps/wofi.nix

-
+
+

generated/modules/traveldroid/apps/wofi.nix

+

This is the install for Wofi, the launcher

@@ -1248,9 +1249,9 @@ in
-
-

generated/modules/traveldroid/apps/zenbrowser.nix

-
+
+

generated/modules/traveldroid/apps/zenbrowser.nix

+

This installs zen browser

@@ -1270,9 +1271,9 @@ in
-
-

generated/modules/traveldroid/apps/zsh.nix

-
+
+

generated/modules/traveldroid/apps/zsh.nix

+

This sets up the zsh in the terminal

@@ -1335,13 +1336,13 @@ in
-
-

generated/modules/traveldroid/desktop

-
+
+

generated/modules/traveldroid/desktop

+
-
-

generated/modules/traveldroid/desktop/fonts.nix

-
+
+

generated/modules/traveldroid/desktop/fonts.nix

+

This file installs and configures fonts

@@ -1359,9 +1360,9 @@ This file installs and configures fonts
-
-

generated/modules/traveldroid/desktop/gtk.nix

-
+
+

generated/modules/traveldroid/desktop/gtk.nix

+

Setting up GTK

@@ -1387,9 +1388,9 @@ in
-
-

generated/modules/traveldroid/desktop/hyprland.nix

-
+
+

generated/modules/traveldroid/desktop/hyprland.nix

+

Setting up Hyprland

@@ -1435,9 +1436,9 @@ in
-
-

generated/modules/traveldroid/desktop/stylix.nix

-
+
+

generated/modules/traveldroid/desktop/stylix.nix

+
{ lib, config, pkgs, flakeRoot, stylix, ... }:
 
@@ -1524,9 +1525,9 @@ in
 
-
-

generated/modules/traveldroid/desktop/wallpaper.nix

-
+
+

generated/modules/traveldroid/desktop/wallpaper.nix

+

Setting up wallpaper engine + wallpaper gui

@@ -1625,9 +1626,9 @@ in
-
-

generated/modules/traveldroid/desktop/waybar.nix

-
+
+

generated/modules/traveldroid/desktop/waybar.nix

+

This file installs and configures waybar

@@ -1694,9 +1695,9 @@ in
-
-

generated/modules/traveldroid/desktop/wayland.nix

-
+
+

generated/modules/traveldroid/desktop/wayland.nix

+
{ lib, config, pkgs, ... }:
 
@@ -1726,9 +1727,9 @@ in
 
-
-

generated/modules/traveldroid/desktop/xdg.nix

-
+
+

generated/modules/traveldroid/desktop/xdg.nix

+

This sets the XDG implementation

@@ -1782,13 +1783,13 @@ in
-
-

generated/modules/traveldroid/system

-
+
+

generated/modules/traveldroid/system

+
-
-

generated/modules/traveldroid/system/audio.nix

-
+
+

generated/modules/traveldroid/system/audio.nix

+
{ lib, config, pkgs, ... }:
 
@@ -1806,9 +1807,9 @@ in
 
-
-

generated/modules/traveldroid/system/base-colors.nix

-
+
+

generated/modules/traveldroid/system/base-colors.nix

+
{ config, pkgs, flakeRoot, ... }:
 let
@@ -1830,9 +1831,9 @@ in
 
-
-

generated/modules/traveldroid/system/bluetooth.nix

-
+
+

generated/modules/traveldroid/system/bluetooth.nix

+
{ lib, config, pkgs, home-manager, ... }:
 
@@ -1853,9 +1854,9 @@ in
 
-
-

generated/modules/traveldroid/system/copy_scripts.nix

-
+
+

generated/modules/traveldroid/system/copy_scripts.nix

+
{ lib, config, pkgs, flakeRoot, ... }:
 let
@@ -1890,9 +1891,9 @@ in
 
-
-

generated/modules/traveldroid/system/dbus.nix

-
+
+

generated/modules/traveldroid/system/dbus.nix

+

This sets the dbus implementation

@@ -1919,9 +1920,9 @@ This sets the dbus implementation
-
-

generated/modules/traveldroid/system/gnome-keyring.nix

-
+
+

generated/modules/traveldroid/system/gnome-keyring.nix

+

This sets the dbus implementation

@@ -1969,9 +1970,9 @@ This sets the dbus implementation
-
-

generated/modules/traveldroid/system/login-tuigreet.nix

-
+
+

generated/modules/traveldroid/system/login-tuigreet.nix

+

This sets up tuigreeter which is not fancy but imo fits the aesthetic I am aiming for

@@ -2025,9 +2026,9 @@ in
-
-

generated/modules/traveldroid/system/networking.nix

-
+
+

generated/modules/traveldroid/system/networking.nix

+

This sets the networking.

@@ -2092,9 +2093,9 @@ This sets the networking.
-
-

generated/modules/traveldroid/system/nix.nix

-
+
+

generated/modules/traveldroid/system/nix.nix

+
{ lib, config, ... }:
 
@@ -2110,9 +2111,9 @@ This sets the networking.
 
-
-

generated/modules/traveldroid/system/printing.nix

-
+
+

generated/modules/traveldroid/system/printing.nix

+

This sets the dbus implementation

@@ -2136,9 +2137,9 @@ This sets the dbus implementation
-
-

generated/modules/traveldroid/system/quickshell.nix

-
+
+

generated/modules/traveldroid/system/quickshell.nix

+

This sets the dbus implementation

@@ -2165,13 +2166,13 @@ This sets the dbus implementation
-
-

generated/users

-
+
+

generated/users

+
-
-

generated/users/

-
+
+

generated/users/

+

This is the default user, just search and replace henrov another name if you want to change

@@ -2233,9 +2234,9 @@ in

These are all the prepared config files

-
-

generated/.config/emacs/early-init.el

-
+
+

generated/.config/emacs/early-init.el

+

This contaions emacs

@@ -2336,9 +2337,9 @@ package-archive-priorities '(("gnu" . 99)
-
-

generated/.config/emacs/init.el

-
+
+

generated/.config/emacs/init.el

+

This contaions emacs

@@ -2748,9 +2749,9 @@ the top of the file."
-
-

generated/.config/hypr/animations.conf

-
+
+

generated/.config/hypr/animations.conf

+

These are config files for .config/hypr

@@ -2771,9 +2772,9 @@ animations {
-
-

generated/.config/hypr/behaviour.conf

-
+
+

generated/.config/hypr/behaviour.conf

+

These are config files for .config/hypr

@@ -2787,9 +2788,9 @@ These are config files for .config/hypr
-
-

generated/.config/hypr/bindings.conf

-
+
+

generated/.config/hypr/bindings.conf

+

These are config files for .config/hypr

@@ -2953,9 +2954,9 @@ bind = $mainMod, U, exec, kitty -e bash -lc "$HOME/.config/scripts/update.sh"
-
-

generated/.config/hypr/exec-once.conf

-
+
+

generated/.config/hypr/exec-once.conf

+

These are config files for .config/hypr

@@ -2975,9 +2976,9 @@ exec-once = ~/.config/scripts/hypr-autocolwidth.sh
-
-

generated/.config/hypr/hypridle.conf

-
+
+

generated/.config/hypr/hypridle.conf

+

These are config files for .config/hypr

@@ -3002,9 +3003,9 @@ listener {
-
-

generated/.config/hypr/hyprland.conf

-
+
+

generated/.config/hypr/hyprland.conf

+

These are config files for .config/hypr

@@ -3050,9 +3051,9 @@ misc {
-
-

generated/.config/hypr/hyprlock.conf

-
+
+

generated/.config/hypr/hyprlock.conf

+

These are config files for .config/hypr

@@ -3093,9 +3094,9 @@ label {
-
-

generated/.config/hypr/layer-rules.conf

-
+
+

generated/.config/hypr/layer-rules.conf

+

These are config files for .config/hypr

@@ -3110,9 +3111,9 @@ layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window
-
-

generated/.config/hypr/layout.conf

-
+
+

generated/.config/hypr/layout.conf

+

These are config files for .config/hypr

@@ -3127,9 +3128,9 @@ scrolling {
-
-

generated/.config/hypr/monitor-rules.conf

-
+
+

generated/.config/hypr/monitor-rules.conf

+

These are config files for .config/hypr

@@ -3140,9 +3141,9 @@ monitor=DP-1,3840x1080@144,1920x0,1
-
-

generated/.config/hypr/theming.conf

-
+
+

generated/.config/hypr/theming.conf

+

These are config files for .config/hypr

@@ -3192,9 +3193,9 @@ decoration {
-
-

generated/.config/hypr/window-rules.conf

-
+
+

generated/.config/hypr/window-rules.conf

+

These are config files for .config/hypr

@@ -3232,9 +3233,9 @@ windowrule {
-
-

generated/.config/hypr/workspace-rules.conf

-
+
+

generated/.config/hypr/workspace-rules.conf

+

These are config files for .config/hypr

@@ -3259,9 +3260,130 @@ workspace = 10
-
-

generated/.config/scripts/layout-selector.sh

-
+
+

generated/.config/quickshell/powermenu/shell.qml

+
+

+This sets up the zsh in the terminal +

+
+
// PowerMenu.qml
+import "root:/"
+import Quickshell
+import Quickshell.Io
+import QtQuick
+import QtQuick.Layouts
+
+ShellRoot {
+    // Load colors from shared Colors.qml
+    Colors { id: colors }
+
+    FloatingWindow {
+        id: root
+        visible: true
+        width: 220
+        height: contentLayout.implicitHeight + 32
+        color: "transparent"
+
+        // Close on Escape
+        Shortcut {
+            sequence: "Escape"
+            onActivated: Qt.quit()
+        }
+
+        Rectangle {
+            anchors.fill: parent
+            radius: 16
+            color: colors.base
+            border.width: 2
+            border.color: colors.blue
+
+            ColumnLayout {
+                id: contentLayout
+                anchors {
+                    top: parent.top
+                    left: parent.left
+                    right: parent.right
+                    margins: 16
+                }
+                spacing: 4
+
+                // Title
+                Text {
+                    text: " Power Menu"
+                    color: colors.teal
+                    font.pixelSize: 13
+                    font.bold: true
+                    Layout.bottomMargin: 8
+                }
+
+                // Menu items
+                Repeater {
+                    model: [
+                        { label: " Lock",       cmd: ["loginctl", "lock-session"] },
+                        { label: " Shutdown",   cmd: ["systemctl", "poweroff"] },
+                        { label: " Reboot",     cmd: ["systemctl", "reboot"] },
+                        { label: "󰍃 Logout",    cmd: ["bash", "-c", "loginctl terminate-session $XDG_SESSION_ID"] },
+                        { label: " Hibernate",  cmd: ["systemctl", "hibernate"] },
+                        { label: " Suspend",    cmd: ["systemctl", "suspend"] },
+                    ]
+
+                    delegate: Rectangle {
+                        id: item
+                        Layout.fillWidth: true
+                        height: 38
+                        radius: 8
+                        color: hovered ? colors.surface1 : "transparent"
+
+                        property bool hovered: false
+
+                        // Gradient border on hover
+                        Rectangle {
+                            anchors.fill: parent
+                            radius: parent.radius
+                            color: "transparent"
+                            border.width: item.hovered ? 2 : 0
+                            border.color: colors.blue
+                        }
+
+                        Text {
+                            anchors.verticalCenter: parent.verticalCenter
+                            anchors.left: parent.left
+                            anchors.leftMargin: 12
+                            text: modelData.label
+                            color: item.hovered ? colors.text : colors.subtext1
+                            font.pixelSize: 13
+                        }
+
+                        MouseArea {
+                            anchors.fill: parent
+                            hoverEnabled: true
+                            onEntered: item.hovered = true
+                            onExited:  item.hovered = false
+                            onClicked: proc.running = true
+                        }
+
+                        Process {
+                            id: proc
+                            command: modelData.cmd
+                            onExited: Qt.quit()
+                        }
+                    }
+                }
+
+                // Bottom padding
+                Item { height: 4 }
+            }
+        }
+    }
+}
+
+
+
+
+
+

generated/.config/scripts/layout-selector.sh

+

Choose your layout

@@ -3303,9 +3425,9 @@ hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000
-
-

generated/.config/scripts/hypr-autocolwidth.sh

-
+
+

generated/.config/scripts/hypr-autocolwidth.sh

+

These are config files for .config/scripts

@@ -3359,9 +3481,9 @@ done
-
-

generated/.config/scripts/power.sh

-
+
+

generated/.config/scripts/power.sh

+

A file containing color variables

@@ -3417,9 +3539,9 @@ main
-
-

generated/.config/scripts/update.sh

-
+
+

generated/.config/scripts/update.sh

+

A file containing color variables

@@ -3438,9 +3560,9 @@ flatpak update -y
-
-

generated/.config/shared/colors.css

-
+
+

generated/.config/shared/colors.css

+

A file containing color variables

@@ -3480,9 +3602,9 @@ A file containing color variables
-
-

generated/.config/starship.toml

-
+
+

generated/.config/starship.toml

+

These are config files for Starship

@@ -3770,9 +3892,9 @@ crust = "#181926"
-
-

generated/.config/stylix/stylix.conf

-
+
+

generated/.config/stylix/stylix.conf

+

These are config files for .config/stylix

@@ -3809,9 +3931,9 @@ icons = {
-
-

generated/.config/stylix/palette.json

-
+
+

generated/.config/stylix/palette.json

+

These are config files for .config/stylix

@@ -3841,9 +3963,9 @@ These are config files for .config/stylix
-
-

generated/.config/stylix/palette.html

-
+
+

generated/.config/stylix/palette.html

+

These are config files for .config/stylix

@@ -3921,9 +4043,9 @@ These are config files for .config/stylix
-
-

generated/.config/waybar/config

-
+
+

generated/.config/waybar/config

+

These are config files for waybar

@@ -4073,7 +4195,7 @@ These are config files for waybar // "max-length": // "align": // "justify": - "on-click": "kitty -e ~/.config/scripts/power.sh", + "on-click": "qs -c powermenu", // "on-click-middle": // "on-click-right": // "on-update": @@ -4176,9 +4298,9 @@ These are config files for waybar
-
-

generated/.config/waybar/style-dark.css

-
+
+

generated/.config/waybar/style-dark.css

+

This file contains all css for waybar

@@ -4391,9 +4513,9 @@ label#custom-windows:not(.active) {
-
-

generated/.config/scripts/bluetooth-status.sh

-
+
+

generated/.config/scripts/bluetooth-status.sh

+

These are config files for waybar

@@ -4418,9 +4540,9 @@ printf '{"text": "%s", "tooltip": "%s"}\n' "$icon" "$tooltip"
-
-

generated/.config/scripts/hypr-workspaces.sh

-
+
+

generated/.config/scripts/hypr-workspaces.sh

+

These are config files for waybar

@@ -4462,9 +4584,9 @@ jq -c -n \
-
-

generated/.config/scripts/hypr-workspacesmenu.sh

-
+
+

generated/.config/scripts/hypr-workspacesmenu.sh

+

These are config files for waybar

@@ -4480,9 +4602,9 @@ hyprctl dispatch focuswindow address:$addr
-
-

generated/.config/waypaper/config.ini

-
+
+

generated/.config/waypaper/config.ini

+

These are config files for waypaper

@@ -4519,9 +4641,9 @@ keybindings = ~/.config/waypaper/keybindings.ini
-
-

generated/.config/waypaper/config.ini

-
+
+

generated/.config/waypaper/config.ini

+

These are config files for .config/waypaper

@@ -4557,9 +4679,9 @@ keybindings = ~/.config/waypaper/keybindings.ini
-
-

generated/.config/wofi/config

-
+
+

generated/.config/wofi/config

+

These are config files for .config/wofi

@@ -4608,9 +4730,9 @@ prompt = > ...
-
-

generated/.config/wofi/style.css

-
+
+

generated/.config/wofi/style.css

+

These are config files for .config/wofi

@@ -4705,9 +4827,9 @@ These are config files for .config/wofi
-
-

generated/.config/zed/settings.json

-
+
+

generated/.config/zed/settings.json

+

These are config files for Zed editor

@@ -4743,9 +4865,9 @@ These are config files for Zed editor
-
-

generated/.config/zsh/.zshrc

-
+
+

generated/.config/zsh/.zshrc

+

This sets up the zsh in the terminal

@@ -4770,7 +4892,7 @@ fi

Author: Henro Veijer

-

Created: 2026-04-11 za 19:33

+

Created: 2026-04-11 za 19:48

Validate

diff --git a/Droidnix/README.org b/Droidnix/README.org index cd6f2de06..82ba3c62c 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -6,6 +6,7 @@ #+PROPERTY: header-args:bash :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---" #+PROPERTY: header-args:css :prologue "/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */" #+PROPERTY: header-args:conf :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---" +#+PROPERTY: header-args:qml :prologue "// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---" #+PROPERTY: header-args:json :prologue "// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---" #+PROPERTY: header-args:el :prologue ";; --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---" #+PROPERTY: header-args:toml :prologue "# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---" @@ -2623,6 +2624,121 @@ workspace = 9 workspace = 10 #+END_SRC +** =generated/.config/quickshell/powermenu/shell.qml= +This sets up the zsh in the terminal +#+BEGIN_SRC qml :tangle generated/.config/quickshell/powermenu/shell.qml :noweb yes :mkdirp yes :eval never +// PowerMenu.qml +import "root:/" +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts + +ShellRoot { + // Load colors from shared Colors.qml + Colors { id: colors } + + FloatingWindow { + id: root + visible: true + width: 220 + height: contentLayout.implicitHeight + 32 + color: "transparent" + + // Close on Escape + Shortcut { + sequence: "Escape" + onActivated: Qt.quit() + } + + Rectangle { + anchors.fill: parent + radius: 16 + color: colors.base + border.width: 2 + border.color: colors.blue + + ColumnLayout { + id: contentLayout + anchors { + top: parent.top + left: parent.left + right: parent.right + margins: 16 + } + spacing: 4 + + // Title + Text { + text: " Power Menu" + color: colors.teal + font.pixelSize: 13 + font.bold: true + Layout.bottomMargin: 8 + } + + // Menu items + Repeater { + model: [ + { label: " Lock", cmd: ["loginctl", "lock-session"] }, + { label: " Shutdown", cmd: ["systemctl", "poweroff"] }, + { label: " Reboot", cmd: ["systemctl", "reboot"] }, + { label: "󰍃 Logout", cmd: ["bash", "-c", "loginctl terminate-session $XDG_SESSION_ID"] }, + { label: " Hibernate", cmd: ["systemctl", "hibernate"] }, + { label: " Suspend", cmd: ["systemctl", "suspend"] }, + ] + + delegate: Rectangle { + id: item + Layout.fillWidth: true + height: 38 + radius: 8 + color: hovered ? colors.surface1 : "transparent" + + property bool hovered: false + + // Gradient border on hover + Rectangle { + anchors.fill: parent + radius: parent.radius + color: "transparent" + border.width: item.hovered ? 2 : 0 + border.color: colors.blue + } + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 12 + text: modelData.label + color: item.hovered ? colors.text : colors.subtext1 + font.pixelSize: 13 + } + + MouseArea { + anchors.fill: parent + hoverEnabled: true + onEntered: item.hovered = true + onExited: item.hovered = false + onClicked: proc.running = true + } + + Process { + id: proc + command: modelData.cmd + onExited: Qt.quit() + } + } + } + + // Bottom padding + Item { height: 4 } + } + } + } +} +#+END_SRC + ** =generated/.config/scripts/layout-selector.sh= Choose your layout #+BEGIN_SRC bash :tangle generated/.config/scripts/layout-selector.sh :shebang "#!/usr/bin/env bash" :noweb yes :mkdirp yes :eval never @@ -3381,7 +3497,7 @@ These are config files for waybar // "max-length": // "align": // "justify": - "on-click": "kitty -e ~/.config/scripts/power.sh", + "on-click": "qs -c powermenu", // "on-click-middle": // "on-click-right": // "on-update": diff --git a/Droidnix/generated/.config/quickshell/powermenu/shell.qml b/Droidnix/generated/.config/quickshell/powermenu/shell.qml new file mode 100644 index 000000000..ec33c33df --- /dev/null +++ b/Droidnix/generated/.config/quickshell/powermenu/shell.qml @@ -0,0 +1,111 @@ +// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +// PowerMenu.qml +import "root:/" +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts + +ShellRoot { + // Load colors from shared Colors.qml + Colors { id: colors } + + FloatingWindow { + id: root + visible: true + width: 220 + height: contentLayout.implicitHeight + 32 + color: "transparent" + + // Close on Escape + Shortcut { + sequence: "Escape" + onActivated: Qt.quit() + } + + Rectangle { + anchors.fill: parent + radius: 16 + color: colors.base + border.width: 2 + border.color: colors.blue + + ColumnLayout { + id: contentLayout + anchors { + top: parent.top + left: parent.left + right: parent.right + margins: 16 + } + spacing: 4 + + // Title + Text { + text: " Power Menu" + color: colors.teal + font.pixelSize: 13 + font.bold: true + Layout.bottomMargin: 8 + } + + // Menu items + Repeater { + model: [ + { label: " Lock", cmd: ["loginctl", "lock-session"] }, + { label: " Shutdown", cmd: ["systemctl", "poweroff"] }, + { label: " Reboot", cmd: ["systemctl", "reboot"] }, + { label: "󰍃 Logout", cmd: ["bash", "-c", "loginctl terminate-session $XDG_SESSION_ID"] }, + { label: " Hibernate", cmd: ["systemctl", "hibernate"] }, + { label: " Suspend", cmd: ["systemctl", "suspend"] }, + ] + + delegate: Rectangle { + id: item + Layout.fillWidth: true + height: 38 + radius: 8 + color: hovered ? colors.surface1 : "transparent" + + property bool hovered: false + + // Gradient border on hover + Rectangle { + anchors.fill: parent + radius: parent.radius + color: "transparent" + border.width: item.hovered ? 2 : 0 + border.color: colors.blue + } + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 12 + text: modelData.label + color: item.hovered ? colors.text : colors.subtext1 + font.pixelSize: 13 + } + + MouseArea { + anchors.fill: parent + hoverEnabled: true + onEntered: item.hovered = true + onExited: item.hovered = false + onClicked: proc.running = true + } + + Process { + id: proc + command: modelData.cmd + onExited: Qt.quit() + } + } + } + + // Bottom padding + Item { height: 4 } + } + } + } +} diff --git a/Droidnix/generated/.config/waybar/config b/Droidnix/generated/.config/waybar/config index 653c7afed..100394d3c 100644 --- a/Droidnix/generated/.config/waybar/config +++ b/Droidnix/generated/.config/waybar/config @@ -143,7 +143,7 @@ // "max-length": // "align": // "justify": - "on-click": "kitty -e ~/.config/scripts/power.sh", + "on-click": "qs -c powermenu", // "on-click-middle": // "on-click-right": // "on-update":