mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
188 Commits
optional-h
...
full-preem
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a881b7c45f | ||
|
|
70d15921b9 | ||
|
|
283a41c494 | ||
|
|
3d10b38054 | ||
|
|
d33e947b99 | ||
|
|
79d48b4d8a | ||
|
|
4d3c02c69d | ||
|
|
e96bd085a5 | ||
|
|
64e581e5aa | ||
|
|
694c83f518 | ||
|
|
49308eb12a | ||
|
|
26d37ca2e0 | ||
|
|
c92362937a | ||
|
|
7a0fa07454 | ||
|
|
917279bff7 | ||
|
|
8350b84eee | ||
|
|
d9acd35ef4 | ||
|
|
044e826bb7 | ||
|
|
57e726f0c5 | ||
|
|
06fc4db4db | ||
|
|
15b5ee92d7 | ||
|
|
f6aa97350e | ||
|
|
5192c9b687 | ||
|
|
e263b5d00a | ||
|
|
26821c9b34 | ||
|
|
7cd5661f89 | ||
|
|
6cdf4a3790 | ||
|
|
c92a7eab81 | ||
|
|
8aa2d295e5 | ||
|
|
5fb29c199a | ||
|
|
962aca303d | ||
|
|
870356ecc3 | ||
|
|
cb03d7d84b | ||
|
|
7a0bdaafa4 | ||
|
|
638e35fcac | ||
|
|
904d253b4d | ||
|
|
a40ff463c9 | ||
|
|
8e210088c1 | ||
|
|
bf26366be4 | ||
|
|
4391df6853 | ||
|
|
2498216a4f | ||
|
|
33dde26902 | ||
|
|
b1b6e5d2a7 | ||
|
|
fc8e4c0400 | ||
|
|
f9557177dc | ||
|
|
3065ca9f2a | ||
|
|
ba5343ca11 | ||
|
|
7f9ee95e1a | ||
|
|
e369d68fe1 | ||
|
|
661abc89a6 | ||
|
|
28ba448020 | ||
|
|
4b15fe9a52 | ||
|
|
886a9f6f2c | ||
|
|
54795a2f55 | ||
|
|
d528393df6 | ||
|
|
4c97a31c98 | ||
|
|
66b5f7eab8 | ||
|
|
9e971e3e56 | ||
|
|
ae10133b5e | ||
|
|
0f64a11f4e | ||
|
|
b738c77acf | ||
|
|
f76ba69f70 | ||
|
|
bfeb3a1e65 | ||
|
|
3c89acadc1 | ||
|
|
58ecda3b80 | ||
|
|
dd3b64ef7f | ||
|
|
fc0983624e | ||
|
|
fb3271f3af | ||
|
|
3344f33104 | ||
|
|
407d283cb7 | ||
|
|
ac8073fc81 | ||
|
|
7770f49c1a | ||
|
|
9490e714c3 | ||
|
|
d3a54dc32e | ||
|
|
d7cd1950ce | ||
|
|
e58569b947 | ||
|
|
6243c82251 | ||
|
|
928910773c | ||
|
|
a48001b8cc | ||
|
|
c17e4f57ff | ||
|
|
62cdece33a | ||
|
|
45d4b41749 | ||
|
|
d64a178635 | ||
|
|
d493e0536a | ||
|
|
0e5c22ac38 | ||
|
|
d5a8f1b06b | ||
|
|
f3c816fe85 | ||
|
|
ba348a6a15 | ||
|
|
ef0a9464a2 | ||
|
|
d9a077d5b6 | ||
|
|
b75e70fb9b | ||
|
|
4bb626bc4e | ||
|
|
b3e7ff2b60 | ||
|
|
4bd29207c6 | ||
|
|
a39ecf41bc | ||
|
|
048fdea87a | ||
|
|
d8f97b8d02 | ||
|
|
556e474942 | ||
|
|
9d9f362c7a | ||
|
|
1060a54c1a | ||
|
|
06389d0422 | ||
|
|
e0e71a34fe | ||
|
|
d128833e7b | ||
|
|
bba2ade78f | ||
|
|
e4f2cc2175 | ||
|
|
e0f9beda7a | ||
|
|
79267da5f2 | ||
|
|
cc5c842f9f | ||
|
|
9b37d8549f | ||
|
|
75eb059779 | ||
|
|
7a7881b176 | ||
|
|
2586cec7a0 | ||
|
|
fc30a25842 | ||
|
|
1d29406910 | ||
|
|
249318b398 | ||
|
|
9b798c3c0f | ||
|
|
14f803857c | ||
|
|
b92beef294 | ||
|
|
6fce5e28c9 | ||
|
|
7b02895962 | ||
|
|
9a90afb6e8 | ||
|
|
37518c222c | ||
|
|
6f0958aa67 | ||
|
|
475e831391 | ||
|
|
69c2195c10 | ||
|
|
795bfdd969 | ||
|
|
eac7ea8a49 | ||
|
|
de2b32d77f | ||
|
|
63d4482e8c | ||
|
|
efdea50053 | ||
|
|
15c22d5e75 | ||
|
|
1776981ebf | ||
|
|
cff15363c9 | ||
|
|
d2efdcede4 | ||
|
|
be24e38ea2 | ||
|
|
717a015537 | ||
|
|
a37495e3d1 | ||
|
|
7882893a23 | ||
|
|
7437c73113 | ||
|
|
413d292f2a | ||
|
|
50e68f466e | ||
|
|
d106cd9284 | ||
|
|
62b6802641 | ||
|
|
4f2f7b41e7 | ||
|
|
74473f5650 | ||
|
|
b6eb76d3ea | ||
|
|
ba2018087c | ||
|
|
9f00d5a3a0 | ||
|
|
260d586343 | ||
|
|
027825cbad | ||
|
|
d29e5777e0 | ||
|
|
5d756de561 | ||
|
|
6529472cad | ||
|
|
2310569eae | ||
|
|
70f69c7fc6 | ||
|
|
c7f851cc57 | ||
|
|
56f1c82b7d | ||
|
|
83beedabab | ||
|
|
76209ee33e | ||
|
|
7c7d472e39 | ||
|
|
9b4a42cc03 | ||
|
|
385020cbb0 | ||
|
|
6fbb3d4464 | ||
|
|
5171475836 | ||
|
|
9ddcfbe466 | ||
|
|
9d7c9e7344 | ||
|
|
101c29f3b1 | ||
|
|
c84d98a80b | ||
|
|
88011f5d11 | ||
|
|
832ca69ba2 | ||
|
|
786ae66154 | ||
|
|
7dca096807 | ||
|
|
2fa7d64d77 | ||
|
|
83d4349ea1 | ||
|
|
bddccf30cb | ||
|
|
910c23f539 | ||
|
|
33baf59cef | ||
|
|
e9c40445dd | ||
|
|
e2b56720ac | ||
|
|
54bcc68490 | ||
|
|
c3b86c602e | ||
|
|
61e0fa27e2 | ||
|
|
ea985fd471 | ||
|
|
dfa689f4ea | ||
|
|
530577e8fe | ||
|
|
1388a2558a | ||
|
|
38f5a00ad6 | ||
|
|
8b896b60a9 |
3
.github/ISSUE_TEMPLATE/bug.yml
vendored
3
.github/ISSUE_TEMPLATE/bug.yml
vendored
@@ -1,5 +1,5 @@
|
|||||||
name: Bug
|
name: Bug
|
||||||
description: Report a problem
|
description: Report a validated bug -- NOT FOR SUPPORT REQUESTS
|
||||||
labels: [bug]
|
labels: [bug]
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
@@ -19,5 +19,6 @@ body:
|
|||||||
id: steps
|
id: steps
|
||||||
attributes:
|
attributes:
|
||||||
label: What's wrong?
|
label: What's wrong?
|
||||||
|
description: Describe the issue, include steps to recreate it if possible, and attach the output of `omarchy-debug` if possible
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
7
.github/ISSUE_TEMPLATE/config.yml
vendored
7
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1 +1,8 @@
|
|||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Suggestion
|
||||||
|
url: https://github.com/basecamp/omarchy/discussions/categories/suggestions
|
||||||
|
about: Suggest a new feature, change to existing feature, or other ideas in Discussions.
|
||||||
|
- name: Support
|
||||||
|
url: https://omarchy.org/discord
|
||||||
|
about: Need help? Join our Discord community for support with any issues. GitHub issues should be used for verified bugs only.
|
||||||
|
|||||||
15
.github/ISSUE_TEMPLATE/documentation.yml
vendored
15
.github/ISSUE_TEMPLATE/documentation.yml
vendored
@@ -1,15 +0,0 @@
|
|||||||
name: Documentation
|
|
||||||
description: New pages or changes to existing
|
|
||||||
labels: [documentation]
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
Remember: Omarchy is an open source gift, not a product you bought from a vendor
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: steps
|
|
||||||
attributes:
|
|
||||||
label: What correction or addition do we need?
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
15
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
15
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
@@ -1,15 +0,0 @@
|
|||||||
name: Enhancement
|
|
||||||
description: Feature or change
|
|
||||||
labels: [enhancement]
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
Remember: Omarchy is an open source gift, not a product you bought from a vendor
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: steps
|
|
||||||
attributes:
|
|
||||||
label: What do you need?
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
# Omarchy
|
# Omarchy
|
||||||
|
|
||||||
Turn a fresh Arch installation into a fully-configured, beautiful, and modern web development system based on Hyprland by running a single command. That's the one-line pitch for Omarchy (like it was for Omakub). No need to write bespoke configs for every essential tool just to get started or to be up on all the latest command-line tools. Omarchy is an opinionated take on what Linux can be at its best.
|
Omarchy is a beautiful, modern & opinionated Linux distribution by DHH.
|
||||||
|
|
||||||
Read more at [omarchy.org](https://omarchy.org).
|
Read more at [omarchy.org](https://omarchy.org).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Omarchy is released under the [MIT License](https://opensource.org/licenses/MIT).
|
Omarchy is released under the [MIT License](https://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
|
|||||||
21
applications/Alacritty.desktop
Normal file
21
applications/Alacritty.desktop
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
TryExec=alacritty
|
||||||
|
Exec=alacritty
|
||||||
|
Icon=Alacritty
|
||||||
|
Terminal=false
|
||||||
|
Categories=System;TerminalEmulator;
|
||||||
|
Name=Alacritty
|
||||||
|
GenericName=Terminal
|
||||||
|
Comment=A fast, cross-platform, OpenGL terminal emulator
|
||||||
|
StartupNotify=true
|
||||||
|
StartupWMClass=Alacritty
|
||||||
|
Actions=New;
|
||||||
|
X-TerminalArgExec=-e
|
||||||
|
X-TerminalArgAppId=--class=
|
||||||
|
X-TerminalArgTitle=--title=
|
||||||
|
X-TerminalArgDir=--working-directory=
|
||||||
|
|
||||||
|
[Desktop Action New]
|
||||||
|
Name=New Terminal
|
||||||
|
Exec=alacritty
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Neovim
|
|
||||||
GenericName=Text Editor
|
|
||||||
Comment=Edit text files
|
|
||||||
Exec=omarchy-launch-editor %F
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Keywords=Text;editor;
|
|
||||||
Icon=nvim
|
|
||||||
Categories=Utility;TextEditor;
|
|
||||||
StartupNotify=false
|
|
||||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
|
||||||
@@ -4,33 +4,20 @@
|
|||||||
|
|
||||||
BATTERY_THRESHOLD=10
|
BATTERY_THRESHOLD=10
|
||||||
NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified"
|
NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified"
|
||||||
|
BATTERY_LEVEL=$(omarchy-battery-remaining)
|
||||||
get_battery_percentage() {
|
BATTERY_STATE=$(upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}')
|
||||||
upower -i "$(upower -e | grep 'BAT')" \
|
|
||||||
| awk -F: '/percentage/ {
|
|
||||||
gsub(/[%[:space:]]/, "", $2);
|
|
||||||
val=$2;
|
|
||||||
printf("%d\n", (val+0.5))
|
|
||||||
exit
|
|
||||||
}'
|
|
||||||
}
|
|
||||||
|
|
||||||
get_battery_state() {
|
|
||||||
upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
send_notification() {
|
send_notification() {
|
||||||
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
notify-send -u critical " Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
|
||||||
}
|
}
|
||||||
|
|
||||||
BATTERY_LEVEL=$(get_battery_percentage)
|
if [[ -n "$BATTERY_LEVEL" && "$BATTERY_LEVEL" =~ ^[0-9]+$ ]]; then
|
||||||
BATTERY_STATE=$(get_battery_state)
|
if [[ $BATTERY_STATE == "discharging" && $BATTERY_LEVEL -le $BATTERY_THRESHOLD ]]; then
|
||||||
|
if [[ ! -f $NOTIFICATION_FLAG ]]; then
|
||||||
if [[ "$BATTERY_STATE" == "discharging" && "$BATTERY_LEVEL" -le "$BATTERY_THRESHOLD" ]]; then
|
send_notification $BATTERY_LEVEL
|
||||||
if [[ ! -f "$NOTIFICATION_FLAG" ]]; then
|
touch $NOTIFICATION_FLAG
|
||||||
send_notification "$BATTERY_LEVEL"
|
|
||||||
touch "$NOTIFICATION_FLAG"
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
rm -f "$NOTIFICATION_FLAG"
|
rm -f $NOTIFICATION_FLAG
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
11
bin/omarchy-battery-remaining
Executable file
11
bin/omarchy-battery-remaining
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Returns the battery percentage remaining as an integer.
|
||||||
|
|
||||||
|
upower -i $(upower -e | grep BAT) \
|
||||||
|
| awk -F: '/percentage/ {
|
||||||
|
gsub(/[%[:space:]]/, "", $2);
|
||||||
|
val=$2;
|
||||||
|
printf("%d\n", (val+0.5))
|
||||||
|
exit
|
||||||
|
}'
|
||||||
@@ -14,6 +14,6 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then
|
|||||||
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
||||||
sudo rm -f /etc/sudoers.d/first-run
|
sudo rm -f /etc/sudoers.d/first-run
|
||||||
|
|
||||||
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
|
|
||||||
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
|
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
|
||||||
|
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ start_screenrecording() {
|
|||||||
# Merge audio tracks into one - separate tracks only play one at a time in most players
|
# Merge audio tracks into one - separate tracks only play one at a time in most players
|
||||||
[[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input"
|
[[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input"
|
||||||
|
|
||||||
gpu-screen-recorder -w "$@" -f 60 -c mp4 -o "$filename" $audio_args &
|
gpu-screen-recorder -w "$@" -f 60 -c mp4 $audio_args -ac aac -o "$filename" &
|
||||||
toggle_screenrecording_indicator
|
toggle_screenrecording_indicator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ hyprctl keyword cursor:invisible true &>/dev/null
|
|||||||
while true; do
|
while true; do
|
||||||
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
|
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
|
||||||
tte -i ~/.config/omarchy/branding/screensaver.txt \
|
tte -i ~/.config/omarchy/branding/screensaver.txt \
|
||||||
--frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 2)) --anchor-canvas c --anchor-text c \
|
--frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c --no-eol \
|
||||||
"$effect" &
|
"$effect" &
|
||||||
|
|
||||||
while pgrep -x tte >/dev/null; do
|
while pgrep -x tte >/dev/null; do
|
||||||
|
|||||||
61
bin/omarchy-debug
Executable file
61
bin/omarchy-debug
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
LOG_FILE="/tmp/omarchy-debug.log"
|
||||||
|
|
||||||
|
cat > "$LOG_FILE" <<EOF
|
||||||
|
Date: $(date)
|
||||||
|
Hostname: $(hostname)
|
||||||
|
Omarchy Branch: $(git -C "$OMARCHY_PATH" branch --show-current 2>/dev/null || echo "unknown")
|
||||||
|
|
||||||
|
=========================================
|
||||||
|
SYSTEM INFORMATION
|
||||||
|
=========================================
|
||||||
|
$(inxi -Farz)
|
||||||
|
|
||||||
|
=========================================
|
||||||
|
DMESG
|
||||||
|
=========================================
|
||||||
|
$(sudo dmesg)
|
||||||
|
|
||||||
|
=========================================
|
||||||
|
JOURNALCTL (CURRENT BOOT, ERRORS ONLY)
|
||||||
|
=========================================
|
||||||
|
$(journalctl -b -p 4..1)
|
||||||
|
|
||||||
|
=========================================
|
||||||
|
INSTALLED PACKAGES
|
||||||
|
=========================================
|
||||||
|
$({ expac -S '%n %v (%r)' $(pacman -Qqe) 2>/dev/null; comm -13 <(pacman -Sql | sort) <(pacman -Qqe | sort) | xargs -r expac -Q '%n %v (AUR)'; } | sort)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
OPTIONS=("View log" "Save in current directory")
|
||||||
|
if ping -c 1 8.8.8.8 >/dev/null 2>&1; then
|
||||||
|
OPTIONS=("Upload log" "${OPTIONS[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
ACTION=$(gum choose "${OPTIONS[@]}")
|
||||||
|
|
||||||
|
case "$ACTION" in
|
||||||
|
"Upload log")
|
||||||
|
echo "Uploading debug log to 0x0.st..."
|
||||||
|
URL=$(curl -sF "file=@$LOG_FILE" -Fexpires=24 https://0x0.st)
|
||||||
|
if [ $? -eq 0 ] && [ -n "$URL" ]; then
|
||||||
|
echo "✓ Log uploaded successfully!"
|
||||||
|
echo "Share this URL:"
|
||||||
|
echo ""
|
||||||
|
echo " $URL"
|
||||||
|
echo ""
|
||||||
|
echo "This link will expire in 24 hours."
|
||||||
|
else
|
||||||
|
echo "Error: Failed to upload log file"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"View log")
|
||||||
|
less "$LOG_FILE"
|
||||||
|
;;
|
||||||
|
"Save in current directory")
|
||||||
|
cp "$LOG_FILE" "./omarchy-debug.log"
|
||||||
|
echo "✓ Log saved to $(pwd)/omarchy-debug.log"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -29,6 +29,10 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
|
|||||||
omarchy-restart-swayosd
|
omarchy-restart-swayosd
|
||||||
omarchy-restart-walker
|
omarchy-restart-walker
|
||||||
|
|
||||||
|
if pgrep -x ghostty; then
|
||||||
|
notify-send " You must restart Ghostty to see font change"
|
||||||
|
fi
|
||||||
|
|
||||||
omarchy-hook font-set "$font_name"
|
omarchy-hook font-set "$font_name"
|
||||||
else
|
else
|
||||||
echo "Font '$font_name' not found."
|
echo "Font '$font_name' not found."
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
if [[ $# -lt 1 ]]; then
|
if [[ $# -lt 1 ]]; then
|
||||||
echo "Usage: omarchy-hook [name] [args...]"
|
echo "Usage: omarchy-hook [name] [args...]"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
22
bin/omarchy-hyprland-window-pop
Executable file
22
bin/omarchy-hyprland-window-pop
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Toggle to pop-out a tile to stay fixed on a display basis.
|
||||||
|
|
||||||
|
active=$(hyprctl activewindow -j)
|
||||||
|
pinned=$(echo "$active" | jq .pinned)
|
||||||
|
addr=$(echo "$active" | jq -r ".address")
|
||||||
|
[ -z "$addr" ] && { echo "No active window"; exit 0; }
|
||||||
|
|
||||||
|
if [ "$pinned" = "true" ]; then
|
||||||
|
hyprctl -q --batch \
|
||||||
|
"dispatch pin address:$addr;" \
|
||||||
|
"dispatch togglefloating address:$addr;" \
|
||||||
|
"dispatch tagwindow -pop address:$addr;"
|
||||||
|
else
|
||||||
|
hyprctl -q --batch \
|
||||||
|
"dispatch togglefloating address:$addr;" \
|
||||||
|
"dispatch centerwindow address:$addr;" \
|
||||||
|
"dispatch pin address:$addr;" \
|
||||||
|
"dispatch alterzorder top address:$addr;" \
|
||||||
|
"dispatch tagwindow +pop address:$addr;"
|
||||||
|
fi
|
||||||
10
bin/omarchy-hyprland-workspace-toggle-gaps
Executable file
10
bin/omarchy-hyprland-workspace-toggle-gaps
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
workspace_id=$(hyprctl activeworkspace -j | jq -r .id)
|
||||||
|
gaps=$(hyprctl workspacerules -j | jq -r ".[] | select(.workspaceString==\"$workspace_id\") | .gapsOut[0] // 0")
|
||||||
|
|
||||||
|
if [[ $gaps == "0" ]]; then
|
||||||
|
hyprctl keyword "workspace $workspace_id, gapsout:10, gapsin:5, bordersize:2"
|
||||||
|
else \
|
||||||
|
hyprctl keyword "workspace $workspace_id, gapsout:0, gapsin:0, bordersize:0"
|
||||||
|
fi
|
||||||
@@ -7,15 +7,41 @@ fi
|
|||||||
|
|
||||||
package="$1"
|
package="$1"
|
||||||
|
|
||||||
|
# Map package name to desktop entry ID
|
||||||
|
case "$package" in
|
||||||
|
alacritty)
|
||||||
|
desktop_id="Alacritty.desktop"
|
||||||
|
;;
|
||||||
|
ghostty)
|
||||||
|
desktop_id="com.mitchellh.ghostty.desktop"
|
||||||
|
;;
|
||||||
|
kitty)
|
||||||
|
desktop_id="kitty.desktop"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown terminal: $package"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Install package
|
# Install package
|
||||||
if omarchy-pkg-add $package; then
|
if omarchy-pkg-add $package; then
|
||||||
# Set as default terminal
|
# Set as default terminal
|
||||||
echo "Setting $package as new default terminal..."
|
echo "Setting $package as new default terminal..."
|
||||||
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
||||||
|
|
||||||
# Restart is needed for new default to take effect
|
# Copy custom desktop entry for alacritty with X-TerminalArg* keys
|
||||||
echo
|
if [ "$package" = "alacritty" ]; then
|
||||||
gum confirm "Restart to use new terminal?" && systemctl reboot --no-wall
|
mkdir -p ~/.local/share/applications
|
||||||
|
cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update xdg-terminals.list to prioritize the proper terminal
|
||||||
|
cat > ~/.config/xdg-terminals.list << EOF
|
||||||
|
# Terminal emulator preference order for xdg-terminal-exec
|
||||||
|
# The first found and valid terminal will be used
|
||||||
|
$desktop_id
|
||||||
|
EOF
|
||||||
else
|
else
|
||||||
echo "Failed to install $package"
|
echo "Failed to install $package"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -21,4 +21,7 @@ EOF
|
|||||||
# Ensure VSC's own auto-update feature is turned off
|
# Ensure VSC's own auto-update feature is turned off
|
||||||
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
|
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
|
||||||
|
|
||||||
|
# Apply Omarchy theme to VSCode
|
||||||
|
omarchy-theme-set-vscode
|
||||||
|
|
||||||
setsid gtk-launch code
|
setsid gtk-launch code
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec setsid uwsm-app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s'
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Omarchy -e bash -c 'fastfetch; read -n 1 -s'
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
case "${EDITOR:-nvim}" in
|
omarchy-cmd-present "$EDITOR" || EDITOR=nvim
|
||||||
|
|
||||||
|
case "$EDITOR" in
|
||||||
nvim | vim | nano | micro | hx | helix)
|
nvim | vim | nano | micro | hx | helix)
|
||||||
exec setsid uwsm-app -- "$TERMINAL" -e "$EDITOR" "$@"
|
exec setsid uwsm-app -- xdg-terminal-exec "$EDITOR" "$@"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
exec setsid uwsm-app -- "$EDITOR" "$@"
|
exec setsid uwsm-app -- "$EDITOR" "$@"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cmd="$*"
|
cmd="$*"
|
||||||
exec setsid uwsm-app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
browser=$(xdg-settings get default-web-browser)
|
browser=$(xdg-settings get default-web-browser)
|
||||||
|
|
||||||
case $browser in
|
case $browser in
|
||||||
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium-browser*) ;;
|
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium*) ;;
|
||||||
*) browser="chromium.desktop" ;;
|
*) browser="chromium.desktop" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec setsid uwsm-app -- "$TERMINAL" --class=Impala -e impala "$@"
|
exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala "$@"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
terminal() {
|
terminal() {
|
||||||
alacritty --class=Omarchy -e "$@"
|
xdg-terminal-exec --app-id=com.omarchy.Omarchy "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
present_terminal() {
|
present_terminal() {
|
||||||
@@ -178,7 +178,7 @@ show_setup_menu() {
|
|||||||
options="$options\n Defaults\n DNS\n Security\n Config"
|
options="$options\n Defaults\n DNS\n Security\n Config"
|
||||||
|
|
||||||
case $(menu "Setup" "$options") in
|
case $(menu "Setup" "$options") in
|
||||||
*Audio*) $TERMINAL --class=Wiremix -e wiremix ;;
|
*Audio*) xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix ;;
|
||||||
*Wifi*)
|
*Wifi*)
|
||||||
rfkill unblock wifi
|
rfkill unblock wifi
|
||||||
omarchy-launch-wifi
|
omarchy-launch-wifi
|
||||||
@@ -264,7 +264,7 @@ show_install_editor_menu() {
|
|||||||
*VSCode*) present_terminal omarchy-install-vscode ;;
|
*VSCode*) present_terminal omarchy-install-vscode ;;
|
||||||
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
|
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
|
||||||
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
|
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
|
||||||
*Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
|
*Sublime*) install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
|
||||||
*Helix*) install "Helix" "helix" ;;
|
*Helix*) install "Helix" "helix" ;;
|
||||||
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
|
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
@@ -287,11 +287,11 @@ show_install_ai_menu() {
|
|||||||
echo ollama
|
echo ollama
|
||||||
)
|
)
|
||||||
|
|
||||||
case $(menu "Install" " Claude Code\n Cursor CLI [AUR]\n Gemini [AUR]\n OpenAI Codex [AUR]\n LM Studio\n Ollama\n Crush\n opencode") in
|
case $(menu "Install" " Claude Code\n Cursor CLI\n Gemini\n OpenAI Codex\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||||
*Claude*) install "Claude Code" "claude-code" ;;
|
*Claude*) install "Claude Code" "claude-code" ;;
|
||||||
*Cursor*) aur_install "Cursor CLI" "cursor-cli" ;;
|
*Cursor*) install "Cursor CLI" "cursor-cli" ;;
|
||||||
*OpenAI*) aur_install "OpenAI Codex" "openai-codex-bin" ;;
|
*OpenAI*) install "OpenAI Codex" "openai-codex-bin" ;;
|
||||||
*Gemini*) aur_install "Gemini" "gemini-cli" ;;
|
*Gemini*) install "Gemini" "gemini-cli" ;;
|
||||||
*Studio*) install "LM Studio" "lmstudio" ;;
|
*Studio*) install "LM Studio" "lmstudio" ;;
|
||||||
*Ollama*) install "Ollama" $ollama_pkg ;;
|
*Ollama*) install "Ollama" $ollama_pkg ;;
|
||||||
*Crush*) install "Crush" "crush-bin" ;;
|
*Crush*) install "Crush" "crush-bin" ;;
|
||||||
@@ -304,7 +304,7 @@ show_install_gaming_menu() {
|
|||||||
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft") in
|
case $(menu "Install" " Steam\n RetroArch [AUR]\n Minecraft") in
|
||||||
*Steam*) present_terminal omarchy-install-steam ;;
|
*Steam*) present_terminal omarchy-install-steam ;;
|
||||||
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
|
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
|
||||||
*Minecraft*) aur_install_and_launch "Minecraft [AUR]" "minecraft-launcher" "minecraft-launcher" ;;
|
*Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -387,27 +387,20 @@ show_remove_menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_update_menu() {
|
show_update_menu() {
|
||||||
case $(menu "Update" " Omarchy\n Branch\n Config\n Extra Themes\n Process\n Hardware\n Firmware\n Password\n Timezone") in
|
case $(menu "Update" " Omarchy\n Config\n Extra Themes\n Process\n Hardware\n Firmware\n Password\n Timezone\n Time") in
|
||||||
*Omarchy*) present_terminal omarchy-update ;;
|
*Omarchy*) present_terminal omarchy-update ;;
|
||||||
*Branch*) show_update_branch_menu ;;
|
|
||||||
*Config*) show_update_config_menu ;;
|
*Config*) show_update_config_menu ;;
|
||||||
*Themes*) present_terminal omarchy-theme-update ;;
|
*Themes*) present_terminal omarchy-theme-update ;;
|
||||||
*Process*) show_update_process_menu ;;
|
*Process*) show_update_process_menu ;;
|
||||||
*Hardware*) show_update_hardware_menu ;;
|
*Hardware*) show_update_hardware_menu ;;
|
||||||
*Firmware*) present_terminal omarchy-update-firmware ;;
|
*Firmware*) present_terminal omarchy-update-firmware ;;
|
||||||
*Timezone*) present_terminal omarchy-tz-select ;;
|
*Timezone*) present_terminal omarchy-tz-select ;;
|
||||||
|
*Time*) present_terminal omarchy-update-time ;;
|
||||||
*Password*) show_update_password_menu ;;
|
*Password*) show_update_password_menu ;;
|
||||||
*) show_main_menu ;;
|
*) show_main_menu ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
show_update_branch_menu() {
|
|
||||||
case $(menu "Branch" "master\ndev" "" "$(omarchy-version-branch)") in
|
|
||||||
*master*) present_terminal "omarchy-update-branch master" ;;
|
|
||||||
*dev*) present_terminal "omarchy-update-branch dev" ;;
|
|
||||||
*) show_update_menu ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
show_update_process_menu() {
|
show_update_process_menu() {
|
||||||
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n Walker\n Waybar") in
|
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n Walker\n Waybar") in
|
||||||
*Hypridle*) omarchy-restart-hypridle ;;
|
*Hypridle*) omarchy-restart-hypridle ;;
|
||||||
|
|||||||
@@ -49,6 +49,17 @@ parse_keycodes() {
|
|||||||
code="${BASH_REMATCH[1]}"
|
code="${BASH_REMATCH[1]}"
|
||||||
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
|
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
|
||||||
echo "${line/code:${code}/$symbol}"
|
echo "${line/code:${code}/$symbol}"
|
||||||
|
elif [[ "$line" =~ mouse:([0-9]+) ]]; then
|
||||||
|
code="${BASH_REMATCH[1]}"
|
||||||
|
|
||||||
|
case "$code" in
|
||||||
|
272) symbol="LEFT MOUSE BUTTON" ;;
|
||||||
|
273) symbol="RIGHT MOUSE BUTTON" ;;
|
||||||
|
274) symbol="MIDDLE MOUSE BUTTON" ;;
|
||||||
|
*) symbol="mouse:${code}" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "${line/mouse:${code}/$symbol}"
|
||||||
else
|
else
|
||||||
echo "$line"
|
echo "$line"
|
||||||
fi
|
fi
|
||||||
@@ -101,6 +112,11 @@ dynamic_bindings() {
|
|||||||
-e 's/^77,/SUPER SHIFT CTRL ALT,/'
|
-e 's/^77,/SUPER SHIFT CTRL ALT,/'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Hardcoded bindings, like the copy-url extension and such
|
||||||
|
static_bindings() {
|
||||||
|
echo "SHIFT ALT,L,Copy URL from Web App,extension,copy-url"
|
||||||
|
}
|
||||||
|
|
||||||
# Parse and format keybindings
|
# Parse and format keybindings
|
||||||
#
|
#
|
||||||
# `awk` does the heavy lifting:
|
# `awk` does the heavy lifting:
|
||||||
@@ -147,13 +163,67 @@ parse_bindings() {
|
|||||||
}'
|
}'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prioritize_entries() {
|
||||||
|
awk '
|
||||||
|
{
|
||||||
|
line = $0
|
||||||
|
prio = 50
|
||||||
|
if (match(line, /Terminal/)) prio = 0
|
||||||
|
if (match(line, /Browser/) && !match(line, /Browser[[:space:]]*\(/)) prio = 1
|
||||||
|
if (match(line, /File manager/)) prio = 2
|
||||||
|
if (match(line, /Launch apps/)) prio = 3
|
||||||
|
if (match(line, /Omarchy menu/)) prio = 4
|
||||||
|
if (match(line, /System menu/)) prio = 5
|
||||||
|
if (match(line, /Theme menu/)) prio = 6
|
||||||
|
if (match(line, /Full screen/)) prio = 7
|
||||||
|
if (match(line, /Close window/)) prio = 8
|
||||||
|
if (match(line, /Toggle window floating/)) prio = 9
|
||||||
|
if (match(line, /Toggle window split/)) prio = 10
|
||||||
|
if (match(line, /Universal/)) prio = 11
|
||||||
|
if (match(line, /Clipboard/)) prio = 12
|
||||||
|
if (match(line, /Emoji picker/)) prio = 13
|
||||||
|
if (match(line, /Color picker/)) prio = 14
|
||||||
|
if (match(line, /Screenshot/)) prio = 15
|
||||||
|
if (match(line, /Screenrecording/)) prio = 16
|
||||||
|
if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 17
|
||||||
|
if (match(line, /Move window to workspace/)) prio = 18
|
||||||
|
if (match(line, /Swap window/)) prio = 19
|
||||||
|
if (match(line, /Move window focus/)) prio = 20
|
||||||
|
if (match(line, /Move window$/)) prio = 21
|
||||||
|
if (match(line, /Resize window/)) prio = 22
|
||||||
|
if (match(line, /Expand window/)) prio = 23
|
||||||
|
if (match(line, /Shrink window/)) prio = 24
|
||||||
|
if (match(line, /scratchpad/)) prio = 25
|
||||||
|
if (match(line, /notification/)) prio = 26
|
||||||
|
if (match(line, /Toggle window transparency/)) prio = 27
|
||||||
|
if (match(line, /Toggle workspace gaps/)) prio = 28
|
||||||
|
if (match(line, /Toggle nightlight/)) prio = 29
|
||||||
|
if (match(line, /group/)) prio = 94
|
||||||
|
if (match(line, /Scroll active workspace/)) prio = 95
|
||||||
|
if (match(line, /Cycle to/)) prio = 96
|
||||||
|
if (match(line, /Reveal active/)) prio = 97
|
||||||
|
if (match(line, /Apple Display/)) prio = 98
|
||||||
|
if (match(line, /XF86/)) prio = 99
|
||||||
|
|
||||||
|
# print "priority<TAB>line"
|
||||||
|
printf "%d\t%s\n", prio, line
|
||||||
|
}' |
|
||||||
|
sort -k1,1n -k2,2 |
|
||||||
|
cut -f2-
|
||||||
|
}
|
||||||
|
|
||||||
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
||||||
menu_height=$((monitor_height * 40 / 100))
|
menu_height=$((monitor_height * 40 / 100))
|
||||||
|
|
||||||
build_keymap_cache
|
build_keymap_cache
|
||||||
|
|
||||||
dynamic_bindings |
|
{
|
||||||
|
dynamic_bindings
|
||||||
|
static_bindings
|
||||||
|
} |
|
||||||
sort -u |
|
sort -u |
|
||||||
parse_keycodes |
|
parse_keycodes |
|
||||||
parse_bindings |
|
parse_bindings |
|
||||||
|
prioritize_entries |
|
||||||
walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height"
|
walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height"
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
omarchy-refresh-config hypr/autostart.conf
|
omarchy-refresh-config hypr/autostart.conf
|
||||||
omarchy-refresh-config hypr/bindings.conf
|
omarchy-refresh-config hypr/bindings.conf
|
||||||
omarchy-refresh-config hypr/envs.conf
|
|
||||||
omarchy-refresh-config hypr/input.conf
|
omarchy-refresh-config hypr/input.conf
|
||||||
|
omarchy-refresh-config hypr/looknfeel.conf
|
||||||
omarchy-refresh-config hypr/hyprland.conf
|
omarchy-refresh-config hypr/hyprland.conf
|
||||||
|
|||||||
34
bin/omarchy-refresh-limine
Executable file
34
bin/omarchy-refresh-limine
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ -f /boot/EFI/linux/omarchy_linux.efi ]] && [[ -f /boot/EFI/linux/$(cat /etc/machine-id)_linux.efi ]]; then
|
||||||
|
echo "Cleanup extra UKI"
|
||||||
|
sudo rm -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi
|
||||||
|
fi
|
||||||
|
echo "Resetting limine config"
|
||||||
|
|
||||||
|
sudo mv /boot/limine.conf /boot/limine.conf.bak
|
||||||
|
|
||||||
|
sudo tee /boot/limine.conf <<EOF >/dev/null
|
||||||
|
### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md
|
||||||
|
#timeout: 3
|
||||||
|
default_entry: 2
|
||||||
|
interface_branding: Omarchy Bootloader
|
||||||
|
interface_branding_color: 2
|
||||||
|
hash_mismatch_panic: no
|
||||||
|
|
||||||
|
term_background: 1a1b26
|
||||||
|
backdrop: 1a1b26
|
||||||
|
|
||||||
|
# Terminal colors (Tokyo Night palette)
|
||||||
|
term_palette: 15161e;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;a9b1d6
|
||||||
|
term_palette_bright: 414868;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;c0caf5
|
||||||
|
|
||||||
|
# Text colors
|
||||||
|
term_foreground: c0caf5
|
||||||
|
term_foreground_bright: c0caf5
|
||||||
|
term_background_bright: 24283b
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo limine-update
|
||||||
|
sudo limine-snapper-sync
|
||||||
33
bin/omarchy-reinstall
Executable file
33
bin/omarchy-reinstall
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$EUID" -eq 0 ]; then
|
||||||
|
echo "Error: This script should not be run as root"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "This will reinstall all the default Omarchy packages and reset all default configs.\nWarning: All changes to configs will be lost.\n"
|
||||||
|
|
||||||
|
if gum confirm "Are you sure you want to reinstall and lose all config changes?"; then
|
||||||
|
echo "Resetting Omarchy repository"
|
||||||
|
git clone "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null
|
||||||
|
rm -rf $OMARCHY_PATH
|
||||||
|
mv ~/.local/share/omarchy-new $OMARCHY_PATH
|
||||||
|
|
||||||
|
echo "Reinstalling missing Omarchy packages"
|
||||||
|
mapfile -t packages < <(grep -v '^#' "$OMARCHY_PATH/install/omarchy-base.packages" | grep -v '^$')
|
||||||
|
sudo pacman -Syu --noconfirm --needed "${packages[@]}"
|
||||||
|
|
||||||
|
echo "Resetting all Omarchy configs"
|
||||||
|
cp -R ~/.local/share/omarchy/config/* ~/.config/
|
||||||
|
cp ~/.local/share/omarchy/default/bashrc ~/.bashrc
|
||||||
|
echo '[[ -f ~/.bashrc ]] && . ~/.bashrc' | tee ~/.bash_profile >/dev/null
|
||||||
|
|
||||||
|
$(bash $OMARCHY_PATH/install/config/theme.sh)
|
||||||
|
$(bash $OMARCHY_PATH/install/config/git.sh)
|
||||||
|
|
||||||
|
omarchy-refresh-limine
|
||||||
|
omarchy-refresh-plymouth
|
||||||
|
omarchy-nvim-setup
|
||||||
|
fi
|
||||||
@@ -4,5 +4,10 @@ if [[ -f ~/.config/alacritty/alacritty.toml ]]; then
|
|||||||
touch ~/.config/alacritty/alacritty.toml
|
touch ~/.config/alacritty/alacritty.toml
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if pgrep -x kitty; then
|
||||||
killall -SIGUSR1 kitty
|
killall -SIGUSR1 kitty
|
||||||
|
fi
|
||||||
|
|
||||||
|
if pgrep -x ghostty; then
|
||||||
killall -SIGUSR2 ghostty
|
killall -SIGUSR2 ghostty
|
||||||
|
fi
|
||||||
@@ -17,5 +17,6 @@ if [[ $EUID -eq 0 ]]; then
|
|||||||
"
|
"
|
||||||
else
|
else
|
||||||
setsid uwsm-app -- elephant &
|
setsid uwsm-app -- elephant &
|
||||||
|
wait 2
|
||||||
setsid uwsm-app -- walker --gapplication-service &
|
setsid uwsm-app -- walker --gapplication-service &
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
COMMAND="$1"
|
COMMAND="$1"
|
||||||
OMARCHY_PATH=${OMARCHY_PATH:-$HOME/.local/share/omarchy}
|
OMARCHY_PATH=${OMARCHY_PATH:-$HOME/.local/share/omarchy}
|
||||||
|
|
||||||
|
|||||||
@@ -28,12 +28,12 @@ if pgrep -x waybar >/dev/null; then
|
|||||||
omarchy-restart-waybar
|
omarchy-restart-waybar
|
||||||
fi
|
fi
|
||||||
omarchy-restart-swayosd
|
omarchy-restart-swayosd
|
||||||
|
omarchy-restart-terminal
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
pkill -SIGUSR2 btop
|
pkill -SIGUSR2 btop
|
||||||
makoctl reload
|
makoctl reload
|
||||||
|
|
||||||
# Change gnome, browser, vscode, cursor themes
|
# Change gnome, browser, vscode, cursor themes
|
||||||
omarchy-theme-set-terminal
|
|
||||||
omarchy-theme-set-gnome
|
omarchy-theme-set-gnome
|
||||||
omarchy-theme-set-browser
|
omarchy-theme-set-browser
|
||||||
omarchy-theme-set-vscode
|
omarchy-theme-set-vscode
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# omarchy-theme-set-obsidian: Bootstrap and update Omarchy theme for Obsidian
|
# omarchy-theme-set-obsidian: Bootstrap and update Omarchy theme for Obsidian
|
||||||
#
|
#
|
||||||
# - Ensures registry at ~/.local/state/omarchy/obsidian-vaults
|
# - Ensures registry at ~/.local/state/omarchy/obsidian-vaults
|
||||||
# - If missing/empty, bootstraps by scanning ~/Documents/*/.obsidian and ~/Dropbox/*/.obsidian
|
# - Populates by extracting vault paths from ~/.config/obsidian/obsidian.json
|
||||||
# - For each valid vault:
|
# - For each valid vault:
|
||||||
# - Ensures .obsidian/themes/Omarchy/{manifest.json, theme.css}
|
# - Ensures .obsidian/themes/Omarchy/{manifest.json, theme.css}
|
||||||
# - Updates theme.css (uses current theme’s obsidian.css if present; otherwise generates -- see below)
|
# - Updates theme.css (uses current theme’s obsidian.css if present; otherwise generates -- see below)
|
||||||
@@ -26,30 +26,18 @@
|
|||||||
VAULTS_FILE="$HOME/.local/state/omarchy/obsidian-vaults"
|
VAULTS_FILE="$HOME/.local/state/omarchy/obsidian-vaults"
|
||||||
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
|
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
|
||||||
|
|
||||||
# Ensure the vaults registry exists, or bootstrap from known locations
|
|
||||||
ensure_vaults_file() {
|
ensure_vaults_file() {
|
||||||
mkdir -p "$(dirname "$VAULTS_FILE")"
|
mkdir -p "$(dirname "$VAULTS_FILE")"
|
||||||
# If file exists (even empty), do not scan; treat as authoritative
|
|
||||||
if [ -f "$VAULTS_FILE" ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
local tmpfile
|
local tmpfile
|
||||||
tmpfile="$(mktemp)"
|
tmpfile="$(mktemp)"
|
||||||
# Scan a couple of common locations for <base>/<vault>/.obsidian
|
# Extract the Obsidian vault location from config file <base>/<vault>/.obsidian
|
||||||
for base in "$HOME/Documents" "$HOME/Dropbox"; do
|
jq -r '.vaults | values[].path' ~/.config/obsidian/obsidian.json 2>/dev/null >>"$tmpfile"
|
||||||
[ -d "$base" ] || continue
|
|
||||||
for d in "$base"/*/.obsidian; do
|
|
||||||
[ -d "$d" ] || continue
|
|
||||||
vault_dir="${d%/.obsidian}"
|
|
||||||
printf "%s\n" "$vault_dir" >>"$tmpfile"
|
|
||||||
done
|
|
||||||
done
|
|
||||||
if [ -s "$tmpfile" ]; then
|
if [ -s "$tmpfile" ]; then
|
||||||
sort -u "$tmpfile" >"$VAULTS_FILE"
|
sort -u "$tmpfile" >"$VAULTS_FILE"
|
||||||
else
|
else
|
||||||
: >"$VAULTS_FILE"
|
: >"$VAULTS_FILE"
|
||||||
fi
|
fi
|
||||||
rm -f "$tmpfile"
|
rm "$tmpfile"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ensure theme directory and minimal manifest exist in a vault
|
# Ensure theme directory and minimal manifest exist in a vault
|
||||||
@@ -99,6 +87,35 @@ calculate_brightness() {
|
|||||||
echo $(((r * 299 + g * 587 + b * 114) / 1000))
|
echo $(((r * 299 + g * 587 + b * 114) / 1000))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Calculate approximate contrast ratio between two colors
|
||||||
|
# Returns ratio scaled by 100 (e.g., 450 = 4.5:1 ratio)
|
||||||
|
# (this is due to bash not supporting decimal math)
|
||||||
|
calculate_contrast_ratio() {
|
||||||
|
local hex1="$1" hex2="$2"
|
||||||
|
local br1=$(calculate_brightness "$hex1") # 0-255 range
|
||||||
|
local br2=$(calculate_brightness "$hex2") # 0-255 range
|
||||||
|
|
||||||
|
# Ensure br1 is the lighter color (higher brightness)
|
||||||
|
if [ $br1 -lt $br2 ]; then
|
||||||
|
local temp=$br1
|
||||||
|
br1=$br2
|
||||||
|
br2=$temp
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Approximate contrast ratio scaled by 100
|
||||||
|
# Add offset to avoid division by zero and approximate WCAG +0.05 behavior
|
||||||
|
echo $(((br1 + 13) * 100 / (br2 + 13)))
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if two colors meet minimum contrast threshold
|
||||||
|
# Usage: meets_contrast_threshold <ratio> <threshold>
|
||||||
|
# Both ratio and threshold should be scaled by 100 (e.g., 300 = 3:1)
|
||||||
|
meets_contrast_threshold() {
|
||||||
|
local ratio="$1" # Ratio scaled by 100 (from calculate_contrast_ratio)
|
||||||
|
local threshold="$2" # Threshold scaled by 100 (300=3:1, 450=4.5:1, 700=7:1)
|
||||||
|
[ $ratio -ge $threshold ]
|
||||||
|
}
|
||||||
|
|
||||||
# Calculate color distance (euclidean in RGB space)
|
# Calculate color distance (euclidean in RGB space)
|
||||||
color_distance() {
|
color_distance() {
|
||||||
local hex1="$1"
|
local hex1="$1"
|
||||||
@@ -241,20 +258,12 @@ extract_theme_data() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Sort by distance and get the closest color for code background
|
|
||||||
local -a closest_to_bg
|
|
||||||
readarray -t closest_to_bg < <(printf '%s\n' "${bg_distances[@]}" | sort -n | head -1 | cut -d: -f2)
|
|
||||||
|
|
||||||
# All background variations use the same as primary background
|
# All background variations use the same as primary background
|
||||||
local bg_primary_alt="$bg_color"
|
local bg_primary_alt="$bg_color"
|
||||||
local bg_secondary="$bg_color"
|
local bg_secondary="$bg_color"
|
||||||
local bg_secondary_alt="$bg_color"
|
local bg_secondary_alt="$bg_color"
|
||||||
|
|
||||||
# Code block background uses the closest different color
|
# Generate code background color that will contrast with foreground text
|
||||||
local code_bg="${closest_to_bg[0]}"
|
|
||||||
|
|
||||||
# If no different color available, create a subtle variant for code blocks
|
|
||||||
if [ -z "$code_bg" ]; then
|
|
||||||
read -r r g b <<<"$(hex_to_rgb "$bg_color")"
|
read -r r g b <<<"$(hex_to_rgb "$bg_color")"
|
||||||
if [ $bg_brightness -gt 127 ]; then
|
if [ $bg_brightness -gt 127 ]; then
|
||||||
r=$((r - 10))
|
r=$((r - 10))
|
||||||
@@ -272,7 +281,7 @@ extract_theme_data() {
|
|||||||
[ $b -lt 0 ] && b=0
|
[ $b -lt 0 ] && b=0
|
||||||
[ $b -gt 255 ] && b=255
|
[ $b -gt 255 ] && b=255
|
||||||
code_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
code_bg=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
||||||
fi
|
|
||||||
|
|
||||||
# Find closest color to foreground for code block text
|
# Find closest color to foreground for code block text
|
||||||
local code_fg=""
|
local code_fg=""
|
||||||
@@ -357,6 +366,22 @@ extract_theme_data() {
|
|||||||
border_color=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
border_color=$(printf "#%02x%02x%02x" "$r" "$g" "$b")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Set text colors for muted/faint based on contrast
|
||||||
|
local text_muted_color="$border_color"
|
||||||
|
local text_faint_color="$border_color"
|
||||||
|
|
||||||
|
# Validate border color contrast against background
|
||||||
|
|
||||||
|
# Represents a 3:1 WCAG contrast ratio
|
||||||
|
local ideal_contrast_ratio=300
|
||||||
|
|
||||||
|
local border_contrast=$(calculate_contrast_ratio "$border_color" "$bg_color")
|
||||||
|
if ! meets_contrast_threshold "$border_contrast" "$ideal_contrast_ratio"; then
|
||||||
|
# Override text colors for readability, keep border color for visibility
|
||||||
|
text_muted_color="$fg_color"
|
||||||
|
text_faint_color="$fg_color"
|
||||||
|
fi
|
||||||
|
|
||||||
# Get unique colors array (without bg/fg) sorted by frequency
|
# Get unique colors array (without bg/fg) sorted by frequency
|
||||||
local -a unique_colors
|
local -a unique_colors
|
||||||
readarray -t unique_colors < <(echo "$filtered_data" | sort_colors_by_frequency)
|
readarray -t unique_colors < <(echo "$filtered_data" | sort_colors_by_frequency)
|
||||||
@@ -421,8 +446,8 @@ extract_theme_data() {
|
|||||||
--text-mark: ${color_slots[7]};
|
--text-mark: ${color_slots[7]};
|
||||||
--interactive-accent: ${color_slots[8]};
|
--interactive-accent: ${color_slots[8]};
|
||||||
--blockquote-border: ${color_slots[9]};
|
--blockquote-border: ${color_slots[9]};
|
||||||
--text-muted: $border_color; /* Use border color for muted text */
|
--text-muted: $text_muted_color; /* Use text-specific color for muted text */
|
||||||
--text-faint: $border_color; /* Use border color for faint text */
|
--text-faint: $text_faint_color; /* Use text-specific color for faint text */
|
||||||
|
|
||||||
/* Additional mappings */
|
/* Additional mappings */
|
||||||
--text-accent: var(--interactive-accent);
|
--text-accent: var(--interactive-accent);
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
for dir in ~/.config/omarchy/themes/*/; do
|
for dir in ~/.config/omarchy/themes/*/; do
|
||||||
[ -d "$dir" ] && [ ! -L "${dir%/}" ] && echo "Updating: $(basename "$dir")" && git -C "$dir" pull
|
if [[ -d $dir ]] && [[ ! -L "${dir%/}" ]] && [[ -d "$dir/.git" ]]; then
|
||||||
|
echo "Updating: $(basename "$dir")"
|
||||||
|
git -C "$dir" pull
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ if [ "$#" -ne 4 ]; then
|
|||||||
APP_NAME=$(gum input --prompt "Name> " --placeholder "My TUI")
|
APP_NAME=$(gum input --prompt "Name> " --placeholder "My TUI")
|
||||||
APP_EXEC=$(gum input --prompt "Launch Command> " --placeholder "lazydocker or bash -c 'dust; read -n 1 -s'")
|
APP_EXEC=$(gum input --prompt "Launch Command> " --placeholder "lazydocker or bash -c 'dust; read -n 1 -s'")
|
||||||
WINDOW_STYLE=$(gum choose --header "Window style" float tile)
|
WINDOW_STYLE=$(gum choose --header "Window style" float tile)
|
||||||
ICON_URL=$(gum input --prompt "Icon URL> " --placeholder "See https://dashboardicons.com (must use PNG!)")
|
ICON_URL=$(gum input --prompt "Icon URL> " --placeholder "See https://dashboardicons.com (must use PNG or SVG!)")
|
||||||
else
|
else
|
||||||
APP_NAME="$1"
|
APP_NAME="$1"
|
||||||
APP_EXEC="$2"
|
APP_EXEC="$2"
|
||||||
@@ -43,7 +43,7 @@ cat >"$DESKTOP_FILE" <<EOF
|
|||||||
Version=1.0
|
Version=1.0
|
||||||
Name=$APP_NAME
|
Name=$APP_NAME
|
||||||
Comment=$APP_NAME
|
Comment=$APP_NAME
|
||||||
Exec=\$TERMINAL --class=$APP_CLASS -e $APP_EXEC
|
Exec=xdg-terminal-exec --app-id=$APP_CLASS -e $APP_EXEC
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Icon=$ICON_PATH
|
Icon=$ICON_PATH
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR
|
||||||
|
|
||||||
|
if omarchy-update-confirm; then
|
||||||
omarchy-snapshot create || [ $? -eq 127 ]
|
omarchy-snapshot create || [ $? -eq 127 ]
|
||||||
omarchy-update-git
|
omarchy-update-git
|
||||||
omarchy-update-perform
|
omarchy-update-perform
|
||||||
|
fi
|
||||||
|
|||||||
@@ -2,3 +2,4 @@
|
|||||||
|
|
||||||
# Ensure Waybar icon offering the available update is removed
|
# Ensure Waybar icon offering the available update is removed
|
||||||
pkill -RTMIN+7 waybar
|
pkill -RTMIN+7 waybar
|
||||||
|
exit 0
|
||||||
|
|||||||
12
bin/omarchy-update-confirm
Executable file
12
bin/omarchy-update-confirm
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
gum style --border normal --border-foreground 6 --padding "1 2" \
|
||||||
|
"Ready to update Omarchy?" \
|
||||||
|
"" \
|
||||||
|
"• You cannot stop the update once you start!" \
|
||||||
|
"• Make sure you're connected to power or have a full battery"
|
||||||
|
|
||||||
|
if ! gum confirm "Continue with update?"; then
|
||||||
|
echo "Update cancelled"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
echo -e "\e[32mUpdate Omarchy\e[0m"
|
echo -e "\e[32mUpdate Omarchy\e[0m"
|
||||||
|
|
||||||
git -C $OMARCHY_PATH pull --autostash
|
git -C $OMARCHY_PATH pull --autostash
|
||||||
|
|||||||
12
bin/omarchy-update-keyring
Executable file
12
bin/omarchy-update-keyring
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Ensure we have the omarchy-keyring and it's populated
|
||||||
|
if omarchy-pkg-missing omarchy-keyring || ! sudo pacman-key --list-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 &>/dev/null; then
|
||||||
|
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
|
||||||
|
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571
|
||||||
|
|
||||||
|
sudo pacman -Sy
|
||||||
|
omarchy-pkg-add omarchy-keyring
|
||||||
|
|
||||||
|
sudo pacman-key --list-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571
|
||||||
|
fi
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
omarchy-update-time
|
||||||
|
omarchy-update-keyring
|
||||||
omarchy-update-available-reset
|
omarchy-update-available-reset
|
||||||
omarchy-update-system-pkgs
|
omarchy-update-system-pkgs
|
||||||
omarchy-migrate
|
omarchy-migrate
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Used in package emergencies if a bad package has been pushed and we can't revoke.
|
# Used in package emergencies if a bad package has been pushed and we can't revoke.
|
||||||
# Requires manually installing the good package using sudo pacman -U <url>
|
# Requires manually installing the good package using sudo pacman -U <url>
|
||||||
ignored_packages=$(omarchy-pkg-ignored)
|
ignored_packages=$(omarchy-pkg-ignored)
|
||||||
@@ -21,7 +23,7 @@ if pacman -Qem >/dev/null; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
orphans=$(pacman -Qtdq)
|
orphans=$(pacman -Qtdq || true)
|
||||||
if [[ -n $orphans ]]; then
|
if [[ -n $orphans ]]; then
|
||||||
echo -e "\e[32m\nRemove orphan system packages\e[0m"
|
echo -e "\e[32m\nRemove orphan system packages\e[0m"
|
||||||
for pkg in $orphans; do
|
for pkg in $orphans; do
|
||||||
|
|||||||
4
bin/omarchy-update-time
Executable file
4
bin/omarchy-update-time
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Updating time..."
|
||||||
|
sudo systemctl restart systemd-timesyncd
|
||||||
@@ -30,7 +30,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${#APP_NAMES[@]} -eq 0 ]]; then
|
if [[ ${#APP_NAMES[@]} -eq 0 ]]; then
|
||||||
echo "You must provide web app names."
|
echo "You must select at least one web app to remove."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ launch_windows() {
|
|||||||
echo "Starting Windows VM..."
|
echo "Starting Windows VM..."
|
||||||
|
|
||||||
# Send desktop notification
|
# Send desktop notification
|
||||||
notify-send "Windows VM" "Starting Windows VM, this may take a moment..."
|
notify-send " Starting Windows VM" " This can take 15-30 seconds" -t 15000
|
||||||
|
|
||||||
if ! docker-compose -f "$COMPOSE_FILE" up -d 2>&1; then
|
if ! docker-compose -f "$COMPOSE_FILE" up -d 2>&1; then
|
||||||
echo "❌ Failed to start Windows VM!"
|
echo "❌ Failed to start Windows VM!"
|
||||||
@@ -298,7 +298,7 @@ launch_windows() {
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Give it a moment more to fully initialize
|
# Give it a moment more to fully initialize
|
||||||
sleep 3
|
sleep 5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extract credentials from compose file
|
# Extract credentials from compose file
|
||||||
@@ -327,7 +327,7 @@ To stop: omarchy-windows-vm stop"
|
|||||||
"$LIFECYCLE"
|
"$LIFECYCLE"
|
||||||
|
|
||||||
# Detect display scale from Hyprland
|
# Detect display scale from Hyprland
|
||||||
HYPR_SCALE=$(hyprctl monitors -j | jq -r '.[0].scale')
|
HYPR_SCALE=$(hyprctl monitors -j | jq -r '.[] | select (.focused == true) | .scale')
|
||||||
SCALE_PERCENT=$(echo "$HYPR_SCALE" | awk '{print int($1 * 100)}')
|
SCALE_PERCENT=$(echo "$HYPR_SCALE" | awk '{print int($1 * 100)}')
|
||||||
|
|
||||||
RDP_SCALE=""
|
RDP_SCALE=""
|
||||||
@@ -339,7 +339,7 @@ To stop: omarchy-windows-vm stop"
|
|||||||
# If scale is less than 130%, don't set any scale (use default 100)
|
# If scale is less than 130%, don't set any scale (use default 100)
|
||||||
|
|
||||||
# Connect with RDP in fullscreen (auto-detects resolution)
|
# Connect with RDP in fullscreen (auto-detects resolution)
|
||||||
xfreerdp3 /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 +f -grab-keyboard /cert:ignore /title:"Windows VM - Omarchy" /floatbar:sticky:off,default:visible,show:fullscreen $RDP_SCALE
|
xfreerdp3 /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 -grab-keyboard /sound /microphone /cert:ignore /title:"Windows VM - Omarchy" /dynamic-resolution /gfx:AVC444 /floatbar:sticky:off,default:visible,show:fullscreen $RDP_SCALE
|
||||||
|
|
||||||
# After RDP closes, stop the container unless --keep-alive was specified
|
# After RDP closes, stop the container unless --keep-alive was specified
|
||||||
if [ "$KEEP_ALIVE" = false ]; then
|
if [ "$KEEP_ALIVE" = false ]; then
|
||||||
|
|||||||
2
config/fcitx5/conf/clipboard.conf
Normal file
2
config/fcitx5/conf/clipboard.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
TriggerKey=
|
||||||
|
PastePrimaryKey=
|
||||||
@@ -17,11 +17,11 @@ gtk-toolbar-style = flat
|
|||||||
# Cursor styling
|
# Cursor styling
|
||||||
cursor-style = "block"
|
cursor-style = "block"
|
||||||
cursor-style-blink = false
|
cursor-style-blink = false
|
||||||
shell-integration-features = no-cursor
|
|
||||||
|
# Cursor styling + SSH session terminfo
|
||||||
|
# (all shell integration options must be passed together)
|
||||||
|
shell-integration-features = no-cursor,ssh-env
|
||||||
|
|
||||||
# Keyboard bindings
|
# Keyboard bindings
|
||||||
keybind = shift+insert=paste_from_clipboard
|
keybind = shift+insert=paste_from_clipboard
|
||||||
keybind = control+insert=copy_to_clipboard
|
keybind = control+insert=copy_to_clipboard
|
||||||
|
|
||||||
# SSH session terminfo
|
|
||||||
shell-integration-features = ssh-env
|
|
||||||
|
|||||||
28
config/git/config
Normal file
28
config/git/config
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# See https://git-scm.com/docs/git-config
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
co = checkout
|
||||||
|
br = branch
|
||||||
|
ci = commit
|
||||||
|
st = status
|
||||||
|
[init]
|
||||||
|
defaultBranch = master
|
||||||
|
[pull]
|
||||||
|
rebase = true # Rebase (instead of merge) on pull
|
||||||
|
[push]
|
||||||
|
autoSetupRemote = true # Automatically set upstream branch on push
|
||||||
|
[diff]
|
||||||
|
algorithm = histogram # Clearer diffs on moved/edited lines
|
||||||
|
colorMoved = plain # Highlight moved blocks in diffs
|
||||||
|
mnemonicPrefix = true # More intuitive refs in diff output
|
||||||
|
[commit]
|
||||||
|
verbose = true # Include diff comment in commit message template
|
||||||
|
[column]
|
||||||
|
ui = auto # Output in columns when possible
|
||||||
|
[branch]
|
||||||
|
sort = -committerdate # Sort branches by most recent commit first
|
||||||
|
[tag]
|
||||||
|
sort = -version:refname # Sort version numbers as you would expect
|
||||||
|
[rerere]
|
||||||
|
enabled = true # Record and reuse conflict resolutions
|
||||||
|
autoupdate = true # Apply stored conflict resolutions automatically
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# Application bindings
|
# Application bindings
|
||||||
$terminal = uwsm-app -- $TERMINAL
|
$terminal = uwsm-app -- xdg-terminal-exec
|
||||||
$browser = omarchy-launch-browser
|
$browser = omarchy-launch-browser
|
||||||
|
|
||||||
bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)"
|
bindd = SUPER, RETURN, Terminal, exec, $terminal --dir="$(omarchy-cmd-terminal-cwd)"
|
||||||
bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window
|
bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window
|
||||||
bindd = SUPER SHIFT, B, Browser, exec, $browser
|
bindd = SUPER SHIFT, B, Browser, exec, $browser
|
||||||
bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private
|
bindd = SUPER SHIFT ALT, B, Browser (private), exec, $browser --private
|
||||||
@@ -12,9 +12,10 @@ bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop
|
|||||||
bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker
|
bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker
|
||||||
bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop"
|
bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop"
|
||||||
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
||||||
|
bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
|
||||||
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password
|
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password
|
||||||
|
|
||||||
# If your web app url contains #, type it as ## to prevent hyperland treat it as comments
|
# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
|
||||||
bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com"
|
bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com"
|
||||||
bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com"
|
bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com"
|
||||||
bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/"
|
bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/"
|
||||||
@@ -22,6 +23,7 @@ bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://app.hey.com"
|
|||||||
bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/"
|
bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/"
|
||||||
bindd = SUPER SHIFT ALT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/"
|
bindd = SUPER SHIFT ALT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/"
|
||||||
bindd = SUPER SHIFT CTRL, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations"
|
bindd = SUPER SHIFT CTRL, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations"
|
||||||
|
bindd = SUPER SHIFT, P, Google Photos, exec, omarchy-launch-or-focus-webapp "Google Photos" "https://photos.google.com/"
|
||||||
bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/"
|
bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/"
|
||||||
bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post"
|
bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post"
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
# Extra env variables
|
|
||||||
# env = MY_GLOBAL_ENV,setting
|
|
||||||
@@ -16,7 +16,6 @@ source = ~/.config/omarchy/current/theme/hyprland.conf
|
|||||||
source = ~/.config/hypr/monitors.conf
|
source = ~/.config/hypr/monitors.conf
|
||||||
source = ~/.config/hypr/input.conf
|
source = ~/.config/hypr/input.conf
|
||||||
source = ~/.config/hypr/bindings.conf
|
source = ~/.config/hypr/bindings.conf
|
||||||
source = ~/.config/hypr/envs.conf
|
|
||||||
source = ~/.config/hypr/looknfeel.conf
|
source = ~/.config/hypr/looknfeel.conf
|
||||||
source = ~/.config/hypr/autostart.conf
|
source = ~/.config/hypr/autostart.conf
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ profile {
|
|||||||
identity = true
|
identity = true
|
||||||
}
|
}
|
||||||
|
|
||||||
# Enable auto switch to nightlight:
|
# To enable auto switch to nightlight, set in your .config/hypr/autostart:
|
||||||
|
# exec-once = uwsm app -- hyprsunset
|
||||||
|
# and use the following:
|
||||||
# profile {
|
# profile {
|
||||||
# time = 20:00
|
# time = 20:00
|
||||||
# temperature = 4000
|
# temperature = 4000
|
||||||
|
|||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
general {
|
general {
|
||||||
# No gaps between windows
|
# No gaps between windows or borders
|
||||||
# gaps_in = 0
|
# gaps_in = 0
|
||||||
# gaps_out = 0
|
# gaps_out = 0
|
||||||
|
# border_size = 0
|
||||||
|
|
||||||
# Use master layout instead of dwindle
|
# Use master layout instead of dwindle
|
||||||
# layout = master
|
# layout = master
|
||||||
|
|||||||
2
config/imv/config
Normal file
2
config/imv/config
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[binds]
|
||||||
|
<Ctrl+p> = exec lp $imv_current_file
|
||||||
@@ -1,4 +1,13 @@
|
|||||||
# Changes require a restart to take effect.
|
# Changes require a restart to take effect.
|
||||||
|
|
||||||
export TERMINAL=alacritty
|
# Install other terminals via Install > Terminal
|
||||||
|
export TERMINAL=xdg-terminal-exec
|
||||||
|
|
||||||
|
# Use code for VSCode
|
||||||
export EDITOR=nvim
|
export EDITOR=nvim
|
||||||
|
|
||||||
|
# Use a custom directory for screenshots (remember to make the directory!)
|
||||||
|
# export OMARCHY_SCREENSHOT_DIR="$HOME/Pictures/Screenshots"
|
||||||
|
|
||||||
|
# Use a custom directory for screenrecordings (remember to make the directory!)
|
||||||
|
# export OMARCHY_SCREENRECORD_DIR="$HOME/Videos/Screencasts"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Ensure Omarchy bins are in the path
|
# Ensure Omarchy bins are in the path
|
||||||
export OMARCHY_PATH=$HOME/.local/share/omarchy
|
export OMARCHY_PATH=$HOME/.local/share/omarchy
|
||||||
export PATH=$OMARCHY_PATH/bin/:$PATH
|
export PATH=$OMARCHY_PATH/bin:$PATH
|
||||||
|
|
||||||
# Set default terminal and editor
|
# Set default terminal and editor
|
||||||
source ~/.config/uwsm/default
|
source ~/.config/uwsm/default
|
||||||
|
|||||||
@@ -1,41 +1,21 @@
|
|||||||
force_keyboard_focus = true # forces keyboard forcus to stay in Walker
|
force_keyboard_focus = true # forces keyboard forcus to stay in Walker
|
||||||
close_when_open = true # close walker when invoking while already opened
|
|
||||||
selection_wrap = true # wrap list if at bottom or top
|
selection_wrap = true # wrap list if at bottom or top
|
||||||
click_to_close = true # closes walker if clicking outside of the main content area
|
|
||||||
global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config
|
|
||||||
exact_search_prefix = "'" # disable fuzzy searching
|
|
||||||
theme = "omarchy-default" # theme to use
|
theme = "omarchy-default" # theme to use
|
||||||
disable_mouse = false # disable mouse (on input and list only)
|
|
||||||
additional_theme_location = "~/.local/share/omarchy/default/walker/themes/"
|
additional_theme_location = "~/.local/share/omarchy/default/walker/themes/"
|
||||||
|
|
||||||
[shell]
|
|
||||||
anchor_top = true
|
|
||||||
anchor_bottom = true
|
|
||||||
anchor_left = true
|
|
||||||
anchor_right = true
|
|
||||||
|
|
||||||
[placeholders]
|
[placeholders]
|
||||||
"default" = { input = " Search...", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other"
|
"default" = { input = " Search...", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other"
|
||||||
|
|
||||||
[keybinds]
|
[keybinds]
|
||||||
close = ["Escape"]
|
|
||||||
next = ["Down"]
|
|
||||||
previous = ["Up"]
|
|
||||||
toggle_exact = ["ctrl e"]
|
|
||||||
resume_last_query = ["ctrl r"]
|
|
||||||
quick_activate = []
|
quick_activate = []
|
||||||
|
|
||||||
[providers]
|
[providers]
|
||||||
|
max_results = 256 # 256 should be enough for everyone
|
||||||
default = [
|
default = [
|
||||||
"desktopapplications",
|
"desktopapplications",
|
||||||
"menus",
|
"menus",
|
||||||
"websearch",
|
"websearch",
|
||||||
] # providers to be queried by default
|
] # providers to be queried by default
|
||||||
empty = ["desktopapplications"] # providers to be queried when query is empty
|
|
||||||
max_results = 50 # global max results
|
|
||||||
|
|
||||||
[providers.sets] # define your own defaults/empty sets of providers
|
|
||||||
[providers.max_results_provider] # define max results per provider in here
|
|
||||||
|
|
||||||
[[providers.prefixes]]
|
[[providers.prefixes]]
|
||||||
prefix = "/"
|
prefix = "/"
|
||||||
@@ -60,86 +40,3 @@ provider = "websearch"
|
|||||||
[[providers.prefixes]]
|
[[providers.prefixes]]
|
||||||
prefix = "$"
|
prefix = "$"
|
||||||
provider = "clipboard"
|
provider = "clipboard"
|
||||||
|
|
||||||
[providers.actions] # This will be MERGED/OVEWRITTEN with what the user specifies
|
|
||||||
dmenu = [{ action = "select", default = true, bind = "Return" }]
|
|
||||||
|
|
||||||
providerlist = [
|
|
||||||
{ action = "activate", default = true, bind = "Return", after = "ClearReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
bluetooth = [
|
|
||||||
{ action = "find", global = true, bind = "ctrl f", after = "AsyncClearReload" },
|
|
||||||
{ action = "trust", bind = "ctrl t", after = "AsyncReload" },
|
|
||||||
{ action = "untrust", bind = "ctrl t", after = "AsyncReload" },
|
|
||||||
{ action = "pair", bind = "Return", after = "AsyncReload" },
|
|
||||||
{ action = "remove", bind = "ctrl d", after = "AsyncReload" },
|
|
||||||
{ action = "connect", bind = "Return", after = "AsyncReload" },
|
|
||||||
{ action = "disconnect", bind = "Return", after = "AsyncReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
archlinuxpkgs = [
|
|
||||||
{ action = "install", bind = "Return", default = true },
|
|
||||||
{ action = "remove", bind = "Return" },
|
|
||||||
]
|
|
||||||
|
|
||||||
calc = [
|
|
||||||
{ action = "copy", default = true, bind = "Return" },
|
|
||||||
{ action = "delete", bind = "ctrl d", after = "AsyncReload" },
|
|
||||||
{ action = "save", bind = "ctrl s", after = "AsyncClearReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
websearch = [
|
|
||||||
{ action = "search", default = true, bind = "Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
desktopapplications = [
|
|
||||||
{ action = "start", default = true, bind = "Return" },
|
|
||||||
{ action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
|
|
||||||
{ action = "pin", bind = "ctrl p", after = "AsyncReload" },
|
|
||||||
{ action = "unpin", bind = "ctrl p", after = "AsyncReload" },
|
|
||||||
{ action = "pinup", bind = "ctrl n", after = "AsyncReload" },
|
|
||||||
{ action = "pindown", bind = "ctrl m", after = "AsyncReload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
files = [
|
|
||||||
{ action = "open", default = true, bind = "Return" },
|
|
||||||
{ action = "opendir", label = "open dir", bind = "ctrl Return" },
|
|
||||||
{ action = "copypath", label = "copy path", bind = "ctrl shift c" },
|
|
||||||
{ action = "copyfile", label = "copy file", bind = "ctrl c" },
|
|
||||||
]
|
|
||||||
|
|
||||||
todo = [
|
|
||||||
{ action = "save", default = true, bind = "Return", after = "ClearReload" },
|
|
||||||
{ action = "delete", bind = "ctrl d", after = "ClearReload" },
|
|
||||||
{ action = "active", bind = "Return", after = "ClearReload" },
|
|
||||||
{ action = "inactive", bind = "Return", after = "ClearReload" },
|
|
||||||
{ action = "done", bind = "ctrl f", after = "ClearReload" },
|
|
||||||
{ action = "clear", bind = "ctrl x", after = "ClearReload", global = true },
|
|
||||||
]
|
|
||||||
|
|
||||||
runner = [
|
|
||||||
{ action = "run", default = true, bind = "Return" },
|
|
||||||
{ action = "runterminal", label = "run in terminal", bind = "shift Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
symbols = [
|
|
||||||
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
unicode = [
|
|
||||||
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
|
||||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "Reload" },
|
|
||||||
]
|
|
||||||
|
|
||||||
clipboard = [
|
|
||||||
{ action = "copy", default = true, bind = "Return" },
|
|
||||||
{ action = "remove", bind = "ctrl d", after = "ClearReload" },
|
|
||||||
{ action = "remove_all", global = true, label = "clear", bind = "ctrl shift d", after = "ClearReload" },
|
|
||||||
{ action = "toggle_images", global = true, label = "toggle images", bind = "ctrl i", after = "ClearReload" },
|
|
||||||
{ action = "edit", bind = "ctrl o" },
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
"custom/omarchy": {
|
"custom/omarchy": {
|
||||||
"format": "<span font='omarchy'>\ue900</span>",
|
"format": "<span font='omarchy'>\ue900</span>",
|
||||||
"on-click": "omarchy-menu",
|
"on-click": "omarchy-menu",
|
||||||
|
"on-click-right": "xdg-terminal-exec",
|
||||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||||
},
|
},
|
||||||
"custom/update": {
|
"custom/update": {
|
||||||
@@ -49,13 +50,13 @@
|
|||||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||||
"tooltip-format": "Omarchy update available",
|
"tooltip-format": "Omarchy update available",
|
||||||
"signal": 7,
|
"signal": 7,
|
||||||
"interval": 3600
|
"interval": 21600
|
||||||
},
|
},
|
||||||
|
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"format": "",
|
"format": "",
|
||||||
"on-click": "$TERMINAL -e btop"
|
"on-click": "xdg-terminal-exec btop"
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"format": "{:L%A %H:%M}",
|
"format": "{:L%A %H:%M}",
|
||||||
@@ -104,7 +105,7 @@
|
|||||||
},
|
},
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
"on-click": "$TERMINAL --class=Wiremix -e wiremix",
|
"on-click": "xdg-terminal-exec --app-id=com.omarchy.Wiremix -e wiremix",
|
||||||
"on-click-right": "pamixer -t",
|
"on-click-right": "pamixer -t",
|
||||||
"tooltip-format": "Playing at {volume}%",
|
"tooltip-format": "Playing at {volume}%",
|
||||||
"scroll-step": 5,
|
"scroll-step": 5,
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
# File system
|
# File system
|
||||||
|
if command -v eza &> /dev/null; then
|
||||||
alias ls='eza -lh --group-directories-first --icons=auto'
|
alias ls='eza -lh --group-directories-first --icons=auto'
|
||||||
alias lsa='ls -a'
|
alias lsa='ls -a'
|
||||||
alias lt='eza --tree --level=2 --long --icons --git'
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
alias lta='lt -a'
|
alias lta='lt -a'
|
||||||
|
fi
|
||||||
|
|
||||||
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
||||||
|
|
||||||
|
if command -v zoxide &> /dev/null; then
|
||||||
alias cd="zd"
|
alias cd="zd"
|
||||||
zd() {
|
zd() {
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
@@ -14,6 +19,8 @@ zd() {
|
|||||||
z "$@" && printf "\U000F17A9 " && pwd || echo "Error: Directory not found"
|
z "$@" && printf "\U000F17A9 " && pwd || echo "Error: Directory not found"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
open() {
|
open() {
|
||||||
xdg-open "$@" >/dev/null 2>&1 &
|
xdg-open "$@" >/dev/null 2>&1 &
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
# Technicolor dreams
|
|
||||||
force_color_prompt=yes
|
|
||||||
color_prompt=yes
|
|
||||||
|
|
||||||
# Simple prompt with path in the window/pane title and caret for typing line
|
|
||||||
PS1=$'\uf0a9 '
|
|
||||||
PS1="\[\e]0;\w\a\]$PS1"
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
source ~/.local/share/omarchy/default/bash/shell
|
source ~/.local/share/omarchy/default/bash/shell
|
||||||
source ~/.local/share/omarchy/default/bash/aliases
|
source ~/.local/share/omarchy/default/bash/aliases
|
||||||
source ~/.local/share/omarchy/default/bash/functions
|
source ~/.local/share/omarchy/default/bash/functions
|
||||||
source ~/.local/share/omarchy/default/bash/prompt
|
|
||||||
source ~/.local/share/omarchy/default/bash/init
|
source ~/.local/share/omarchy/default/bash/init
|
||||||
source ~/.local/share/omarchy/default/bash/envs
|
source ~/.local/share/omarchy/default/bash/envs
|
||||||
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc
|
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc
|
||||||
|
|||||||
@@ -9,6 +9,5 @@ if [[ ! -v BASH_COMPLETION_VERSINFO && -f /usr/share/bash-completion/bash_comple
|
|||||||
source /usr/share/bash-completion/bash_completion
|
source /usr/share/bash-completion/bash_completion
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set complete path
|
# Ensure command hashing is off for mise
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
set +h
|
set +h
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
# If not running interactively, don't do anything (leave this at the top of this file)
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
# All the default Omarchy aliases and functions
|
# All the default Omarchy aliases and functions
|
||||||
# (don't mess with these directly, just overwrite them here!)
|
# (don't mess with these directly, just overwrite them here!)
|
||||||
source ~/.local/share/omarchy/default/bash/rc
|
source ~/.local/share/omarchy/default/bash/rc
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Browser types
|
# Browser types
|
||||||
windowrule = tag +chromium-based-browser, class:((google-)?[cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable|helium)
|
windowrule = tag +chromium-based-browser, class:((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium)
|
||||||
windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf)
|
windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf)
|
||||||
|
|
||||||
# Force chromium-based browsers into a tile to deal with --app bug
|
# Force chromium-based browsers into a tile to deal with --app bug
|
||||||
|
|||||||
2
default/hypr/apps/davinci-resolve.conf
Normal file
2
default/hypr/apps/davinci-resolve.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Focus floating DaVinci Resolve dialog windows
|
||||||
|
windowrule = stayfocused, class:.*[Rr]esolve.*, floating:1
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
# Fixing popup size issue
|
# JetBrains windows default size
|
||||||
windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$,floating:1
|
windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$
|
||||||
|
|
||||||
# Fix tab dragging (always have a single space character as their title)
|
# Fix tab dragging (tab titles are just one space)
|
||||||
windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$
|
windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$
|
||||||
windowrule = nofocus, class:^(.*jetbrains.*)$, title:^\\s$
|
|
||||||
|
# Allow dialogs (like "Send usage statistics") to be focusable and clickable
|
||||||
|
windowrule = unset,nofocus,class:^(.*jetbrains.*)$,title:^$
|
||||||
|
windowrule = unset,noinitialfocus,class:^(.*jetbrains.*)$,title:^$
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Picture-in-picture overlays
|
# Picture-in-picture overlays
|
||||||
windowrule = tag +pip, title:(Picture.{0,1}in.{0,1}[Pp]icture)
|
windowrule = tag +pip, title:(Picture.?in.?[Pp]icture)
|
||||||
windowrule = float, tag:pip
|
windowrule = float, tag:pip
|
||||||
windowrule = pin, tag:pip
|
windowrule = pin, tag:pip
|
||||||
windowrule = size 600 338, tag:pip
|
windowrule = size 600 338, tag:pip
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# Floating windows
|
# Floating windows
|
||||||
windowrule = float, tag:floating-window
|
windowrule = float, tag:floating-window
|
||||||
windowrule = center, tag:floating-window
|
windowrule = center, tag:floating-window
|
||||||
windowrule = size 800 600, tag:floating-window
|
windowrule = size 875 600, tag:floating-window
|
||||||
|
|
||||||
windowrule = tag +floating-window, class:(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
|
windowrule = tag +floating-window, class:(blueberry.py|com.omarchy.Impala|com.omarchy.Wiremix|com.omarchy.Omarchy|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
|
||||||
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files)
|
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)
|
||||||
windowrule = float, class:org.gnome.Calculator
|
windowrule = float, class:org.gnome.Calculator
|
||||||
|
|
||||||
# Fullscreen screensaver
|
# Fullscreen screensaver
|
||||||
@@ -12,3 +12,6 @@ windowrule = fullscreen, class:Screensaver
|
|||||||
|
|
||||||
# No transparency on media windows
|
# 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)$
|
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
|
||||||
|
|
||||||
|
# Popped window rounding
|
||||||
|
windowrule = rounding 8, tag:pop
|
||||||
|
|||||||
@@ -8,3 +8,7 @@ exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|||||||
exec-once = omarchy-cmd-first-run
|
exec-once = omarchy-cmd-first-run
|
||||||
exec-once = uwsm-app -- elephant
|
exec-once = uwsm-app -- elephant
|
||||||
exec-once = uwsm-app -- walker --gapplication-service
|
exec-once = uwsm-app -- walker --gapplication-service
|
||||||
|
|
||||||
|
# Slow app launch fix -- set systemd vars
|
||||||
|
exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1)
|
||||||
|
exec-once = dbus-update-activation-environment --systemd --all
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Copy / Paste
|
# Copy / Paste
|
||||||
bindd = SUPER, C, Copy, sendshortcut, CTRL, Insert,
|
bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert,
|
||||||
bindd = SUPER, V, Paste, sendshortcut, SHIFT, Insert,
|
bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert,
|
||||||
bindd = SUPER, X, Cut, sendshortcut, CTRL, X,
|
bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X,
|
||||||
bindd = SUPER CTRL, V, Clipboard, exec, omarchy-launch-walker -m clipboard
|
bindd = SUPER CTRL, V, Clipboard manager, exec, omarchy-launch-walker -m clipboard
|
||||||
|
|||||||
@@ -1,22 +1,23 @@
|
|||||||
# Close windows
|
# Close windows
|
||||||
bindd = SUPER, W, Close active window, killactive,
|
bindd = SUPER, W, Close window, killactive,
|
||||||
bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows
|
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
|
||||||
|
|
||||||
# Control tiling
|
# Control tiling
|
||||||
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
|
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
||||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||||
bindd = SUPER, T, Toggle floating, togglefloating,
|
bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
|
||||||
bindd = SUPER, F, Force full screen, fullscreen, 0
|
bindd = SUPER, F, Full screen, fullscreen, 0
|
||||||
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
||||||
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
||||||
|
bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop
|
||||||
|
|
||||||
# Move focus with SUPER + arrow keys
|
# Move focus with SUPER + arrow keys
|
||||||
bindd = SUPER, LEFT, Move focus left, movefocus, l
|
bindd = SUPER, LEFT, Move window focus left, movefocus, l
|
||||||
bindd = SUPER, RIGHT, Move focus right, movefocus, r
|
bindd = SUPER, RIGHT, Move window focus right, movefocus, r
|
||||||
bindd = SUPER, UP, Move focus up, movefocus, u
|
bindd = SUPER, UP, Move window focus up, movefocus, u
|
||||||
bindd = SUPER, DOWN, Move focus down, movefocus, d
|
bindd = SUPER, DOWN, Move window focus down, movefocus, d
|
||||||
|
|
||||||
# Switch workspaces with SUPER + [0-9]
|
# Switch workspaces with SUPER + [1-9]
|
||||||
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
||||||
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
||||||
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
||||||
@@ -26,9 +27,8 @@ bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
|
|||||||
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
||||||
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
||||||
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
|
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 SUPER + SHIFT + [0-9]
|
# Move active window to a workspace with SUPER + SHIFT + [1-9]
|
||||||
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
||||||
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
|
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
|
||||||
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
|
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
|
||||||
@@ -38,13 +38,20 @@ bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6
|
|||||||
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
|
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
|
||||||
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
|
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
|
||||||
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
|
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
|
||||||
bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10
|
|
||||||
|
# Control scratchpad
|
||||||
|
bindd = SUPER, S, Toggle scratchpad, togglespecialworkspace, scratchpad
|
||||||
|
bindd = SUPER ALT, S, Move window to scratchpad, movetoworkspacesilent, special:scratchpad
|
||||||
|
|
||||||
# TAB between workspaces
|
# TAB between workspaces
|
||||||
bindd = SUPER, TAB, Next workspace, workspace, e+1
|
bindd = SUPER, TAB, Next workspace, workspace, e+1
|
||||||
bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
|
bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
|
||||||
bindd = SUPER CTRL, TAB, Former workspace, workspace, previous
|
bindd = SUPER CTRL, TAB, Former workspace, workspace, previous
|
||||||
|
|
||||||
|
# Move workspaces to other monitors
|
||||||
|
bindd = SUPER SHIFT ALT, LEFT, Move workspace to left monitor, movecurrentworkspacetomonitor, l
|
||||||
|
bindd = SUPER SHIFT ALT, RIGHT, Move workspace to right monitor, movecurrentworkspacetomonitor, r
|
||||||
|
|
||||||
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys
|
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys
|
||||||
bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l
|
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, RIGHT, Swap window to the right, swapwindow, r
|
||||||
@@ -84,10 +91,14 @@ bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d
|
|||||||
# Navigate a single set of grouped windows
|
# Navigate a single set of grouped windows
|
||||||
bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f
|
bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f
|
||||||
bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b
|
bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b
|
||||||
|
bindd = SUPER ALT, page_up, Next window in group, changegroupactive, f
|
||||||
|
bindd = SUPER ALT, page_down, Previous window in group, changegroupactive, b
|
||||||
|
bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f
|
||||||
|
bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b
|
||||||
|
|
||||||
# Activate window in a group by number
|
# Activate window in a group by number
|
||||||
bindd = SUPER ALT, 1, Switch to group window 1, changegroupactive, 1
|
bindd = SUPER ALT, code:10, Switch to group window 1, changegroupactive, 1
|
||||||
bindd = SUPER ALT, 2, Switch to group window 2, changegroupactive, 2
|
bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2
|
||||||
bindd = SUPER ALT, 3, Switch to group window 3, changegroupactive, 3
|
bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3
|
||||||
bindd = SUPER ALT, 4, Switch to group window 4, changegroupactive, 4
|
bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4
|
||||||
bindd = SUPER ALT, 5, Switch to group window 5, changegroupactive, 5
|
bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
# Do not make changes here, but bring them to tiling-v2.conf instead.
|
# Do not make changes here, but bring them to tiling-v2.conf instead.
|
||||||
|
|
||||||
# Close windows
|
# Close windows
|
||||||
bindd = SUPER, W, Close active window, killactive,
|
bindd = SUPER, W, Close window, killactive,
|
||||||
bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows
|
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
|
||||||
|
|
||||||
# Control tiling
|
# Control tiling
|
||||||
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
|
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
||||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||||
bindd = SUPER SHIFT, V, Toggle floating, togglefloating,
|
bindd = SUPER SHIFT, V, Toggle window floating/tiling, togglefloating,
|
||||||
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
||||||
bindd = ALT, F11, Full width, fullscreen, 1
|
bindd = ALT, F11, Full width, fullscreen, 1
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
|
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
|
||||||
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
||||||
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
||||||
bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system
|
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
|
||||||
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
||||||
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
|
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
|
||||||
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
||||||
@@ -10,13 +10,15 @@ bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
|||||||
# Aesthetics
|
# Aesthetics
|
||||||
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
|
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
|
||||||
bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next
|
bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next
|
||||||
bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, omarchy-menu theme
|
bindd = SUPER SHIFT CTRL, SPACE, Theme menu, exec, omarchy-menu theme
|
||||||
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle
|
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle
|
||||||
|
bindd = SUPER SHIFT, BACKSPACE, Toggle workspace gaps, exec, omarchy-hyprland-workspace-toggle-gaps
|
||||||
|
|
||||||
# Notifications
|
# Notifications
|
||||||
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss
|
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss
|
||||||
bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all
|
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"
|
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"
|
||||||
|
bindd = SUPER ALT, COMMA, Invoke last notification, exec, makoctl invoke
|
||||||
|
|
||||||
# Toggle idling
|
# Toggle idling
|
||||||
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle
|
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle
|
||||||
@@ -30,10 +32,14 @@ bindd = CTRL, F2, Apple Display brightness up, exec, omarchy-cmd-apple-display-b
|
|||||||
bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000
|
bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-cmd-apple-display-brightness +60000
|
||||||
|
|
||||||
# Captures
|
# Captures
|
||||||
bindd = , PRINT, Screenshot, exec, omarchy-cmd-screenshot
|
bindd = , PRINT, Screenshot with editing, exec, omarchy-cmd-screenshot
|
||||||
bindd = SHIFT, PRINT, Screenshot, exec, omarchy-cmd-screenshot smart clipboard
|
bindd = SHIFT, PRINT, Screenshot to clipboard, exec, omarchy-cmd-screenshot smart clipboard
|
||||||
bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord
|
bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord
|
||||||
bindd = SUPER, PRINT, Color picking, exec, pkill hyprpicker || hyprpicker -a
|
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a
|
||||||
|
|
||||||
# File sharing
|
# File sharing
|
||||||
bindd = CTRL SUPER, S, Share, exec, omarchy-menu share
|
bindd = SUPER CTRL, S, Share, exec, omarchy-menu share
|
||||||
|
|
||||||
|
# Waybar-less information
|
||||||
|
bindd = SUPER CTRL, T, Show time, exec, notify-send " $(date +"%A %H:%M — %d %B W%V %Y")"
|
||||||
|
bindd = SUPER CTRL, B, Show battery remaining, exec, notify-send " Battery is at $(omarchy-battery-remaining)%"
|
||||||
|
|||||||
@@ -14,3 +14,8 @@ input {
|
|||||||
natural_scroll = false
|
natural_scroll = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
key_press_enables_dpms = true # key press will trigger wake
|
||||||
|
mouse_move_enables_dpms = true # mouse move will trigger wake
|
||||||
|
}
|
||||||
|
|||||||
@@ -120,9 +120,17 @@ misc {
|
|||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
focus_on_activate = true
|
focus_on_activate = true
|
||||||
anr_missed_pings = 3
|
anr_missed_pings = 3
|
||||||
|
new_window_takes_over_fullscreen = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hypr.land/Configuring/Variables/#cursor
|
# https://wiki.hypr.land/Configuring/Variables/#cursor
|
||||||
cursor {
|
cursor {
|
||||||
hide_on_key_press = true
|
hide_on_key_press = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Style Gum confirm to match terminal theme
|
||||||
|
env = GUM_CONFIRM_PROMPT_FOREGROUND,6 # Cyan
|
||||||
|
env = GUM_CONFIRM_SELECTED_FOREGROUND,0 # Black
|
||||||
|
env = GUM_CONFIRM_SELECTED_BACKGROUND,2 # Green
|
||||||
|
env = GUM_CONFIRM_UNSELECTED_FOREGROUND,0 # Black
|
||||||
|
env = GUM_CONFIRM_UNSELECTED_BACKGROUND,8 # Dark grey
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if pgrep -f "gpu-screen-recorder" >/dev/null; then
|
if pgrep -f "^gpu-screen-recorder" >/dev/null; then
|
||||||
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
||||||
else
|
else
|
||||||
echo '{"text": ""}'
|
echo '{"text": ""}'
|
||||||
|
|||||||
@@ -30,3 +30,4 @@ run_logged $OMARCHY_INSTALL/config/hardware/fix-bcm43xx.sh
|
|||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
|
||||||
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-surface-keyboard.sh
|
||||||
|
|||||||
@@ -1,15 +1,3 @@
|
|||||||
# Ensure git settings live under ~/.config
|
|
||||||
mkdir -p ~/.config/git
|
|
||||||
touch ~/.config/git/config
|
|
||||||
|
|
||||||
# Set common git aliases
|
|
||||||
git config --global alias.co checkout
|
|
||||||
git config --global alias.br branch
|
|
||||||
git config --global alias.ci commit
|
|
||||||
git config --global alias.st status
|
|
||||||
git config --global pull.rebase true
|
|
||||||
git config --global init.defaultBranch master
|
|
||||||
|
|
||||||
# Set identification from install inputs
|
# Set identification from install inputs
|
||||||
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then
|
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then
|
||||||
git config --global user.name "$OMARCHY_USER_NAME"
|
git config --global user.name "$OMARCHY_USER_NAME"
|
||||||
|
|||||||
23
install/config/hardware/fix-surface-keyboard.sh
Normal file
23
install/config/hardware/fix-surface-keyboard.sh
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Detect Surface devices which require additional modules for the keyboard to work.
|
||||||
|
# Module list derived from Chris McLeod's manual install instructions
|
||||||
|
# https://chrismcleod.dev/blog/installing-arch-linux-with-secure-boot-on-a-microsoft-surface-laptop-studio/
|
||||||
|
product_name="$(cat /sys/class/dmi/id/product_name 2>/dev/null)"
|
||||||
|
if [[ "$product_name" =~ Surface ]]; then
|
||||||
|
echo "Detected Surface Device"
|
||||||
|
|
||||||
|
# Modules already exist in the rootfs for the default kernel.
|
||||||
|
if [[ "$product_name" != "Surface Laptop 3" ]]; then
|
||||||
|
echo "Untested Surface Device: $product_name, additional modules may be required for your device."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Attempting to autodetect required pinctrl module"
|
||||||
|
pinctrl_module=$(lsmod | grep pinctrl_ | cut -f 1 -d" ")
|
||||||
|
if [[ -z "$pinctrl_module" ]]; then
|
||||||
|
echo "Failed to autodetect pinctrl module."
|
||||||
|
else
|
||||||
|
echo "Detected pinctrl module: $pinctrl_module"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "MODULES=(${pinctrl_module} surface_aggregator surface_aggregator_registry surface_aggregator_hub surface_hid_core surface_hid surface_kbd intel_lpss_pci 8250_dw)" | sudo tee /etc/mkinitcpio.conf.d/surface_device_modules.conf >/dev/null
|
||||||
|
|
||||||
|
fi
|
||||||
@@ -36,3 +36,22 @@ xdg-mime default mpv.desktop application/ogg
|
|||||||
|
|
||||||
# Use Hey for mailto: links
|
# Use Hey for mailto: links
|
||||||
xdg-mime default HEY.desktop x-scheme-handler/mailto
|
xdg-mime default HEY.desktop x-scheme-handler/mailto
|
||||||
|
|
||||||
|
# Open text files with nvim
|
||||||
|
xdg-mime default nvim.desktop text/plain
|
||||||
|
xdg-mime default nvim.desktop text/english
|
||||||
|
xdg-mime default nvim.desktop text/x-makefile
|
||||||
|
xdg-mime default nvim.desktop text/x-c++hdr
|
||||||
|
xdg-mime default nvim.desktop text/x-c++src
|
||||||
|
xdg-mime default nvim.desktop text/x-chdr
|
||||||
|
xdg-mime default nvim.desktop text/x-csrc
|
||||||
|
xdg-mime default nvim.desktop text/x-java
|
||||||
|
xdg-mime default nvim.desktop text/x-moc
|
||||||
|
xdg-mime default nvim.desktop text/x-pascal
|
||||||
|
xdg-mime default nvim.desktop text/x-tcl
|
||||||
|
xdg-mime default nvim.desktop text/x-tex
|
||||||
|
xdg-mime default nvim.desktop application/x-shellscript
|
||||||
|
xdg-mime default nvim.desktop text/x-c
|
||||||
|
xdg-mime default nvim.desktop text/x-c++
|
||||||
|
xdg-mime default nvim.desktop application/xml
|
||||||
|
xdg-mime default nvim.desktop text/xml
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current
|
|||||||
mkdir -p ~/.config/mako
|
mkdir -p ~/.config/mako
|
||||||
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
||||||
|
|
||||||
mkdir -p ~/.config/eza
|
|
||||||
ln -snf ~/.config/omarchy/current/theme/eza.yml ~/.config/eza/theme.yml
|
|
||||||
|
|
||||||
# Add managed policy directories for Chromium and Brave for theme changes
|
# Add managed policy directories for Chromium and Brave for theme changes
|
||||||
sudo mkdir -p /etc/chromium/policies/managed
|
sudo mkdir -p /etc/chromium/policies/managed
|
||||||
sudo chmod a+rw /etc/chromium/policies/managed
|
sudo chmod a+rw /etc/chromium/policies/managed
|
||||||
|
|||||||
@@ -6,9 +6,6 @@ sudo ufw default allow outgoing
|
|||||||
sudo ufw allow 53317/udp
|
sudo ufw allow 53317/udp
|
||||||
sudo ufw allow 53317/tcp
|
sudo ufw allow 53317/tcp
|
||||||
|
|
||||||
# Allow SSH in
|
|
||||||
sudo ufw allow 22/tcp
|
|
||||||
|
|
||||||
# Allow Docker containers to use DNS on host
|
# Allow Docker containers to use DNS on host
|
||||||
sudo ufw allow in proto udp from 172.16.0.0/12 to 172.17.0.1 port 53 comment 'allow-docker-dns'
|
sudo ufw allow in proto udp from 172.16.0.0/12 to 172.17.0.1 port 53 comment 'allow-docker-dns'
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
notify-send " Update System" "When you have internet, click to update the system." -u critical
|
|
||||||
notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical
|
notify-send " Learn Keybindings" "Super + K for cheatsheet.\nSuper + Space for application launcher.\nSuper + Alt + Space for Omarchy Menu." -u critical
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
||||||
notify-send " Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical -t 30000
|
notify-send " Update System" "When you have internet, click to update the system." -u critical
|
||||||
|
notify-send " Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical
|
||||||
|
else
|
||||||
|
notify-send " Update System" "Click to update the system." -u critical
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ TARGET_OS_NAME="Omarchy"
|
|||||||
ESP_PATH="/boot"
|
ESP_PATH="/boot"
|
||||||
|
|
||||||
KERNEL_CMDLINE[default]="$CMDLINE"
|
KERNEL_CMDLINE[default]="$CMDLINE"
|
||||||
KERNEL_CMDLINE[default]+="quiet splash"
|
KERNEL_CMDLINE[default]+="quiet splash preempt=full"
|
||||||
|
|
||||||
ENABLE_UKI=yes
|
ENABLE_UKI=yes
|
||||||
CUSTOM_UKI_NAME="omarchy"
|
CUSTOM_UKI_NAME="omarchy"
|
||||||
@@ -78,6 +78,11 @@ term_background_bright: 24283b
|
|||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Remove the original config file if it's not /boot/limine.conf
|
||||||
|
if [[ "$limine_config" != "/boot/limine.conf" ]] && [[ -f "$limine_config" ]]; then
|
||||||
|
sudo rm "$limine_config"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Match Snapper configs if not installing from the ISO
|
# Match Snapper configs if not installing from the ISO
|
||||||
if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then
|
if [[ -z ${OMARCHY_CHROOT_INSTALL:-} ]]; then
|
||||||
@@ -120,17 +125,18 @@ if [[ -n $EFI ]] && efibootmgr &>/dev/null; then
|
|||||||
done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Arch Linux Limine" | sed 's/^Boot\([0-9]\{4\}\).*/\1/')
|
done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Arch Linux Limine" | sed 's/^Boot\([0-9]\{4\}\).*/\1/')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n $EFI ]] && efibootmgr &>/dev/null &&
|
# Move this to a utility to allow manual activation
|
||||||
! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" &&
|
# if [[ -n $EFI ]] && efibootmgr &>/dev/null &&
|
||||||
! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
|
# ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" &&
|
||||||
|
# ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
|
||||||
uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
|
#
|
||||||
|
# uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
|
||||||
if [[ -n "$uki_file" ]]; then
|
#
|
||||||
sudo efibootmgr --create \
|
# if [[ -n "$uki_file" ]]; then
|
||||||
--disk "$(findmnt -n -o SOURCE /boot | sed 's/p\?[0-9]*$//')" \
|
# sudo efibootmgr --create \
|
||||||
--part "$(findmnt -n -o SOURCE /boot | grep -o 'p\?[0-9]*$' | sed 's/^p//')" \
|
# --disk "$(findmnt -n -o SOURCE /boot | sed 's/p\?[0-9]*$//')" \
|
||||||
--label "Omarchy" \
|
# --part "$(findmnt -n -o SOURCE /boot | grep -o 'p\?[0-9]*$' | sed 's/^p//')" \
|
||||||
--loader "\\EFI\\Linux\\$uki_file"
|
# --label "Omarchy" \
|
||||||
fi
|
# --loader "\\EFI\\Linux\\$uki_file"
|
||||||
fi
|
# fi
|
||||||
|
# fi
|
||||||
|
|||||||
@@ -22,20 +22,8 @@ docker
|
|||||||
docker-buildx
|
docker-buildx
|
||||||
docker-compose
|
docker-compose
|
||||||
dust
|
dust
|
||||||
elephant
|
|
||||||
elephant-bluetooth
|
|
||||||
elephant-calc
|
|
||||||
elephant-clipboard
|
|
||||||
elephant-desktopapplications
|
|
||||||
elephant-files
|
|
||||||
elephant-menus
|
|
||||||
elephant-providerlist
|
|
||||||
elephant-runner
|
|
||||||
elephant-symbols
|
|
||||||
elephant-todo
|
|
||||||
elephant-unicode
|
|
||||||
elephant-websearch
|
|
||||||
evince
|
evince
|
||||||
|
expac
|
||||||
eza
|
eza
|
||||||
fastfetch
|
fastfetch
|
||||||
fcitx5
|
fcitx5
|
||||||
@@ -57,7 +45,7 @@ gvfs-nfs
|
|||||||
gvfs-smb
|
gvfs-smb
|
||||||
hypridle
|
hypridle
|
||||||
hyprland
|
hyprland
|
||||||
hyprland-qtutils
|
hyprland-guiutils
|
||||||
hyprlock
|
hyprlock
|
||||||
hyprpicker
|
hyprpicker
|
||||||
hyprsunset
|
hyprsunset
|
||||||
@@ -65,6 +53,7 @@ imagemagick
|
|||||||
impala
|
impala
|
||||||
imv
|
imv
|
||||||
inetutils
|
inetutils
|
||||||
|
inxi
|
||||||
iwd
|
iwd
|
||||||
jq
|
jq
|
||||||
kdenlive
|
kdenlive
|
||||||
@@ -96,6 +85,7 @@ obs-studio
|
|||||||
obsidian
|
obsidian
|
||||||
omarchy-chromium
|
omarchy-chromium
|
||||||
omarchy-nvim
|
omarchy-nvim
|
||||||
|
omarchy-walker
|
||||||
pamixer
|
pamixer
|
||||||
pinta
|
pinta
|
||||||
playerctl
|
playerctl
|
||||||
@@ -130,9 +120,8 @@ ufw
|
|||||||
ufw-docker
|
ufw-docker
|
||||||
unzip
|
unzip
|
||||||
uwsm
|
uwsm
|
||||||
walker
|
|
||||||
waybar
|
waybar
|
||||||
wayfreeze-git
|
wayfreeze
|
||||||
whois
|
whois
|
||||||
wireless-regdb
|
wireless-regdb
|
||||||
wiremix
|
wiremix
|
||||||
@@ -141,6 +130,7 @@ wl-clipboard
|
|||||||
woff2-font-awesome
|
woff2-font-awesome
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-terminal-exec
|
||||||
xmlstarlet
|
xmlstarlet
|
||||||
xournalpp
|
xournalpp
|
||||||
yaru-icon-theme
|
yaru-icon-theme
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
|
# Includes lazyvim and the themes
|
||||||
omarchy-nvim-setup
|
omarchy-nvim-setup
|
||||||
|
|||||||
@@ -22,8 +22,6 @@ fi
|
|||||||
|
|
||||||
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then
|
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then
|
||||||
sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null
|
sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null
|
||||||
echo
|
|
||||||
echo_in_style "Remember to remove USB installer!"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Exit gracefully if user chooses not to reboot
|
# Exit gracefully if user chooses not to reboot
|
||||||
|
|||||||
@@ -6,6 +6,13 @@ if [[ -n ${OMARCHY_ONLINE_INSTALL:-} ]]; then
|
|||||||
sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf
|
sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf
|
||||||
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist
|
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
|
||||||
|
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571
|
||||||
|
|
||||||
|
sudo pacman -Sy
|
||||||
|
sudo pacman -S --noconfirm --needed omarchy-keyring
|
||||||
|
|
||||||
|
|
||||||
# Refresh all repos
|
# Refresh all repos
|
||||||
sudo pacman -Syu --noconfirm
|
sudo pacman -Syu --noconfirm
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -17,5 +17,5 @@ fi
|
|||||||
|
|
||||||
# Use default terminal for keybinding
|
# Use default terminal for keybinding
|
||||||
if grep -q "terminal = uwsm app" ~/.config/hypr/bindings.conf; then
|
if grep -q "terminal = uwsm app" ~/.config/hypr/bindings.conf; then
|
||||||
sed -i '/terminal = uwsm-app -- alacritty/ c\$terminal = uwsm-app -- $TERMINAL' ~/.config/hypr/bindings.conf
|
sed -Ei '/terminal = uwsm[- ]app -- alacritty/ c\$terminal = uwsm-app -- $TERMINAL' ~/.config/hypr/bindings.conf
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
echo "Fix opening in nvim from files manager"
|
|
||||||
|
|
||||||
cp -f $OMARCHY_PATH/applications/nvim.desktop ~/.local/share/applications/nvim.desktop
|
|
||||||
7
migrations/1761180745.sh
Normal file
7
migrations/1761180745.sh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
echo "Ensure interactive shell check is at the top of .bashrc"
|
||||||
|
|
||||||
|
BASHRC="$HOME/.bashrc"
|
||||||
|
|
||||||
|
if [ -f "$BASHRC" ] && ! grep -q '\[\[ $- != \*i\* \]\] && return' "$BASHRC"; then
|
||||||
|
sed -i '1i# If not running interactively, don'\''t do anything (leave this at the top of this file)\n[[ $- != *i* ]] && return\n' "$BASHRC"
|
||||||
|
fi
|
||||||
3
migrations/1761181166.sh
Normal file
3
migrations/1761181166.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
echo "Change to pinned version of wayfreeze"
|
||||||
|
omarchy-pkg-drop wayfreeze-git
|
||||||
|
omarchy-pkg-add wayfreeze
|
||||||
33
migrations/1761241493.sh
Normal file
33
migrations/1761241493.sh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
echo "Cleanup extra UKI if needed to prevent errors"
|
||||||
|
if [[ -f /boot/EFI/linux/omarchy_linux.efi ]] && [[ -f /boot/EFI/linux/$(cat /etc/machine-id)_linux.efi ]]; then
|
||||||
|
sudo rm -f /boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi
|
||||||
|
|
||||||
|
if grep -q "/boot/EFI/Linux/$(cat /etc/machine-id)_linux.efi" /boot/limine.conf; then
|
||||||
|
echo -e "Resetting limine config\n(you may need to re-add other entries via sudo limine-update)"
|
||||||
|
|
||||||
|
sudo mv /boot/limine.conf /boot/limine.conf.bak
|
||||||
|
sudo tee /boot/limine.conf <<EOF >/dev/null
|
||||||
|
### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md
|
||||||
|
#timeout: 3
|
||||||
|
default_entry: 2
|
||||||
|
interface_branding: Omarchy Bootloader
|
||||||
|
interface_branding_color: 2
|
||||||
|
hash_mismatch_panic: no
|
||||||
|
|
||||||
|
term_background: 1a1b26
|
||||||
|
backdrop: 1a1b26
|
||||||
|
|
||||||
|
# Terminal colors (Tokyo Night palette)
|
||||||
|
term_palette: 15161e;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;a9b1d6
|
||||||
|
term_palette_bright: 414868;f7768e;9ece6a;e0af68;7aa2f7;bb9af7;7dcfff;c0caf5
|
||||||
|
|
||||||
|
# Text colors
|
||||||
|
term_foreground: c0caf5
|
||||||
|
term_foreground_bright: c0caf5
|
||||||
|
term_background_bright: 24283b
|
||||||
|
|
||||||
|
EOF
|
||||||
|
sudo limine-update
|
||||||
|
sudo limine-snapper-sync
|
||||||
|
fi
|
||||||
|
fi
|
||||||
2
migrations/1761247569.sh
Normal file
2
migrations/1761247569.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
echo "Install expac and inxi for omarchy-debug"
|
||||||
|
omarchy-pkg-add expac inxi
|
||||||
8
migrations/1761269603.sh
Normal file
8
migrations/1761269603.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
echo "Add right-click terminal action to waybar omarchy menu icon"
|
||||||
|
|
||||||
|
WAYBAR_CONFIG="$HOME/.config/waybar/config.jsonc"
|
||||||
|
|
||||||
|
if [[ -f "$WAYBAR_CONFIG" ]] && ! grep -A5 '"custom/omarchy"' "$WAYBAR_CONFIG" | grep -q '"on-click-right"'; then
|
||||||
|
sed -i '/"on-click": "omarchy-menu",/a\ "on-click-right": "omarchy-launch-terminal",' "$WAYBAR_CONFIG"
|
||||||
|
omarchy-state set restart-waybar-required
|
||||||
|
fi
|
||||||
5
migrations/1761274806.sh
Normal file
5
migrations/1761274806.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
echo "Ensure node is available via mise (for treesitter cli)"
|
||||||
|
|
||||||
|
if omarchy-cmd-missing node; then
|
||||||
|
mise use -g node@latest
|
||||||
|
fi
|
||||||
11
migrations/1761274980.sh
Normal file
11
migrations/1761274980.sh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
echo "Migrate to proper packages for localsend and asdcontrol"
|
||||||
|
|
||||||
|
if omarchy-pkg-present localsend-bin; then
|
||||||
|
omarchy-pkg-drop localsend-bin
|
||||||
|
omarchy-pkg-add localsend
|
||||||
|
fi
|
||||||
|
|
||||||
|
if omarchy-pkg-present asdcontrol-git; then
|
||||||
|
omarchy-pkg-drop asdcontrol-git
|
||||||
|
omarchy-pkg-add asdcontrol
|
||||||
|
fi
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user