summary refs log tree commit diff
diff options
context:
space:
mode:
authorZach DeCook <zachdecook@librem.one>2026-04-14 06:47:49 -0400
committerZach DeCook <zachdecook@librem.one>2026-04-14 06:47:49 -0400
commitf304efa8681ed8ee7109009730efa08d06eba025 (patch)
treee3d0b6b1cc5ed586cc7b33d14cf41050cd23bc8b
parentd1878e9d50c97d7e27e6dfa7d38185d9b47bcebb (diff)
downloaddotfiles-f304efa8681ed8ee7109009730efa08d06eba025.tar.gz
improve config
-rw-r--r--.config/hypr/hyprland.conf24
-rw-r--r--.config/micro/settings.json5
l---------.config/rc/runlevels/gui/pipewire1
l---------.config/rc/runlevels/gui/pipewire-pulse1
-rw-r--r--.config/waybar/config.jsonc24
-rw-r--r--.config/waybar/style.css329
-rw-r--r--.gitconfig2
7 files changed, 358 insertions, 28 deletions
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index 303c536..a00fe6c 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -27,7 +27,7 @@ monitor=,preferred,auto,auto
 # Set programs that you use
 $terminal = foot
 $fileManager = dolphin
-$menu = wofi --show drun
+$menu = hyprland-run
 
 
 #################
