12 Commits

15 changed files with 284 additions and 12 deletions

View File

@ -4,7 +4,12 @@
# using wofi for an interactive search menu.
USER_HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf"
OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf"
OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf $HOME/.local/share/omarchy/default/hypr/bindings/tiling.conf $HOME/.local/share/omarchy/default/hypr/bindings/utilities.conf $HOME/.local/share/omarchy/default/hypr/bindings.conf $HOME/.local/share/omarchy/default/hypr/media.conf"
OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/tiling.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/utilities.conf \
$HOME/.local/share/omarchy/default/hypr/media.conf"
# Process the configuration file to extract and format keybindings
# 1. `grep` finds all lines starting with 'bind' (allowing for leading spaces).
@ -16,7 +21,10 @@ OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf"
# - It joins the command that the key executes.
# - It prints everything in a nicely aligned format.
# 4. The final `sed` cleans up any leftover commas from the end of lines.
grep -h '^[[:space:]]*bind' "$USER_HYPRLAND_CONF" "$OMARCHY_BINDINGS_CONF" |
grep -h '^[[:space:]]*bind' $USER_HYPRLAND_CONF $OMARCHY_BINDINGS_CONF |
sed 's/#.*//' |
sed '/^[[:space:]]*$/d' |
sort -u |
awk -F, '
{
# Strip trailing comments

View File

@ -3,20 +3,22 @@
THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme"
THEMES=($(find "$THEMES_DIR" -mindepth 1 | sort))
THEMES=($(find "$THEMES_DIR" -mindepth 1 -maxdepth 1 | sort))
TOTAL=${#THEMES[@]}
# Get current theme from symlink
if [[ -L "$CURRENT_THEME_LINK" ]]; then
CURRENT_THEME=$(readlink "$CURRENT_THEME_LINK")
CURRENT_THEME=$(realpath "$CURRENT_THEME_LINK")
else
# Default to first theme if no symlink exists
CURRENT_THEME=${THEMES[0]}
CURRENT_THEME=$(realpath "${THEMES[0]}")
fi
# Find current theme index
INDEX=0
for i in "${!THEMES[@]}"; do
THEMES[$i]=$(realpath "${THEMES[$i]}")
if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then
INDEX=$i
break

View File

@ -4,9 +4,14 @@ windowrule = suppressevent maximize, class:.*
# Force chromium into a tile to deal with --app bug
windowrule = tile, class:^(Chromium)$
# Float sound, bluetooth, and wifi settings
windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala)$
windowrule = size 800 600, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala)$
# Float and center sound, bluetooth, and wifi settings, as well as nautilus previews
windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
windowrule = size 800 600, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
windowrule = center, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
# Float and center file pickers
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?)
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?)
# Float Steam, fullscreen RetroArch
windowrule = float, class:^(steam)$
@ -24,7 +29,3 @@ windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned
# Proper background blur for wofi
layerrule = blur,wofi
# Float and cneter file pickers
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?)
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?)

View File

@ -4,3 +4,13 @@ if ! command -v iwd &>/dev/null; then
yay -S --noconfirm --needed iwd
sudo systemctl enable --now iwd.service
fi
# Fix systemd-networkd-wait-online timeout for multiple interfaces
# Wait for any interface to be online rather than all interfaces
# https://wiki.archlinux.org/title/Systemd-networkd#Multiple_interfaces_that_are_not_connected_all_the_time
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d
sudo tee /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf >/dev/null <<EOF
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
EOF

13
migrations/1752249974.sh Normal file
View File

@ -0,0 +1,13 @@
echo "Add new matte black theme"
BACKGROUNDS_DIR=~/.config/omarchy/backgrounds/
download_background_image() {
local url="$1"
local path="$2"
gum spin --title "Downloading $url as $path..." -- curl -sL -o "$BACKGROUNDS_DIR/$path" "$url"
}
if [[ ! -L "~/.config/omarchy/themes/matte-black" ]]; then
ln -snf ~/.local/share/omarchy/themes/matte-black ~/.config/omarchy/themes/
source ~/.local/share/omarchy/themes/matte-black/backgrounds.sh
fi

7
migrations/1752365998.sh Normal file
View File

@ -0,0 +1,7 @@
echo "Add override to only require one network interface to be online"
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d
sudo tee /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf >/dev/null <<EOF
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
EOF

View File

@ -0,0 +1,63 @@
# ────────────────────────────────────────────────────────────
# Matte Black Theme for Alacritty
# By noiseRandom
# https://github.com/tahayvr
# ────────────────────────────────────────────────────────────
[window]
# window padding {px}
padding.x = 12
padding.y = 12
[font]
size = 12.0
[colors]
[colors.primary]
background = "#121212"
foreground = "#eaeaea"
dim_foreground = "#a5abb6"
[colors.cursor]
text = "#121212"
cursor = "#eaeaea"
[colors.vi_mode_cursor]
text = "#2e3440"
cursor = "#d8dee9"
[colors.selection]
text = "CellForeground"
background = "#333333" #charcoal
[colors.normal]
black = "#2c2c2c"
red = "#bf616a"
green = "#a3be8c"
yellow = "#ebcb8b"
blue = "#81a1c1"
magenta = "#b48ead"
cyan = "#88c0d0"
white = "#e5e9f0"
[colors.bright]
black = "#8a8a8d"
red = "#bf616a"
green = "#a3be8c"
yellow = "#ebcb8b"
blue = "#81a1c1"
magenta = "#b48ead"
cyan = "#8fbcbb"
white = "#eceff4"
[colors.dim]
black = "#373e4d"
red = "#94545d"
green = "#809575"
yellow = "#b29e75"
blue = "#68809a"
magenta = "#8c738c"
cyan = "#6d96a5"
white = "#aeb3bb"

