Merge branch 'dev' into add-docker-buildx

This commit is contained in:
David Heinemeier Hansson
2025-07-17 17:26:51 -04:00
committed by GitHub
53 changed files with 383 additions and 49 deletions

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Name=Bluetooth
Comment=Configure Bluetooth settings
Icon=bluetooth
Exec=env GTK_THEME=Adwaita-dark blueberry
Terminal=false
Type=Application
Categories=GTK;GNOME;Settings;HardwareSettings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
StartupNotify=true
NotShowIn=GNOME;KDE;Unity;

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Volume Control
Comment=Adjust the volume level
Exec=env GTK_THEME=Adwaita-dark pavucontrol
Icon=multimedia-volume-control
StartupNotify=true
Type=Application
Categories=AudioVideo;Audio;Mixer;GTK;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
Keywords=pavucontrol;PulseAudio;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;

View File

@ -6,5 +6,6 @@ if gum confirm "Refresh Waybar config? This will replace your current settings w
cp -f ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/ 2>/dev/null
# Restart waybar
pkill -SIGUSR2 waybar
pkill waybar
setsid waybar >/dev/null 2>&1 &
fi

View File

@ -5,7 +5,7 @@
BACKGROUNDS_DIR="$HOME/.config/omarchy/current/backgrounds/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
BACKGROUNDS=($(find "$BACKGROUNDS_DIR" -type f | sort))
mapfile -d '' -t BACKGROUNDS < <(find "$BACKGROUNDS_DIR" -type f -print0 | sort -z)
TOTAL=${#BACKGROUNDS[@]}
# Get current background from symlink
@ -13,7 +13,7 @@ if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
CURRENT_BACKGROUND=$(readlink "$CURRENT_BACKGROUND_LINK")
else
# Default to first background if no symlink exists
CURRENT_BACKGROUND=${BACKGROUNDS[0]}
CURRENT_BACKGROUND="${BACKGROUNDS[0]}"
fi
# Find current background index
@ -27,7 +27,7 @@ done
# Get next background (wrap around)
NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_BACKGROUND=${BACKGROUNDS[$NEXT_INDEX]}
NEW_BACKGROUND="${BACKGROUNDS[$NEXT_INDEX]}"
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"

View File

@ -23,7 +23,7 @@ selection=$(printf '%s\n' "${themes[@]}" | wofi \
--show dmenu \
--allow-markup \
--width 150 \
--height 300 \
--height 400 \
-O alphabetical \
--style ~/.config/wofi/select.css 2>/dev/null)

View File

@ -13,7 +13,12 @@ CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
THEME_NAME="$1"
THEME_PATH="$THEMES_DIR/$THEME_NAME"
BACKGROUND_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME"
if [[ -d "$HOME/.config/omarchy/themes/$THEME_NAME/backgrounds" ]]; then
BACKGROUND_PATH="$HOME/.config/omarchy/themes/$THEME_NAME/backgrounds"
else
BACKGROUND_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME"
fi
# Check if the theme entered exists
if [[ ! -d "$THEME_PATH" ]]; then
@ -25,11 +30,21 @@ fi
ln -nsf "$BACKGROUND_PATH" "$HOME/.config/omarchy/current/backgrounds"
ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR"
# Change gnome modes
if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then
gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
else
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
fi
# Trigger alacritty config reload
touch "$HOME/.config/alacritty/alacritty.toml"
# Restart components to apply new theme
pkill -SIGUSR2 waybar
pkill waybar
setsid waybar >/dev/null 2>&1 &
makoctl reload
hyprctl reload

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash
#!/bin/bash
if pgrep -x hypridle > /dev/null; then
if pgrep -x hypridle >/dev/null; then
pkill -x hypridle
notify-send "Stop locking computer when idle"
else
setsid hypridle &> /dev/null &
setsid hypridle &>/dev/null &
notify-send "Now locking computer when idle"
fi

View File

@ -10,8 +10,10 @@ else
last_updated_at=$(git log -1 --format=%cd --date=unix)
fi
# Get the latest
# Get the latest while trying to preserve any modifications
git stash
git pull
git stash pop
# Run any pending migrations
for file in migrations/*.sh; do
@ -27,5 +29,5 @@ done
# Back to where we came from
cd - >/dev/null
echo -e "\e[32m\nUpdating system packages\e[0m"
yay -Syu --noconfirm
echo -e ""
gum confirm "Update system packages too?" && yay -Syu --noconfirm

View File

@ -19,20 +19,20 @@ source = ~/.local/share/omarchy/default/hypr/windows.conf
source = ~/.config/omarchy/current/theme/hyprland.conf
# Application bindings
$terminal = alacritty
$browser = chromium --new-window --ozone-platform=wayland
$terminal = uwsm app -- alacritty
$browser = uwsm app -- chromium --new-window --ozone-platform=wayland
$webapp = $browser --app
bind = SUPER, return, exec, $terminal
bind = SUPER, F, exec, nautilus --new-window
bind = SUPER, F, exec, uwsm app -- nautilus --new-window
bind = SUPER, B, exec, $browser
bind = SUPER, M, exec, spotify
bind = SUPER, M, exec, uwsm app -- spotify
bind = SUPER, N, exec, $terminal -e nvim
bind = SUPER, T, exec, $terminal -e btop
bind = SUPER, D, exec, $terminal -e lazydocker
bind = SUPER, G, exec, signal-desktop
bind = SUPER, O, exec, obsidian -disable-gpu
bind = SUPER, slash, exec, 1password
bind = SUPER, G, exec, uwsm app -- signal-desktop
bind = SUPER, O, exec, uwsm app -- obsidian -disable-gpu
bind = SUPER, slash, exec, uwsm app -- 1password
bind = SUPER, A, exec, $webapp="https://chatgpt.com"
bind = SUPER SHIFT, A, exec, $webapp="https://grok.com"

View File

@ -92,11 +92,11 @@
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "GTK_THEME=Adwaita-dark blueberry"
"on-click": "blueberry"
},
"pulseaudio": {
"format": "{icon}",
"on-click": "GTK_THEME=Adwaita-dark pavucontrol",
"on-click": "pavucontrol",
"on-click-right": "pamixer -t",
"tooltip-format": "Playing at {volume}%",
"scroll-step": 5,

View File

@ -15,7 +15,7 @@ zd() {
fi
}
open() {
xdg-open "$@" >/dev/null 2>&1
xdg-open "$@" >/dev/null 2>&1 &
}
# Directories

View File

@ -1,4 +1,7 @@
exec-once = hypridle & mako & waybar & fcitx5
exec-once = swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm app -- hypridle
exec-once = uwsm app -- mako
exec-once = uwsm app -- waybar
exec-once = uwsm app -- fcitx5
exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'

View File

@ -1,5 +1,6 @@
# Launching
bind = SUPER, space, exec, pkill wofi || wofi --show drun -O alphabetical
# bind = SUPER, space, exec, pkill wofi || uwsm app -- "$(wofi --show drun -O alphabetical --define=drun-print_desktop_file=true | sed -E "s/(\.desktop) /\1:/")"
bind = SUPER, K, exec, pkill wofi || ~/.local/share/omarchy/bin/omarchy-show-keybindings
# Aesthetics

View File

@ -22,7 +22,7 @@ windowrule = fullscreen, class:^(com.libretro.RetroArch)$
windowrule = opacity 0.97 0.9, class:.*
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$
windowrule = opacity 1 1, initialTitle:^(youtube.com_/)$ # Youtube
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv)$
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
windowrule = opacity 1 1, class:^(com.libretro.RetroArch|steam)$
# Fix some dragging issues with XWayland

View File

@ -1,3 +1,5 @@
#!/bin/bash
sudo pacman -S --needed --noconfirm base-devel
if ! command -v yay &>/dev/null; then

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Need gum to query for input
yay -S --noconfirm --needed gum

View File

@ -1,3 +1,5 @@
#!/bin/bash
yay -S --noconfirm --needed \
wget curl unzip inetutils impala \
fd eza fzf ripgrep zoxide bat \

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copy over Omarchy configs
cp -R ~/.local/share/omarchy/config/* ~/.config/

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Install asdcontrol for controlling brightness on Apple Displays
if [ -z "$OMARCHY_BARE" ] && ! command -v asdcontrol &>/dev/null; then
git clone https://github.com/nikosdion/asdcontrol.git /tmp/asdcontrol

View File

@ -1,3 +1,5 @@
#!/bin/bash
BACKGROUNDS_DIR=~/.config/omarchy/backgrounds/
download_background_image() {

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Install bluetooth controls
yay -S --noconfirm --needed blueberry

View File

@ -1,3 +1,5 @@
#!/bin/bash
yay -S --noconfirm --needed \
brightnessctl playerctl pamixer pavucontrol wireplumber \
fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool wl-clip-persist \

View File

@ -1,3 +1,5 @@
#!/bin/bash
yay -S --noconfirm --needed \
cargo clang llvm mise \
imagemagick \

View File

@ -1,3 +1,5 @@
#!/bin/bash
yay -S --noconfirm --needed docker docker-compose docker-buildx
# Limit log size to avoid running out of disk

26
install/firewall.sh Normal file
View File

@ -0,0 +1,26 @@
#!/bin/bash
if ! command -v ufw &>/dev/null; then
yay -Sy --noconfirm --needed ufw ufw-docker
# Allow nothing in, everything out
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Allow ports for LocalSend
sudo ufw allow 53317/udp
sudo ufw allow 53317/tcp
# Allow SSH in
sudo ufw allow 22/tcp
# Allow Docker containers to use DNS on host
sudo ufw allow in on docker0 to any port 53
# Turn on the firewall
sudo ufw enable
# Turn on Docker protections
sudo ufw-docker install
sudo ufw reload
fi

View File

@ -1,3 +1,5 @@
#!/bin/bash
if [[ ! -f /etc/modprobe.d/hid_apple.conf ]]; then
echo "options hid_apple fnmode=2" | sudo tee /etc/modprobe.d/hid_apple.conf

View File

@ -1,3 +1,5 @@
#!/bin/bash
if [ -z "$OMARCHY_BARE" ]; then
yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra
else

View File

@ -1,3 +1,5 @@
#!/bin/bash
yay -S --noconfirm --needed \
hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \
wofi waybar mako swaybg \

View File

@ -1,4 +1,5 @@
#!/bin/bash
# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security
yay -S --noconfirm --needed uwsm

View File

@ -1,3 +1,5 @@
#!/bin/bash
update-desktop-database ~/.local/share/applications
# Open all images with imv

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Install iwd explicitly if it wasn't included in archinstall
# This can happen if archinstall used ethernet
if ! command -v iwd &>/dev/null; then

View File

@ -1,3 +1,5 @@
#!/bin/bash
# ==============================================================================
# Hyprland NVIDIA Setup Script for Arch Linux
# ==============================================================================

View File

@ -1,3 +1,5 @@
#!/bin/bash
if ! command -v nvim &>/dev/null; then
yay -S --noconfirm --needed nvim luarocks tree-sitter-cli

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
if ! command -v plymouth &>/dev/null; then
yay -S --noconfirm --needed plymouth

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Setting the performance profile can make a big difference. By default, most systems seem to start in balanced mode,
# even if they're not running off a battery. So let's make sure that's changed to performance.
yay -S --noconfirm power-profiles-daemon

View File

@ -1,2 +1,4 @@
#!/bin/bash
sudo pacman -S --noconfirm cups cups-pdf cups-filters system-config-printer
sudo systemctl enable --now cups.service

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Install Ruby using gcc-14 for compatibility
yay -S --noconfirm --needed gcc14
mise settings set ruby.ruby_build_opts "CC=gcc-14 CXX=g++-14"

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Use dark mode for QT apps too (like kdenlive)
sudo pacman -S --noconfirm kvantum-qt5

View File

@ -1,3 +1,5 @@
#!/bin/bash
if [ -z "$OMARCHY_BARE" ]; then
source ~/.local/share/omarchy/default/bash/functions
web2app "HEY" https://app.hey.com https://www.hey.com/assets/images/general/hey.png

View File

@ -1,3 +1,5 @@
#!/bin/bash
if [ -z "$OMARCHY_BARE" ]; then
yay -S --noconfirm --needed \
gnome-calculator gnome-keyring signal-desktop \

View File

@ -1,3 +1,4 @@
echo "Fixing persistent workspaces in waybar config"
sed -i 's/"persistent_workspaces":/"persistent-workspaces":/' ~/.config/waybar/config
pkill -SIGUSR2 waybar
pkill waybar
setsid waybar >/dev/null 2>&1 &

2
migrations/1752709610.sh Normal file
View File

@ -0,0 +1,2 @@
echo "Enable ufw firewall"
source ~/.local/share/omarchy/install/firewall.sh

15
migrations/1752725616.sh Normal file
View File

@ -0,0 +1,15 @@
echo "Make light themes possible"
if [[ -f ~/.local/share/applications/blueberry.desktop ]]; then
rm -f ~/.local/share/applications/blueberry.desktop
rm -f ~/.local/share/applications/org.pulseaudio.pavucontrol.desktop
update-desktop-database ~/.local/share/applications/
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
omarchy-refresh-waybar
fi
if [[ ! -L "~/.config/omarchy/themes/rose-pine" ]]; then
ln -snf ~/.local/share/omarchy/themes/rose-pine ~/.config/omarchy/themes/
fi

View File

@ -0,0 +1,72 @@
[colors.primary]
foreground = "#575279"
background = "#faf4ed"
dim_foreground = "#797593"
bright_foreground = "#575279"
[colors.cursor]
text = "#575279"
cursor = "#cecacd"
[colors.vi_mode_cursor]
text = "#575279"
cursor = "#cecacd"
[colors.search.matches]
foreground = "#797593"
background = "#f2e9e1"
[colors.search.focused_match]
foreground = "#faf4ed"
background = "#d7827e"
[colors.hints.start]
foreground = "#797593"
background = "#fffaf3"
[colors.hints.end]
foreground = "#9893a5"
background = "#fffaf3"
[colors.line_indicator]
foreground = "None"
background = "None"
[colors.footer_bar]
foreground = "#575279"
background = "#fffaf3"
[colors.selection]
text = "#575279"
background = "#dfdad9"
[colors.normal]
black = "#f2e9e1"
red = "#b4637a"
green = "#286983"
yellow = "#ea9d34"
blue = "#56949f"
magenta = "#907aa9"
cyan = "#d7827e"
white = "#575279"
[colors.bright]
black = "#9893a5"
red = "#b4637a"
green = "#286983"
yellow = "#ea9d34"
blue = "#56949f"
magenta = "#907aa9"
cyan = "#d7827e"
white = "#575279"
[colors.dim]
black = "#9893a5"
red = "#b4637a"
green = "#286983"
yellow = "#ea9d34"
blue = "#56949f"
magenta = "#907aa9"
cyan = "#d7827e"
white = "#575279"

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

119
themes/rose-pine/btop.theme Normal file
View File

@ -0,0 +1,119 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#faf4ed"
# Base
# Main text color
theme[main_fg]="#575279"
# Text
# Title color for boxes
theme[title]="#908caa"
# Subtle
# Highlight color for keyboard shortcuts
theme[hi_fg]="#e0def4"
# Text
# Background color of selected item in processes box
theme[selected_bg]="#524f67"
# HL High
# Foreground color of selected item in processes box
theme[selected_fg]="#f6c177"
# Gold
# Color of inactive/disabled text
theme[inactive_fg]="#403d52"
# HL Med
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#9ccfd8"
# Foam
# Background color of the percentage meters
theme[meter_bg]="#9ccfd8"
# Foam
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#c4a7e7"
# Iris
# Cpu box outline color
theme[cpu_box]="#ebbcba"
# Rose
# Memory/disks box outline color
theme[mem_box]="#31748f"
# Pine
# Net up/down box outline color
theme[net_box]="#c4a7e7"
# Iris
# Processes box outline color
theme[proc_box]="#eb6f92"
# Love
# Box divider line and small boxes line color
theme[div_line]="#6e6a86"
# Muted
# Temperature graph colors
theme[temp_start]="#ebbcba"
# Rose
theme[temp_mid]="#f6c177"
# Gold
theme[temp_end]="#eb6f92"
# Love
# CPU graph colors
theme[cpu_start]="#f6c177"
# Gold
theme[cpu_mid]="#ebbcba"
# Rose
theme[cpu_end]="#eb6f92"
# Love
# Mem/Disk free meter
# all love
theme[free_start]="#eb6f92"
theme[free_mid]="#eb6f92"
theme[free_end]="#eb6f92"
# Mem/Disk cached meter
# all iris
theme[cached_start]="#c4a7e7"
theme[cached_mid]="#c4a7e7"
theme[cached_end]="#c4a7e7"
# Mem/Disk available meter
# all pine
theme[available_start]="#31748f"
theme[available_mid]="#31748f"
theme[available_end]="#31748f"
# Mem/Disk used meter
# all rose
theme[used_start]="#ebbcba"
theme[used_mid]="#ebbcba"
theme[used_end]="#ebbcba"
# Download graph colors
# Pine for start, foam for the rest
theme[download_start]="#31748f"
theme[download_mid]="#9ccfd8"
theme[download_end]="#9ccfd8"
# Upload graph colors
theme[upload_start]="#ebbcba"
# Rose for start
theme[upload_mid]="#eb6f92"
# Love for mid and end
theme[upload_end]="#eb6f92"
# Process box color gradient for threads, mem and cpu usage
theme[process_start]="#31748f"
# Pine
theme[process_mid]="#9ccfd8"
# Foam for mid and end
theme[process_end]="#9ccfd8"

View File

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

View File

@ -0,0 +1,9 @@
$color = rgba(250, 244, 237,1.0)
$inner_color = rgba(250, 244, 237,0.8)
$outer_color = rgba(57,52,79,1.0)
$font_color = rgba(57,52,79,1.0)
$placeholder_color = rgba(216,222,233,0.6)
$check_color = rgba(136, 192, 208, 1.0)

View File

@ -0,0 +1 @@
# This will set "prefer-light" and use "Adwaita" as the theme

21
themes/rose-pine/mako.ini Normal file
View File

@ -0,0 +1,21 @@
text-color=#575279
border-color=#575279
background-color=#faf4ed
width=420
height=110
padding=10
border-size=2
font=Liberation Sans 11
anchor=top-right
outer-margin=20
default-timeout=5000
max-icon-size=32
[app-name=Spotify]
invisible=1
[mode=do-not-disturb]
invisible=true
[mode=do-not-disturb app-name=notify-send]
invisible=false

View File

@ -0,0 +1,9 @@
return {
{ "rose-pine/neovim", name = "rose-pine" },
{
"LazyVim/LazyVim",
opts = {
colorscheme = "rose-pine-dawn",
},
},
}

View File

@ -0,0 +1,2 @@
@define-color foreground #575279;
@define-color background #faf4ed;

View File

@ -0,0 +1,4 @@
@define-color selected-text #88C0D0;
@define-color text #575279;
@define-color base #faf4ed;
@define-color border #575279;