This commit is contained in:
2025-11-11 13:15:25 -05:00
commit 6cf68de325
20 changed files with 1890 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
# ~/.config/dunst/dunstrc
[global]
monitor = 0
follow = mouse
width = (200, 400)
height = 300
origin = top-right
offset = 10x50
scale = 0
notification_limit = 0
progress_bar = true
progress_bar_height = 10
progress_bar_frame_width = 1
progress_bar_min_width = 150
progress_bar_max_width = 300
indicate_hidden = yes
transparency = 0
separator_height = 2
padding = 12
horizontal_padding = 12
text_icon_padding = 0
frame_width = 2
frame_color = "#689d6a"
separator_color = frame
sort = yes
idle_threshold = 120
font = Hack Nerd Font Mono 10
line_height = 0
markup = full
format = "<b>%s</b>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = yes
icon_position = left
min_icon_size = 32
max_icon_size = 64
sticky_history = yes
history_length = 20
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/xdg-open
always_run_script = true
title = Dunst
class = Dunst
corner_radius = 0
ignore_dbusclose = false
force_xwayland = false
force_xinerama = false
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
[urgency_low]
background = "#282828"
foreground = "#ebdbb2"
frame_color = "#689d6a"
timeout = 10
[urgency_normal]
background = "#282828"
foreground = "#ebdbb2"
frame_color = "#689d6a"
timeout = 10
[urgency_critical]
background = "#282828"
foreground = "#ebdbb2"
frame_color = "#cc241d"
timeout = 0

View File

@@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

View File

@@ -0,0 +1,44 @@
# Lots of themes are supported out of the box
theme = Gruvbox Dark
# Font stuff
font-family = Hack Nerd Font Mono
font-size = 10
cursor-style = block
shell-integration-features = no-cursor
# Window - padding, disable the title bar, disable the popup when you resize (tiling wm does this automatically)
#window-decoration = false
window-padding-x = 8
window-padding-y = 8
resize-overlay = never
#behavioral stuff
link-url = true
#this keybind breaks weechat, so make it do nothing. maybe it's a tab navigation thing or something silly
keybind = alt+1=unbind
keybind = alt+2=unbind
keybind = alt+3=unbind
keybind = alt+4=unbind
keybind = alt+5=unbind
keybind = alt+6=unbind
keybind = alt+7=unbind
keybind = alt+8=unbind
keybind = alt+9=unbind
keybind = alt+0=unbind
#take those tab moving things and put them on ctrl+alt to get out of weechat's way
keybind = ctrl+alt+1=goto_tab:1
keybind = ctrl+alt+2=goto_tab:2
keybind = ctrl+alt+3=goto_tab:3
keybind = ctrl+alt+4=goto_tab:4
keybind = ctrl+alt+5=goto_tab:5
keybind = ctrl+alt+6=goto_tab:6
keybind = ctrl+alt+7=goto_tab:7
keybind = ctrl+alt+8=goto_tab:8
keybind = ctrl+alt+9=last_tab

View File

@@ -0,0 +1,21 @@
output "Dell Inc. DELL S3422DWG 3LTSS63" {
mode 3440x1440@143.975
position 0,0
alias $HOME_DESK_1
}
output eDP-1 {
mode 2256x1504@59.999
position 0,0
scale 1.25
alias $INTERNAL
}
profile docked {
output $HOME_DESK_1 enable
output $INTERNAL disable
}
profile undocked {
output $INTERNAL enable
}

261
shared/.config/sway/config Normal file
View File

