diff --git a/configs/starship.toml b/configs/starship.toml
index 0efab4e..1fa4704 100644
--- a/configs/starship.toml
+++ b/configs/starship.toml
@@ -1,4 +1,4 @@
-# This config could just go in home manager, but unfortunately it is massive, and earlier attempts broke harshly..
+# This config could just go in home manager, but unfortunately earlier attempts broke harshly..
format = """
diff --git a/configs/wlogout/icons/hibernate.png b/configs/wlogout-icons/hibernate.png
similarity index 100%
rename from configs/wlogout/icons/hibernate.png
rename to configs/wlogout-icons/hibernate.png
diff --git a/configs/wlogout/icons/lock.png b/configs/wlogout-icons/lock.png
similarity index 100%
rename from configs/wlogout/icons/lock.png
rename to configs/wlogout-icons/lock.png
diff --git a/configs/wlogout/icons/logout.png b/configs/wlogout-icons/logout.png
similarity index 100%
rename from configs/wlogout/icons/logout.png
rename to configs/wlogout-icons/logout.png
diff --git a/configs/wlogout/icons/reboot.png b/configs/wlogout-icons/reboot.png
similarity index 100%
rename from configs/wlogout/icons/reboot.png
rename to configs/wlogout-icons/reboot.png
diff --git a/configs/wlogout/icons/shutdown.png b/configs/wlogout-icons/shutdown.png
similarity index 100%
rename from configs/wlogout/icons/shutdown.png
rename to configs/wlogout-icons/shutdown.png
diff --git a/configs/wlogout/icons/suspend.png b/configs/wlogout-icons/suspend.png
similarity index 100%
rename from configs/wlogout/icons/suspend.png
rename to configs/wlogout-icons/suspend.png
diff --git a/configs/wlogout/layout b/configs/wlogout/layout
deleted file mode 100644
index 0c97171..0000000
--- a/configs/wlogout/layout
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "label" : "lock",
- "action" : "hyprlock",
- "text" : "Lock",
- "keybind" : "l"
-}
-{
- "label" : "logout",
- "action" : "niri msg action quit --skip-confirmation",
- "text" : "Logout",
- "keybind" : "e"
-}
-{
- "label" : "shutdown",
- "action" : "poweroff",
- "text" : "Shutdown",
- "keybind" : "s"
-}
-{
- "label" : "reboot",
- "action" : "reboot",
- "text" : "Reboot",
- "keybind" : "r"
-}
-{
- "label" : "hibernate",
- "action" : "niri msg action open-overview; niri msg action spawn -- hyprlock && systemctl hibernate",
- "text" : "Hibernate",
- "keybind" : "h"
-}
-{
- "label" : "suspend",
- "action" : "niri msg action spawn -- hyprlock && systemctl suspend-then-hibernate",
- "text" : "Sleep",
- "keybind" : "z"
-}
diff --git a/configs/wlogout/style.css b/configs/wlogout/style.css
deleted file mode 100644
index 979e605..0000000
--- a/configs/wlogout/style.css
+++ /dev/null
@@ -1,61 +0,0 @@
-* {
- font-family: "Lotion Black", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
- background-image: none;
- transition: 20ms;
- box-shadow: none;
-}
-
-window {
- background-color: rgba(12, 12, 12, 0.8);
-}
-
-button {
- color: #FFFFFF;
- font-size:20px;
- margin: 10px;
- border-radius: 20px;
- background-repeat: no-repeat;
- background-position: center;
- background-size: 25%;
- background-color: unset;
- border-style: solid;
- border: 3px solid #FFFFFF;
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
-}
-
-#lock {
- background-image: image(url("icons/lock.png"));
- background-color: #7facb3;
-}
-
-#logout {
- background-image: image(url("icons/logout.png"));
- background-color: #ff4500;
-}
-
-#shutdown {
- background-image: image(url("icons/shutdown.png"));
- background-color: #8b0000;
-}
-
-#reboot {
- background-image: image(url("icons/reboot.png"));
- background-color: #556b2f;
-}
-
-#hibernate {
- background-image: image(url("icons/hibernate.png"));
- background-color: #368cf9;
-}
-#suspend {
- background-image: image(url("icons/suspend.png"));
- background-color: #f4d3a7;
-}
-
-button:focus,
-button:active,
-button:hover {
- color: #FFFFFF;
- border: 3px solid #FFFFFF;
- background-color: #ffffff;
-}
diff --git a/home/modules/niri.nix b/home/modules/niri.nix
index cd042f4..dcd987b 100644
--- a/home/modules/niri.nix
+++ b/home/modules/niri.nix
@@ -7,8 +7,9 @@
{
imports = [
- ./niri/anyrun.nix
./niri/noctalia.nix
+ ./niri/hyprlock.nix
+ ./niri/wlogout.nix
inputs.niri.homeModules.niri
@@ -35,7 +36,6 @@
playerctl
killall
wvkbd
- wlogout
];
xdg.configFile."niri/scripts/osk.sh" = {
text = ''
@@ -68,10 +68,7 @@
executable = true;
};
- xdg.configFile."wlogout" = {
- source = ../../configs/wlogout;
- recursive = true;
- };
+
programs.niri = {
enable = true;
package = pkgs.niri;
@@ -568,44 +565,4 @@
debug.honor-xdg-activation-with-invalid-serial = true;
};
};
- programs.hyprlock = {
- enable = true;
- settings = {
- background = [
- {
- path = "screenshot";
- blur_passes = 3;
- blur_size = 10;
- }
- ];
- input-field = {
- size = "300,300";
- outline_thickness = 3;
- dots_size = 0.33; # Scale of input-field height, 0.2 - 0.8
- dots_spacing = 0.15; # Scale of dots' absolute size, 0.0 - 1.0
- dots_center = true;
- dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
- outer_color = "rgb(151515)";
- inner_color = "rgb(FFFFFF)";
- font_color = "rgb(10, 10, 10)";
- fade_on_empty = false;
- fade_timeout = 1000; # Milliseconds before fade_on_empty is triggered.
- placeholder_text = " "; # Text rendered in the input box when it's empty.
- hide_input = true;
- rounding = -1; # -1 means complete rounding (circle/oval)
- check_color = "rgb(204, 136, 34)";
- fail_color = "rgb(204, 34, 34)"; # if authentication failed, changes outer_color and fail message color
- fail_text = ""; # can be set to empty
- fail_transition = 300; # transition time in ms between normal outer_color and fail_color
- capslock_color = -1;
- numlock_color = -1;
- bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
- invert_numlock = false; # change color if numlock is off
- swap_font_color = false; # see below
- position = "0, -20";
- halign = "center";
- valign = "center";
- };
- };
- };
}
diff --git a/home/modules/niri/anyrun.nix b/home/modules/niri/anyrun.nix
deleted file mode 100644
index fb05724..0000000
--- a/home/modules/niri/anyrun.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ pkgs, ... }:
-
-{
- programs.anyrun = {
- enable = true;
- config = {
- x = {
- fraction = 0.5;
- };
- y = {
- fraction = 0.2;
- };
- width = {
- fraction = 0.5;
- };
- hideIcons = false;
- ignoreExclusiveZones = false;
- layer = "overlay";
- hidePluginInfo = true;
- closeOnClick = true;
- showResultsImmediately = false;
- maxEntries = null;
-
- plugins = [
- "${pkgs.anyrun}/lib/libapplications.so"
- # "${pkgs.anyrun}/lib/libsymbols.so"
- ];
- };
-
- extraCss = /* css */ ''
- * {
- all: unset;
- font-family: Atkinson Hyperlegible Next;
- font-size: 1.3rem;
- }
-
- #window,
- #match,
- #entry,
- #plugin,
- #main {
- background: transparent;
- }
-
- #match.activatable {
- border-radius: 16px;
- padding: 0.3rem 0.9rem;
- margin-top: 0.01rem;
- }
-
- #match.activatable:first-child {
- margin-top: 0.7rem;
- }
-
- #match.activatable:last-child {
- margin-bottom: 0.6rem;
- }
-
- #plugin:hover #match.activatable {
- border-radius: 10px;
- padding: 0.3rem;
- margin-top: 0.01rem;
- margin-bottom: 0;
- }
-
- #match:selected,
- #match:hover,
- #plugin:hover {
- background: #2e3131;
- }
-
- #entry {
- background: #f4cccc;
- border: 3px solid rgb(255,77,77);
- color: #000000;
- border-radius: 16px;
- margin: 0.5rem;
- padding: 0.3rem 1rem;
- }
-
- list > #plugin {
- border-radius: 16px;
- margin: 0 0.3rem;
- }
-
- list > #plugin:first-child {
- margin-top: 0.3rem;
- }
-
- list > #plugin:last-child {
- margin-bottom: 0.3rem;
- }
-
- list > #plugin:hover {
- padding: 0.6rem;
- }
-
- box#main {
- background: #fa8071;
- box-shadow:
- inset 0 0 0 1px #0b0f10,
- 0 0 0 1px #0b0f10;
- border-radius: 24px;
- padding: 0.3rem;
- }
- '';
-
- };
-}
diff --git a/home/modules/niri/hyprlock.nix b/home/modules/niri/hyprlock.nix
new file mode 100644
index 0000000..bf6de10
--- /dev/null
+++ b/home/modules/niri/hyprlock.nix
@@ -0,0 +1,42 @@
+{
+ programs.hyprlock = {
+ enable = true;
+ settings = {
+ background = [
+ {
+ path = "screenshot";
+ blur_passes = 3;
+ blur_size = 10;
+ }
+ ];
+ input-field = {
+ size = "300,300";
+ outline_thickness = 3;
+ dots_size = 0.33; # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15; # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true;
+ dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
+ outer_color = "rgb(151515)";
+ inner_color = "rgb(FFFFFF)";
+ font_color = "rgb(10, 10, 10)";
+ fade_on_empty = false;
+ fade_timeout = 1000; # Milliseconds before fade_on_empty is triggered.
+ placeholder_text = " "; # Text rendered in the input box when it's empty.
+ hide_input = true;
+ rounding = -1; # -1 means complete rounding (circle/oval)
+ check_color = "rgb(204, 136, 34)";
+ fail_color = "rgb(204, 34, 34)"; # if authentication failed, changes outer_color and fail message color
+ fail_text = ""; # can be set to empty
+ fail_transition = 300; # transition time in ms between normal outer_color and fail_color
+ capslock_color = -1;
+ numlock_color = -1;
+ bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
+ invert_numlock = false; # change color if numlock is off
+ swap_font_color = false; # see below
+ position = "0, -20";
+ halign = "center";
+ valign = "center";
+ };
+ };
+ };
+}
diff --git a/home/modules/niri/wlogout.nix b/home/modules/niri/wlogout.nix
new file mode 100644
index 0000000..520dad5
--- /dev/null
+++ b/home/modules/niri/wlogout.nix
@@ -0,0 +1,120 @@
+{
+ programs.wlogout = {
+ enable = true;
+ layout = [
+ {
+ label = "lock";
+ action = "hyprlock";
+ text = "Lock";
+ keybind = "l";
+ }
+ {
+ label = "logout";
+ action = "niri msg action quit --skip-confirmation";
+ text = "Logout";
+ keybind = "e";
+ }
+
+ {
+ label = "shutdown";
+ action = "poweroff";
+ text = "Shutdown";
+ keybind = "s"
+ ;
+ }
+
+ {
+ label = "reboot";
+ action = "reboot";
+ text = "Reboot";
+ keybind = "r"
+ ;
+ }
+
+ {
+ label = "hibernate";
+ action = "niri msg action open-overview; niri msg action spawn -- hyprlock && systemctl hibernate";
+ text = "Hibernate";
+ keybind = "h"
+ ;
+ }
+
+ {
+ label = "suspend";
+ action = "niri msg action spawn -- hyprlock && systemctl suspend-then-hibernate";
+ text = "Sleep";
+ keybind = "z"
+ ;
+ }
+ ];
+ style = ''
+
+ * {
+ font-family: "Lotion Black", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ background-image: none;
+ transition: 20ms;
+ box-shadow: none;
+ }
+
+ window {
+ background-color: rgba(12, 12, 12, 0.8);
+ }
+
+ button {
+ color: #FFFFFF;
+ font-size:20px;
+ margin: 10px;
+ border-radius: 20px;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 25%;
+ background-color: unset;
+ border-style: solid;
+ border: 3px solid #FFFFFF;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
+ }
+
+ #lock {
+ background-image: image(url("icons/lock.png"));
+ background-color: #7facb3;
+ }
+
+ #logout {
+ background-image: image(url("icons/logout.png"));
+ background-color: #ff4500;
+ }
+
+ #shutdown {
+ background-image: image(url("icons/shutdown.png"));
+ background-color: #8b0000;
+ }
+
+ #reboot {
+ background-image: image(url("icons/reboot.png"));
+ background-color: #556b2f;
+ }
+
+ #hibernate {
+ background-image: image(url("icons/hibernate.png"));
+ background-color: #368cf9;
+ }
+ #suspend {
+ background-image: image(url("icons/suspend.png"));
+ background-color: #f4d3a7;
+ }
+
+ button:focus,
+ button:active,
+ button:hover {
+ color: #FFFFFF;
+ border: 3px solid #FFFFFF;
+ background-color: #ffffff;
+ }
+ '';
+ };
+
+ xdg.configFile."wlogout/icons" = {
+ source = ../../../configs/wlogout-icons;
+ recursive = true;
+ };
+}