diff --git a/Droidnix/README.html b/Droidnix/README.html index b2e111212..9cbde023a 100644 --- a/Droidnix/README.html +++ b/Droidnix/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +generated/flake.nixgenerated/modules/traveldroid/system/colors.nixgenerated/hosts/traveldroid/boot.nixgenerated/hosts/traveldroid/hardware-configuration.nixgenerated/hosts/traveldroid/host.nixgenerated/flake.nixgenerated/modules/traveldroid/system/colors.nixgenerated/hosts/traveldroid/boot.nixgenerated/hosts/traveldroid/hardware-configuration.nixgenerated/hosts/traveldroid/host.nixgenerated/modules/traveldroid/apps/2_b_installed.nixgenerated/modules/traveldroid/apps/emacs/emacs.nixgenerated/disabled/modules/traveldroid/apps/flameshot.nixgenerated/modules/traveldroid/apps/kdeconnect.nixgenerated/modules/traveldroid/apps/kitty.nixgenerated/modules/traveldroid/apps/starship.nixgenerated/modules/traveldroid/apps/thunar.nixgenerated/modules/traveldroid/apps/wofi.nixgenerated/modules/traveldroid/apps/zenbrowser.nixgenerated/modules/traveldroid/apps/zeditor.nixgenerated/modules/traveldroid/apps/zsh.nixgenerated/modules/traveldroid/apps/2_b_installed.nixgenerated/modules/traveldroid/apps/emacs/emacs.nixgenerated/disabled/modules/traveldroid/apps/flameshot.nixgenerated/modules/traveldroid/apps/kdeconnect.nixgenerated/modules/traveldroid/apps/kitty.nixgenerated/modules/traveldroid/apps/starship.nixgenerated/modules/traveldroid/apps/thunar.nixgenerated/modules/traveldroid/apps/wofi.nixgenerated/modules/traveldroid/apps/zenbrowser.nixgenerated/modules/traveldroid/apps/zeditor.nixgenerated/modules/traveldroid/apps/zsh.nixgenerated/modules/traveldroid/desktop/fonts.nixgenerated/modules/traveldroid/desktop/gtk.nixgenerated/modules/traveldroid/desktop/hyprland.nixgenerated/modules/traveldroid/desktop/stylix.nixgenerated/modules/traveldroid/desktop/wallpaper.nixgenerated/modules/traveldroid/desktop/waybar.nixgenerated/modules/traveldroid/desktop/wayland.nixgenerated/modules/traveldroid/desktop/xdg.nixgenerated/modules/traveldroid/desktop/fonts.nixgenerated/modules/traveldroid/desktop/gtk.nixgenerated/modules/traveldroid/desktop/hyprland.nixgenerated/modules/traveldroid/desktop/stylix.nixgenerated/modules/traveldroid/desktop/wallpaper.nixgenerated/modules/traveldroid/desktop/waybar.nixgenerated/modules/traveldroid/desktop/wayland.nixgenerated/modules/traveldroid/desktop/xdg.nixgenerated/modules/traveldroid/system/audio.nixgenerated/modules/traveldroid/system/avahi.nixgenerated/modules/traveldroid/system/bluetooth.nixgenerated/modules/traveldroid/system/copy_scripts.nixgenerated/modules/traveldroid/system/dbus.nixgenerated/modules/traveldroid/system/firewall.nixgenerated/modules/traveldroid/system/hypridle.nixgenerated/modules/traveldroid/system/hyprlock.nixgenerated/modules/traveldroid/system/gnome-keyring.nixgenerated/modules/traveldroid/system/login-tuigreet.nixgenerated/modules/traveldroid/system/networking.nixgenerated/modules/traveldroid/system/nix.nixgenerated/modules/traveldroid/system/printing.nixgenerated/modules/traveldroid/system/quickshell.nixgenerated/modules/traveldroid/system/swaync.nixgenerated/modules/traveldroid/system/audio.nixgenerated/modules/traveldroid/system/avahi.nixgenerated/modules/traveldroid/system/bluetooth.nixgenerated/modules/traveldroid/system/copy_scripts.nixgenerated/modules/traveldroid/system/dbus.nixgenerated/modules/traveldroid/system/firewall.nixgenerated/modules/traveldroid/system/hypridle.nixgenerated/modules/traveldroid/system/hyprlock.nixgenerated/modules/traveldroid/system/gnome-keyring.nixgenerated/modules/traveldroid/system/login-tuigreet.nixgenerated/modules/traveldroid/system/networking.nixgenerated/modules/traveldroid/system/nix.nixgenerated/modules/traveldroid/system/printing.nixgenerated/modules/traveldroid/system/quickshell.nixgenerated/modules/traveldroid/system/swaync.nixgenerated/.config/emacs/early-init.elgenerated/.config/emacs/init.elgenerated/.config/hypr/animations.confgenerated/.config/hypr/behaviour.confgenerated/.config/hypr/bindings.confgenerated/.config/hypr/exec-once.confgenerated/.config/hypr/hypridle.confgenerated/.config/hypr/hyprlock.confgenerated/.config/hypr/hyprland.confgenerated/.config/hypr/layer-rules.confgenerated/.config/hypr/layout.confgenerated/.config/hypr/monitor-rules.confgenerated/.config/hypr/theming.confgenerated/.config/hypr/window-rules.confgenerated/.config/hypr/workspace-rules.confgenerated/.config/quickshell/media/shell.qmlgenerated/.config/quickshell/powermenu/shell.qmlgenerated/.config/quickshell/updater/shell.qmlgenerated/.config/quickshell/layoutswitcher/shell.qmlgenerated/.config/waybar/scripts/batterywarn.shgenerated/.config/waybar/scripts/media.shgenerated/.config/scripts/numlock-check.shgenerated/.config/scripts/power.shgenerated/.config/wofi/scripts/wofi-launcher.shgenerated/.config/shared/colors.cssgenerated/.config/starship.tomlgenerated/.config/stylix/stylix.confgenerated/.config/stylix/palette.jsongenerated/.config/stylix/palette.htmlgenerated/.config/swaync/config.jsongenerated/.config/swaync/style.cssgenerated/.config/waybar/config.jsoncgenerated/.config/waybar/style-dark.cssgenerated/.config/waybar/scripts/bluetooth-status.shgenerated/.config/waybar/scripts/hypr-workspaces.shgenerated/.config/waybar/scripts/hypr-workspacesmenu.shgenerated/.config/waybar/scripts/kdeconnect-status.shgenerated/.config/waypaper/config.inigenerated/.config/waypaper/config.inigenerated/.config/wofi/configgenerated/.config/wofi/style.cssgenerated/.config/zed/settings.jsongenerated/.config/zsh/.zshrcgenerated/.config/emacs/early-init.elgenerated/.config/emacs/init.elgenerated/.config/hypr/animations.confgenerated/.config/hypr/behaviour.confgenerated/.config/hypr/bindings.confgenerated/.config/hypr/exec-once.confgenerated/.config/hypr/hypridle.confgenerated/.config/hypr/hyprlock.confgenerated/.config/hypr/hyprland.confgenerated/.config/hypr/layer-rules.confgenerated/.config/hypr/layout.confgenerated/.config/hypr/monitor-rules.confgenerated/.config/hypr/theming.confgenerated/.config/hypr/window-rules.confgenerated/.config/hypr/workspace-rules.confgenerated/.config/quickshell/media/shell.qmlgenerated/.config/quickshell/powermenu/shell.qmlgenerated/.config/quickshell/updater/shell.qmlgenerated/.config/quickshell/layoutswitcher/shell.qmlgenerated/.config/waybar/scripts/batterywarn.shgenerated/.config/waybar/scripts/media.shgenerated/.config/scripts/numlock-check.shgenerated/.config/scripts/power.shgenerated/.config/wofi/scripts/wofi-launcher.shgenerated/.config/shared/colors.cssgenerated/.config/starship.tomlgenerated/.config/stylix/stylix.confgenerated/.config/stylix/palette.jsongenerated/.config/stylix/palette.htmlgenerated/.config/swaync/config.jsongenerated/.config/swaync/style.cssgenerated/.config/waybar/config.jsoncgenerated/.config/waybar/style-dark.cssgenerated/.config/waybar/scripts/bluetooth-status.shgenerated/.config/waybar/scripts/hypr-workspaces.shgenerated/.config/waybar/scripts/hypr-workspacesmenu.shgenerated/.config/waybar/scripts/kdeconnect-status.shgenerated/.config/waypaper/config.inigenerated/.config/waypaper/config.inigenerated/.config/wofi/configgenerated/.config/wofi/style.cssgenerated/.config/zed/settings.jsongenerated/.config/zsh/.zshrcIntroduction The Assets Folder @@ -355,25 +355,25 @@
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.
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: @@ -386,9 +386,9 @@ The Droidnix repository is organized into two main parts:
The generated/ directory contains all generated configurations, divided into three main groups: system, hyprland, and mangowc.
./setup_droid.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.confgenerated/assets/2_b_installed.confThis is a list of additional apps to install
@@ -509,9 +509,9 @@ com.logseq.Logseqgenerated/assets/aliases.confgenerated/assets/aliases.confThis is a list of additional apps to install
@@ -553,9 +553,9 @@ keys=hyprctl binds This section contains the Org blocks for tangling Nix code into the generated folders.generated/flake.nixgenerated/flake.nixThe Nix flake definition for Droidnix.
@@ -646,9 +646,9 @@ The Nix flake definition for Droidnix.generated/modules/traveldroid/system/colors.nixgenerated/modules/traveldroid/system/colors.nixSetting the colors for Droidnix.
@@ -725,9 +725,9 @@ ingenerated/hosts/traveldroid/boot.nixgenerated/hosts/traveldroid/boot.nix# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, lib, flakeRoot, ... }:
@@ -796,9 +796,9 @@ in
generated/hosts/traveldroid/hardware-configuration.nixgenerated/hosts/traveldroid/hardware-configuration.nixgenerated/hosts/traveldroid/host.nixgenerated/hosts/traveldroid/host.nix{ lib, config, pkgs, flakeRoot, import-tree, home-manager, ... }:
@@ -918,13 +918,13 @@ in
generated/modules/traveldroid/apps/2_b_installed.nixgenerated/modules/traveldroid/apps/2_b_installed.nixThis installs a list of apps
@@ -1032,9 +1032,9 @@ in {generated/modules/traveldroid/apps/emacs/emacs.nixgenerated/modules/traveldroid/apps/emacs/emacs.nixThis installs emacs
@@ -1130,9 +1130,9 @@ ingenerated/disabled/modules/traveldroid/apps/flameshot.nixgenerated/disabled/modules/traveldroid/apps/flameshot.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1192,9 +1192,9 @@ ingenerated/modules/traveldroid/apps/kdeconnect.nixgenerated/modules/traveldroid/apps/kdeconnect.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1223,9 +1223,9 @@ ingenerated/modules/traveldroid/apps/kitty.nixgenerated/modules/traveldroid/apps/kitty.nixThis file sets up Kitty terminal
@@ -1277,9 +1277,9 @@ ingenerated/modules/traveldroid/apps/starship.nixgenerated/modules/traveldroid/apps/starship.nixThis file sets up starship prompt
@@ -1318,9 +1318,9 @@ ingenerated/modules/traveldroid/apps/thunar.nixgenerated/modules/traveldroid/apps/thunar.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1366,9 +1366,9 @@ ingenerated/modules/traveldroid/apps/wofi.nixgenerated/modules/traveldroid/apps/wofi.nixThis is the install for Wofi, the launcher
@@ -1403,9 +1403,9 @@ ingenerated/modules/traveldroid/apps/zenbrowser.nixgenerated/modules/traveldroid/apps/zenbrowser.nixThis installs zen browser
@@ -1425,9 +1425,9 @@ ingenerated/modules/traveldroid/apps/zeditor.nixgenerated/modules/traveldroid/apps/zeditor.nixThis sets Zed Editor
@@ -1483,9 +1483,9 @@ ingenerated/modules/traveldroid/apps/zsh.nixgenerated/modules/traveldroid/apps/zsh.nixThis sets up the zsh in the terminal
@@ -1599,13 +1599,13 @@ ingenerated/modules/traveldroid/desktop/fonts.nixgenerated/modules/traveldroid/desktop/fonts.nixThis file installs and configures fonts
@@ -1623,9 +1623,9 @@ This file installs and configures fontsgenerated/modules/traveldroid/desktop/gtk.nixgenerated/modules/traveldroid/desktop/gtk.nixSetting up GTK
@@ -1651,9 +1651,9 @@ ingenerated/modules/traveldroid/desktop/hyprland.nixgenerated/modules/traveldroid/desktop/hyprland.nixSetting up Hyprland
@@ -1698,9 +1698,9 @@ ingenerated/modules/traveldroid/desktop/stylix.nixgenerated/modules/traveldroid/desktop/stylix.nix{ lib, config, pkgs, flakeRoot, stylix, ... }:
@@ -1787,9 +1787,9 @@ in
generated/modules/traveldroid/desktop/wallpaper.nixgenerated/modules/traveldroid/desktop/wallpaper.nixSetting up wallpaper engine + wallpaper gui
@@ -1888,9 +1888,9 @@ ingenerated/modules/traveldroid/desktop/waybar.nixgenerated/modules/traveldroid/desktop/waybar.nixThis file installs and configures waybar
@@ -1936,9 +1936,9 @@ ingenerated/modules/traveldroid/desktop/wayland.nixgenerated/modules/traveldroid/desktop/wayland.nix{ lib, config, pkgs, ... }:
@@ -1968,9 +1968,9 @@ in
generated/modules/traveldroid/desktop/xdg.nixgenerated/modules/traveldroid/desktop/xdg.nixThis sets the XDG implementation
@@ -2041,13 +2041,13 @@ ingenerated/modules/traveldroid/system/audio.nixgenerated/modules/traveldroid/system/audio.nix{ lib, config, pkgs, ... }:
@@ -2066,9 +2066,9 @@ in
generated/modules/traveldroid/system/avahi.nixgenerated/modules/traveldroid/system/avahi.nixAvahi helps discovering services
@@ -2088,9 +2088,9 @@ Avahi helps discovering servicesgenerated/modules/traveldroid/system/bluetooth.nixgenerated/modules/traveldroid/system/bluetooth.nixInstalling Bluetooth services and supporting aps
@@ -2117,9 +2117,9 @@ ingenerated/modules/traveldroid/system/copy_scripts.nixgenerated/modules/traveldroid/system/copy_scripts.nixThis copies any scripts from generated.config/scripts to ~/.config/scripts and makes any .sh files executable.
@@ -2160,9 +2160,9 @@ ingenerated/modules/traveldroid/system/dbus.nixgenerated/modules/traveldroid/system/dbus.nixThis sets the dbus implementation
@@ -2189,9 +2189,9 @@ This sets the dbus implementationgenerated/modules/traveldroid/system/firewall.nixgenerated/modules/traveldroid/system/firewall.nixThis sets the firewall.
@@ -2272,9 +2272,9 @@ This sets the firewall.generated/modules/traveldroid/system/hypridle.nixgenerated/modules/traveldroid/system/hypridle.nixThis installs hypridle
@@ -2330,9 +2330,9 @@ ingenerated/modules/traveldroid/system/hyprlock.nixgenerated/modules/traveldroid/system/hyprlock.nixThis installs hyprlock
@@ -2389,9 +2389,9 @@ ingenerated/modules/traveldroid/system/gnome-keyring.nixgenerated/modules/traveldroid/system/gnome-keyring.nixThis sets the dbus implementation
@@ -2439,9 +2439,9 @@ This sets the dbus implementationgenerated/modules/traveldroid/system/login-tuigreet.nixgenerated/modules/traveldroid/system/login-tuigreet.nixThis sets up tuigreeter which is not fancy but imho fits the aesthetic I am aiming for
@@ -2488,9 +2488,9 @@ ingenerated/modules/traveldroid/system/networking.nixgenerated/modules/traveldroid/system/networking.nixThis sets the networking.
@@ -2539,9 +2539,9 @@ This sets the networking.generated/modules/traveldroid/system/nix.nixgenerated/modules/traveldroid/system/nix.nix{ lib, config, ... }:
{
@@ -2564,9 +2564,9 @@ This sets the networking.
generated/modules/traveldroid/system/printing.nixgenerated/modules/traveldroid/system/printing.nixThis sets the dbus implementation
@@ -2590,9 +2590,9 @@ This sets the dbus implementationgenerated/modules/traveldroid/system/quickshell.nixgenerated/modules/traveldroid/system/quickshell.nixThis sets the quickshell implementation
@@ -2638,9 +2638,9 @@ ingenerated/modules/traveldroid/system/swaync.nixgenerated/modules/traveldroid/system/swaync.nixThis sets the dbus implementation
@@ -2689,13 +2689,13 @@ ingenerated/users/generated/users/This is the default user, just search and replace henrov another name if you want to change
@@ -2757,9 +2757,9 @@ ingenerated/.config/emacs/early-init.elgenerated/.config/emacs/early-init.elThis contaions emacs
@@ -2860,9 +2860,9 @@ package-archive-priorities '(("gnu" . 99)generated/.config/emacs/init.elgenerated/.config/emacs/init.elThis contaions emacs
@@ -3272,9 +3272,9 @@ the top of the file."generated/.config/hypr/animations.confgenerated/.config/hypr/animations.confThese are config files for .config/hypr
@@ -3293,9 +3293,9 @@ These are config files for .config/hyprgenerated/.config/hypr/behaviour.confgenerated/.config/hypr/behaviour.confThese are config files for .config/hypr
@@ -3317,9 +3317,9 @@ input {generated/.config/hypr/bindings.confgenerated/.config/hypr/bindings.confThese are config files for .config/hypr
@@ -3496,9 +3496,9 @@ bind = $mainMod, U, exec, qs -c updatergenerated/.config/hypr/exec-once.confgenerated/.config/hypr/exec-once.confThese are config files for .config/hypr
@@ -3519,9 +3519,9 @@ exec-once = waybargenerated/.config/hypr/hypridle.confgenerated/.config/hypr/hypridle.confThese are config files for .config/hypr
@@ -3552,9 +3552,9 @@ listener {generated/.config/hypr/hyprlock.confgenerated/.config/hypr/hyprlock.confThese are config files for .config/hypr
@@ -3584,9 +3584,9 @@ input-field {generated/.config/hypr/hyprland.confgenerated/.config/hypr/hyprland.confThese are config files for .config/hypr
@@ -3605,9 +3605,9 @@ source = ./workspace-rules.confgenerated/.config/hypr/layer-rules.confgenerated/.config/hypr/layer-rules.confThese are config files for .config/hypr
@@ -3620,9 +3620,9 @@ layerrule = xray 1, match:namespace swaync-control-centergenerated/.config/hypr/layout.confgenerated/.config/hypr/layout.confThese settings control Hyprland config
@@ -3637,9 +3637,9 @@ scrolling {generated/.config/hypr/monitor-rules.confgenerated/.config/hypr/monitor-rules.confThese are config files for .config/hypr
@@ -3650,9 +3650,9 @@ monitor = eDP-1, preferred, auto-left, 1.5generated/.config/hypr/theming.confgenerated/.config/hypr/theming.confThese are config files for .config/hypr
@@ -3718,9 +3718,9 @@ misc {generated/.config/hypr/window-rules.confgenerated/.config/hypr/window-rules.confThese are config files for .config/hypr
@@ -3772,6 +3772,16 @@ windowrule { pin = on } +#Quickshell updater +windowrule { + name = quickshell-updater + match:title = quickshell-updater + opacity = 1.0 0.8 + float = on + move = cursor -50% 0 + pin = on +} + #Quickshell layoutswitcher windowrule { name = quickshell-layoutswitcher @@ -3811,9 +3821,9 @@ windowrule {generated/.config/hypr/workspace-rules.confgenerated/.config/hypr/workspace-rules.confThese setttings configure rules for workspaces
@@ -3828,9 +3838,9 @@ workspace = 6, monitor:DP-1 #, layout:dwindlegenerated/.config/quickshell/media/shell.qmlgenerated/.config/quickshell/media/shell.qmloffers a audio widget
@@ -4224,9 +4234,9 @@ ShellRoot {generated/.config/quickshell/powermenu/shell.qmlgenerated/.config/quickshell/powermenu/shell.qmlProvides a powermenu
@@ -4374,15 +4384,14 @@ ShellRoot {generated/.config/quickshell/updater/shell.qmlgenerated/.config/quickshell/updater/shell.qmlUpdates the system
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
-import Quickshell
+import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
@@ -4399,38 +4408,35 @@ ShellRoot {
readonly property color blue: "#89b4fa"
readonly property color red: "#f38ba8"
readonly property color yellow: "#f9e2af"
- readonly property color peach: "#fab387"
}
- QtObject {
- id: state
- property int step: 0
- property bool running: false
- property bool failed: false
- property string log: ""
+ property int currentStep: 0
+ property bool isRunning: false
+ property bool isFailed: false
+ property string currentLog: ""
+ property bool started: false
- readonly property var steps: [
- { label: "Updating flake.lock", cmd: ["nix", "flake", "update"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
- { label: "Updating Flatpaks", cmd: ["flatpak", "update", "-y"], cwd: "/home/henrov" },
- { label: "Staging changes", cmd: ["git", "add", "."], cwd: "/home/henrov/Repos/nixos/Droidnix" },
- { label: "Committing changes", cmd: ["git", "commit", "-m", "Updated system"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
- { label: "Pushing to remote", cmd: ["git", "push"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
- { label: "Rebuilding NixOS", cmd: ["sudo", "nixos-rebuild", "switch", "--flake", ".#traveldroid"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
- { label: "Reloading Hyprland", cmd: ["hyprctl", "reload"], cwd: "/home/henrov" },
- ]
- }
+ readonly property var steps: [
+ { label: "Updating flake.lock", cmd: ["nix", "flake", "update"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
+ { label: "Updating Flatpaks", cmd: ["flatpak", "update", "-y"], cwd: "/home/henrov" },
+ { label: "Staging changes", cmd: ["git", "add", "."], cwd: "/home/henrov/Repos/nixos/Droidnix" },
+ { label: "Committing changes", cmd: ["git", "commit", "-m", "Updated system"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
+ { label: "Pushing to remote", cmd: ["git", "push"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
+ { label: "Rebuilding NixOS", cmd: ["sudo", "nixos-rebuild", "switch", "--flake", ".#traveldroid"], cwd: "/home/henrov/Repos/nixos/Droidnix" },
+ { label: "Reloading Hyprland", cmd: ["hyprctl", "reload"], cwd: "/home/henrov" },
+ ]
function runStep(index) {
- if (index >= state.steps.length) {
- state.running = false
- state.step = state.steps.length
+ if (index >= steps.length) {
+ isRunning = false
+ currentStep = steps.length
return
}
- state.step = index
- state.log = "" // clear log for each new step
- state.running = true
- stepProc.command = state.steps[index].cmd
- stepProc.workingDirectory = state.steps[index].cwd
+ currentStep = index
+ currentLog = ""
+ isRunning = true
+ stepProc.command = steps[index].cmd
+ stepProc.workingDirectory = steps[index].cwd
stepProc.running = true
}
@@ -4439,32 +4445,31 @@ ShellRoot {
stdout: SplitParser {
onRead: (line) => {
- state.log = (state.log + "\n" + line).split("\n").slice(-8).join("\n").trim()
+ currentLog = (currentLog + "\n" + line).split("\n").slice(-8).join("\n").trim()
}
}
stderr: SplitParser {
onRead: (line) => {
if (line.trim() !== "")
- state.log = (state.log + "\n" + line).split("\n").slice(-8).join("\n").trim()
+ currentLog = (currentLog + "\n" + line).split("\n").slice(-8).join("\n").trim()
}
}
onExited: (code) => {
- if (code !== 0 && state.step !== 3) {
- state.failed = true
- state.running = false
+ if (code !== 0 && currentStep !== 3) {
+ isFailed = true
+ isRunning = false
} else {
- runStep(state.step + 1)
+ runStep(currentStep + 1)
}
}
}
FloatingWindow {
- id: root
title: "quickshell-updater"
visible: true
- width: 520
+ width: 540
height: contentCol.implicitHeight + 32
color: "transparent"
@@ -4473,7 +4478,6 @@ ShellRoot {
onActivated: Qt.quit()
}
- // Gradient border
Rectangle {
anchors.fill: parent
anchors.margins: -2
@@ -4499,119 +4503,89 @@ ShellRoot {
right: parent.right
margins: 20
}
- spacing: 12
+ spacing: 8
- // Title
Text {
- text: " System Update"
- color: colors.text
- font.pixelSize: 15
- font.bold: true
- Layout.topMargin: 4
+ text: " System Update"
+ color: colors.text
+ font.pixelSize: 15
+ font.bold: true
+ Layout.topMargin: 8
}
- // Steps list
+ // Steps
Repeater {
- model: state.steps.length
+ model: steps.length
delegate: RowLayout {
- spacing: 10
+ spacing: 10
Layout.fillWidth: true
- // Icon
+ readonly property bool done: !isFailed && (index < currentStep || (!isRunning && currentStep === steps.length))
+ readonly property bool active: isRunning && index === currentStep
+ readonly property bool failed: isFailed && index === currentStep
+ readonly property bool pending: !done && !active && !failed
+
+ // icon
Text {
font.pixelSize: 14
- text: {
- if (state.failed && index === state.step) return "✗"
- if (index < state.step || (!state.running && index === state.step)) return "✓"
- if (index === state.step && state.running) return "…"
- return "○"
- }
- color: {
- if (state.failed && index === state.step) return colors.red
- if (index < state.step || (!state.running && !state.failed && index === state.step)) return colors.green
- if (index === state.step && state.running) return colors.yellow
- return colors.surface1
- }
+ text: failed ? "✗" : done ? "✓" : active ? "›" : "○"
+ color: failed ? colors.red : done ? colors.green : active ? colors.yellow : colors.surface1
}
+ // label
Text {
- text: state.steps[index].label
+ text: steps[index].label
font.pixelSize: 13
- color: {
- if (state.failed && index === state.step) return colors.red
- if (index < state.step) return colors.subtext0
- if (index === state.step) return colors.text
- return colors.surface1
- }
- }
-
- // Spinner for active step
- Text {
- visible: index === state.step && state.running
- text: "⠋"
- color: colors.blue
- font.pixelSize: 13
-
- RotationAnimation on rotation {
- running: index === state.step && state.running
- from: 0; to: 360
- duration: 1000
- loops: Animation.Infinite
- }
+ color: failed ? colors.red : done ? colors.green : active ? colors.text : colors.surface1
}
}
}
- // Log output
+ // Log box
Rectangle {
- Layout.fillWidth: true
- height: 160
- radius: 8
- color: colors.surface0
- visible: state.log !== ""
+ Layout.fillWidth: true
+ height: 160
+ radius: 8
+ color: colors.surface0
+ visible: currentLog !== "" && started
Text {
anchors {
fill: parent
- margins: 8
+ margins: 10
}
- text: state.log
- color: colors.subtext0
- font.pixelSize: 11
- font.family: "monospace"
- wrapMode: Text.WrapAnywhere
- elide: Text.ElideLeft
+ text: currentLog
+ color: colors.subtext0
+ font.pixelSize: 11
+ font.family: "monospace"
+ wrapMode: Text.WrapAnywhere
verticalAlignment: Text.AlignBottom
}
}
- // Status / close
+ // Bottom bar
RowLayout {
- Layout.fillWidth: true
- Layout.bottomMargin: 4
+ Layout.fillWidth: true
+ Layout.bottomMargin: 8
Text {
- text: {
- if (state.failed) return "✗ Failed at: " + state.steps[state.step].label
- if (state.step === state.steps.length) return "✓ Done!"
- if (state.running) return "Running…"
- return "Press Start"
- }
- color: {
- if (state.failed) return colors.red
- if (state.step === state.steps.length) return colors.green
- return colors.subtext0
- }
font.pixelSize: 12
+ text: {
+ if (!started) return "Press Start to begin"
+ if (isFailed) return "✗ Failed at: " + steps[currentStep].label
+ if (currentStep === steps.length) return "✓ All done!"
+ if (isRunning) return steps[currentStep].label + "…"
+ return ""
+ }
+ color: isFailed ? colors.red : currentStep === steps.length ? colors.green : colors.subtext0
}
Item { Layout.fillWidth: true }
- // Start button
Rectangle {
- visible: !state.running && state.step === 0
- width: 80; height: 28
+ visible: !started
+ width: 80; height: 28
radius: 14
gradient: Gradient {
orientation: Gradient.Horizontal
@@ -4620,29 +4594,31 @@ ShellRoot {
}
Text {
anchors.centerIn: parent
- text: "Start"
- color: colors.base
- font.pixelSize: 12
- font.bold: true
+ text: "Start"
+ color: colors.base
+ font.pixelSize: 12
+ font.bold: true
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
- onClicked: runStep(0)
+ onClicked: {
+ started = true
+ runStep(0)
+ }
}
}
- // Close button
Rectangle {
- visible: !state.running && state.step > 0
- width: 80; height: 28
+ visible: !isRunning && started
+ width: 80; height: 28
radius: 14
color: colors.surface1
Text {
anchors.centerIn: parent
- text: "Close"
- color: colors.text
- font.pixelSize: 12
+ text: currentStep === steps.length ? "Close" : "Dismiss"
+ color: colors.text
+ font.pixelSize: 12
}
MouseArea {
anchors.fill: parent
@@ -4659,9 +4635,9 @@ ShellRoot {
generated/.config/quickshell/layoutswitcher/shell.qmlgenerated/.config/quickshell/layoutswitcher/shell.qmlProvides a layout menu
@@ -4808,9 +4784,9 @@ ShellRoot {generated/.config/waybar/scripts/batterywarn.shgenerated/.config/waybar/scripts/batterywarn.shProviding an media
@@ -4827,9 +4803,9 @@ figenerated/.config/waybar/scripts/media.shgenerated/.config/waybar/scripts/media.shProviding an media
@@ -4928,9 +4904,9 @@ jq -c -n \generated/.config/scripts/numlock-check.shgenerated/.config/scripts/numlock-check.shCount keyboards and enable numlock if more then 1, else disable
@@ -4952,9 +4928,9 @@ figenerated/.config/scripts/power.shgenerated/.config/scripts/power.shEnables a terminal power menu
@@ -5009,9 +4985,9 @@ maingenerated/.config/wofi/scripts/wofi-launcher.shgenerated/.config/wofi/scripts/wofi-launcher.shProviding an media
@@ -5026,9 +5002,9 @@ Providing an mediagenerated/.config/shared/colors.cssgenerated/.config/shared/colors.cssA file containing color variables
@@ -5069,9 +5045,9 @@ A file containing color variablesgenerated/.config/starship.tomlgenerated/.config/starship.tomlThese are config files for Starship
@@ -5359,9 +5335,9 @@ crust = "#181926"generated/.config/stylix/stylix.confgenerated/.config/stylix/stylix.confThese are config files for .config/stylix
@@ -5398,9 +5374,9 @@ icons = {generated/.config/stylix/palette.jsongenerated/.config/stylix/palette.jsonThese are config files for .config/stylix
@@ -5430,9 +5406,9 @@ These are config files for .config/stylixgenerated/.config/stylix/palette.htmlgenerated/.config/stylix/palette.htmlThese are config files for .config/stylix
@@ -5509,9 +5485,9 @@ These are config files for .config/stylixgenerated/.config/swaync/config.jsongenerated/.config/swaync/config.jsonThese are config files for waybar
@@ -5572,9 +5548,9 @@ These are config files for waybargenerated/.config/swaync/style.cssgenerated/.config/swaync/style.cssThese are config files for waybar
@@ -5767,9 +5743,9 @@ These are config files for waybargenerated/.config/waybar/config.jsoncgenerated/.config/waybar/config.jsoncThese are config files for waybar
@@ -6106,9 +6082,9 @@ These are config files for waybargenerated/.config/waybar/style-dark.cssgenerated/.config/waybar/style-dark.cssThis file contains all css for waybar
@@ -6368,9 +6344,9 @@ label#custom-windows:not(.active) {generated/.config/waybar/scripts/bluetooth-status.shgenerated/.config/waybar/scripts/bluetooth-status.shThese are config files for waybar
@@ -6395,9 +6371,9 @@ printf '{"text": "%s", "tooltip": "%s"}\n' "$icon" "$tooltip"generated/.config/waybar/scripts/hypr-workspaces.shgenerated/.config/waybar/scripts/hypr-workspaces.shThese are config files for waybar
@@ -6439,9 +6415,9 @@ jq -c -n \generated/.config/waybar/scripts/hypr-workspacesmenu.shgenerated/.config/waybar/scripts/hypr-workspacesmenu.shThese are config files for waybar
@@ -6463,9 +6439,9 @@ hyprctl dispatch focuswindow address:"$addr"generated/.config/waybar/scripts/kdeconnect-status.shgenerated/.config/waybar/scripts/kdeconnect-status.shThese are config files for waybar
@@ -6489,9 +6465,9 @@ figenerated/.config/waypaper/config.inigenerated/.config/waypaper/config.iniThese are config files for waypaper
@@ -6528,9 +6504,9 @@ keybindings = ~/.config/waypaper/keybindings.inigenerated/.config/waypaper/config.inigenerated/.config/waypaper/config.iniThese are config files for .config/waypaper
@@ -6566,9 +6542,9 @@ keybindings = ~/.config/waypaper/keybindings.inigenerated/.config/wofi/configgenerated/.config/wofi/configThese are config files for .config/wofi
@@ -6595,9 +6571,9 @@ prompt = > ...generated/.config/wofi/style.cssgenerated/.config/wofi/style.cssThis is the default layout for wofi
@@ -6693,9 +6669,9 @@ This is the default layout for wofigenerated/.config/zed/settings.jsongenerated/.config/zed/settings.jsonThese are config files for Zed editor
@@ -6733,9 +6709,9 @@ These are config files for Zed editorgenerated/.config/zsh/.zshrcgenerated/.config/zsh/.zshrcThis sets up the zsh in the terminal
@@ -6772,7 +6748,7 @@ cd() {