@@ -0,0 +1,261 @@
### Variables
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
# Terminal
set $term ghostty
# App Launcher
set $menu wofi --show drun
# This systemd unit indicates that sway is running for other things (kanshi)
exec_always systemctl --user start sway-session.target
exec_always systemctl --user restart kanshi.service
# Wallpaper
output * bg #000000 solid_color
# Displays (these get updated to an autodetect kanshi config, but this is a default before it runs)
output "Dell Inc. DELL S3422DWG 3LTSS63" mode 3440x1440@143.975Hz
output eDP-1 mode 2256x1504@59.999Hz scale 1.25
# Idle Configuration
exec swayidle -w \
timeout 300 'swaylock -f' \
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
timeout 900 'if [ $(cat /sys/class/power_supply/BAT*/status) != "Charging" ]; then systemctl suspend; fi' \
before-sleep 'swaylock -f'
# Keyboard
input type:keyboard {
xkb_layout "us"
xkb_variant ""
xkb_options "caps:escape"
repeat_delay 400
repeat_rate 40
}
# Mouse
input type:pointer {
accel_profile "flat"
pointer_accel 0.0
scroll_factor 1.0
}
focus_follows_mouse no
# Trackpad
input type:touchpad {
tap enabled
natural_scroll enabled
dwt enabled
accel_profile "adaptive"
pointer_accel 0.3
scroll_factor 1.0
middle_emulation enabled
}
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Custom Binds:
#
bindsym $mod+Shift+s exec grimshot copy area
bindsym $mod+x exec swaylock -f
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+Shift+v splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
#
# Styling:
#
# Remove title bars
default_border pixel 2
default_floating_border pixel 2
# Add gaps
gaps inner 10
gaps outer 5
# Gruvbox Dark colors
set $bg #282828
set $fg #ebdbb2
set $red #cc241d
set $green #98971a
set $yellow #d79921
set $blue #458588
set $purple #b16286
set $aqua #689d6a
set $gray #a89984
set $darkgray #1d2021
# Window decorations
# class border backgr. text indicator child_border
client.focused $aqua $aqua $bg $purple $aqua
client.focused_inactive $darkgray $darkgray $fg $purple $darkgray
client.unfocused $darkgray $darkgray $gray $purple $darkgray
client.urgent $red $red $bg $red $red
# Font
font pango:Hack Nerd Font Mono 10
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
swaybar_command waybar
}
include /etc/sway/config.d/*

View File

@@ -0,0 +1,54 @@
# Gruvbox Dark color scheme
color=282828
# Ring colors
ring-color=3c3836
ring-clear-color=b8bb26
ring-ver-color=83a598
ring-wrong-color=fb4934
# Inside colors
inside-color=1d2021
inside-clear-color=1d2021
inside-ver-color=1d2021
inside-wrong-color=1d2021
# Line colors (separator)
line-color=00000000
line-clear-color=00000000
line-ver-color=00000000
line-wrong-color=00000000
# Text colors
text-color=ebdbb2
text-clear-color=ebdbb2
text-ver-color=ebdbb2
text-wrong-color=fb4934
# Key highlight
key-hl-color=fabd2f
bs-hl-color=fb4934
caps-lock-key-hl-color=fe8019
caps-lock-bs-hl-color=fb4934
# Separator color
separator-color=00000000
# Font
font=Hack Nerd Font Mono
font-size=24
# Indicator
indicator-radius=100
indicator-thickness=10
# Show clock
clock
timestr=%H:%M:%S
datestr=%Y-%m-%d
# Fade in
fade-in=0.2
# Disable unlock indicator on inactivity
hide-keyboard-layout

View File

@@ -0,0 +1,11 @@
[Unit]
Description=Dynamic output configuration for Wayland compositors
Documentation=https://gitlab.freedesktop.org/emersion/kanshi
BindsTo=sway-session.target
[Service]
Type=simple
ExecStart=/usr/bin/kanshi
[Install]
WantedBy=sway-session.target

View File

@@ -0,0 +1,6 @@
[Unit]
Description=Sway compositor session
Documentation=man:systemd.special
BindsTo=graphical-session.target
Wants=graphical-session-pre.target
After=graphical-session-pre.target

View File

@@ -0,0 +1,113 @@
{
"layer": "top",
"position": "top",
"height": 30,
"spacing": 8,
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "battery", "tray", "clock"],
"sway/workspaces": {
"disable-scroll": false,
"all-outputs": true,
"format": "{name}"
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", "📋"],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"sway/window": {
"format": "{}",
"max-length": 50,
"rewrite": {
"(.*) — Mozilla Firefox": "🌎 $1",
"(.*) - vim": " $1"
}
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "🔓",
"deactivated": "🔒"
}
},
"tray": {
"spacing": 10
},
"clock": {
"format": "🕐 {:%Y-%m-%d %H:%M}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "📅 {:%A, %B %d, %Y}"
},
"cpu": {
"format": "⚙ {usage}%",
"tooltip": false
},
"memory": {
"format": "💾 {}%"
},
"temperature": {
"thermal-zone": 2,
"hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
"format": "{icon} {temperatureC}°C",
"format-icons": ["❄", "🌡", "🔥"]
},
"backlight": {
"format": "{icon} {percent}%",
"format-icons": ["🔅", "🔆"]
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "⚡ {capacity}%",
"format-plugged": "🔌 {capacity}%",
"format-alt": "{icon} {time}",
"format-icons": ["🪫", "🔋", "🔋", "🔋", "🔋"]
},
"network": {
"format-wifi": "📶 {essid} ({signalStrength}%)",
"format-ethernet": "🖧 {ipaddr}/{cidr}",
"tooltip-format": "🖧 {ifname} via {gwaddr}",
"format-linked": "🖧 {ifname} (No IP)",
"format-disconnected": "❌ Disconnected",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "🔇 muted",
"format-icons": {
"headphone": "🎧",
"hands-free": "🎧",
"headset": "🎧",
"phone": "📱",
"portable": "📱",
"car": "🚗",
"default": ["🔈", "🔉", "🔊"]
},
"on-click": "pavucontrol"
}
}

View File

@@ -0,0 +1,176 @@
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 24, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
//"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"],
"modules-center": ["sway/window"],
//"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "battery", "battery#bat2", "clock", "tray"],
"modules-right": ["mpd", "idle_inhibitor", "temperature", "cpu", "memory","network", "pulseaudio", "backlight", "keyboard-state", "battery", "battery#bat2", "tray", "clock"],
// Modules configuration
// "hyprland/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "warp-on-scroll": false,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"hyprland/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"hyprland/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
// "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format": " {title} - {artist} {stateIcon} [{elapsedTime:%M:%S}/{totalTime:%M:%S}] {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}[{songPosition}/{queueLength}] [{volume}%]",
"format-disconnected": " Disconnected",
"format-stopped": " {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
// "off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)",
"on-click": "mpc toggle",
"on-click-right": "foot -a ncmpcpp ncmpcpp",
"on-scroll-up": "mpc volume +2",
"on-scroll-down": "mpc volume -2"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
//"format-alt": "{:%Y-%m-%d}"
"format": "{:L%Y-%m-%d<small>[%a]</small> <tt><small>%p</small></tt>%I:%M}"
//"format": "{:%Y-%m-%d %H:%M}"
},
"cpu": {
"format": " {usage}%",
// "tooltip": false
},
"memory": {
"format": " {}%"
},
"temperature": {
"thermal-zone": 2,
"hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
"critical-threshold": 80,
"format-critical": "{icon} {temperatureC}°C",
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} {time}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": " {ifname}",
"tooltip-format": " {ifname} via {gwaddr}",
"format-linked": " {ifname} (No IP)",
"format-disconnected": "Disconnected ⚠ {ifname}",
"format-alt": " {ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
"scroll-step": 5, // %, can be a float
"format": "{icon} {volume}% {format_source}",
"format-bluetooth": " {icon} {volume}% {format_source}",
"format-bluetooth-muted": "  {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"format-icons": {
// "headphone": "",
// "hands-free": "",
// "headset": "",
// "phone": "",
// "portable": "",
// "car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol",
"on-click-right": "foot -a pw-top pw-top"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
}
}

View File

@@ -0,0 +1,197 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: "Noto Sans CJK KR Regular";
/*font-family: "D2CodingLigature Nerd Mono";*/
font-size: 13px;
min-height: 0;
}
window#waybar {
background: transparent;
/* background-color: rgba(43, 48, 59, 0.5); */
/* 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;
}
#waybar.empty #window {
background-color: transparent;
}
#workspaces {
}
#window {
margin: 2;
padding-left: 8;
padding-right: 8;
background-color: rgba(0,0,0,0.3);
font-size:14px;
font-weight: bold;
}
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;
border-top: 2px solid #c9545d;
}
#workspaces button {
padding: 0 4px;
/* background-color: rgba(0,0,0,0.3); */
}
#workspaces button:hover {
}
#workspaces button.focused {
/* box-shadow: inset 0 -2px #c9545d; */
background-color: rgba(0,0,0,0.3);
color:#c9545d;
border-top: 2px solid #c9545d;
}
#workspaces button.active {
/* box-shadow: inset 0 -2px #c9545d; */
background-color: rgba(0,0,0,0.3);
color:#c9545d;
border-top: 2px solid #c9545d;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#mpd {
margin: 2px;
padding-left: 4px;
padding-right: 4px;
background-color: rgba(0,0,0,0.3);
color: #ffffff;
}
/* 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 {
font-size:14px;
font-weight: bold;
}
#battery icon {
color: red;
}
#battery.charging, #battery.plugged {
color: #ffffff;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.warning:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #000000;
}
#network.disconnected {
background-color: #f53c3c;
}
#temperature.critical {
background-color: #eb4d4b;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
/*
window#waybar.solo {
background-color: #FFFFFF;
}
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
*/

