From 2f852eed2f0a312eeada55c2d6254306d488789e Mon Sep 17 00:00:00 2001
From: 0xTux <0xtux@pm.me>
Date: Tue, 6 Aug 2024 00:49:41 +0530
Subject: [PATCH] add awesome-wm config
---
.gitignore | 1 -
hosts/canopus/home.nix | 1 +
modules/home-manager/awesome/default.nix | 8 ++
pkgs/awesome/awesome/binds/client/init.lua | 5 +
pkgs/awesome/awesome/binds/client/keys.lua | 19 +++
pkgs/awesome/awesome/binds/client/mouse.lua | 19 +++
pkgs/awesome/awesome/binds/global/init.lua | 5 +
pkgs/awesome/awesome/binds/global/keys.lua | 90 +++++++++++++
pkgs/awesome/awesome/binds/global/mouse.lua | 12 ++
pkgs/awesome/awesome/binds/init.lua | 5 +
pkgs/awesome/awesome/binds/mod.lua | 9 ++
pkgs/awesome/awesome/config/apps.lua | 10 ++
pkgs/awesome/awesome/config/rules.lua | 53 ++++++++
pkgs/awesome/awesome/config/user.lua | 20 +++
pkgs/awesome/awesome/rc.lua | 40 ++++++
pkgs/awesome/awesome/signal/client.lua | 15 +++
pkgs/awesome/awesome/signal/init.lua | 9 ++
pkgs/awesome/awesome/signal/screen.lua | 40 ++++++
pkgs/awesome/awesome/signal/tag.lua | 5 +
pkgs/awesome/awesome/startup.lua | 12 ++
pkgs/awesome/awesome/theme/default.lua | 126 ++++++++++++++++++
pkgs/awesome/awesome/theme/icons/_blank.svg | 1 +
.../theme/icons/apple-keyboard-command.svg | 1 +
.../icons/application-variable-outline.svg | 1 +
.../theme/icons/application-variable.svg | 1 +
pkgs/awesome/awesome/theme/icons/apps.svg | 1 +
.../theme/icons/arrange-bring-forward.svg | 1 +
.../theme/icons/arrow-down-right-bold.svg | 1 +
.../awesome/theme/icons/arrow-u-left-top.svg | 1 +
.../awesome/awesome/theme/icons/awesomewm.svg | 18 +++
.../theme/icons/bluetooth-settings.svg | 1 +
.../theme/icons/book-clock-outline.svg | 1 +
.../awesome/theme/icons/book-clock.svg | 1 +
.../awesome/theme/icons/calculator.svg | 1 +
.../awesome/theme/icons/calendar-month.svg | 1 +
.../awesome/theme/icons/chart-line.svg | 1 +
.../awesome/theme/icons/check-bold.svg | 1 +
pkgs/awesome/awesome/theme/icons/check.svg | 1 +
.../theme/icons/checkbox-blank-outline.svg | 1 +
.../awesome/theme/icons/checkbox-blank.svg | 1 +
.../awesome/theme/icons/checkbox-marked.svg | 1 +
.../awesome/theme/icons/chevron-double-up.svg | 1 +
.../awesome/theme/icons/chevron-down.svg | 1 +
.../awesome/theme/icons/chevron-left.svg | 1 +
.../awesome/theme/icons/chevron-right.svg | 1 +
.../awesome/theme/icons/chevron-triple-up.svg | 1 +
.../awesome/theme/icons/chevron-up.svg | 1 +
.../awesome/theme/icons/circle-medium.svg | 1 +
.../awesome/theme/icons/circle-opacity.svg | 1 +
.../awesome/theme/icons/clock-fast.svg | 1 +
.../awesome/theme/icons/clock-time-1.svg | 1 +
.../awesome/theme/icons/clock-time-10.svg | 1 +
.../awesome/theme/icons/clock-time-11.svg | 1 +
.../awesome/theme/icons/clock-time-12.svg | 1 +
.../awesome/theme/icons/clock-time-2.svg | 1 +
.../awesome/theme/icons/clock-time-3.svg | 1 +
.../awesome/theme/icons/clock-time-4.svg | 1 +
.../awesome/theme/icons/clock-time-5.svg | 1 +
.../awesome/theme/icons/clock-time-6.svg | 1 +
.../awesome/theme/icons/clock-time-7.svg | 1 +
.../awesome/theme/icons/clock-time-8.svg | 1 +
.../awesome/theme/icons/clock-time-9.svg | 1 +
pkgs/awesome/awesome/theme/icons/close.svg | 1 +
pkgs/awesome/awesome/theme/icons/cogs.svg | 1 +
.../awesome/theme/icons/console-line.svg | 1 +
.../awesome/theme/icons/content-copy.svg | 1 +
.../theme/icons/delete-clock-outline.svg | 1 +
.../awesome/theme/icons/delete-clock.svg | 1 +
.../awesome/theme/icons/delete-forever.svg | 1 +
.../awesome/awesome/theme/icons/dock-left.svg | 1 +
pkgs/awesome/awesome/theme/icons/dock-top.svg | 1 +
pkgs/awesome/awesome/theme/icons/download.svg | 1 +
.../awesome/theme/icons/emoticon-cool.svg | 1 +
pkgs/awesome/awesome/theme/icons/exit-run.svg | 1 +
pkgs/awesome/awesome/theme/icons/eye-off.svg | 1 +
.../theme/icons/file-document-edit.svg | 1 +
pkgs/awesome/awesome/theme/icons/firefox.svg | 1 +
.../awesome/theme/icons/folder-image.svg | 1 +
pkgs/awesome/awesome/theme/icons/folder.svg | 1 +
.../awesome/theme/icons/fullscreen.svg | 1 +
pkgs/awesome/awesome/theme/icons/help.svg | 1 +
.../awesome/theme/icons/home-thermometer.svg | 1 +
.../awesome/theme/icons/identifier.svg | 1 +
.../theme/icons/image-filter-center-focus.svg | 1 +
.../theme/icons/image-size-select-actual.svg | 1 +
pkgs/awesome/awesome/theme/icons/keyboard.svg | 1 +
.../awesome/theme/icons/lan-disconnect.svg | 1 +
.../awesome/theme/icons/lan-pending.svg | 1 +
.../awesome/theme/icons/layers-triple.svg | 1 +
.../awesome/theme/icons/layouts/floating.svg | 8 ++
.../theme/icons/layouts/fullscreen.svg | 8 ++
.../awesome/theme/icons/layouts/max.svg | 8 ++
.../theme/icons/layouts/tiling.center.svg | 9 ++
.../theme/icons/layouts/tiling.right.svg | 9 ++
.../awesome/theme/icons/lightbulb-on.svg | 1 +
pkgs/awesome/awesome/theme/icons/lock.svg | 1 +
pkgs/awesome/awesome/theme/icons/logout.svg | 1 +
.../awesome/theme/icons/menu-right.svg | 1 +
pkgs/awesome/awesome/theme/icons/menu.svg | 1 +
pkgs/awesome/awesome/theme/icons/minus.svg | 1 +
pkgs/awesome/awesome/theme/icons/monitor.svg | 1 +
.../awesome/theme/icons/move-resize.svg | 1 +
pkgs/awesome/awesome/theme/icons/music.svg | 1 +
.../awesome/theme/icons/open-in-app.svg | 1 +
.../awesome/theme/icons/open-in-new.svg | 1 +
pkgs/awesome/awesome/theme/icons/pause.svg | 1 +
pkgs/awesome/awesome/theme/icons/pin-off.svg | 1 +
pkgs/awesome/awesome/theme/icons/pin.svg | 1 +
pkgs/awesome/awesome/theme/icons/pirate.svg | 1 +
pkgs/awesome/awesome/theme/icons/play.svg | 1 +
pkgs/awesome/awesome/theme/icons/plus.svg | 1 +
.../awesome/theme/icons/power-settings.svg | 1 +
pkgs/awesome/awesome/theme/icons/power.svg | 1 +
.../awesome/theme/icons/radiobox-blank.svg | 1 +
.../awesome/theme/icons/radiobox-marked.svg | 1 +
pkgs/awesome/awesome/theme/icons/refresh.svg | 1 +
pkgs/awesome/awesome/theme/icons/rename.svg | 1 +
pkgs/awesome/awesome/theme/icons/restart.svg | 1 +
.../awesome/theme/icons/shuffle-variant.svg | 1 +
.../awesome/awesome/theme/icons/skip-next.svg | 1 +
.../awesome/theme/icons/skip-previous.svg | 1 +
pkgs/awesome/awesome/theme/icons/sleep.svg | 1 +
.../awesome/theme/icons/speedometer-slow.svg | 1 +
.../awesome/theme/icons/speedometer.svg | 1 +
pkgs/awesome/awesome/theme/icons/stop.svg | 1 +
.../awesome/theme/icons/tag-arrow-down.svg | 1 +
.../awesome/theme/icons/tag-multiple.svg | 1 +
pkgs/awesome/awesome/theme/icons/tag.svg | 1 +
pkgs/awesome/awesome/theme/icons/target.svg | 1 +
.../awesome/theme/icons/theme-light-dark.svg | 1 +
.../awesome/theme/icons/thermometer-lines.svg | 1 +
.../awesome/theme/icons/thermometer.svg | 1 +
.../awesome/theme/icons/timer-outline.svg | 1 +
.../awesome/theme/icons/timer-play.svg | 1 +
.../awesome/theme/icons/timer-sand.svg | 1 +
.../awesome/theme/icons/timer-settings.svg | 1 +
.../theme/icons/toggle-switch-off-outline.svg | 1 +
.../awesome/theme/icons/toggle-switch-off.svg | 1 +
.../theme/icons/toggle-switch-outline.svg | 1 +
.../awesome/theme/icons/toggle-switch.svg | 1 +
pkgs/awesome/awesome/theme/icons/toolbox.svg | 1 +
pkgs/awesome/awesome/theme/icons/tortoise.svg | 1 +
pkgs/awesome/awesome/theme/icons/tune.svg | 1 +
.../theme/icons/unfold-less-vertical.svg | 1 +
pkgs/awesome/awesome/theme/icons/upload.svg | 1 +
pkgs/awesome/awesome/theme/icons/video.svg | 1 +
.../awesome/awesome/theme/icons/view-grid.svg | 1 +
pkgs/awesome/awesome/theme/icons/volume.svg | 8 ++
.../awesome/theme/icons/water-thermometer.svg | 1 +
.../awesome/theme/icons/weather-pouring.svg | 1 +
.../awesome/theme/icons/weather-rainy.svg | 1 +
pkgs/awesome/awesome/theme/icons/web.svg | 1 +
.../awesome/theme/icons/window-close.svg | 1 +
.../awesome/theme/icons/window-maximize.svg | 1 +
.../awesome/theme/icons/window-minimize.svg | 1 +
pkgs/awesome/awesome/theme/init.lua | 7 +
pkgs/awesome/awesome/ui/init.lua | 7 +
pkgs/awesome/awesome/ui/menu/init.lua | 41 ++++++
pkgs/awesome/awesome/ui/notification/init.lua | 5 +
.../awesome/ui/notification/normal.lua | 20 +++
pkgs/awesome/awesome/ui/titlebar/init.lua | 5 +
pkgs/awesome/awesome/ui/titlebar/normal.lua | 44 ++++++
pkgs/awesome/awesome/ui/wibar/init.lua | 74 ++++++++++
.../awesome/ui/wibar/module/battery.lua | 12 ++
pkgs/awesome/awesome/ui/wibar/module/gpu.lua | 12 ++
pkgs/awesome/awesome/ui/wibar/module/init.lua | 13 ++
.../awesome/ui/wibar/module/launcher.lua | 10 ++
.../awesome/ui/wibar/module/layoutbox.lua | 9 ++
.../awesome/ui/wibar/module/profile.lua | 12 ++
.../awesome/ui/wibar/module/systray.lua | 18 +++
.../awesome/ui/wibar/module/taglist.lua | 39 ++++++
.../awesome/ui/wibar/module/tailscale.lua | 12 ++
.../awesome/ui/wibar/module/tasklist.lua | 39 ++++++
pkgs/awesome/default.nix | 22 +++
pkgs/default.nix | 1 +
175 files changed, 1100 insertions(+), 1 deletion(-)
create mode 100644 modules/home-manager/awesome/default.nix
create mode 100644 pkgs/awesome/awesome/binds/client/init.lua
create mode 100644 pkgs/awesome/awesome/binds/client/keys.lua
create mode 100644 pkgs/awesome/awesome/binds/client/mouse.lua
create mode 100644 pkgs/awesome/awesome/binds/global/init.lua
create mode 100644 pkgs/awesome/awesome/binds/global/keys.lua
create mode 100644 pkgs/awesome/awesome/binds/global/mouse.lua
create mode 100644 pkgs/awesome/awesome/binds/init.lua
create mode 100644 pkgs/awesome/awesome/binds/mod.lua
create mode 100644 pkgs/awesome/awesome/config/apps.lua
create mode 100644 pkgs/awesome/awesome/config/rules.lua
create mode 100644 pkgs/awesome/awesome/config/user.lua
create mode 100644 pkgs/awesome/awesome/rc.lua
create mode 100644 pkgs/awesome/awesome/signal/client.lua
create mode 100644 pkgs/awesome/awesome/signal/init.lua
create mode 100644 pkgs/awesome/awesome/signal/screen.lua
create mode 100644 pkgs/awesome/awesome/signal/tag.lua
create mode 100644 pkgs/awesome/awesome/startup.lua
create mode 100644 pkgs/awesome/awesome/theme/default.lua
create mode 100644 pkgs/awesome/awesome/theme/icons/_blank.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/application-variable-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/application-variable.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/apps.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/awesomewm.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/book-clock-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/book-clock.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/calculator.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/calendar-month.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chart-line.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/check-bold.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/check.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/checkbox-blank.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/checkbox-marked.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chevron-double-up.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chevron-down.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chevron-left.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chevron-right.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/chevron-up.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/circle-medium.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/circle-opacity.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-fast.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-1.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-10.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-11.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-12.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-2.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-3.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-4.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-5.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-6.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-7.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-8.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/clock-time-9.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/close.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/cogs.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/console-line.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/content-copy.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/delete-clock.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/delete-forever.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/dock-left.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/dock-top.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/download.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/emoticon-cool.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/exit-run.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/eye-off.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/file-document-edit.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/firefox.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/folder-image.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/folder.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/fullscreen.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/help.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/home-thermometer.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/identifier.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/keyboard.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/lan-disconnect.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/lan-pending.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/layers-triple.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/layouts/floating.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/layouts/max.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/lightbulb-on.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/lock.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/logout.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/menu-right.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/menu.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/minus.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/monitor.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/move-resize.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/music.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/open-in-app.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/open-in-new.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/pause.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/pin-off.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/pin.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/pirate.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/play.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/plus.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/power-settings.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/power.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/radiobox-blank.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/radiobox-marked.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/refresh.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/rename.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/restart.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/shuffle-variant.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/skip-next.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/skip-previous.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/sleep.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/speedometer-slow.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/speedometer.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/stop.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/tag-multiple.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/tag.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/target.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/theme-light-dark.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/thermometer-lines.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/thermometer.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/timer-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/timer-play.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/timer-sand.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/timer-settings.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/toggle-switch.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/toolbox.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/tortoise.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/tune.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/upload.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/video.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/view-grid.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/volume.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/water-thermometer.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/weather-pouring.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/weather-rainy.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/web.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/window-close.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/window-maximize.svg
create mode 100644 pkgs/awesome/awesome/theme/icons/window-minimize.svg
create mode 100644 pkgs/awesome/awesome/theme/init.lua
create mode 100644 pkgs/awesome/awesome/ui/init.lua
create mode 100644 pkgs/awesome/awesome/ui/menu/init.lua
create mode 100644 pkgs/awesome/awesome/ui/notification/init.lua
create mode 100644 pkgs/awesome/awesome/ui/notification/normal.lua
create mode 100644 pkgs/awesome/awesome/ui/titlebar/init.lua
create mode 100644 pkgs/awesome/awesome/ui/titlebar/normal.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/init.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/battery.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/gpu.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/init.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/launcher.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/profile.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/systray.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/taglist.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/tailscale.lua
create mode 100644 pkgs/awesome/awesome/ui/wibar/module/tasklist.lua
create mode 100644 pkgs/awesome/default.nix
diff --git a/.gitignore b/.gitignore
index 46e1560..b2be92b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
-config
result
diff --git a/hosts/canopus/home.nix b/hosts/canopus/home.nix
index 177e377..991e868 100644
--- a/hosts/canopus/home.nix
+++ b/hosts/canopus/home.nix
@@ -1,5 +1,6 @@
{pkgs, ...}: {
imports = [
+ ../../modules/home-manager/awesome
../../modules/home-manager/hyprland
../../modules/home-manager/waybar
../../modules/home-manager/picom
diff --git a/modules/home-manager/awesome/default.nix b/modules/home-manager/awesome/default.nix
new file mode 100644
index 0000000..15d1f22
--- /dev/null
+++ b/modules/home-manager/awesome/default.nix
@@ -0,0 +1,8 @@
+{pkgs, ...}: {
+ home.file = {
+ ".config/awesome" = {
+ recursive = true;
+ source = "${pkgs.tux-awesome-wm-config}";
+ };
+ };
+}
diff --git a/pkgs/awesome/awesome/binds/client/init.lua b/pkgs/awesome/awesome/binds/client/init.lua
new file mode 100644
index 0000000..dc8c209
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/client/init.lua
@@ -0,0 +1,5 @@
+-- Returns all client mouse and keybinds.
+return {
+ keys = require(... .. ".keys"),
+ mouse = require(... .. ".mouse"),
+}
diff --git a/pkgs/awesome/awesome/binds/client/keys.lua b/pkgs/awesome/awesome/binds/client/keys.lua
new file mode 100644
index 0000000..a3077bf
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/client/keys.lua
@@ -0,0 +1,19 @@
+local awful = require("awful")
+
+local mod = require("binds.mod")
+local modkey = mod.modkey
+
+--- Client keybindings.
+client.connect_signal("request::default_keybindings", function()
+ awful.keyboard.append_client_keybindings({
+ -- Client state management.
+ awful.key({ modkey }, "f", function(c)
+ c.fullscreen = not c.fullscreen
+ c:raise()
+ end, { description = "toggle fullscreen", group = "client" }),
+ awful.key({ modkey }, "q", function(c)
+ c:kill()
+ end, { description = "close", group = "client" }),
+ awful.key({ modkey }, "space", awful.client.floating.toggle, { description = "toggle floating", group = "client" }),
+ })
+end)
diff --git a/pkgs/awesome/awesome/binds/client/mouse.lua b/pkgs/awesome/awesome/binds/client/mouse.lua
new file mode 100644
index 0000000..0b6adc4
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/client/mouse.lua
@@ -0,0 +1,19 @@
+local awful = require("awful")
+
+local mod = require("binds.mod")
+local modkey = mod.modkey
+
+--- Client mouse bindings.
+client.connect_signal("request::default_mousebindings", function()
+ awful.mouse.append_client_mousebindings({
+ awful.button(nil, 1, function(c)
+ c:activate({ context = "mouse_click" })
+ end),
+ awful.button({ modkey }, 1, function(c)
+ c:activate({ context = "mouse_click", action = "mouse_move" })
+ end),
+ awful.button({ modkey }, 3, function(c)
+ c:activate({ context = "mouse_click", action = "mouse_resize" })
+ end),
+ })
+end)
diff --git a/pkgs/awesome/awesome/binds/global/init.lua b/pkgs/awesome/awesome/binds/global/init.lua
new file mode 100644
index 0000000..5357cb5
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/global/init.lua
@@ -0,0 +1,5 @@
+-- Returns all global WM mouse and keybinds.
+return {
+ keys = require(... .. ".keys"),
+ mouse = require(... .. ".mouse"),
+}
diff --git a/pkgs/awesome/awesome/binds/global/keys.lua b/pkgs/awesome/awesome/binds/global/keys.lua
new file mode 100644
index 0000000..b0a8d5e
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/global/keys.lua
@@ -0,0 +1,90 @@
+local awful = require("awful")
+
+local mod = require("binds.mod")
+local modkey = mod.modkey
+
+local apps = require("config.apps")
+
+--- Global key bindings
+awful.keyboard.append_global_keybindings({
+ -- General Awesome keys.
+ awful.key(
+ { modkey },
+ "h",
+ require("awful.hotkeys_popup").show_help,
+ { description = "show help", group = "awesome" }
+ ),
+ awful.key({ modkey, mod.shift }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }),
+ awful.key({ modkey, mod.shift }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
+ awful.key({ modkey }, "Return", function()
+ awful.spawn(apps.terminal)
+ end, { description = "open a terminal", group = "launcher" }),
+ awful.key({ modkey }, "a", function()
+ awful.spawn("rofi -show drun")
+ end, { description = "run prompt", group = "launcher" }),
+
+ -- Focus related keybindings.
+ awful.key({ modkey }, "Left", function()
+ awful.client.focus.bydirection("left")
+ end, { description = "Focus window to the left", group = "Client" }),
+ awful.key({ modkey }, "Right", function()
+ awful.client.focus.bydirection("right")
+ end, { description = "Focus window to the right", group = "Client" }),
+ awful.key({ modkey }, "Up", function()
+ awful.client.focus.bydirection("up")
+ end, { description = "Focus window above", group = "Client" }),
+ awful.key({ modkey }, "Down", function()
+ awful.client.focus.bydirection("down")
+ end, { description = "Focus window below", group = "Client" }),
+ awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }),
+
+ -- Swap related keybindings.
+ awful.key({ modkey, mod.shift }, "Left", function()
+ awful.client.swap.bydirection("left")
+ end, { description = "Swap window to the left", group = "Client" }),
+ awful.key({ modkey, mod.shift }, "Right", function()
+ awful.client.swap.bydirection("right")
+ end, { description = "Swap window to the right", group = "Client" }),
+ awful.key({ modkey, mod.shift }, "Up", function()
+ awful.client.swap.bydirection("up")
+ end, { description = "Swap window above", group = "Client" }),
+ awful.key({ modkey, mod.shift }, "Down", function()
+ awful.client.swap.bydirection("down")
+ end, { description = "Swap window below", group = "Client" }),
+
+ -- Width related keybindings.
+ awful.key({ modkey, mod.ctrl }, "Left", function()
+ awful.tag.incmwfact(-0.05)
+ end, { description = "decrease master width factor", group = "layout" }),
+ awful.key({ modkey, mod.ctrl }, "Right", function()
+ awful.tag.incmwfact(0.05)
+ end, { description = "increase master width factor", group = "layout" }),
+
+ -- Tag related keybindings.
+ awful.key({
+ modifiers = { modkey },
+ keygroup = "numrow",
+ description = "only view tag",
+ group = "tag",
+ on_press = function(index)
+ local tag = awful.screen.focused().tags[index]
+ if tag then
+ tag:view_only()
+ end
+ end,
+ }),
+ awful.key({
+ modifiers = { modkey, mod.shift },
+ keygroup = "numrow",
+ description = "move focused client to tag",
+ group = "tag",
+ on_press = function(index)
+ if client.focus then
+ local tag = client.focus.screen.tags[index]
+ if tag then
+ client.focus:move_to_tag(tag)
+ end
+ end
+ end,
+ }),
+})
diff --git a/pkgs/awesome/awesome/binds/global/mouse.lua b/pkgs/awesome/awesome/binds/global/mouse.lua
new file mode 100644
index 0000000..d1078f4
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/global/mouse.lua
@@ -0,0 +1,12 @@
+local awful = require("awful")
+
+local widgets = require("ui")
+
+--- Global mouse bindings
+awful.mouse.append_global_mousebindings({
+ awful.button(nil, 3, function()
+ widgets.menu.main:toggle()
+ end),
+ awful.button(nil, 4, awful.tag.viewprev),
+ awful.button(nil, 5, awful.tag.viewnext),
+})
diff --git a/pkgs/awesome/awesome/binds/init.lua b/pkgs/awesome/awesome/binds/init.lua
new file mode 100644
index 0000000..5de1afd
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/init.lua
@@ -0,0 +1,5 @@
+-- Returns all mouse and keybinds for both clients and the WM.
+return {
+ global = require(... .. ".global"),
+ client = require(... .. ".client"),
+}
diff --git a/pkgs/awesome/awesome/binds/mod.lua b/pkgs/awesome/awesome/binds/mod.lua
new file mode 100644
index 0000000..bc2b72d
--- /dev/null
+++ b/pkgs/awesome/awesome/binds/mod.lua
@@ -0,0 +1,9 @@
+return {
+ alt = "Mod1",
+ super = "Mod4",
+ shift = "Shift",
+ ctrl = "Control",
+
+ -- Set Super as default modkey if none is present.
+ modkey = require("config.user").mod or "Mod4",
+}
diff --git a/pkgs/awesome/awesome/config/apps.lua b/pkgs/awesome/awesome/config/apps.lua
new file mode 100644
index 0000000..c9b21db
--- /dev/null
+++ b/pkgs/awesome/awesome/config/apps.lua
@@ -0,0 +1,10 @@
+-- This is used later as the default terminal and editor to run.
+local apps = {}
+apps.terminal = "wezterm"
+apps.editor = "nvim"
+apps.editor_cmd = apps.terminal .. " -e " .. apps.editor
+
+-- Set the terminal for the menubar.
+require("menubar").utils.terminal = apps.terminal
+
+return apps
diff --git a/pkgs/awesome/awesome/config/rules.lua b/pkgs/awesome/awesome/config/rules.lua
new file mode 100644
index 0000000..01c6bdd
--- /dev/null
+++ b/pkgs/awesome/awesome/config/rules.lua
@@ -0,0 +1,53 @@
+local awful = require("awful")
+local ruled = require("ruled")
+
+--- Rules.
+-- Rules to apply to new clients.
+ruled.client.connect_signal("request::rules", function()
+ -- All clients will match this rule.
+ ruled.client.append_rule({
+ id = "global",
+ rule = {},
+ properties = {
+ focus = awful.client.focus.filter,
+ raise = true,
+ screen = awful.screen.preferred,
+ placement = awful.placement.no_overlap + awful.placement.no_offscreen,
+ },
+ })
+
+ -- Floating clients.
+ ruled.client.append_rule({
+ id = "floating",
+ rule_any = {
+ instance = { "copyq", "pinentry" },
+ class = {
+ "Arandr",
+ ".blueman-manager-wrapped",
+ "Gpick",
+ },
+ -- Note that the name property shown in xprop might be set slightly after creation of the client
+ -- and the name shown there might not match defined rules here.
+ name = {
+ "Event Tester", -- xev.
+ },
+ role = {
+ "pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
+ },
+ },
+ properties = { floating = true },
+ })
+
+ -- Add titlebars to normal clients and dialogs.
+ -- ruled.client.append_rule({
+ -- id = "titlebars",
+ -- rule_any = { type = { "normal", "dialog" } },
+ -- properties = { titlebars_enabled = true },
+ -- })
+
+ -- Set Firefox to always map on the tag named '2' on screen 1.
+ -- ruled.client.append_rule({
+ -- rule = { class = 'Firefox' },
+ -- properties = { screen = 1, tag = '2' }
+ -- })
+end)
diff --git a/pkgs/awesome/awesome/config/user.lua b/pkgs/awesome/awesome/config/user.lua
new file mode 100644
index 0000000..830285a
--- /dev/null
+++ b/pkgs/awesome/awesome/config/user.lua
@@ -0,0 +1,20 @@
+local awful = require("awful")
+
+-- Specify user preferences for Awesome's behavior.
+return {
+ -- Default modkey.
+ -- Usually, Mod4 is the key with a logo between Control and Alt. If you do not like
+ -- this or do not have such a key, I suggest you to remap Mod4 to another key using
+ -- xmodmap or other tools. However, you can use another modifier like Mod1, but it
+ -- may interact with others.
+ mod = "Mod4",
+ -- Each screen has its own tag table. You can just define one and append it to all
+ -- screens (default behavior).
+ tags = { "1", "2", "3", "4" },
+ -- Table of layouts to cover with awful.layout.inc, ORDER MATTERS, the first layout
+ -- in the table is your DEFAULT LAYOUT.
+ layouts = {
+ awful.layout.suit.tile,
+ awful.layout.suit.floating,
+ },
+}
diff --git a/pkgs/awesome/awesome/rc.lua b/pkgs/awesome/awesome/rc.lua
new file mode 100644
index 0000000..b0d51d8
--- /dev/null
+++ b/pkgs/awesome/awesome/rc.lua
@@ -0,0 +1,40 @@
+-- awesome_mode: api-level=4:screen=on
+-- If LuaRocks is installed, make sure that packages installed through it are
+-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
+pcall(require, "luarocks.loader")
+
+--- Error handling.
+-- Notification library.
+local naughty = require("naughty")
+-- Check if awesome encountered an error during startup and fell back to
+-- another config (This code will only ever execute for the fallback config).
+naughty.connect_signal("request::display_error", function(message, startup)
+ naughty.notification({
+ urgency = "critical",
+ title = "Oops, an error happened" .. (startup and " during startup!" or "!"),
+ message = message,
+ })
+end)
+
+-- Allow Awesome to automatically focus a client upon changing tags or loading.
+require("awful.autofocus")
+-- Enable hotkeys help widget for VIM and other apps when client with a matching
+-- name is opened:
+require("awful.hotkeys_popup.keys")
+
+-- Load the theme. In other words, defines the variables within the `beautiful`
+-- table.
+require("theme")
+
+-- Treat all signals. Bear in mind this implies creating all tags, attaching
+-- their layouts, setting client behavior and loading UI.
+require("signal")
+
+-- Set all keybinds.
+require("binds")
+
+-- Load all client rules.
+require("config.rules")
+
+-- Start up apps
+require("startup")
diff --git a/pkgs/awesome/awesome/signal/client.lua b/pkgs/awesome/awesome/signal/client.lua
new file mode 100644
index 0000000..2efd756
--- /dev/null
+++ b/pkgs/awesome/awesome/signal/client.lua
@@ -0,0 +1,15 @@
+-- Add a titlebar if titlebars_enabled is set to true for the client in `config/rules.lua`.
+client.connect_signal("request::titlebars", function(c)
+ -- While this isn't actually in the example configuration, it's the most sane thing to do.
+ -- If a client expressly says not to draw titlebars on it, just don't.
+ if c.requests_no_titlebars then
+ return
+ end
+
+ require("ui.titlebar").normal(c)
+end)
+
+-- Enable sloppy focus, so that focus follows mouse.
+client.connect_signal("mouse::enter", function(c)
+ c:activate({ context = "mouse_enter", raise = false })
+end)
diff --git a/pkgs/awesome/awesome/signal/init.lua b/pkgs/awesome/awesome/signal/init.lua
new file mode 100644
index 0000000..7e3350f
--- /dev/null
+++ b/pkgs/awesome/awesome/signal/init.lua
@@ -0,0 +1,9 @@
+-- Allows all signals to be connected and/or emitted.
+return {
+ client = require(... .. ".client"),
+ -- NOTE: The `tag` file must be loaded before the `screen` one so that
+ -- the correct layouts defined in `config.user` are appended to the tags
+ -- upon creation.
+ tag = require(... .. ".tag"),
+ screen = require(... .. ".screen"),
+}
diff --git a/pkgs/awesome/awesome/signal/screen.lua b/pkgs/awesome/awesome/signal/screen.lua
new file mode 100644
index 0000000..941fe99
--- /dev/null
+++ b/pkgs/awesome/awesome/signal/screen.lua
@@ -0,0 +1,40 @@
+local awful = require("awful")
+local beautiful = require("beautiful")
+local wibox = require("wibox")
+
+local widgets = require("ui")
+
+--- Attach tags and widgets to all screens.
+screen.connect_signal("request::desktop_decoration", function(s)
+ -- Create all tags and attach the layouts to each of them.
+ awful.tag(require("config.user").tags, s, awful.layout.layouts[1])
+ -- Attach a wibar to each screen.
+ widgets.wibar(s)
+end)
+
+--- Wallpaper.
+-- NOTE: `awful.wallpaper` is ideal for creating a wallpaper IF YOU
+-- BENEFIT FROM IT BEING A WIDGET and not just the root window
+-- background. IF YOU JUST WISH TO SET THE ROOT WINDOW BACKGROUND, you
+-- may want to use the deprecated `gears.wallpaper` instead. This is
+-- the most common case of just wanting to set an image as wallpaper.
+screen.connect_signal("request::wallpaper", function(s)
+ awful.wallpaper({
+ screen = s,
+ widget = {
+ widget = wibox.container.tile,
+ valign = "center",
+ halign = "center",
+ tiled = false,
+ {
+ widget = wibox.widget.imagebox,
+ image = beautiful.wallpaper,
+ upscale = true,
+ downscale = true,
+ },
+ },
+ })
+end)
+-- An example of what's mentioned above. For more information, see:
+-- https://awesomewm.org/apidoc/utility_libraries/gears.wallpaper.html
+-- gears.wallpaper.maximized(beautiful.wallpaper)
diff --git a/pkgs/awesome/awesome/signal/tag.lua b/pkgs/awesome/awesome/signal/tag.lua
new file mode 100644
index 0000000..209ebde
--- /dev/null
+++ b/pkgs/awesome/awesome/signal/tag.lua
@@ -0,0 +1,5 @@
+--- Tag layouts.
+-- Appends all layouts defined in `config/user.lua` to all tags.
+tag.connect_signal("request::default_layouts", function()
+ require("awful").layout.append_default_layouts(require("config.user").layouts)
+end)
diff --git a/pkgs/awesome/awesome/startup.lua b/pkgs/awesome/awesome/startup.lua
new file mode 100644
index 0000000..fdff532
--- /dev/null
+++ b/pkgs/awesome/awesome/startup.lua
@@ -0,0 +1,12 @@
+local awful = require("awful")
+
+awful.spawn.with_shell([[
+ if ! pidof barrierc; then
+ barrierc -f --debug INFO --display :0 --name esoteric --disable-crypto 192.168.1.2:24800 &
+ fi
+]])
+-- awful.spawn.single_instance("firefox")
+-- awful.spawn.single_instance("discord")
+-- awful.spawn.single_instance("spotify")
+-- awful.spawn.single_instance("copyq")
+-- awful.spawn.single_instance("blueman-applet")
diff --git a/pkgs/awesome/awesome/theme/default.lua b/pkgs/awesome/awesome/theme/default.lua
new file mode 100644
index 0000000..fb4eca3
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/default.lua
@@ -0,0 +1,126 @@
+local theme_assets = require("beautiful.theme_assets")
+local xresources = require("beautiful.xresources")
+local rnotification = require("ruled.notification")
+local dpi = xresources.apply_dpi
+
+local gfs = require("gears.filesystem")
+local themes_path = gfs.get_themes_dir()
+
+local theme = {}
+
+theme.font = "FiraCode 10"
+
+theme.bg_normal = "#0e0e0e"
+theme.bg_focus = "#535d6c"
+theme.bg_urgent = "#ff0000"
+theme.bg_minimize = "#444444"
+theme.bg_systray = "#252525"
+theme.systray_icon_spacing = dpi(12)
+
+theme.fg_normal = "#ffffff"
+theme.fg_focus = "#ffffff"
+theme.fg_urgent = "#ffffff"
+theme.fg_minimize = "#ffffff"
+
+theme.useless_gap = dpi(6)
+theme.border_width = dpi(2)
+theme.border_radius = dpi(8)
+theme.border_color_normal = "#aae6d9"
+theme.border_color_active = "#54CDB3"
+theme.border_color_marked = "#91231c"
+
+-- There are other variable sets
+-- overriding the default one when
+-- defined, the sets are:
+-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
+-- tasklist_[bg|fg]_[focus|urgent]
+-- titlebar_[bg|fg]_[normal|focus]
+-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
+-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
+-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
+-- Example:
+theme.taglist_bg_focus = "#54CDB3"
+theme.taglist_fg_focus = "#0f0f0f"
+theme.tasklist_bg_focus = "#252525"
+
+-- Variables set for theming notifications:
+-- notification_font
+-- notification_[bg|fg]
+-- notification_[width|height|margin]
+-- notification_[border_color|border_width|shape|opacity]
+
+-- Variables set for theming the menu:
+-- menu_[bg|fg]_[normal|focus]
+-- menu_[border_color|border_width]
+theme.menu_submenu_icon = themes_path .. "default/submenu.png"
+theme.menu_height = dpi(15)
+theme.menu_width = dpi(100)
+
+-- You can add as many variables as
+-- you wish and access them by using
+-- beautiful.variable in your rc.lua
+--theme.bg_widget = "#cc0000"
+
+-- Define the image to load
+theme.titlebar_close_button_normal = themes_path .. "default/titlebar/close_normal.png"
+theme.titlebar_close_button_focus = themes_path .. "default/titlebar/close_focus.png"
+
+theme.titlebar_minimize_button_normal = themes_path .. "default/titlebar/minimize_normal.png"
+theme.titlebar_minimize_button_focus = themes_path .. "default/titlebar/minimize_focus.png"
+
+theme.titlebar_ontop_button_normal_inactive = themes_path .. "default/titlebar/ontop_normal_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = themes_path .. "default/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_active = themes_path .. "default/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_active = themes_path .. "default/titlebar/ontop_focus_active.png"
+
+theme.titlebar_sticky_button_normal_inactive = themes_path .. "default/titlebar/sticky_normal_inactive.png"
+theme.titlebar_sticky_button_focus_inactive = themes_path .. "default/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_active = themes_path .. "default/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_active = themes_path .. "default/titlebar/sticky_focus_active.png"
+
+theme.titlebar_floating_button_normal_inactive = themes_path .. "default/titlebar/floating_normal_inactive.png"
+theme.titlebar_floating_button_focus_inactive = themes_path .. "default/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_active = themes_path .. "default/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_active = themes_path .. "default/titlebar/floating_focus_active.png"
+
+theme.titlebar_maximized_button_normal_inactive = themes_path .. "default/titlebar/maximized_normal_inactive.png"
+theme.titlebar_maximized_button_focus_inactive = themes_path .. "default/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_active = themes_path .. "default/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_active = themes_path .. "default/titlebar/maximized_focus_active.png"
+
+theme.wallpaper = "/home/tux/Wallpapers/island-night.png"
+
+-- You can use your own layout icons like this:
+theme.layout_fairh = themes_path .. "default/layouts/fairhw.png"
+theme.layout_fairv = themes_path .. "default/layouts/fairvw.png"
+theme.layout_floating = themes_path .. "default/layouts/floatingw.png"
+theme.layout_magnifier = themes_path .. "default/layouts/magnifierw.png"
+theme.layout_max = themes_path .. "default/layouts/maxw.png"
+theme.layout_fullscreen = themes_path .. "default/layouts/fullscreenw.png"
+theme.layout_tilebottom = themes_path .. "default/layouts/tilebottomw.png"
+theme.layout_tileleft = themes_path .. "default/layouts/tileleftw.png"
+theme.layout_tile = themes_path .. "default/layouts/tilew.png"
+theme.layout_tiletop = themes_path .. "default/layouts/tiletopw.png"
+theme.layout_spiral = themes_path .. "default/layouts/spiralw.png"
+theme.layout_dwindle = themes_path .. "default/layouts/dwindlew.png"
+theme.layout_cornernw = themes_path .. "default/layouts/cornernww.png"
+theme.layout_cornerne = themes_path .. "default/layouts/cornernew.png"
+theme.layout_cornersw = themes_path .. "default/layouts/cornersww.png"
+theme.layout_cornerse = themes_path .. "default/layouts/cornersew.png"
+
+-- Generate Awesome icon:
+theme.awesome_icon = theme_assets.awesome_icon(theme.menu_height, theme.bg_focus, theme.fg_focus)
+
+-- Define the icon theme for application icons. If not set then the icons
+-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
+theme.icon_theme = nil
+
+-- Set different colors for urgent notifications.
+rnotification.connect_signal("request::rules", function()
+ rnotification.append_rule({
+ rule = { urgency = "critical" },
+ properties = { bg = "#ff0000", fg = "#ffffff" },
+ })
+end)
+
+return theme
diff --git a/pkgs/awesome/awesome/theme/icons/_blank.svg b/pkgs/awesome/awesome/theme/icons/_blank.svg
new file mode 100644
index 0000000..bc7da76
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/_blank.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg b/pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg
new file mode 100644
index 0000000..a63f1e7
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/application-variable-outline.svg b/pkgs/awesome/awesome/theme/icons/application-variable-outline.svg
new file mode 100644
index 0000000..ecafece
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/application-variable-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/application-variable.svg b/pkgs/awesome/awesome/theme/icons/application-variable.svg
new file mode 100644
index 0000000..b9b8d6f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/application-variable.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/apps.svg b/pkgs/awesome/awesome/theme/icons/apps.svg
new file mode 100644
index 0000000..1bc9052
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/apps.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg b/pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg
new file mode 100644
index 0000000..ad81b4c
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg b/pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg
new file mode 100644
index 0000000..592a370
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg b/pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg
new file mode 100644
index 0000000..239726d
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/awesomewm.svg b/pkgs/awesome/awesome/theme/icons/awesomewm.svg
new file mode 100644
index 0000000..bec2b39
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/awesomewm.svg
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg b/pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg
new file mode 100644
index 0000000..bf9aa80
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/book-clock-outline.svg b/pkgs/awesome/awesome/theme/icons/book-clock-outline.svg
new file mode 100644
index 0000000..a4d79b6
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/book-clock-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/book-clock.svg b/pkgs/awesome/awesome/theme/icons/book-clock.svg
new file mode 100644
index 0000000..9812ef8
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/book-clock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/calculator.svg b/pkgs/awesome/awesome/theme/icons/calculator.svg
new file mode 100644
index 0000000..e9cbd8b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/calculator.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/calendar-month.svg b/pkgs/awesome/awesome/theme/icons/calendar-month.svg
new file mode 100644
index 0000000..3f9f342
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/calendar-month.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/chart-line.svg b/pkgs/awesome/awesome/theme/icons/chart-line.svg
new file mode 100644
index 0000000..eeb7259
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chart-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/check-bold.svg b/pkgs/awesome/awesome/theme/icons/check-bold.svg
new file mode 100644
index 0000000..14f7869
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/check-bold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/check.svg b/pkgs/awesome/awesome/theme/icons/check.svg
new file mode 100644
index 0000000..49cf48b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg b/pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg
new file mode 100644
index 0000000..26c7b95
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-blank.svg b/pkgs/awesome/awesome/theme/icons/checkbox-blank.svg
new file mode 100644
index 0000000..24ca278
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/checkbox-blank.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-marked.svg b/pkgs/awesome/awesome/theme/icons/checkbox-marked.svg
new file mode 100644
index 0000000..0226982
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/checkbox-marked.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/chevron-double-up.svg b/pkgs/awesome/awesome/theme/icons/chevron-double-up.svg
new file mode 100644
index 0000000..3166c17
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chevron-double-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/chevron-down.svg b/pkgs/awesome/awesome/theme/icons/chevron-down.svg
new file mode 100644
index 0000000..f028022
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chevron-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/chevron-left.svg b/pkgs/awesome/awesome/theme/icons/chevron-left.svg
new file mode 100644
index 0000000..75dcd62
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chevron-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/chevron-right.svg b/pkgs/awesome/awesome/theme/icons/chevron-right.svg
new file mode 100644
index 0000000..a763cfd
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chevron-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg b/pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg
new file mode 100644
index 0000000..11dcded
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/chevron-up.svg b/pkgs/awesome/awesome/theme/icons/chevron-up.svg
new file mode 100644
index 0000000..fe14804
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/chevron-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/circle-medium.svg b/pkgs/awesome/awesome/theme/icons/circle-medium.svg
new file mode 100644
index 0000000..46547ca
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/circle-medium.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/circle-opacity.svg b/pkgs/awesome/awesome/theme/icons/circle-opacity.svg
new file mode 100644
index 0000000..ca26ce1
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/circle-opacity.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-fast.svg b/pkgs/awesome/awesome/theme/icons/clock-fast.svg
new file mode 100644
index 0000000..cdfb6fd
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-fast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-1.svg b/pkgs/awesome/awesome/theme/icons/clock-time-1.svg
new file mode 100644
index 0000000..1e79532
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-10.svg b/pkgs/awesome/awesome/theme/icons/clock-time-10.svg
new file mode 100644
index 0000000..63058c7
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-10.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-11.svg b/pkgs/awesome/awesome/theme/icons/clock-time-11.svg
new file mode 100644
index 0000000..500fb64
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-11.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-12.svg b/pkgs/awesome/awesome/theme/icons/clock-time-12.svg
new file mode 100644
index 0000000..53971f9
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-12.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-2.svg b/pkgs/awesome/awesome/theme/icons/clock-time-2.svg
new file mode 100644
index 0000000..dcd69ca
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-3.svg b/pkgs/awesome/awesome/theme/icons/clock-time-3.svg
new file mode 100644
index 0000000..f76422c
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-4.svg b/pkgs/awesome/awesome/theme/icons/clock-time-4.svg
new file mode 100644
index 0000000..cf6d59f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-4.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-5.svg b/pkgs/awesome/awesome/theme/icons/clock-time-5.svg
new file mode 100644
index 0000000..7b8d268
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-5.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-6.svg b/pkgs/awesome/awesome/theme/icons/clock-time-6.svg
new file mode 100644
index 0000000..be6e0c2
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-6.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-7.svg b/pkgs/awesome/awesome/theme/icons/clock-time-7.svg
new file mode 100644
index 0000000..6fcf8a6
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-7.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-8.svg b/pkgs/awesome/awesome/theme/icons/clock-time-8.svg
new file mode 100644
index 0000000..d1a0e1f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-8.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-9.svg b/pkgs/awesome/awesome/theme/icons/clock-time-9.svg
new file mode 100644
index 0000000..372e13b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/clock-time-9.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/close.svg b/pkgs/awesome/awesome/theme/icons/close.svg
new file mode 100644
index 0000000..096198c
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/close.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/cogs.svg b/pkgs/awesome/awesome/theme/icons/cogs.svg
new file mode 100644
index 0000000..03f7593
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/cogs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/console-line.svg b/pkgs/awesome/awesome/theme/icons/console-line.svg
new file mode 100644
index 0000000..81da3c3
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/console-line.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/content-copy.svg b/pkgs/awesome/awesome/theme/icons/content-copy.svg
new file mode 100644
index 0000000..7280ce0
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/content-copy.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg b/pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg
new file mode 100644
index 0000000..8449f51
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/delete-clock.svg b/pkgs/awesome/awesome/theme/icons/delete-clock.svg
new file mode 100644
index 0000000..51e1ddb
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/delete-clock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/delete-forever.svg b/pkgs/awesome/awesome/theme/icons/delete-forever.svg
new file mode 100644
index 0000000..0f1c963
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/delete-forever.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/dock-left.svg b/pkgs/awesome/awesome/theme/icons/dock-left.svg
new file mode 100644
index 0000000..cf4471c
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/dock-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/dock-top.svg b/pkgs/awesome/awesome/theme/icons/dock-top.svg
new file mode 100644
index 0000000..538916d
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/dock-top.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/download.svg b/pkgs/awesome/awesome/theme/icons/download.svg
new file mode 100644
index 0000000..2cfe720
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/emoticon-cool.svg b/pkgs/awesome/awesome/theme/icons/emoticon-cool.svg
new file mode 100644
index 0000000..4d6659e
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/emoticon-cool.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/exit-run.svg b/pkgs/awesome/awesome/theme/icons/exit-run.svg
new file mode 100644
index 0000000..5f0b0cd
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/exit-run.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/eye-off.svg b/pkgs/awesome/awesome/theme/icons/eye-off.svg
new file mode 100644
index 0000000..94b85b4
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/eye-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/file-document-edit.svg b/pkgs/awesome/awesome/theme/icons/file-document-edit.svg
new file mode 100644
index 0000000..8a47c3e
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/file-document-edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/firefox.svg b/pkgs/awesome/awesome/theme/icons/firefox.svg
new file mode 100644
index 0000000..b08201e
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/firefox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/folder-image.svg b/pkgs/awesome/awesome/theme/icons/folder-image.svg
new file mode 100644
index 0000000..fe202ae
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/folder-image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/folder.svg b/pkgs/awesome/awesome/theme/icons/folder.svg
new file mode 100644
index 0000000..3e7692f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/fullscreen.svg b/pkgs/awesome/awesome/theme/icons/fullscreen.svg
new file mode 100644
index 0000000..cfb6375
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/fullscreen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/help.svg b/pkgs/awesome/awesome/theme/icons/help.svg
new file mode 100644
index 0000000..4c7886f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/help.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/home-thermometer.svg b/pkgs/awesome/awesome/theme/icons/home-thermometer.svg
new file mode 100644
index 0000000..6f95a29
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/home-thermometer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/identifier.svg b/pkgs/awesome/awesome/theme/icons/identifier.svg
new file mode 100644
index 0000000..6d60392
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/identifier.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg b/pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg
new file mode 100644
index 0000000..5d01420
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg b/pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg
new file mode 100644
index 0000000..7945ea9
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/keyboard.svg b/pkgs/awesome/awesome/theme/icons/keyboard.svg
new file mode 100644
index 0000000..1cef8de
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/keyboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/lan-disconnect.svg b/pkgs/awesome/awesome/theme/icons/lan-disconnect.svg
new file mode 100644
index 0000000..5cbdfbd
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/lan-disconnect.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/lan-pending.svg b/pkgs/awesome/awesome/theme/icons/lan-pending.svg
new file mode 100644
index 0000000..48946b4
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/lan-pending.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/layers-triple.svg b/pkgs/awesome/awesome/theme/icons/layers-triple.svg
new file mode 100644
index 0000000..14fbc90
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/layers-triple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/layouts/floating.svg b/pkgs/awesome/awesome/theme/icons/layouts/floating.svg
new file mode 100644
index 0000000..76d97f9
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/layouts/floating.svg
@@ -0,0 +1,8 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg b/pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg
new file mode 100644
index 0000000..19ec292
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/layouts/max.svg b/pkgs/awesome/awesome/theme/icons/layouts/max.svg
new file mode 100644
index 0000000..16fa520
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/layouts/max.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg b/pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg
new file mode 100644
index 0000000..aa93dad
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg
@@ -0,0 +1,9 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg b/pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg
new file mode 100644
index 0000000..f4b01c5
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg
@@ -0,0 +1,9 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/lightbulb-on.svg b/pkgs/awesome/awesome/theme/icons/lightbulb-on.svg
new file mode 100644
index 0000000..2213415
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/lightbulb-on.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/lock.svg b/pkgs/awesome/awesome/theme/icons/lock.svg
new file mode 100644
index 0000000..5c0eb3f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/lock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/logout.svg b/pkgs/awesome/awesome/theme/icons/logout.svg
new file mode 100644
index 0000000..2a6e682
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/logout.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/menu-right.svg b/pkgs/awesome/awesome/theme/icons/menu-right.svg
new file mode 100644
index 0000000..bf1fdae
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/menu-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/menu.svg b/pkgs/awesome/awesome/theme/icons/menu.svg
new file mode 100644
index 0000000..cad83c2
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/menu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/minus.svg b/pkgs/awesome/awesome/theme/icons/minus.svg
new file mode 100644
index 0000000..4dbbb0b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/monitor.svg b/pkgs/awesome/awesome/theme/icons/monitor.svg
new file mode 100644
index 0000000..024553c
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/monitor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/move-resize.svg b/pkgs/awesome/awesome/theme/icons/move-resize.svg
new file mode 100644
index 0000000..87154b3
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/move-resize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/music.svg b/pkgs/awesome/awesome/theme/icons/music.svg
new file mode 100644
index 0000000..2509ea8
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/music.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/open-in-app.svg b/pkgs/awesome/awesome/theme/icons/open-in-app.svg
new file mode 100644
index 0000000..ebd9f65
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/open-in-app.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/open-in-new.svg b/pkgs/awesome/awesome/theme/icons/open-in-new.svg
new file mode 100644
index 0000000..cd0597f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/open-in-new.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/pause.svg b/pkgs/awesome/awesome/theme/icons/pause.svg
new file mode 100644
index 0000000..a95f67f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/pause.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/pin-off.svg b/pkgs/awesome/awesome/theme/icons/pin-off.svg
new file mode 100644
index 0000000..a75c0ec
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/pin-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/pin.svg b/pkgs/awesome/awesome/theme/icons/pin.svg
new file mode 100644
index 0000000..01524e0
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/pin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/pirate.svg b/pkgs/awesome/awesome/theme/icons/pirate.svg
new file mode 100644
index 0000000..e5ebd88
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/pirate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/play.svg b/pkgs/awesome/awesome/theme/icons/play.svg
new file mode 100644
index 0000000..bf94bb4
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/play.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/plus.svg b/pkgs/awesome/awesome/theme/icons/plus.svg
new file mode 100644
index 0000000..bb280a8
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/power-settings.svg b/pkgs/awesome/awesome/theme/icons/power-settings.svg
new file mode 100644
index 0000000..740c428
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/power-settings.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/power.svg b/pkgs/awesome/awesome/theme/icons/power.svg
new file mode 100644
index 0000000..b5161d2
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/power.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/radiobox-blank.svg b/pkgs/awesome/awesome/theme/icons/radiobox-blank.svg
new file mode 100644
index 0000000..2edf309
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/radiobox-blank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/radiobox-marked.svg b/pkgs/awesome/awesome/theme/icons/radiobox-marked.svg
new file mode 100644
index 0000000..ae433b2
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/radiobox-marked.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/refresh.svg b/pkgs/awesome/awesome/theme/icons/refresh.svg
new file mode 100644
index 0000000..04b9c88
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/refresh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/rename.svg b/pkgs/awesome/awesome/theme/icons/rename.svg
new file mode 100644
index 0000000..14dd500
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/rename.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/restart.svg b/pkgs/awesome/awesome/theme/icons/restart.svg
new file mode 100644
index 0000000..a6134ea
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/restart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/shuffle-variant.svg b/pkgs/awesome/awesome/theme/icons/shuffle-variant.svg
new file mode 100644
index 0000000..f494617
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/shuffle-variant.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/skip-next.svg b/pkgs/awesome/awesome/theme/icons/skip-next.svg
new file mode 100644
index 0000000..8554d03
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/skip-next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/skip-previous.svg b/pkgs/awesome/awesome/theme/icons/skip-previous.svg
new file mode 100644
index 0000000..6059135
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/skip-previous.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/sleep.svg b/pkgs/awesome/awesome/theme/icons/sleep.svg
new file mode 100644
index 0000000..0d6dbc0
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/sleep.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/speedometer-slow.svg b/pkgs/awesome/awesome/theme/icons/speedometer-slow.svg
new file mode 100644
index 0000000..f6f7343
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/speedometer-slow.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/speedometer.svg b/pkgs/awesome/awesome/theme/icons/speedometer.svg
new file mode 100644
index 0000000..fd612f3
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/speedometer.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/stop.svg b/pkgs/awesome/awesome/theme/icons/stop.svg
new file mode 100644
index 0000000..ce130b5
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/stop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg b/pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg
new file mode 100644
index 0000000..8467c3e
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/tag-multiple.svg b/pkgs/awesome/awesome/theme/icons/tag-multiple.svg
new file mode 100644
index 0000000..be69e02
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/tag-multiple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/tag.svg b/pkgs/awesome/awesome/theme/icons/tag.svg
new file mode 100644
index 0000000..45a61f9
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/tag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/target.svg b/pkgs/awesome/awesome/theme/icons/target.svg
new file mode 100644
index 0000000..717d5b1
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/target.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/theme-light-dark.svg b/pkgs/awesome/awesome/theme/icons/theme-light-dark.svg
new file mode 100644
index 0000000..99e70a9
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/theme-light-dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/thermometer-lines.svg b/pkgs/awesome/awesome/theme/icons/thermometer-lines.svg
new file mode 100644
index 0000000..6779eb0
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/thermometer-lines.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/thermometer.svg b/pkgs/awesome/awesome/theme/icons/thermometer.svg
new file mode 100644
index 0000000..c9a5f5a
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/thermometer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/timer-outline.svg b/pkgs/awesome/awesome/theme/icons/timer-outline.svg
new file mode 100644
index 0000000..41e58c8
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/timer-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/timer-play.svg b/pkgs/awesome/awesome/theme/icons/timer-play.svg
new file mode 100644
index 0000000..36873b1
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/timer-play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/timer-sand.svg b/pkgs/awesome/awesome/theme/icons/timer-sand.svg
new file mode 100644
index 0000000..35a8847
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/timer-sand.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/timer-settings.svg b/pkgs/awesome/awesome/theme/icons/timer-settings.svg
new file mode 100644
index 0000000..dc39762
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/timer-settings.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg b/pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg
new file mode 100644
index 0000000..2dc1f12
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg b/pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg
new file mode 100644
index 0000000..2eb827f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg b/pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg
new file mode 100644
index 0000000..4512245
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch.svg b/pkgs/awesome/awesome/theme/icons/toggle-switch.svg
new file mode 100644
index 0000000..c930e54
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/toggle-switch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/toolbox.svg b/pkgs/awesome/awesome/theme/icons/toolbox.svg
new file mode 100644
index 0000000..44e4bf6
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/toolbox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/tortoise.svg b/pkgs/awesome/awesome/theme/icons/tortoise.svg
new file mode 100644
index 0000000..56ddcd2
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/tortoise.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/tune.svg b/pkgs/awesome/awesome/theme/icons/tune.svg
new file mode 100644
index 0000000..84cab5b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/tune.svg
@@ -0,0 +1 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg b/pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg
new file mode 100644
index 0000000..1db3215
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/upload.svg b/pkgs/awesome/awesome/theme/icons/upload.svg
new file mode 100644
index 0000000..f69b8e7
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/upload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/video.svg b/pkgs/awesome/awesome/theme/icons/video.svg
new file mode 100644
index 0000000..c6516b8
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/view-grid.svg b/pkgs/awesome/awesome/theme/icons/view-grid.svg
new file mode 100644
index 0000000..fb60860
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/view-grid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/volume.svg b/pkgs/awesome/awesome/theme/icons/volume.svg
new file mode 100644
index 0000000..d2f6875
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/volume.svg
@@ -0,0 +1,8 @@
+
diff --git a/pkgs/awesome/awesome/theme/icons/water-thermometer.svg b/pkgs/awesome/awesome/theme/icons/water-thermometer.svg
new file mode 100644
index 0000000..ca033bd
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/water-thermometer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/weather-pouring.svg b/pkgs/awesome/awesome/theme/icons/weather-pouring.svg
new file mode 100644
index 0000000..a555c2b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/weather-pouring.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/weather-rainy.svg b/pkgs/awesome/awesome/theme/icons/weather-rainy.svg
new file mode 100644
index 0000000..c4d3a1c
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/weather-rainy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/web.svg b/pkgs/awesome/awesome/theme/icons/web.svg
new file mode 100644
index 0000000..46b742b
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/web.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/window-close.svg b/pkgs/awesome/awesome/theme/icons/window-close.svg
new file mode 100644
index 0000000..3d3e98d
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/window-close.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/window-maximize.svg b/pkgs/awesome/awesome/theme/icons/window-maximize.svg
new file mode 100644
index 0000000..93512fc
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/window-maximize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/icons/window-minimize.svg b/pkgs/awesome/awesome/theme/icons/window-minimize.svg
new file mode 100644
index 0000000..7b3c264
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/icons/window-minimize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pkgs/awesome/awesome/theme/init.lua b/pkgs/awesome/awesome/theme/init.lua
new file mode 100644
index 0000000..a32f87f
--- /dev/null
+++ b/pkgs/awesome/awesome/theme/init.lua
@@ -0,0 +1,7 @@
+-- Theme handling library
+local beautiful = require("beautiful")
+-- Standard awesome library
+local gears = require("gears")
+
+-- Themes define colors, icons, font and wallpapers.
+beautiful.init(gears.filesystem.get_configuration_dir() .. "theme/default.lua")
diff --git a/pkgs/awesome/awesome/ui/init.lua b/pkgs/awesome/awesome/ui/init.lua
new file mode 100644
index 0000000..6291117
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/init.lua
@@ -0,0 +1,7 @@
+-- Returns all widgets, with assigned names, in a table.
+return {
+ menu = require(... .. ".menu"),
+ notification = require(... .. ".notification"),
+ titlebar = require(... .. ".titlebar"),
+ wibar = require(... .. ".wibar"),
+}
diff --git a/pkgs/awesome/awesome/ui/menu/init.lua b/pkgs/awesome/awesome/ui/menu/init.lua
new file mode 100644
index 0000000..6b9ba7b
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/menu/init.lua
@@ -0,0 +1,41 @@
+local awful = require("awful")
+local beautiful = require("beautiful")
+
+--- Menu
+local menu = {}
+local apps = require("config.apps")
+local hkey_popup = require("awful.hotkeys_popup")
+
+-- Create a main menu.
+menu.awesome = {
+ {
+ "hotkeys",
+ function()
+ hkey_popup.show_help(nil, awful.screen.focused())
+ end,
+ },
+ { "manual", apps.terminal .. " -e man awesome" },
+ -- Not part of the original config but extremely useful, especially as the example
+ -- config is meant to serve as an example to build your own environment upon.
+ {
+ "docs",
+ (os.getenv("BROWSER") or "firefox") .. " https://awesomewm.org/apidoc",
+ },
+ { "edit config", apps.editor_cmd .. " " .. awesome.conffile },
+ { "restart", awesome.restart },
+ {
+ "quit",
+ function()
+ awesome.quit()
+ end,
+ },
+}
+
+menu.main = awful.menu({
+ items = {
+ { "awesome", menu.awesome, beautiful.awesome_icon },
+ { "open terminal", apps.terminal },
+ },
+})
+
+return menu
diff --git a/pkgs/awesome/awesome/ui/notification/init.lua b/pkgs/awesome/awesome/ui/notification/init.lua
new file mode 100644
index 0000000..5744058
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/notification/init.lua
@@ -0,0 +1,5 @@
+-- Allows for expanding into notifications for special cases, for example,
+-- for music.
+return {
+ normal = require(... .. ".normal"),
+}
diff --git a/pkgs/awesome/awesome/ui/notification/normal.lua b/pkgs/awesome/awesome/ui/notification/normal.lua
new file mode 100644
index 0000000..8a27481
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/notification/normal.lua
@@ -0,0 +1,20 @@
+local awful = require("awful")
+local naughty = require("naughty")
+local ruled = require("ruled")
+
+--- Notifications
+ruled.notification.connect_signal("request::rules", function()
+ -- All notifications will match this rule.
+ ruled.notification.append_rule({
+ rule = nil,
+ properties = {
+ screen = awful.screen.preferred,
+ implicit_timeout = 5,
+ },
+ })
+end)
+
+-- Defines the default notification layout.
+naughty.connect_signal("request::display", function(n)
+ naughty.layout.box({ notification = n })
+end)
diff --git a/pkgs/awesome/awesome/ui/titlebar/init.lua b/pkgs/awesome/awesome/ui/titlebar/init.lua
new file mode 100644
index 0000000..f227b31
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/titlebar/init.lua
@@ -0,0 +1,5 @@
+-- Returns titlebars for normal clients, this structure allows one to
+-- easily define special titlebars for particular clients.
+return {
+ normal = require(... .. ".normal"),
+}
diff --git a/pkgs/awesome/awesome/ui/titlebar/normal.lua b/pkgs/awesome/awesome/ui/titlebar/normal.lua
new file mode 100644
index 0000000..7eb98ac
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/titlebar/normal.lua
@@ -0,0 +1,44 @@
+local awful = require("awful")
+local wibox = require("wibox")
+
+--- The titlebar to be used on normal clients.
+return function(c)
+ -- Buttons for the titlebar.
+ local buttons = {
+ awful.button(nil, 1, function()
+ c:activate({ context = "titlebar", action = "mouse_move" })
+ end),
+ awful.button(nil, 3, function()
+ c:activate({ context = "titlebar", action = "mouse_resize" })
+ end),
+ }
+
+ -- Draws the client titlebar at the default position (top) and size.
+ awful.titlebar(c).widget = wibox.widget({
+ layout = wibox.layout.align.horizontal,
+ -- Left
+ {
+ layout = wibox.layout.fixed.horizontal,
+ awful.titlebar.widget.iconwidget(c),
+ buttons = buttons,
+ },
+ -- Middle
+ {
+ layout = wibox.layout.flex.horizontal,
+ { -- Title
+ widget = awful.titlebar.widget.titlewidget(c),
+ halign = "center",
+ },
+ buttons = buttons,
+ },
+ -- Right
+ {
+ layout = wibox.layout.fixed.horizontal,
+ awful.titlebar.widget.floatingbutton(c),
+ awful.titlebar.widget.maximizedbutton(c),
+ awful.titlebar.widget.stickybutton(c),
+ awful.titlebar.widget.ontopbutton(c),
+ awful.titlebar.widget.closebutton(c),
+ },
+ })
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/init.lua b/pkgs/awesome/awesome/ui/wibar/init.lua
new file mode 100644
index 0000000..54912fa
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/init.lua
@@ -0,0 +1,74 @@
+local awful = require("awful")
+local wibox = require("wibox")
+local gears = require("gears")
+local beautiful = require("beautiful")
+local dpi = beautiful.xresources.apply_dpi
+
+local module = require(... .. ".module")
+
+-- Function to create a capsule widget
+local function create_capsule_widget(content_widget)
+ local capsule = wibox.widget({
+ {
+ {
+ content_widget,
+ widget = wibox.container.margin,
+ margins = {
+ top = dpi(8),
+ bottom = dpi(8),
+ left = dpi(8),
+ right = dpi(8),
+ },
+ },
+ widget = wibox.container.background,
+ shape_border_color = "#272727",
+ shape_border_width = 1,
+
+ shape = function(cr, width, height)
+ gears.shape.rounded_rect(cr, width, height, beautiful.border_radius)
+ end,
+ bg = beautiful.bg_systray,
+ },
+ widget = wibox.container.margin,
+ margins = beautiful.useless_gap,
+ })
+
+ return capsule
+end
+
+return function(s)
+ -- Create the wibox
+ s.mywibox = awful.wibar({
+ position = "top",
+ height = dpi(45),
+ screen = s,
+ bg = beautiful.bg_normal,
+ widget = {
+ widget = wibox.container.margin,
+ left = beautiful.useless_gap,
+ right = beautiful.useless_gap,
+ {
+ layout = wibox.layout.align.horizontal,
+ expand = "none",
+ {
+ layout = wibox.layout.fixed.horizontal,
+ create_capsule_widget(module.layoutbox()),
+ module.tasklist(s),
+ },
+ {
+ layout = wibox.layout.fixed.horizontal,
+ module.taglist(s),
+ },
+ {
+ layout = wibox.layout.fixed.horizontal,
+ create_capsule_widget(module.profile()),
+ create_capsule_widget(module.gpu()),
+ create_capsule_widget(module.tailscale()),
+ create_capsule_widget(module.battery()),
+ create_capsule_widget(module.systray()),
+ create_capsule_widget(wibox.widget.textclock()),
+ },
+ },
+ },
+ })
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/battery.lua b/pkgs/awesome/awesome/ui/wibar/module/battery.lua
new file mode 100644
index 0000000..e56a197
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/battery.lua
@@ -0,0 +1,12 @@
+-- Battery widget for Awesome Window Manager
+local watch = require("awful.widget.watch")
+local wibox = require("wibox")
+
+local battery = wibox.widget.textbox("Bat: NA")
+watch('bash -c "cat /sys/class/power_supply/BAT0/capacity"', 10, function(_, stdout)
+ battery.text = "Bat:" .. " " .. stdout
+end)
+
+return function()
+ return battery
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/gpu.lua b/pkgs/awesome/awesome/ui/wibar/module/gpu.lua
new file mode 100644
index 0000000..80b72c2
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/gpu.lua
@@ -0,0 +1,12 @@
+-- GPU widget for Awesome Window Manager
+local watch = require("awful.widget.watch")
+local wibox = require("wibox")
+
+local gpu = wibox.widget.textbox("GPU: NA")
+watch('bash -c "supergfxctl -g"', 10, function(_, stdout)
+ gpu.text = "GPU:" .. " " .. stdout
+end)
+
+return function()
+ return gpu
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/init.lua b/pkgs/awesome/awesome/ui/wibar/module/init.lua
new file mode 100644
index 0000000..bbe44a0
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/init.lua
@@ -0,0 +1,13 @@
+-- Return a table containing all bar modules, with a name attached
+-- to each.
+return {
+ launcher = require(... .. ".launcher"),
+ taglist = require(... .. ".taglist"),
+ tasklist = require(... .. ".tasklist"),
+ layoutbox = require(... .. ".layoutbox"),
+ battery = require(... .. ".battery"),
+ tailscale = require(... .. ".tailscale"),
+ gpu = require(... .. ".gpu"),
+ profile = require(... .. ".profile"),
+ systray = require(... .. ".systray"),
+}
diff --git a/pkgs/awesome/awesome/ui/wibar/module/launcher.lua b/pkgs/awesome/awesome/ui/wibar/module/launcher.lua
new file mode 100644
index 0000000..7f709c8
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/launcher.lua
@@ -0,0 +1,10 @@
+local awful = require("awful")
+local beautiful = require("beautiful")
+
+-- Create a launcher widget. Opens the Awesome menu when clicked.
+return function()
+ return awful.widget.launcher({
+ image = beautiful.awesome_icon,
+ menu = require("ui.menu").main,
+ })
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua b/pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua
new file mode 100644
index 0000000..e9db3d4
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua
@@ -0,0 +1,9 @@
+local awful = require("awful")
+
+return function(s)
+ -- Create an imagebox widget which will contain an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ return awful.widget.layoutbox({
+ screen = s,
+ })
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/profile.lua b/pkgs/awesome/awesome/ui/wibar/module/profile.lua
new file mode 100644
index 0000000..4cb03ee
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/profile.lua
@@ -0,0 +1,12 @@
+-- Profile widget for Awesome Window Manager
+local watch = require("awful.widget.watch")
+local wibox = require("wibox")
+
+local profile = wibox.widget.textbox("P: NA")
+watch("bash -c \"asusctl profile -p | awk '{print $NF}'\"", 10, function(_, stdout)
+ profile.text = "P:" .. " " .. stdout
+end)
+
+return function()
+ return profile
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/systray.lua b/pkgs/awesome/awesome/ui/wibar/module/systray.lua
new file mode 100644
index 0000000..653dc98
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/systray.lua
@@ -0,0 +1,18 @@
+-- SysTray widget for Awesome Window Manager
+local xresources = require("beautiful.xresources")
+local dpi = xresources.apply_dpi
+local wibox = require("wibox")
+
+local systray = wibox.widget({
+ widget = wibox.container.margin,
+ enable_overlay = false,
+ -- margins = {
+ -- top = dpi(6),
+ -- bottom = dpi(6),
+ -- },
+ wibox.widget.systray(),
+})
+
+return function()
+ return systray
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/taglist.lua b/pkgs/awesome/awesome/ui/wibar/module/taglist.lua
new file mode 100644
index 0000000..28e32fb
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/taglist.lua
@@ -0,0 +1,39 @@
+local awful = require("awful")
+local wibox = require("wibox")
+local gears = require("gears")
+local beautiful = require("beautiful")
+local dpi = beautiful.xresources.apply_dpi
+
+return function(s)
+ -- Create a taglist widget
+ return awful.widget.taglist({
+ screen = s,
+ filter = awful.widget.taglist.filter.all,
+ style = {
+ shape = function(cr, width, height)
+ gears.shape.rounded_rect(cr, width, height, beautiful.border_radius)
+ end,
+ shape_border_color = "#27272A",
+ shape_border_width = dpi(1),
+ },
+ widget_template = {
+ {
+ {
+ {
+ {
+ id = "text_role",
+ widget = wibox.widget.textbox,
+ },
+ layout = wibox.layout.fixed.horizontal,
+ },
+ widget = wibox.container.margin,
+ margins = { left = dpi(15), right = dpi(15) },
+ },
+ id = "background_role",
+ widget = wibox.container.background,
+ },
+ widget = wibox.container.margin,
+ margins = dpi(6),
+ },
+ })
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/tailscale.lua b/pkgs/awesome/awesome/ui/wibar/module/tailscale.lua
new file mode 100644
index 0000000..45fca96
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/tailscale.lua
@@ -0,0 +1,12 @@
+-- Tailscale widget for Awesome Window Manager
+local watch = require("awful.widget.watch")
+local wibox = require("wibox")
+
+local tailscale = wibox.widget.textbox("Home: NA")
+watch("bash -c \"tailscale ping pi | awk '{print $NF}'\"", 10, function(_, stdout)
+ tailscale.text = "Home:" .. " " .. stdout
+end)
+
+return function()
+ return tailscale
+end
diff --git a/pkgs/awesome/awesome/ui/wibar/module/tasklist.lua b/pkgs/awesome/awesome/ui/wibar/module/tasklist.lua
new file mode 100644
index 0000000..b7c1884
--- /dev/null
+++ b/pkgs/awesome/awesome/ui/wibar/module/tasklist.lua
@@ -0,0 +1,39 @@
+local awful = require("awful")
+local wibox = require("wibox")
+local gears = require("gears")
+local beautiful = require("beautiful")
+local dpi = beautiful.xresources.apply_dpi
+
+return function(s)
+ -- Create a tasklist widget
+ return awful.widget.tasklist({
+ screen = s,
+ filter = awful.widget.tasklist.filter.currenttags,
+ style = {
+ shape = function(cr, width, height)
+ gears.shape.rounded_rect(cr, width, height, beautiful.border_radius)
+ end,
+ shape_border_color = "#27272A",
+ shape_border_width = dpi(1),
+ },
+ widget_template = {
+ {
+ {
+ {
+ {
+ id = "icon_role",
+ widget = wibox.widget.imagebox,
+ },
+ layout = wibox.layout.fixed.horizontal,
+ },
+ widget = wibox.container.margin,
+ margins = dpi(6),
+ },
+ id = "background_role",
+ widget = wibox.container.background,
+ },
+ widget = wibox.container.margin,
+ margins = dpi(6),
+ },
+ })
+end
diff --git a/pkgs/awesome/default.nix b/pkgs/awesome/default.nix
new file mode 100644
index 0000000..324b9f4
--- /dev/null
+++ b/pkgs/awesome/default.nix
@@ -0,0 +1,22 @@
+{
+ stdenv,
+ lib,
+}: let
+ awesome = ./awesome;
+in
+ stdenv.mkDerivation {
+ pname = "tux-awesome-wm-config";
+ version = "0.1.0";
+
+ buildCommand = ''
+ mkdir -p $out
+ cp -r ${awesome}/* "$out/"
+ '';
+
+ meta = with lib; {
+ description = "tux's awesome-wm config";
+ homepage = "https://tux.rs";
+ platforms = platforms.all;
+ license = licenses.gpl3;
+ };
+ }
diff --git a/pkgs/default.nix b/pkgs/default.nix
index fca8e9b..9ce8cc6 100755
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -1,4 +1,5 @@
{pkgs, ...}: {
+ tux-awesome-wm-config = pkgs.callPackage ./awesome {};
nvchad = pkgs.callPackage ./nvchad {};
astronvim = pkgs.callPackage ./astronvim {};
firefox-mod-blur = pkgs.callPackage ./firefox-mod-blur {};