mirror of
https://github.com/basecamp/omarchy.git
synced 2025-08-01 14:29:26 +00:00
Compare commits
19 Commits
v1.8.0
...
spotify-tu
Author | SHA1 | Date | |
---|---|---|---|
2616b0ad1a | |||
de7b18e8e2 | |||
251a5d0263 | |||
d4f6859022 | |||
8c2f51c08c | |||
91f5c4646c | |||
25f4513feb | |||
4c46c2208a | |||
b09d2d68cd | |||
5c98de75d1 | |||
66db3867a6 | |||
4f56efe0e9 | |||
5405d383dc | |||
8ab18c1d38 | |||
c95d14e5e2 | |||
bdf5540cf3 | |||
033b638992 | |||
eb74d4cb6f | |||
1b576eb7f8 |
@ -1,30 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# This script deploys ~/.local/share/omarchy/config/X/Y/Z -> ~/.config/X/Y/Z
|
|
||||||
config_file=$1
|
|
||||||
|
|
||||||
if [[ -z "$config_file" ]]; then
|
|
||||||
cat << USAGE
|
|
||||||
Usage: $0 [config_file]
|
|
||||||
|
|
||||||
Must provide a file path from the .config directory to be refreshed.
|
|
||||||
To copy ~/.local/share/omarchy/config/hypr/hyprlock.conf to ~/.config/hypr/hyprlock.conf
|
|
||||||
|
|
||||||
$0 hypr/hyprlock.conf
|
|
||||||
USAGE
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Backup the destination file (with timestamp) to avoid clobbering (Ex: hyprlock.conf.bak.1753817951)
|
|
||||||
backup_file="${HOME}/.config/${config_file}.bak.$(date +%s)"
|
|
||||||
cp -f "${HOME}/.config/${config_file}" "$backup_file" 2>/dev/null
|
|
||||||
|
|
||||||
# Deploy the source file
|
|
||||||
cp -f "${HOME}/.local/share/omarchy/config/${config_file}" "${HOME}/.config/${config_file}" 2>/dev/null
|
|
||||||
|
|
||||||
# Compare and delete/inform accordingly
|
|
||||||
if cmp -s "${HOME}/.config/${config_file}" "$backup_file"; then
|
|
||||||
rm $backup_file
|
|
||||||
else
|
|
||||||
echo -e "\e[31mExisting "${HOME}/.config/${config_file}" replaced with new Omarchy default, but ${backup_file} file was made.\e[0m"
|
|
||||||
fi
|
|
@ -1,4 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Overwrite local Hyprlock settings with the latest in Omarchy
|
# Overwrite local Hyprlock settings with the latest in Omarchy, but create a backup if it differs
|
||||||
omarchy-refresh-config hypr/hyprlock.conf
|
cp -f ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak 2>/dev/null
|
||||||
|
cp -f ~/.local/share/omarchy/config/hypr/hyprlock.conf ~/.config/hypr/ 2>/dev/null
|
||||||
|
|
||||||
|
if cmp -s ~/.config/hypr/hyprlock.conf.bak ~/.config/hypr/hyprlock.conf; then
|
||||||
|
rm ~/.config/hypr/hyprlock.conf.bak
|
||||||
|
else
|
||||||
|
echo -e "\e[31mExisting .config/hypr/hyprlock.conf replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||||
|
fi
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
omarchy-refresh-config swayosd/config.toml
|
cp -f ~/.config/swayosd/config.toml ~/.config/swayosd/config.toml.bak 2>/dev/null
|
||||||
omarchy-refresh-config swayosd/style.css
|
cp -f ~/.local/share/omarchy/config/swayosd/config.toml ~/.config/swayosd/ 3>/dev/null
|
||||||
|
|
||||||
|
if cmp -s ~/.config/swayosd/config.toml.bak ~/.config/swayosd/config.toml; then
|
||||||
|
rm ~/.config/swayosd//config.toml.bak
|
||||||
|
else
|
||||||
|
echo -e "\e[31mExisting .config/swayosd/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
pkill swayosd-server
|
pkill swayosd-server
|
||||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
setsid uwsm app -- swayosd-server &>/dev/null &
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
omarchy-refresh-config walker/config.toml
|
cp -f ~/.config/walker/config.toml ~/.config/walker/config.toml.bak 2>/dev/null
|
||||||
|
cp -f ~/.local/share/omarchy/config/walker/config.toml ~/.config/walker/ 2>/dev/null
|
||||||
|
|
||||||
|
if cmp -s ~/.config/walker/config.toml.bak ~/.config/walker/config.toml; then
|
||||||
|
rm ~/.config/walker/config.toml.bak
|
||||||
|
else
|
||||||
|
echo -e "\e[31mExisting .config/walker/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
pkill walker
|
pkill walker
|
||||||
setsid uwsm app -- walker --gapplication-service &
|
setsid uwsm app -- walker --gapplication-service &
|
||||||
|
@ -1,7 +1,25 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
omarchy-refresh-config waybar/config.jsonc
|
# Backup existing settings
|
||||||
omarchy-refresh-config waybar/style.css
|
cp -f ~/.config/waybar/config.jsonc ~/.config/waybar/config.jsonc.bak 2>/dev/null
|
||||||
|
cp -f ~/.config/waybar/style.css ~/.config/waybar/style.css.bak 2>/dev/null
|
||||||
|
|
||||||
|
# Overwrite local waybar settings with the latest in Omarchy
|
||||||
|
cp -f ~/.local/share/omarchy/config/waybar/config.jsonc ~/.config/waybar/ 2>/dev/null
|
||||||
|
cp -f ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/ 2>/dev/null
|
||||||
|
|
||||||
|
# Remove identical backup files
|
||||||
|
if cmp -s ~/.config/waybar/config.jsonc.bak ~/.config/waybar/config.jsonc; then
|
||||||
|
rm ~/.config/waybar/config.jsonc.bak
|
||||||
|
else
|
||||||
|
echo -e "\e[31mExisting .config/waybar/config.jsonc replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if cmp -s ~/.config/waybar/style.css.bak ~/.config/waybar/style.css; then
|
||||||
|
rm ~/.config/waybar/style.css.bak
|
||||||
|
else
|
||||||
|
echo -e "\e[31mExisting .config/waybar/style.css replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
# Restart waybar
|
# Restart waybar
|
||||||
pkill -SIGUSR2 waybar
|
pkill -SIGUSR2 waybar
|
||||||
|
@ -1,30 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Exit immediately if a command exits with a non-zero status
|
|
||||||
set -e
|
|
||||||
|
|
||||||
STATE_DIR="$HOME/.local/state/omarchy/migrations"
|
|
||||||
|
|
||||||
cd ~/.local/share/omarchy
|
cd ~/.local/share/omarchy
|
||||||
|
|
||||||
# Create the migrations state directory, we will store an empty file for each migration that has already been performed.
|
if [[ $1 == "all" ]]; then
|
||||||
mkdir -p "$STATE_DIR"
|
# Run all migrations since the root commit
|
||||||
|
migration_starting_point=$(git log --max-parents=0 --first-parent --format="%H")
|
||||||
|
else
|
||||||
|
# Remember the commit we're at before upgrading in order to only run new migrations
|
||||||
|
migration_starting_point=$(git log -1 --format=%H)
|
||||||
|
fi
|
||||||
|
|
||||||
# Get the latest while trying to preserve any modifications
|
# Get the latest while trying to preserve any modifications
|
||||||
git pull --autostash
|
git pull --autostash
|
||||||
git diff --check || git reset --merge
|
git diff --check || git reset --merge
|
||||||
|
|
||||||
# Run any pending migrations
|
# Run any pending migrations
|
||||||
for file in migrations/*.sh; do
|
for file in $(git diff --name-only --diff-filter=A $migration_starting_point.. migrations/*.sh); do
|
||||||
filename=$(basename "$file")
|
filename=$(basename "$file")
|
||||||
migrate_at="${filename%.sh}"
|
migrate_at="${filename%.sh}"
|
||||||
|
|
||||||
# Migration already applied, to re-run it simply delete the state file and try again
|
echo -e "\e[32m\nRunning migration ($migrate_at)\e[0m"
|
||||||
[ -e "${STATE_DIR}/$filename" ] && continue
|
|
||||||
|
|
||||||
echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
|
|
||||||
source $file
|
source $file
|
||||||
touch "${STATE_DIR}/$filename"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Update system packages
|
# Update system packages
|
||||||
@ -33,4 +29,3 @@ yay -Syu --noconfirm
|
|||||||
|
|
||||||
# Back to where we came from
|
# Back to where we came from
|
||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ $webapp = $browser --app
|
|||||||
bind = SUPER, return, exec, $terminal
|
bind = SUPER, return, exec, $terminal
|
||||||
bind = SUPER, F, exec, uwsm app -- nautilus --new-window
|
bind = SUPER, F, exec, uwsm app -- nautilus --new-window
|
||||||
bind = SUPER, B, exec, $browser
|
bind = SUPER, B, exec, $browser
|
||||||
bind = SUPER, M, exec, uwsm app -- spotify
|
bind = SUPER, M, exec, $terminal -e spotify_player
|
||||||
bind = SUPER, N, exec, $terminal -e nvim
|
bind = SUPER, N, exec, $terminal -e nvim
|
||||||
bind = SUPER, T, exec, $terminal -e btop
|
bind = SUPER, T, exec, $terminal -e btop
|
||||||
bind = SUPER, D, exec, $terminal -e lazydocker
|
bind = SUPER, D, exec, $terminal -e lazydocker
|
||||||
|
@ -199,7 +199,7 @@ typeahead = true
|
|||||||
hidden = true
|
hidden = true
|
||||||
|
|
||||||
[builtins.finder]
|
[builtins.finder]
|
||||||
use_fd = true
|
use_fd = false
|
||||||
fd_flags = "--ignore-vcs --type file --type directory"
|
fd_flags = "--ignore-vcs --type file --type directory"
|
||||||
cmd_alt = "xdg-open $(dirname ~/%RESULT%)"
|
cmd_alt = "xdg-open $(dirname ~/%RESULT%)"
|
||||||
weight = 5
|
weight = 5
|
||||||
|
@ -10,7 +10,7 @@ bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
|
|||||||
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
|
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
|
||||||
|
|
||||||
# Requires playerctl
|
# Requires playerctl
|
||||||
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
|
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
|
||||||
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
|
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
|
||||||
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
@ -4,10 +4,10 @@ if [ -z "$OMARCHY_BARE" ]; then
|
|||||||
yay -S --noconfirm --needed \
|
yay -S --noconfirm --needed \
|
||||||
gnome-calculator gnome-keyring signal-desktop \
|
gnome-calculator gnome-keyring signal-desktop \
|
||||||
obsidian-bin libreoffice obs-studio kdenlive \
|
obsidian-bin libreoffice obs-studio kdenlive \
|
||||||
xournalpp localsend-bin
|
xournalpp localsend-bin spotify-player
|
||||||
|
|
||||||
# Packages known to be flaky or having key signing issues are run one-by-one
|
# Packages known to be flaky or having key signing issues are run one-by-one
|
||||||
for pkg in pinta typora spotify zoom; do
|
for pkg in pinta typora zoom; do
|
||||||
yay -S --noconfirm --needed "$pkg" ||
|
yay -S --noconfirm --needed "$pkg" ||
|
||||||
echo -e "\e[31mFailed to install $pkg. Continuing without!\e[0m"
|
echo -e "\e[31mFailed to install $pkg. Continuing without!\e[0m"
|
||||||
done
|
done
|
||||||
|
14
migrations/1752187060.sh
Normal file
14
migrations/1752187060.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
echo "Add missing Propo version of Caskaydia Mono Nerd Font for Waybar use"
|
||||||
|
|
||||||
|
if ! fc-list | grep -qi "CaskaydiaMono Nerd Font Propo"; then
|
||||||
|
cd /tmp
|
||||||
|
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/CascadiaMono.zip
|
||||||
|
unzip CascadiaMono.zip -d CascadiaFont
|
||||||
|
cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Regular.ttf ~/.local/share/fonts
|
||||||
|
cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Bold.ttf ~/.local/share/fonts
|
||||||
|
cp CascadiaFont/CaskaydiaMonoNerdFontPropo-Italic.ttf ~/.local/share/fonts
|
||||||
|
cp CascadiaFont/CaskaydiaMonoNerdFontPropo-BoldItalic.ttf ~/.local/share/fonts
|
||||||
|
rm -rf CascadiaMono.zip CascadiaFont
|
||||||
|
fc-cache
|
||||||
|
cd -
|
||||||
|
fi
|
5
migrations/1752981882.sh
Normal file
5
migrations/1752981882.sh
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
echo "Add missing libappindicator-gtk3 for Dropbox icon tray to work right"
|
||||||
|
|
||||||
|
if ! pacman -Q libappindicator-gtk3 &>/dev/null; then
|
||||||
|
yay -S --noconfirm --needed libappindicator-gtk3
|
||||||
|
fi
|
6
migrations/1753064164.sh
Normal file
6
migrations/1753064164.sh
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
echo "Add missing Dropbox dependencies"
|
||||||
|
|
||||||
|
# Dropbox is still there, but the dependencies aren't yet
|
||||||
|
if command -v dropbox-cli &>/dev/null && ! pacman -Q libappindicator-gtk3 &>/dev/null; then
|
||||||
|
yay -S --noconfirm --needed dropbox libappindicator-gtk3 python-gpgme nautilus-dropbox
|
||||||
|
fi
|
@ -12,6 +12,8 @@ if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.c
|
|||||||
|
|
||||||
# Refresh pacman package databases
|
# Refresh pacman package databases
|
||||||
sudo pacman -Sy
|
sudo pacman -Sy
|
||||||
|
|
||||||
|
chaotic_ok=1
|
||||||
else
|
else
|
||||||
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
|
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
|
||||||
fi
|
fi
|
||||||
|
12
migrations/1753795654.sh
Normal file
12
migrations/1753795654.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
if [[ ! -f ~/.local/state/omarchy/bare.mode ]]; then
|
||||||
|
echo "Offer to swap Spotify GUI to TUI"
|
||||||
|
|
||||||
|
if command -v spotify >/dev/null && ! command -v spotify_player >/dev/null; then
|
||||||
|
if gum confirm "Replace Spotify GUI with TUI?"; then
|
||||||
|
yay -Sy --noconfirm spotify-player
|
||||||
|
yay -Rns --noconfirm spotify
|
||||||
|
|
||||||
|
sed -i -E 's|bind = (.+), exec, .*spotify|bind = \1, exec, $terminal -e spotify_player|' ~/.config/hypr/hyprland.conf
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
@ -1,12 +0,0 @@
|
|||||||
echo "Migrate from manually downloaded fonts to font packages"
|
|
||||||
if ! yay -Q ttf-cascadia-mono-nerd &>/dev/null; then
|
|
||||||
yay -S --noconfirm ttf-cascadia-mono-nerd
|
|
||||||
rm -rf ~/.local/share/fonts/Caskaydia*
|
|
||||||
fc-cache
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! yay -Q ttf-ia-writer &>/dev/null; then
|
|
||||||
yay -S --noconfirm ttf-ia-writer
|
|
||||||
rm -rf ~/.local/share/fonts/iAWriterMonoS*
|
|
||||||
fc-cache
|
|
||||||
fi
|
|
@ -1,4 +0,0 @@
|
|||||||
echo "Update Walker config to include . as the leader key for the finder"
|
|
||||||
if ! grep -q 'prefix = "."' ~/.config/walker/config.toml; then
|
|
||||||
omarchy-refresh-walker
|
|
||||||
fi
|
|
Reference in New Issue
Block a user