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; + }; +}