View File

@ -0,0 +1,2 @@
mkdir -p "$BACKGROUNDS_DIR/matte-black"
download_background_image "https://raw.githubusercontent.com/tahayvr/omarchy-matte-black/refs/heads/main/images/1-matte-black.jpg" "matte-black/1-matte-black.jpg"

View File

@ -0,0 +1,92 @@
# ────────────────────────────────────────────────────────────
# Bashtop theme with Matte Black palette
# by noiseRandom
# https://github.com/tahayvr
# ────────────────────────────────────────────────────────────
# Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255"
# example for white: "#ffffff", "#ff" or "255 255 255".
# All graphs and meters can be gradients
# For single color graphs leave "mid" and "end" variable empty.
# Use "start" and "end" variables for two color gradient
# Use "start", "mid" and "end" for three color gradient
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]=""
# Main text color
theme[main_fg]="#EAEAEA"
# Title color for boxes
theme[title]="#8a8a8d"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#f59e0b"
# Background color of selected item in processes box
theme[selected_bg]="#f59e0b"
# Foreground color of selected item in processes box
theme[selected_fg]="#EAEAEA"
# Color of inactive/disabled text
theme[inactive_fg]="#333333"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#8a8a8d"
# Cpu box outline color
theme[cpu_box]="#8a8a8d"
# Memory/disks box outline color
theme[mem_box]="#8a8a8d"
# Net up/down box outline color
theme[net_box]="#8a8a8d"
# Processes box outline color
theme[proc_box]="#8a8a8d"
# Box divider line and small boxes line color
theme[div_line]="#8a8a8d"
# Temperature graph colors
theme[temp_start]="#8a8a8d"
theme[temp_mid]="#f59e0b"
theme[temp_end]="#b91c1c"
# CPU graph colors
theme[cpu_start]="#8a8a8d"
theme[cpu_mid]="#f59e0b"
theme[cpu_end]="#b91c1c"
# Mem/Disk free meter
theme[free_start]="#8a8a8d"
theme[free_mid]="#f59e0b"
theme[free_end]="#b91c1c"
# Mem/Disk cached meter
theme[cached_start]="#8a8a8d"
theme[cached_mid]="#f59e0b"
theme[cached_end]="#b91c1c"
# Mem/Disk available meter
theme[available_start]="#8a8a8d"
theme[available_mid]="#f59e0b"
theme[available_end]="#b91c1c"
# Mem/Disk used meter
theme[used_start]="#8a8a8d"
theme[used_mid]="#f59e0b"
theme[used_end]="#b91c1c"
# Download graph colors
theme[download_start]="#8a8a8d"
theme[download_mid]="#f59e0b"
theme[download_end]="#b91c1c"
# Upload graph colors
theme[upload_start]="#8a8a8d"
theme[upload_mid]="#f59e0b"
theme[upload_end]="#b91c1c"

View File

@ -0,0 +1,4 @@
general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgb(8A8A8D)
}

View File

@ -0,0 +1,10 @@
$color = rgba(46,52,64,1.0) # #2e3440 solid color
$inner_color = rgba(136,136,136,0.3) #rgb(136, 136, 136) with opacity
$outer_color = rgba(216,222,233,0.5) # #d8dee9
$font_color = rgba(216,222,233,1.0)
$placeholder_color = rgba(216,222,233,0.6)
$check_color = rgba(136, 192, 208, 1.0)

View File

@ -0,0 +1,18 @@
text-color=#8a8a8d
background-color=#1e1e1e
border-radius=10
width=420
height=110
padding=10
font=CaskaydiaMono Nerd Font
border-size=0
anchor=top-right
default-timeout=3000
max-icon-size=32
[app-name=Spotify]
invisible=1
[urgency=high]
background-color=#660d0d
text-color=#ffffff

View File

@ -0,0 +1,30 @@
return {
{ "rebelot/kanagawa.nvim"},
{ "EdenEast/nightfox.nvim" },
{
"LazyVim/LazyVim",
opts = {
colorscheme = "carbonfox",
},
init = function()
-- Custom highlight groups for dashboard colors only
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
vim.api.nvim_set_hl(0, "SnacksDashboardHeader", { fg = "#8a8a8d", bold = true })
vim.api.nvim_set_hl(0, "SnacksDashboardIcon", { fg = "#8a8a8d" })
vim.api.nvim_set_hl(0, "SnacksDashboardDir", { fg = "#8a8a8d" })
vim.api.nvim_set_hl(0, "SnacksDashboardFile", { fg = "#8a8a8d" })
vim.api.nvim_set_hl(0, "SnacksDashboardFooter", { fg = "#8a8a8d", italic = true })
vim.api.nvim_set_hl(0, "SnacksDashboardKey", { fg = "#ffffff", bold = true })
vim.api.nvim_set_hl(0, "SnacksDashboardDesc", { fg = "#ffffff" })
vim.api.nvim_set_hl(0, "SnacksDashboardSpecial", { fg = "#ffffff", bold = true })
end,
})
vim.schedule(function()
vim.cmd("doautocmd ColorScheme")
end)
end,
},
}

View File

@ -0,0 +1,4 @@
* {
color: #8a8a8d;
background-color: #1e1e1e;
}

View File

@ -0,0 +1,8 @@
@define-color selected-text #B91C1C;
@define-color text #EAEAEA;
@define-color base #121212;
@define-color selected-text #B91C1C;
@define-color text #EAEAEA;
@define-color base #121212;
@define-color border #EAEAEA;