View File

@@ -0,0 +1,140 @@
* {
border: none;
border-radius: 0;
font-family: "Hack Nerd Font Mono";
font-size: 13px;
min-height: 0;
}
window#waybar {
background-color: rgba(40, 40, 40, 0.0);
color: #ebdbb2;
}
/* Left modules */
#workspaces button {
padding: 0 8px;
background-color: transparent;
color: #ebdbb2;
}
#workspaces button:hover {
background-color: transparent;
color: #fabd2f;
}
#workspaces button.focused {
background-color: transparent;
color: #fe8019;
font-weight: bold;
}
#workspaces button.urgent {
background-color: transparent;
color: #fb4934;
}
#mode {
background-color: transparent;
color: #fb4934;
padding: 0 8px;
}
#scratchpad {
background-color: transparent;
color: #ebdbb2;
padding: 0 8px;
}
/* Center module */
#window {
background-color: transparent;
color: #ebdbb2;
padding: 0 8px;
}
/* Right modules */
#idle_inhibitor,
#pulseaudio,
#network,
#cpu,
#memory,
#temperature,
#backlight,
#battery,
#tray,
#clock {
background-color: transparent;
color: #ebdbb2;
padding: 0 8px;
}
#idle_inhibitor.activated {
color: #b8bb26;
}
#idle_inhibitor.deactivated {
color: #928374;
}
#pulseaudio.muted {
color: #928374;
}
#network.disconnected {
color: #fb4934;
}
#cpu {
color: #b8bb26;
}
#memory {
color: #fabd2f;
}
#temperature {
color: #8ec07c;
}
#temperature.critical {
color: #fb4934;
}
#backlight {
color: #d3869b;
}
#battery {
color: #b8bb26;
}
#battery.charging {
color: #8ec07c;
}
#battery.warning:not(.charging) {
color: #fabd2f;
}
#battery.critical:not(.charging) {
color: #fb4934;
}
#clock {
color: #83a598;
font-weight: bold;
}
#tray {
padding: 0 8px;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
color: #fb4934;
}