@@ -79,7 +79,7 @@ env = HYPRCURSOR_SIZE,24
 # https://wiki.hypr.land/Configuring/Variables/#general
 general {
     gaps_in = 5
-    gaps_out = 20
+    gaps_out = 10
 
     border_size = 2
 
@@ -98,12 +98,12 @@ general {
 
 # https://wiki.hypr.land/Configuring/Variables/#decoration
 decoration {
-    rounding = 10
+    rounding = 0
     rounding_power = 2
 
     # Change transparency of focused and unfocused windows
     active_opacity = 1.0
-    inactive_opacity = 1.0
+    inactive_opacity = 0.8
 
     shadow {
         enabled = true
@@ -149,9 +149,7 @@ animations {
     animation = layersOut,     1,     1.5,   linear,       fade
     animation = fadeLayersIn,  1,     1.79,  almostLinear
     animation = fadeLayersOut, 1,     1.39,  almostLinear
-    animation = workspaces,    1,     1.94,  almostLinear, fade
-    animation = workspacesIn,  1,     1.21,  almostLinear, fade
-    animation = workspacesOut, 1,     1.94,  almostLinear, fade
+    animation = workspaces,    1,     5.00,  easeOutQuint, slide
     animation = zoomFactor,    1,     7,     quick
 }
 
@@ -201,6 +199,8 @@ input {
 
     touchpad {
         natural_scroll = true
+        clickfinger_behavior = true
+        # tap-to-click = false
     }
 }
 
@@ -211,14 +211,6 @@ gestures {
 	workspace_swipe_min_speed_to_force = 5
 }
 
-# Example per-device config
-# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
-device {
-    name = epic-mouse-v1
-    sensitivity = -0.5
-}
-
-
 ###################
 ### KEYBINDINGS ###
 ###################
@@ -282,6 +274,8 @@ bindm = $mainMod, mouse:273, resizewindow
 # Laptop multimedia keys for volume and LCD brightness
 bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
 bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
+bindel = SHIFT,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ && mpv --quiet /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga
+bindel = SHIFT,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && mpv --quiet /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga
 bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
 bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
 bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
diff --git a/.config/micro/settings.json b/.config/micro/settings.json
index ab6be74..4cdd416 100644
--- a/.config/micro/settings.json
+++ b/.config/micro/settings.json
@@ -1,3 +1,6 @@
 {
-    "colorscheme": "solarized"
+    "autoclose": false,
+    "colorscheme": "solarized",
+    "softwrap": true,
+    "sucmd": "doas"
 }
diff --git a/.config/rc/runlevels/gui/pipewire b/.config/rc/runlevels/gui/pipewire
new file mode 120000
index 0000000..1eeaabd
--- /dev/null
+++ b/.config/rc/runlevels/gui/pipewire
@@ -0,0 +1 @@
+/etc/user/init.d/pipewire
\ No newline at end of file
diff --git a/.config/rc/runlevels/gui/pipewire-pulse b/.config/rc/runlevels/gui/pipewire-pulse
new file mode 120000
index 0000000..516d346
--- /dev/null
+++ b/.config/rc/runlevels/gui/pipewire-pulse
@@ -0,0 +1 @@
+/etc/user/init.d/pipewire-pulse
\ No newline at end of file
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
index d42d4ee..0fe92a5 100644
--- a/.config/waybar/config.jsonc
+++ b/.config/waybar/config.jsonc
@@ -2,13 +2,13 @@
 {
     // "layer": "top", // Waybar at top layer
     // "position": "bottom", // Waybar position (top|bottom|left|right)
-    "height": 30, // Waybar height (to be removed for auto height)
+    "height": 32, // Waybar height (to be removed for auto height)
     // "width": 1280, // Waybar width
-    "spacing": 4, // Gaps between modules (4px)
+    "spacing": 0, // Gaps between modules (4px)
     // Choose the order of the modules
     "modules-left": ["sway/workspaces", "hyprland/workspaces", "sway/mode",  "hyprland/submap", "sway/scratchpad", "custom/media"],
     "modules-center": [],
-    "modules-right": ["clock","backlight", "temperature", "network", "upower", "tray"],
+    "modules-right": ["clock","backlight", "pulseaudio", "temperature", "network", "upower", "tray"],
 //    [
 //        "mpd",
 //        "idle_inhibitor",
@@ -122,12 +122,12 @@
         "critical-threshold": 80,
         // "format-critical": "{temperatureC}°C {icon}",
         "format": "{temperatureC}°C {icon}",
-        "format-icons": ["", "", ""]
+        "format-icons": ["🟣", "🔵", "🟢", "🟡", "🟠", "🔴"]
     },
     "backlight": {
         // "device": "acpi_video1",
         "format": "{percent}% {icon}",
-        "format-icons": ["", "", "", "", "", "", "", "", ""]
+        "format-icons": ["🌚", "🌑", "🌘", "🌗", "🌖", "🌕", "🌝"]
     },
     "battery": {
         "states": {
@@ -160,7 +160,7 @@
     },
     "network": {
         // "interface": "wlp2*", // (Optional) To force the use of this interface
-        "format-wifi": "{essid} ({signalStrength}%) ",
+        "format-wifi": "{essid} ({signalStrength}%) 🛜",
         "format-ethernet": "{ipaddr}/{cidr} ",
         "tooltip-format": "{ifname} via {gwaddr} ",
         "format-linked": "{ifname} (No IP) ",
@@ -172,17 +172,17 @@
         "format": "{volume}% {icon} {format_source}",
         "format-bluetooth": "{volume}% {icon} {format_source}",
         "format-bluetooth-muted": " {icon} {format_source}",
-        "format-muted": " {format_source}",
+        "format-muted": "🔇 {format_source}",
         "format-source": "{volume}% ",
         "format-source-muted": "",
         "format-icons": {
-            "headphone": "",
+            "headphone": "🎧",
             "hands-free": "",
-            "headset": "",
-            "phone": "",
+            "headset": "🗣 ",
+            "phone": "📱",
             "portable": "",
-            "car": "",
-            "default": ["", "", ""]
+            "car": "🚗",
+            "default": ["🔈", "🔉", "🔊"]
         },
         "on-click": "pavucontrol"
     },
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..01be454
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,329 @@
+* {
+    /* `otf-font-awesome` is required to be installed for icons */
+    font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+    font-size: 13px;
+}
+
+window#waybar {
+    /* background-color: rgba(43, 48, 59, 0.5); */
+    background: linear-gradient(to right, rgba(43, 48, 59, 0.5) 40%, black 44%, black 50%, black 56%, rgba(43, 48, 59, 0.5) 60%);
+    /* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
+    color: #ffffff;
+    transition-property: background-color;
+    transition-duration: .5s;
+}
+
+window#waybar.hidden {
+    opacity: 0.2;
+}
+
+/*
+window#waybar.empty {
+    background-color: transparent;
+}
+window#waybar.solo {
+    background-color: #FFFFFF;
+}
+*/
+
+window#waybar.termite {
+    background-color: #3F3F3F;
+}
+
+window#waybar.chromium {
+    background-color: #000000;
+    border: none;
+}
+
+button {
+    /* Use box-shadow instead of border so the text isn't offset */
+    box-shadow: inset 0 -3px transparent;
+    /* Avoid rounded borders under each button name */
+    border: none;
+    border-radius: 0;
+}
+
+/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+button:hover {
+    background: inherit;
+    box-shadow: inset 0 -3px #ffffff;
+}
+
+/* you can set a style on hover for any module like this */
+#pulseaudio:hover {
+    background-color: #a37800;
+}
+
+#workspaces button {
+    padding: 0 5px;
+    background-color: transparent;
+    color: #ffffff;
+}
+
+#workspaces button:hover {
+    background: rgba(0, 0, 0, 0.2);
+}
+
+#workspaces button.focused, #workspaces button.active {
+    background-color: #64727D;
+    box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button.urgent {
+    background-color: #eb4d4b;
+}
+
+#mode {
+    background-color: #64727D;
+    box-shadow: inset 0 -3px #ffffff;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#wireplumber,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#scratchpad,
+#power-profiles-daemon,
+#mpd {
+    padding: 0 10px;
+    color: #ffffff;
+}
+
+#window,
+#workspaces {
+    margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+    margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+    margin-right: 0;
+}
+
+#clock {
+    background-color: #64727D;
+}
+
+#battery {
+    background-color: #ffffff;
+    color: #000000;
+}
+
+#battery.charging, #battery.plugged {
+    color: #ffffff;
+    background-color: #26A65B;
+}
+
+@keyframes blink {
+    to {
+        background-color: #ffffff;
+        color: #000000;
+    }
+}
+
+/* Using steps() instead of linear as a timing function to limit cpu usage */
+#battery.critical:not(.charging) {
+    background-color: #f53c3c;
+    color: #ffffff;
+    animation-name: blink;
+    animation-duration: 0.5s;
+    animation-timing-function: steps(12);
+    animation-iteration-count: infinite;
+    animation-direction: alternate;
+}
+
+#power-profiles-daemon {
+    padding-right: 15px;
+}
+
+#power-profiles-daemon.performance {
+    background-color: #f53c3c;
+    color: #ffffff;
+}
+
+#power-profiles-daemon.balanced {
+    background-color: #2980b9;
+    color: #ffffff;
+}
+
+#power-profiles-daemon.power-saver {
+    background-color: #2ecc71;
+    color: #000000;
+}
+
+label:focus {
+    background-color: #000000;
+}
+
+#cpu {
+    background-color: #2ecc71;
+    color: #000000;
+}
+
+#memory {
+    background-color: #9b59b6;
+}
+
+#disk {
+    background-color: #964B00;
+}
+
+#backlight {
+    background-color: #90b1b1;
+}
+
+#network {
+    /* background-color: #2980b9; */
+    background-color: #2B87C7;
+}
+
+#network.disconnected {
+    background-color: #f53c3c;
+}
+
+#pulseaudio {
+    background-color: #f1c40f;
+    color: #000000;
+}
+
+#pulseaudio.muted {
+    background-color: #90b1b1;
+    color: #2a5c45;
+}
+
+#wireplumber {
+    background-color: #fff0f5;
+    color: #000000;
+}
+
+#wireplumber.muted {
+    background-color: #f53c3c;
+}
+
+#custom-media {
+    background-color: #66cc99;
+    color: #2a5c45;
+    min-width: 100px;
+}
+
+#custom-media.custom-spotify {
+    background-color: #66cc99;
+}
+
+#custom-media.custom-vlc {
+    background-color: #ffa000;
+}
+
+#temperature {
+    background-color: #f0932b;
+}
+
+#temperature.critical {
+    background-color: #eb4d4b;
+}
+
+#tray {
+    background-color: #2980b9;
+}
+
+#tray > .passive {
+    -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+    -gtk-icon-effect: highlight;
+    background-color: #eb4d4b;
+}
+
+#idle_inhibitor {
+    background-color: #2d3436;
+}
+
+#idle_inhibitor.activated {
+    background-color: #ecf0f1;
+    color: #2d3436;
+}
+
+#mpd {
+    background-color: #66cc99;
+    color: #2a5c45;
+}
+
+#mpd.disconnected {
+    background-color: #f53c3c;
+}
+
+#mpd.stopped {
+    background-color: #90b1b1;
+}
+
+#mpd.paused {
+    background-color: #51a37a;
+}
+
+#language {
+    background: #00b093;
+    color: #740864;
+    padding: 0 5px;
+    margin: 0 5px;
+    min-width: 16px;
+}
+
+#keyboard-state {
+    background: #97e1ad;
+    color: #000000;
+    padding: 0 0px;
+    margin: 0 5px;
+    min-width: 16px;
+}
+
+#keyboard-state > label {
+    padding: 0 5px;
+}
+
+#keyboard-state > label.locked {
+    background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad {
+    background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad.empty {
+	background-color: transparent;
+}
+
+#privacy {
+    padding: 0;
+}
+
+#privacy-item {
+    padding: 0 5px;
+    color: white;
+}
+
+#privacy-item.screenshare {
+    background-color: #cf5700;
+}
+
+#privacy-item.audio-in {
+    background-color: #1ca000;
+}
+
+#privacy-item.audio-out {
+    background-color: #0069d4;
+}
diff --git a/.gitconfig b/.gitconfig
index 8695a73..822cedc 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -4,3 +4,5 @@
 [user]
 	email = zachdecook@librem.one
 	name = Zach DeCook
+[init]
+	defaultBranch = zachster