mirror of
https://github.com/basecamp/omarchy.git
synced 2025-08-03 15:19:24 +00:00
Compare commits
38 Commits
Author | SHA1 | Date | |
---|---|---|---|
f21a808bc5 | |||
2712f268c8 | |||
25ed6460e0 | |||
d3fff87864 | |||
a9b9cbfa34 | |||
d84b521a19 | |||
83e5faf224 | |||
cb08f4ccd2 | |||
1dc8379533 | |||
c78133251a | |||
fb05e59bf6 | |||
5344885176 | |||
2278b400dd | |||
4b027a9242 | |||
e7f086370d | |||
4c650e53de | |||
81aeee437c | |||
9a09d45d6b | |||
933d18fce3 | |||
8f3647c5c5 | |||
8ed29e6ce1 | |||
fe1f6d4c3a | |||
65ba23d0bb | |||
c35311676c | |||
e1f697f914 | |||
8de2566fa4 | |||
3fb1bf9759 | |||
3a5ef9d841 | |||
008ede7bbd | |||
c7020ee875 | |||
1fda1ade8a | |||
cdc37313ad | |||
b8275ca5af | |||
23b9b15936 | |||
2a2c5c90d1 | |||
cf1b671a71 | |||
cb79065e5d | |||
5fda6054ce |
33
bin/omarchy
33
bin/omarchy
@ -21,41 +21,16 @@ main_menu() {
|
||||
ack_command
|
||||
main_menu
|
||||
;;
|
||||
Update) update_menu ;;
|
||||
Update)
|
||||
omarchy-update
|
||||
main_menu
|
||||
;;
|
||||
Setup) setup_menu ;;
|
||||
Manual) open_manual ;;
|
||||
Exit) clear && exit 0 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
update_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "SwayOSD" "Desktop apps" "Back")
|
||||
local commands=(
|
||||
"omarchy-update"
|
||||
"omarchy-refresh-waybar"
|
||||
"omarchy-refresh-walker"
|
||||
"omarchy-refresh-plymouth"
|
||||
"omarchy-refresh-swayosd"
|
||||
"omarchy-refresh-applications"
|
||||
"main_menu"
|
||||
)
|
||||
local choice
|
||||
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Update") || main_menu
|
||||
for i in "${!menu[@]}"; do
|
||||
if [[ "${menu[$i]}" == "$choice" ]]; then
|
||||
if [[ "$choice" == "Back" ]]; then
|
||||
main_menu
|
||||
else
|
||||
eval "${commands[$i]}"
|
||||
ack_command
|
||||
main_menu
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
theme_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Pick" "Install" "Update" "Remove" "Back")
|
||||
|
@ -14,7 +14,7 @@ get_battery_state() {
|
||||
}
|
||||
|
||||
send_notification() {
|
||||
notify-send -u critical "Battery Low" "Time to recharge! (battery is at ${1}%)" -i battery-caution
|
||||
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
||||
}
|
||||
|
||||
BATTERY_LEVEL=$(get_battery_percentage)
|
||||
|
@ -10,6 +10,7 @@ if command -v tte &>/dev/null; then
|
||||
while pgrep tte >/dev/null; do
|
||||
if read -n 1 -t 0.01; then
|
||||
pkill tte 2>/dev/null
|
||||
pkill -f "alacritty --class Screensaver" 2>/dev/null
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
@ -17,4 +18,3 @@ if command -v tte &>/dev/null; then
|
||||
else
|
||||
gum spin --title "Can't find tte. Try: pip install terminaltexteffects" -- sleep 2
|
||||
fi
|
||||
|
||||
|
@ -1,5 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
pgrep -f "alacritty --class Screensaver" ||
|
||||
alacritty --class Screensaver --title Screensaver -o 'colors.primary.background="#000000"' \
|
||||
-o 'colors.cursor.cursor="#000000"' -e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver
|
||||
# Exit early if screensave is already running
|
||||
pgrep -f "alacritty --class Screensaver" && exit 0
|
||||
|
||||
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
|
||||
|
||||
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
|
||||
hyprctl dispatch focusmonitor $m
|
||||
hyprctl dispatch exec -- \
|
||||
alacritty --class Screensaver \
|
||||
-o 'colors.primary.background="#000000"' \
|
||||
-o 'colors.cursor.cursor="#000000"' \
|
||||
-o 'font.size=18' \
|
||||
-o 'window.opacity=1' \
|
||||
-e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver
|
||||
done
|
||||
|
||||
hyprctl dispatch focusmonitor $focused
|
||||
|
@ -3,34 +3,47 @@
|
||||
# A script to display Hyprland keybindings defined in your configuration
|
||||
# using walker for an interactive search menu.
|
||||
|
||||
USER_HYPRLAND_CONF="$HOME/.config/hypr/hyprland.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/media.conf"
|
||||
# Fetch dynamic keybindings from Hyprland
|
||||
#
|
||||
# Also do some pre-processing:
|
||||
# - Remove standard Omarchy bin path prefix
|
||||
# - Remove uwsm prefix
|
||||
# - Map numeric modifier key mask to a textual rendition
|
||||
# - Output comma-separated values that the parser can understand
|
||||
dynamic_bindings() {
|
||||
hyprctl -j binds | \
|
||||
jq -r '.[] | {modmask, key, keycode, description, dispatcher, arg} | "\(.modmask),\(.key)@\(.keycode),\(.description),\(.dispatcher),\(.arg)"' | \
|
||||
sed -r \
|
||||
-e 's/null//' \
|
||||
-e 's,~/.local/share/omarchy/bin/,,' \
|
||||
-e 's,uwsm app -- ,,' \
|
||||
-e 's/@0//' \
|
||||
-e 's/,@/,code:/' \
|
||||
-e 's/^0,/,/' \
|
||||
-e 's/^1,/SHIFT,/' \
|
||||
-e 's/^4,/CTRL,/' \
|
||||
-e 's/^5,/SHIFT CTRL,/' \
|
||||
-e 's/^8,/ALT,/' \
|
||||
-e 's/^9,/SHIFT ALT,/' \
|
||||
-e 's/^12,/CTRL ALT,/' \
|
||||
-e 's/^13,/SHIFT CTRL ALT,/' \
|
||||
-e 's/^64,/SUPER,/' \
|
||||
-e 's/^65,/SUPER SHIFT,/' \
|
||||
-e 's/^68,/SUPER CTRL,/' \
|
||||
-e 's/^69,/SUPER SHIFT CTRL,/' \
|
||||
-e 's/^72,/SUPER ALT,/'
|
||||
}
|
||||
|
||||
# Process the configuration file to extract and format keybindings
|
||||
# 1. `grep` finds all lines starting with 'bind' (allowing for leading spaces).
|
||||
# 2. The first `sed` removes comments (anything after a '#').
|
||||
# 3. `awk` does the heavy lifting of formatting the output.
|
||||
# - It sets the field separator to a comma ','.
|
||||
# - It removes the 'bind... =' part from the beginning of the line.
|
||||
# - It joins the key combination (e.g., "SUPER + Q").
|
||||
# - 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 |
|
||||
sed 's/#.*//' |
|
||||
sed '/^[[:space:]]*$/d' |
|
||||
sort -u |
|
||||
# Parse and format keybindings
|
||||
#
|
||||
# `awk` does the heavy lifting:
|
||||
# - Set the field separator to a comma ','.
|
||||
# - Joins the key combination (e.g., "SUPER + Q").
|
||||
# - Joins the command that the key executes.
|
||||
# - Prints everything in a nicely aligned format.
|
||||
parse_bindings() {
|
||||
awk -F, '
|
||||
{
|
||||
# Strip trailing comments
|
||||
sub(/#.*/, "");
|
||||
|
||||
# Remove the "bind... =" part and surrounding whitespace
|
||||
sub(/^[[:space:]]*bind[^=]*=(\+[[:space:]])?(exec, )?[[:space:]]*/, "", $1);
|
||||
|
||||
# Combine the modifier and key (first two fields)
|
||||
key_combo = $1 " + " $2;
|
||||
|
||||
@ -38,27 +51,36 @@ grep -h '^[[:space:]]*bind' $USER_HYPRLAND_CONF $OMARCHY_BINDINGS_CONF |
|
||||
gsub(/^[ \t]*\+?[ \t]*/, "", key_combo);
|
||||
gsub(/[ \t]+$/, "", key_combo);
|
||||
|
||||
# Reconstruct the command from the remaining fields
|
||||
action = "";
|
||||
for (i = 3; i <= NF; i++) {
|
||||
action = action $i (i < NF ? "," : "");
|
||||
}
|
||||
# Use description, if set
|
||||
action = $3;
|
||||
|
||||
# Clean up trailing commas, remove leading "exec, ", and trim
|
||||
sub(/,$/, "", action);
|
||||
gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action);
|
||||
gsub(/^[ \t]+|[ \t]+$/, "", action);
|
||||
gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one
|
||||
if (action == "") {
|
||||
# Reconstruct the command from the remaining fields
|
||||
for (i = 4; i <= NF; i++) {
|
||||
action = action $i (i < NF ? "," : "");
|
||||
}
|
||||
|
||||
# Clean up trailing commas, remove leading "exec, ", and trim
|
||||
sub(/,$/, "", action);
|
||||
gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action);
|
||||
gsub(/^[ \t]+|[ \t]+$/, "", action);
|
||||
gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one
|
||||
|
||||
if (action != "") {
|
||||
# Escape XML entities
|
||||
gsub(/&/, "\\&", action);
|
||||
gsub(/</, "\\<", action);
|
||||
gsub(/>/, "\\>", action);
|
||||
gsub(/"/, "\\"", action);
|
||||
gsub(/'"'"'/, "\\'", action);
|
||||
}
|
||||
|
||||
if (action != "") {
|
||||
printf "%-35s → %s\n", key_combo, action;
|
||||
}
|
||||
}' |
|
||||
}'
|
||||
}
|
||||
|
||||
dynamic_bindings | \
|
||||
sort -u | \
|
||||
parse_bindings | \
|
||||
walker --dmenu --theme keybindings -p 'Keybindings'
|
||||
|
@ -1,26 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
# Create the migrations state directory, we will store an empty file for each migration that has already been performed.
|
||||
# Where we store an empty file for each migration that has already been performed.
|
||||
STATE_DIR="$HOME/.local/state/omarchy/migrations"
|
||||
mkdir -p "$STATE_DIR"
|
||||
|
||||
# Run any pending migrations
|
||||
cd ~/.local/share/omarchy
|
||||
|
||||
for file in migrations/*.sh; do
|
||||
for file in ~/.local/share/omarchy/migrations/*.sh; do
|
||||
filename=$(basename "$file")
|
||||
migrate_at="${filename%.sh}"
|
||||
|
||||
# Migration already applied, to re-run it simply delete the state file and try again
|
||||
[ -e "${STATE_DIR}/$filename" ] && continue
|
||||
|
||||
echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
|
||||
source $file
|
||||
touch "${STATE_DIR}/$filename"
|
||||
if [[ ! -f "$STATE_DIR/$filename" ]]; then
|
||||
echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
|
||||
source $file
|
||||
touch "$STATE_DIR/$filename"
|
||||
fi
|
||||
done
|
||||
|
||||
# Back to where we came from
|
||||
cd - >/dev/null
|
||||
|
@ -1,6 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-refresh-config hypr/hypridle.conf
|
||||
pkill -x hypridle
|
||||
uwsm app -- hypridle >/dev/null 2>&1 &
|
||||
|
||||
omarchy-restart-hypridle
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Overwrite local Hyprlock settings with the latest in Omarchy
|
||||
omarchy-refresh-config hypr/hyprlock.conf
|
||||
|
||||
|
4
bin/omarchy-refresh-hyprsunset
Executable file
4
bin/omarchy-refresh-hyprsunset
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-refresh-config hypr/hyprsunset.conf
|
||||
omarchy-restart-hyprsunset
|
@ -2,6 +2,4 @@
|
||||
|
||||
omarchy-refresh-config swayosd/config.toml
|
||||
omarchy-refresh-config swayosd/style.css
|
||||
|
||||
pkill swayosd-server
|
||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
||||
omarchy-restart-swayosd
|
||||
|
@ -1,6 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-refresh-config walker/config.toml
|
||||
|
||||
pkill walker
|
||||
setsid uwsm app -- walker --gapplication-service &
|
||||
omarchy-restart-walker
|
||||
|
@ -2,6 +2,4 @@
|
||||
|
||||
omarchy-refresh-config waybar/config.jsonc
|
||||
omarchy-refresh-config waybar/style.css
|
||||
|
||||
# Restart waybar
|
||||
omarchy-restart-waybar
|
||||
|
4
bin/omarchy-restart-app
Executable file
4
bin/omarchy-restart-app
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
pkill -x $1
|
||||
setsid uwsm app -- $1 >/dev/null 2>&1 &
|
3
bin/omarchy-restart-hypridle
Executable file
3
bin/omarchy-restart-hypridle
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-restart-app hypridle
|
3
bin/omarchy-restart-hyprsunset
Executable file
3
bin/omarchy-restart-hyprsunset
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-restart-app hyprsunset
|
3
bin/omarchy-restart-swayosd
Executable file
3
bin/omarchy-restart-swayosd
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-restart-app swayosd-server
|
4
bin/omarchy-restart-walker
Executable file
4
bin/omarchy-restart-walker
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
pkill walker
|
||||
setsid uwsm app -- walker --gapplication-service &
|
@ -1,4 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
killall waybar || true
|
||||
setsid uwsm app -- waybar &>/dev/null &
|
||||
omarchy-restart-app waybar
|
||||
|
3
bin/omarchy-restart-xcompose
Executable file
3
bin/omarchy-restart-xcompose
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy-restart-app fcitx5
|
25
bin/omarchy-toggle-nightlight
Executable file
25
bin/omarchy-toggle-nightlight
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Default temperature values
|
||||
ON_TEMP=4000
|
||||
OFF_TEMP=6500
|
||||
|
||||
# Query the current temperature
|
||||
CURRENT_TEMP=$(hyprctl hyprsunset temperature 2>/dev/null | grep -oE '[0-9]+')
|
||||
|
||||
restart_nightlighted_waybar() {
|
||||
if grep -q "custom/nightlight" ~/.config/waybar/config.jsonc; then
|
||||
omarchy-restart-waybar # restart waybar in case user has waybar module for hyprsunset
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$CURRENT_TEMP" == "$OFF_TEMP" ]]; then
|
||||
hyprctl hyprsunset temperature $ON_TEMP
|
||||
notify-send " Nightlight screen temperature"
|
||||
restart_nightlighted_waybar
|
||||
else
|
||||
hyprctl hyprsunset temperature $OFF_TEMP
|
||||
notify-send " Daylight screen temperature"
|
||||
restart_nightlighted_waybar
|
||||
fi
|
||||
|
7
boot.sh
7
boot.sh
@ -16,9 +16,12 @@ echo -e "\n$ansi_art\n"
|
||||
|
||||
sudo pacman -Sy --noconfirm --needed git
|
||||
|
||||
echo -e "\nCloning Omarchy..."
|
||||
# Use custom repo if specified, otherwise default to basecamp/omarchy
|
||||
OMARCHY_REPO="${OMARCHY_REPO:-basecamp/omarchy}"
|
||||
|
||||
echo -e "\nCloning Omarchy from: https://github.com/${OMARCHY_REPO}.git"
|
||||
rm -rf ~/.local/share/omarchy/
|
||||
git clone https://github.com/basecamp/omarchy.git ~/.local/share/omarchy >/dev/null
|
||||
git clone "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy >/dev/null
|
||||
|
||||
# Use custom branch if instructed
|
||||
if [[ -n "$OMARCHY_REF" ]]; then
|
||||
|
@ -7,8 +7,8 @@ general {
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 60 # 1min
|
||||
on-timeout = omarchy-launch-screensaver # start screensaver
|
||||
timeout = 180 # 2.5min
|
||||
on-timeout = pidof hyprlock || omarchy-launch-screensaver # start screensaver (if we haven't locked already)
|
||||
}
|
||||
|
||||
listener {
|
||||
|
@ -23,26 +23,26 @@ $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, uwsm app -- nautilus --new-window
|
||||
bind = SUPER, B, exec, $browser
|
||||
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, uwsm app -- signal-desktop
|
||||
bind = SUPER, O, exec, uwsm app -- obsidian -disable-gpu
|
||||
bind = SUPER, slash, exec, uwsm app -- 1password
|
||||
bindd = SUPER, return, Terminal, exec, $terminal
|
||||
bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window
|
||||
bindd = SUPER, B, Browser, exec, $browser
|
||||
bindd = SUPER, M, Music, exec, uwsm app -- spotify
|
||||
bindd = SUPER, N, Neovim, exec, $terminal -e nvim
|
||||
bindd = SUPER, T, Activity, exec, $terminal -e btop
|
||||
bindd = SUPER, D, Docker, exec, $terminal -e lazydocker
|
||||
bindd = SUPER, G, Signal, exec, uwsm app -- signal-desktop
|
||||
bindd = SUPER, O, Obsidian, exec, uwsm app -- obsidian -disable-gpu
|
||||
bindd = SUPER, slash, Passwords, exec, uwsm app -- 1password
|
||||
|
||||
bind = SUPER, A, exec, $webapp="https://chatgpt.com"
|
||||
bind = SUPER SHIFT, A, exec, $webapp="https://grok.com"
|
||||
bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/"
|
||||
bind = SUPER, E, exec, $webapp="https://app.hey.com"
|
||||
bind = SUPER, Y, exec, $webapp="https://youtube.com/"
|
||||
bind = SUPER SHIFT, G, exec, $webapp="https://web.whatsapp.com/"
|
||||
bind = SUPER ALT, G, exec, $webapp="https://messages.google.com/web/conversations"
|
||||
bind = SUPER, X, exec, $webapp="https://x.com/"
|
||||
bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post"
|
||||
bindd = SUPER, A, ChatGPT, exec, $webapp="https://chatgpt.com"
|
||||
bindd = SUPER SHIFT, A, Grok, exec, $webapp="https://grok.com"
|
||||
bindd = SUPER, C, Calendar, exec, $webapp="https://app.hey.com/calendar/weeks/"
|
||||
bindd = SUPER, E, Email, exec, $webapp="https://app.hey.com"
|
||||
bindd = SUPER, Y, YouTube, exec, $webapp="https://youtube.com/"
|
||||
bindd = SUPER SHIFT, G, WhatsApp, exec, $webapp="https://web.whatsapp.com/"
|
||||
bindd = SUPER ALT, G, Google Messages, exec, $webapp="https://messages.google.com/web/conversations"
|
||||
bindd = SUPER, X, X, exec, $webapp="https://x.com/"
|
||||
bindd = SUPER SHIFT, X, X Post, exec, $webapp="https://x.com/compose/post"
|
||||
|
||||
# Extra autostart processes
|
||||
# exec-once = uwsm app -- my-service
|
||||
|
6
config/hypr/hyprsunset.conf
Normal file
6
config/hypr/hyprsunset.conf
Normal file
@ -0,0 +1,6 @@
|
||||
# Makes hyprsunset do nothing to the screen by default
|
||||
# Without this, the default applies some tint to the monitor
|
||||
profile {
|
||||
time = 00:00
|
||||
identity = true
|
||||
}
|
@ -42,7 +42,7 @@ on_query_change = ""
|
||||
[list]
|
||||
dynamic_sub = true
|
||||
keyboard_scroll_style = "emacs"
|
||||
max_entries = 50
|
||||
max_entries = 200
|
||||
show_initial_entries = true
|
||||
single_click = true
|
||||
visibility_threshold = 20
|
||||
|
@ -65,9 +65,3 @@ web2app-remove() {
|
||||
rm "$DESKTOP_FILE"
|
||||
rm "$ICON_PATH"
|
||||
}
|
||||
|
||||
# Ensure changes to ~/.XCompose are immediately available
|
||||
refresh-xcompose() {
|
||||
pkill fcitx5
|
||||
uwsm app -- fcitx5 >/dev/null 2>&1 &
|
||||
}
|
||||
|
7
default/hypr/apps.conf
Normal file
7
default/hypr/apps.conf
Normal file
@ -0,0 +1,7 @@
|
||||
# App-specific tweaks
|
||||
source = ~/.local/share/omarchy/default/hypr/apps/chromium.conf
|
||||
source = ~/.local/share/omarchy/default/hypr/apps/hyprshot.conf
|
||||
source = ~/.local/share/omarchy/default/hypr/apps/retroarch.conf
|
||||
source = ~/.local/share/omarchy/default/hypr/apps/steam.conf
|
||||
source = ~/.local/share/omarchy/default/hypr/apps/system.conf
|
||||
source = ~/.local/share/omarchy/default/hypr/apps/walker.conf
|
6
default/hypr/apps/chromium.conf
Normal file
6
default/hypr/apps/chromium.conf
Normal file
@ -0,0 +1,6 @@
|
||||
# Force chromium into a tile to deal with --app bug
|
||||
windowrule = tile, class:^(Chromium)$
|
||||
|
||||
# Only slight opacity when unfocused
|
||||
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$
|
||||
windowrule = opacity 1 1, initialTitle:^(youtube.com_/)$ # Youtube
|
2
default/hypr/apps/hyprshot.conf
Normal file
2
default/hypr/apps/hyprshot.conf
Normal file
@ -0,0 +1,2 @@
|
||||
# Remove 1px border around hyprshot screenshots
|
||||
layerrule = noanim, selection
|
3
default/hypr/apps/retroarch.conf
Normal file
3
default/hypr/apps/retroarch.conf
Normal file
@ -0,0 +1,3 @@
|
||||
windowrule = fullscreen, class:com.libretro.RetroArch
|
||||
windowrule = opacity 1 1, class:com.libretro.RetroArch
|
||||
|
4
default/hypr/apps/steam.conf
Normal file
4
default/hypr/apps/steam.conf
Normal file
@ -0,0 +1,4 @@
|
||||
# Float Steam, fullscreen RetroArch
|
||||
windowrule = float, class:steam
|
||||
windowrule = center, class:steam, title:Steam
|
||||
windowrule = opacity 1 1, class:steam
|
16
default/hypr/apps/system.conf
Normal file
16
default/hypr/apps/system.conf
Normal file
@ -0,0 +1,16 @@
|
||||
# Float and center settings and previews
|
||||
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$
|
||||
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$
|
||||
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$
|
||||
windowrule = size 600 470, class:Omarchy
|
||||
windowrule = size 700 470 class:About
|
||||
|
||||
# Float and center file pickers
|
||||
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
|
||||
# Fullscreen screensaver
|
||||
windowrule = fullscreen, class:Screensaver
|
||||
|
||||
# No transparency on media windows
|
||||
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
|
2
default/hypr/apps/walker.conf
Normal file
2
default/hypr/apps/walker.conf
Normal file
@ -0,0 +1,2 @@
|
||||
# Application-sepcific animation
|
||||
layerrule = noanim, walker
|
@ -2,6 +2,7 @@ exec-once = uwsm app -- hypridle
|
||||
exec-once = uwsm app -- mako
|
||||
exec-once = uwsm app -- waybar
|
||||
exec-once = uwsm app -- fcitx5
|
||||
exec-once = uwsm app -- hyprsunset
|
||||
exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill
|
||||
exec-once = uwsm app -- swayosd-server
|
||||
exec-once = uwsm app -- walker --gapplication-service
|
||||
|
@ -1,15 +1,15 @@
|
||||
# Deprecated bindings file. New installations include everything directly.
|
||||
|
||||
bind = SUPER, return, exec, $terminal
|
||||
bind = SUPER, F, exec, $fileManager
|
||||
bind = SUPER, B, exec, $browser
|
||||
bind = SUPER, M, exec, $music
|
||||
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, $messenger
|
||||
bind = SUPER, O, exec, obsidian -disable-gpu
|
||||
bind = SUPER, slash, exec, $passwordManager
|
||||
bindd = SUPER, return, Terminal, exec, $terminal
|
||||
bindd = SUPER, F, File manager, exec, $fileManager
|
||||
bindd = SUPER, B, Web browser, exec, $browser
|
||||
bindd = SUPER, M, Music player, exec, $music
|
||||
bindd = SUPER, N, Neovim, exec, $terminal -e nvim
|
||||
bindd = SUPER, T, Top, exec, $terminal -e btop
|
||||
bindd = SUPER, D, Lazy Docker, exec, $terminal -e lazydocker
|
||||
bindd = SUPER, G, Messenger, exec, $messenger
|
||||
bindd = SUPER, O, Obsidian, exec, obsidian -disable-gpu
|
||||
bindd = SUPER, slash, Pasword manager, exec, $passwordManager
|
||||
|
||||
source = ~/.local/share/omarchy/default/hypr/bindings/media.conf
|
||||
source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf
|
||||
|
@ -2,15 +2,15 @@
|
||||
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness (with OSD)
|
||||
bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise
|
||||
bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower
|
||||
bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle
|
||||
bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
|
||||
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
|
||||
bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise
|
||||
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
|
||||
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
|
||||
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
|
||||
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, $osdclient --brightness raise
|
||||
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, $osdclient --brightness lower
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
|
||||
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous
|
||||
bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next
|
||||
bindld = , XF86AudioPause, Pause, exec, $osdclient --playerctl play-pause
|
||||
bindld = , XF86AudioPlay, Play, exec, $osdclient --playerctl play-pause
|
||||
bindld = , XF86AudioPrev, Previous track, exec, $osdclient --playerctl previous
|
||||
|
@ -1,63 +1,62 @@
|
||||
# Close window
|
||||
bind = SUPER, W, killactive,
|
||||
bindd = SUPER, W, Close active window, killactive,
|
||||
|
||||
# Control tiling
|
||||
bind = SUPER, J, togglesplit, # dwindle
|
||||
bind = SUPER, P, pseudo, # dwindle
|
||||
bind = SUPER, V, togglefloating,
|
||||
bind = SHIFT, F11, fullscreen, 0
|
||||
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
|
||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||
bindd = SUPER, V, Toggle floating, togglefloating,
|
||||
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = SUPER, left, movefocus, l
|
||||
bind = SUPER, right, movefocus, r
|
||||
bind = SUPER, up, movefocus, u
|
||||
bind = SUPER, down, movefocus, d
|
||||
bindd = SUPER, left, Move focus left, movefocus, l
|
||||
bindd = SUPER, right, Move focus right, movefocus, r
|
||||
bindd = SUPER, up, Move focus up, movefocus, u
|
||||
bindd = SUPER, down, Move focus down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = SUPER, code:10, workspace, 1
|
||||
bind = SUPER, code:11, workspace, 2
|
||||
bind = SUPER, code:12, workspace, 3
|
||||
bind = SUPER, code:13, workspace, 4
|
||||
bind = SUPER, code:14, workspace, 5
|
||||
bind = SUPER, code:15, workspace, 6
|
||||
bind = SUPER, code:16, workspace, 7
|
||||
bind = SUPER, code:17, workspace, 8
|
||||
bind = SUPER, code:18, workspace, 9
|
||||
bind = SUPER, code:19, workspace, 10
|
||||
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
||||
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
||||
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
||||
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
|
||||
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
|
||||
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
|
||||
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
||||
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
||||
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
|
||||
bindd = SUPER, code:19, Switch to workspace 10, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = SUPER SHIFT, code:10, movetoworkspace, 1
|
||||
bind = SUPER SHIFT, code:11, movetoworkspace, 2
|
||||
bind = SUPER SHIFT, code:12, movetoworkspace, 3
|
||||
bind = SUPER SHIFT, code:13, movetoworkspace, 4
|
||||
bind = SUPER SHIFT, code:14, movetoworkspace, 5
|
||||
bind = SUPER SHIFT, code:15, movetoworkspace, 6
|
||||
bind = SUPER SHIFT, code:16, movetoworkspace, 7
|
||||
bind = SUPER SHIFT, code:17, movetoworkspace, 8
|
||||
bind = SUPER SHIFT, code:18, movetoworkspace, 9
|
||||
bind = SUPER SHIFT, code:19, movetoworkspace, 10
|
||||
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
||||
bindd = SUPER SHIFT, code:11, Move window to workspace 1, movetoworkspace, 2
|
||||
bindd = SUPER SHIFT, code:12, Move window to workspace 1, movetoworkspace, 3
|
||||
bindd = SUPER SHIFT, code:13, Move window to workspace 1, movetoworkspace, 4
|
||||
bindd = SUPER SHIFT, code:14, Move window to workspace 1, movetoworkspace, 5
|
||||
bindd = SUPER SHIFT, code:15, Move window to workspace 1, movetoworkspace, 6
|
||||
bindd = SUPER SHIFT, code:16, Move window to workspace 1, movetoworkspace, 7
|
||||
bindd = SUPER SHIFT, code:17, Move window to workspace 1, movetoworkspace, 8
|
||||
bindd = SUPER SHIFT, code:18, Move window to workspace 1, movetoworkspace, 9
|
||||
bindd = SUPER SHIFT, code:19, Move window to workspace 1, movetoworkspace, 10
|
||||
|
||||
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
|
||||
bind = SUPER SHIFT, left, swapwindow, l
|
||||
bind = SUPER SHIFT, right, swapwindow, r
|
||||
bind = SUPER SHIFT, up, swapwindow, u
|
||||
bind = SUPER SHIFT, down, swapwindow, d
|
||||
bindd = SUPER SHIFT, left, Swap window to the left, swapwindow, l
|
||||
bindd = SUPER SHIFT, right, Swap window to the right, swapwindow, r
|
||||
bindd = SUPER SHIFT, up, Swap window up, swapwindow, u
|
||||
bindd = SUPER SHIFT, down, Swap window down, swapwindow, d
|
||||
|
||||
# Cycle through applications on active workspace
|
||||
bind = ALT, Tab, cyclenext
|
||||
bind = ALT, Tab, bringactivetotop
|
||||
bindd = ALT, Tab, Cycle to next window, cyclenext
|
||||
bindd = ALT, Tab, Reveal active window on top, bringactivetotop
|
||||
|
||||
# Resize active window
|
||||
bind = SUPER, minus, resizeactive, -100 0
|
||||
bind = SUPER, equal, resizeactive, 100 0
|
||||
bind = SUPER SHIFT, minus, resizeactive, 0 -100
|
||||
bind = SUPER SHIFT, equal, resizeactive, 0 100
|
||||
bindd = SUPER, minus, Expand window left, resizeactive, -100 0
|
||||
bindd = SUPER, equal, Shrink window left, resizeactive, 100 0
|
||||
bindd = SUPER SHIFT, minus, Shrink window up, resizeactive, 0 -100
|
||||
bindd = SUPER SHIFT, equal, Expand window down, resizeactive, 0 100
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = SUPER, mouse_down, workspace, e+1
|
||||
bind = SUPER, mouse_up, workspace, e-1
|
||||
bindd = SUPER, mouse_down, Scroll active worspace forward, workspace, e+1
|
||||
bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
bindm = SUPER, mouse:273, resizewindow
|
||||
|
||||
bindmd = SUPER, mouse:272, Move window, movewindow
|
||||
bindmd = SUPER, mouse:273, Resize window, resizewindow
|
||||
|
@ -1,39 +1,42 @@
|
||||
# Launching
|
||||
bind = SUPER, space, exec, walker
|
||||
bind = SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-menu-keybindings
|
||||
bindd = SUPER, space, Launch apps, exec, walker
|
||||
bindd = SUPER, K, Show key bindings, exec, ~/.local/share/omarchy/bin/omarchy-menu-keybindings
|
||||
|
||||
# Aesthetics
|
||||
bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar
|
||||
bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-bg-next
|
||||
bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-menu
|
||||
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, pkill -SIGUSR1 waybar
|
||||
bindd = SUPER CTRL, SPACE, Next background in theme, exec, ~/.local/share/omarchy/bin/omarchy-theme-bg-next
|
||||
bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, ~/.local/share/omarchy/bin/omarchy-theme-menu
|
||||
|
||||
# Notifications
|
||||
bind = SUPER, comma, exec, makoctl dismiss
|
||||
bind = SUPER SHIFT, comma, exec, makoctl dismiss --all
|
||||
bind = SUPER CTRL, comma, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications"
|
||||
bindd = SUPER, comma, Dismiss last notification, exec, makoctl dismiss
|
||||
bindd = SUPER SHIFT, comma, Dismiss all notifications, exec, makoctl dismiss --all
|
||||
bindd = SUPER CTRL, comma, Toggle silencing notifications, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications"
|
||||
|
||||
# Power menu controls lock, suspend, relaunch, restart, shutdown
|
||||
bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-menu-power
|
||||
bindd = SUPER, ESCAPE, Power menu, exec, ~/.local/share/omarchy/bin/omarchy-menu-power
|
||||
|
||||
# Toggle idling
|
||||
bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle
|
||||
bindd = SUPER CTRL, I, Toggle locking on idle, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle
|
||||
|
||||
# Toggle nightlight
|
||||
bindd = SUPER CTRL, N, Toggle nightlight, exec, ~/.local/share/omarchy/bin/omarchy-toggle-nightlight
|
||||
|
||||
# Control Apple Display brightness
|
||||
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness -5000
|
||||
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +5000
|
||||
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +60000
|
||||
bindd = CTRL, F1, Apple Display brightness down, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness -5000
|
||||
bindd = CTRL, F2, Apple Display brightness up, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +5000
|
||||
bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +60000
|
||||
|
||||
# Screenshots
|
||||
bind = , PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot
|
||||
bind = SHIFT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot window
|
||||
bind = CTRL, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot output
|
||||
bindd = , PRINT, Screenshot of region, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot
|
||||
bindd = SHIFT, PRINT, Screenshot of window, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot window
|
||||
bindd = CTRL, PRINT, Screenshot of display, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot output
|
||||
|
||||
# Screenshots
|
||||
bind = ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord
|
||||
bind = CTRL ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output
|
||||
# Screen recordings
|
||||
bindd = ALT, PRINT, Screen record a region, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord
|
||||
bindd = CTRL ALT, PRINT, Screen record display, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output
|
||||
|
||||
# Screensaver
|
||||
bind = SUPER ALT, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-launch-screensaver
|
||||
bindd = SUPER ALT, SPACE, Screensaver, exec, ~/.local/share/omarchy/bin/omarchy-launch-screensaver
|
||||
|
||||
# Color picker
|
||||
bind = SUPER, PRINT, exec, hyprpicker -a
|
||||
bindd = SUPER, PRINT, Color picker, exec, hyprpicker -a
|
||||
|
@ -69,12 +69,6 @@ animations {
|
||||
animation = workspaces, 0, 0, ease
|
||||
}
|
||||
|
||||
# Application-sepcific animation
|
||||
layerrule = noanim,walker
|
||||
|
||||
# Remove 1px border around hyprshot screenshots
|
||||
layerrule = noanim, selection
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
|
@ -1,34 +1,11 @@
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
|
||||
# Force chromium into a tile to deal with --app bug
|
||||
windowrule = tile, class:^(Chromium)$
|
||||
|
||||
# Float and center settings and previews
|
||||
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$
|
||||
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy|About)$
|
||||
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$
|
||||
windowrule = size 600 470, class:Omarchy
|
||||
windowrule = size 700 470 class:About
|
||||
|
||||
# Float and center file pickers
|
||||
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
|
||||
# Float Steam, fullscreen RetroArch
|
||||
windowrule = float, class:steam
|
||||
windowrule = center, class:steam, title:Steam
|
||||
windowrule = fullscreen, class:^(com.libretro.RetroArch)$
|
||||
|
||||
# Fullscreen screensaver
|
||||
windowrule = fullscreen, class:Screensaver
|
||||
|
||||
# Just dash of opacity
|
||||
# Just dash of opacity by default
|
||||
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|org.gnome.NautilusPreviewer)$
|
||||
windowrule = opacity 1 1, class:^(com.libretro.RetroArch|steam)$
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
# App-specific tweaks
|
||||
source = ~/.local/share/omarchy/default/hypr/apps.conf
|
||||
|
@ -28,6 +28,7 @@ show_subtext() {
|
||||
# Install prerequisites
|
||||
source $OMARCHY_INSTALL/preflight/aur.sh
|
||||
source $OMARCHY_INSTALL/preflight/presentation.sh
|
||||
source $OMARCHY_INSTALL/preflight/migrations.sh
|
||||
|
||||
# Configuration
|
||||
show_logo beams 240
|
||||
|
@ -12,5 +12,4 @@ if [ -z "$OMARCHY_BARE" ]; then
|
||||
web2app "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png
|
||||
web2app "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png
|
||||
web2app "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png
|
||||
web2app "Omarchy Manual" https://manuals.omamix.org/2/the-omarchy-manual https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/arch-linux.png
|
||||
fi
|
||||
|
@ -3,7 +3,7 @@
|
||||
yay -S --noconfirm --needed \
|
||||
brightnessctl playerctl pamixer wiremix wireplumber \
|
||||
fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \
|
||||
nautilus sushi ffmpegthumbnailer \
|
||||
nautilus sushi ffmpegthumbnailer gvfs-mtp \
|
||||
slurp satty \
|
||||
mpv evince imv \
|
||||
chromium
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
yay -S --noconfirm --needed \
|
||||
hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \
|
||||
hyprland hyprshot hyprpicker hyprlock hypridle hyprsunset polkit-gnome hyprland-qtutils \
|
||||
walker-bin libqalculate waybar mako swaybg swayosd \
|
||||
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk
|
||||
|
@ -1,4 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo pacman -S --noconfirm cups cups-pdf cups-filters system-config-printer
|
||||
sudo pacman -S --noconfirm cups cups-pdf cups-filters cups-browsed system-config-printer avahi nss-mdns
|
||||
sudo systemctl enable --now cups.service
|
||||
|
||||
# Disable multicast dns in resolved. Avahi will provide this for better network printer discovery
|
||||
sudo mkdir -p /etc/systemd/resolved.conf.d
|
||||
echo "[Resolve]\nMulticastDNS=no" | sudo tee /etc/systemd/resolved.conf.d/10-disable-multicast.conf
|
||||
sudo systemctl enable --now avahi-daemon.service
|
||||
|
||||
# Enable automatically adding remote printers
|
||||
if ! grep -q '^CreateRemotePrinters Yes' /etc/cups/cups-browsed.conf; then
|
||||
echo 'CreateRemotePrinters Yes' | sudo tee -a /etc/cups/cups-browsed.conf
|
||||
fi
|
||||
|
||||
sudo systemctl enable --now cups-browsed.service
|
||||
|
8
install/preflight/migrations.sh
Normal file
8
install/preflight/migrations.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
omarchy_migrations_state_path=~/.local/state/omarchy/migrations
|
||||
mkdir -p $omarchy_migrations_state_path
|
||||
|
||||
for file in ~/.local/share/omarchy/migrations/*.sh; do
|
||||
touch "$omarchy_migrations_state_path/$(basename "$file")"
|
||||
done
|
6
migrations/1754109724.sh
Normal file
6
migrations/1754109724.sh
Normal file
@ -0,0 +1,6 @@
|
||||
echo "Add hyprsunset blue light filter"
|
||||
if ! command -v hyprsunset &>/dev/null; then
|
||||
yay -S --noconfirm --needed hyprsunset
|
||||
fi
|
||||
|
||||
omarchy-refresh-hyprsunset
|
4
migrations/1754208139.sh
Normal file
4
migrations/1754208139.sh
Normal file
@ -0,0 +1,4 @@
|
||||
echo "Ensure screensaver doesn't start while the computer is locked"
|
||||
if ! grep -q "pidof hyprlock || omarchy-launch-screensaver" ~/.config/hypr/hypridle.conf; then
|
||||
omarchy-refresh-hypridle
|
||||
fi
|
5
migrations/1754215439.sh
Normal file
5
migrations/1754215439.sh
Normal file
@ -0,0 +1,5 @@
|
||||
echo "Update app launcher config to allow enough entries to show all keybindings on SUPER+K"
|
||||
|
||||
if ! grep "max_entries = 200" ~/.config/walker/config.toml; then
|
||||
omarchy-refresh-walker
|
||||
fi
|
17
migrations/1754215533.sh
Normal file
17
migrations/1754215533.sh
Normal file
@ -0,0 +1,17 @@
|
||||
echo "Enable auto-discovery of network printers"
|
||||
|
||||
if [[ ! -f /etc/systemd/resolved.conf.d/10-disable-multicast.conf ]]; then
|
||||
sudo pacman -S --noconfirm avahi nss-mdns
|
||||
|
||||
# Disable multicast dns in resolved. Avahi will provide this for better network printer discovery
|
||||
sudo mkdir -p /etc/systemd/resolved.conf.d
|
||||
echo "[Resolve]\nMulticastDNS=no" | sudo tee /etc/systemd/resolved.conf.d/10-disable-multicast.conf
|
||||
sudo systemctl enable --now avahi-daemon.service
|
||||
fi
|
||||
|
||||
if ! grep -q '^CreateRemotePrinters Yes' /etc/cups/cups-browsed.conf; then
|
||||
sudo pacman -S --noconfirm cups-browsed
|
||||
# Enable automatically adding remote printers
|
||||
echo 'CreateRemotePrinters Yes' | sudo tee -a /etc/cups/cups-browsed.conf
|
||||
sudo systemctl enable --now cups-browsed.service
|
||||
fi
|
2
migrations/1754221967.sh
Normal file
2
migrations/1754221967.sh
Normal file
@ -0,0 +1,2 @@
|
||||
echo "Add support for accessing Android phone data via file manager"
|
||||
yay -S --noconfirm --needed gvfs-mtp
|
5
migrations/1754228071.sh
Normal file
5
migrations/1754228071.sh
Normal file
@ -0,0 +1,5 @@
|
||||
echo "Add auto-update icon to waybar when update available"
|
||||
|
||||
if ! grep -q "custom/update" ~/.config/waybar/config.jsonc; then
|
||||
omarchy-refresh-waybar
|
||||
fi
|
2
migrations/1754228679.sh
Normal file
2
migrations/1754228679.sh
Normal file
@ -0,0 +1,2 @@
|
||||
echo "Increase time before screensaver starts to 2.5 minutes (from 1 minute)"
|
||||
omarchy-refresh-hypridle
|
Reference in New Issue
Block a user