View File

@@ -0,0 +1 @@
font=Hack Nerd Font Mono 11

View File

@@ -0,0 +1,39 @@
window {
margin: 0px;
border: 1px solid #928374;
background-color: #282828;
}
#input {
margin: 5px;
border: none;
color: #ebdbb2;
background-color: #1d2021;
}
#inner-box {
margin: 5px;
border: none;
background-color: #282828;
}
#outer-box {
margin: 5px;
border: none;
background-color: #282828;
}
#scroll {
margin: 0px;
border: none;
}
#text {
margin: 5px;
border: none;
color: #ebdbb2;
}
#entry:selected {
background-color: #1d2021;
}

3
shared/.zprofile Normal file
View File

@@ -0,0 +1,3 @@
if [ -z "$WAYLAND_DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq 1 ] && [ -z "$SSH_CONNECTION" ]; then
exec sway
fi

6
shared/.zshenv Normal file
View File

@@ -0,0 +1,6 @@
export EDITOR="nvim"
export BROWSER="firefox"
export TERMINAL="ghostty"
. "$HOME/.cargo/env"
export PATH="$HOME/go/bin:$PATH"

54
shared/.zshrc Normal file
View File

@@ -0,0 +1,54 @@
# Lines configured by zsh-newuser-install
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.cache/zsh_history
mkdir -p "$(dirname "$HISTFILE")"
setopt HIST_FCNTL_LOCK
setopt HIST_IGNORE_DUPS
unsetopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
unsetopt HIST_EXPIRE_DUPS_FIRST
setopt SHARE_HISTORY
unsetopt EXTENDED_HISTORY
bindkey -v
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/home/rob/.zshrc'
autoload -Uz compinit
compinit
# End of lines added by compinstall
PROMPT="%F{blue}%m %~%b "$'\n'"%(?.%F{green}%Bλ%b |.%F{red}?) %f"
bindkey '^ ' autosuggest-accept
#load ssh keys on shell startup
eval `keychain --eval --quiet github`
#direnv hook
eval "$(direnv hook zsh)"
#aliases
alias -- 'c'='clear'
alias -- 'cat'='bat --paging=never --style=plain'
alias -- 'cp'='cp -riv'
alias -- 'ls'='eza -al --icons'
alias -- 'mkdir'='mkdir -vp'
alias -- 'mv'='mv -iv'
alias -- 'rm'='rm -rifv'
alias -- 'tree'='eza --tree --icons'
#gcc stuff
alias -- 'g++'='g++ -ggdb -pedantic-errors -Wall -Weffc++ -Wextra -Wconversion -Wsign-conversion -std=c++23'
alias -- 'g+++'='g++ -O2 -DNDEBUG -pedantic-errors -Wall -Weffc++ -Wextra -Wconversion -Wsign-conversion -std=c++23'
alias -- 'gcc'='gcc -ggdb -pedantic-errors -Wall -Wextra -Wconversion -Wsign-conversion -std=c23'
alias -- 'gccc'='g++ -O2 -DNDEBUG -pedantic-errors -Wall -Wextra -Wconversion -Wsign-conversion -std=c23'
#named directory hashes
hash -d dots="$HOME/.dotfiles"
hash -d src="$HOME/src"