mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
38 Commits
sddm-uki-c
...
polkit-err
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
267a9e1765 | ||
|
|
0e1f585166 | ||
|
|
d3f70a0c22 | ||
|
|
39541b4876 | ||
|
|
edbafe7a13 | ||
|
|
b97cba39af | ||
|
|
6d20a13076 | ||
|
|
bf4fb40877 | ||
|
|
4365a52a08 | ||
|
|
f701cf7c6d | ||
|
|
9c5cf01410 | ||
|
|
6ea9c9311e | ||
|
|
66abd7dc2e | ||
|
|
819da32ebb | ||
|
|
5b062cddce | ||
|
|
e9ab1d9bcc | ||
|
|
f956233ecf | ||
|
|
e6d1a2f754 | ||
|
|
dfd133df87 | ||
|
|
2326018341 | ||
|
|
011174699c | ||
|
|
1ffed127db | ||
|
|
a38d80ee9f | ||
|
|
a401c74083 | ||
|
|
5faa2c8d49 | ||
|
|
3f25fcbd98 | ||
|
|
14b020dcfb | ||
|
|
c91c75a5e6 | ||
|
|
e3658556ea | ||
|
|
2971a25a4f | ||
|
|
2c14252d7d | ||
|
|
b0ee5d2e79 | ||
|
|
7a7266aed0 | ||
|
|
6892304277 | ||
|
|
6aac67a1d5 | ||
|
|
2666e75666 | ||
|
|
d40c1ba454 | ||
|
|
648832dcc6 |
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@@ -0,0 +1,9 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
@@ -2,7 +2,7 @@
|
||||
Name=Neovim
|
||||
GenericName=Text Editor
|
||||
Comment=Edit text files
|
||||
Exec=sh -c "$TERMINAL --class=nvim --title=nvim -e nvim -- %F"
|
||||
Exec=omarchy-launch-editor %F
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Keywords=Text;editor;
|
||||
|
||||
@@ -8,7 +8,9 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then
|
||||
rm -f "$FIRST_RUN_MODE"
|
||||
|
||||
bash "$OMARCHY_PATH/install/first-run/battery-monitor.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/cleanup-reboot-sudoers.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/firewall.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
||||
sudo rm -f /etc/sudoers.d/first-run
|
||||
|
||||
|
||||
@@ -5,7 +5,13 @@ terminal_pid=$(hyprctl activewindow | awk '/pid:/ {print $2}')
|
||||
shell_pid=$(pgrep -P "$terminal_pid" | head -n1)
|
||||
|
||||
if [[ -n $shell_pid ]]; then
|
||||
readlink -f "/proc/$shell_pid/cwd" 2>/dev/null || echo "$HOME"
|
||||
cwd=$(readlink -f "/proc/$shell_pid/cwd" 2>/dev/null)
|
||||
|
||||
if [[ -d $cwd ]]; then
|
||||
echo "$cwd"
|
||||
else
|
||||
echo "$HOME"
|
||||
fi
|
||||
else
|
||||
echo "$HOME"
|
||||
fi
|
||||
|
||||
@@ -4,5 +4,5 @@ echo "Installing all dependencies..."
|
||||
omarchy-pkg-add dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
|
||||
|
||||
echo "Starting Dropbox..."
|
||||
uwsm app -- dropbox-cli start &>/dev/null &
|
||||
uwsm-app -- dropbox-cli start &>/dev/null &
|
||||
echo "See Dropbox icon behind hover tray in top right and right-click for setup."
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/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 -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s'
|
||||
|
||||
@@ -9,4 +9,4 @@ else
|
||||
private_flag="--incognito"
|
||||
fi
|
||||
|
||||
exec setsid uwsm app -- "$browser_exec" "${@/--private/$private_flag}"
|
||||
exec setsid uwsm-app -- "$browser_exec" "${@/--private/$private_flag}"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
case "${EDITOR:-nvim}" in
|
||||
nvim | vim | nano | micro | hx)
|
||||
exec setsid uwsm app -- "$TERMINAL" -e "$EDITOR" "$@"
|
||||
nvim | vim | nano | micro | hx | helix)
|
||||
exec setsid uwsm-app -- "$TERMINAL" -e "$EDITOR" "$@"
|
||||
;;
|
||||
*)
|
||||
exec setsid uwsm app -- "$EDITOR" "$@"
|
||||
exec setsid uwsm-app -- "$EDITOR" "$@"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
cmd="$*"
|
||||
exec setsid uwsm app -- alacritty --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
||||
exec setsid uwsm-app -- alacritty -o font.size=9 --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
||||
@@ -6,7 +6,7 @@ if (($# == 0)); then
|
||||
fi
|
||||
|
||||
WINDOW_PATTERN="$1"
|
||||
LAUNCH_COMMAND="${2:-"uwsm app -- $WINDOW_PATTERN"}"
|
||||
LAUNCH_COMMAND="${2:-"uwsm-app -- $WINDOW_PATTERN"}"
|
||||
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1)
|
||||
|
||||
if [[ -n $WINDOW_ADDRESS ]]; then
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
if (($# == 0)); then
|
||||
echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url]"
|
||||
echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url-and-flags...]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec omarchy-launch-or-focus "$1" "omarchy-launch-webapp '$2'"
|
||||
WINDOW_PATTERN="$1"
|
||||
shift
|
||||
LAUNCH_COMMAND="omarchy-launch-webapp $@"
|
||||
|
||||
exec omarchy-launch-or-focus "$WINDOW_PATTERN" "$LAUNCH_COMMAND"
|
||||
@@ -7,4 +7,4 @@ google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium-b
|
||||
*) browser="chromium.desktop" ;;
|
||||
esac
|
||||
|
||||
exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"
|
||||
exec setsid uwsm-app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec setsid uwsm app -- "$TERMINAL" --class=Impala -e impala "$@"
|
||||
exec setsid uwsm-app -- "$TERMINAL" --class=Impala -e impala "$@"
|
||||
|
||||
@@ -9,4 +9,4 @@ if pgrep -x "1password" >/dev/null; then
|
||||
fi
|
||||
|
||||
# Avoid running screensaver when locked
|
||||
pkill -f "$TERMINAL --class Screensaver"
|
||||
pkill -f "alacritty --class Screensaver"
|
||||
|
||||
@@ -286,8 +286,9 @@ show_install_ai_menu() {
|
||||
echo ollama
|
||||
)
|
||||
|
||||
case $(menu "Install" " Claude Code\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 [AUR]\n Gemini [AUR]\n OpenAI Codex [AUR]\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||
*Claude*) install "Claude Code" "claude-code" ;;
|
||||
*Cursor*) aur_install "Cursor CLI" "cursor-cli" ;;
|
||||
*OpenAI*) aur_install "OpenAI Codex" "openai-codex-bin" ;;
|
||||
*Gemini*) aur_install "Gemini" "gemini-cli" ;;
|
||||
*Studio*) install "LM Studio" "lmstudio" ;;
|
||||
|
||||
@@ -80,6 +80,7 @@ dynamic_bindings() {
|
||||
-e 's/null//' \
|
||||
-e 's,~/.local/share/omarchy/bin/,,' \
|
||||
-e 's,uwsm app -- ,,' \
|
||||
-e 's,uwsm-app -- ,,' \
|
||||
-e 's/@0//' \
|
||||
-e 's/,@/,code:/' \
|
||||
-e 's/^0,/,/' \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
pkill -x $1
|
||||
setsid uwsm app -- $1 >/dev/null 2>&1 &
|
||||
setsid uwsm-app -- $1 >/dev/null 2>&1 &
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
pkill walker
|
||||
# FIXME: Just deal with the memory leak for now.
|
||||
# See https://github.com/basecamp/omarchy/issues/698
|
||||
setsid uwsm app -- walker --gapplication-service &
|
||||
setsid uwsm-app -- walker --gapplication-service &
|
||||
echo # Always end in success so we don't terminate further running
|
||||
|
||||
@@ -11,7 +11,7 @@ TOTAL=${#BACKGROUNDS[@]}
|
||||
if [[ $TOTAL -eq 0 ]]; then
|
||||
notify-send "No background was found for theme" -t 2000
|
||||
pkill -x swaybg
|
||||
setsid uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 &
|
||||
setsid uwsm-app -- swaybg --color '#000000' >/dev/null 2>&1 &
|
||||
else
|
||||
# Get current background from symlink
|
||||
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
|
||||
@@ -44,5 +44,5 @@ else
|
||||
|
||||
# Relaunch swaybg
|
||||
pkill -x swaybg
|
||||
setsid uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
|
||||
setsid uwsm-app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
@@ -30,9 +30,10 @@ hyprctl reload
|
||||
pkill -SIGUSR2 btop
|
||||
makoctl reload
|
||||
|
||||
# Change gnome, browser, vscode themes
|
||||
# Change gnome, browser, vscode, cursor themes
|
||||
omarchy-theme-set-terminal
|
||||
omarchy-theme-set-gnome
|
||||
omarchy-theme-set-eza
|
||||
omarchy-theme-set-browser
|
||||
omarchy-theme-set-vscode
|
||||
omarchy-theme-set-cursor
|
||||
|
||||
4
bin/omarchy-theme-set-cursor
Executable file
4
bin/omarchy-theme-set-cursor
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Call the VSCode theme setter with Cursor-specific parameters
|
||||
omarchy-theme-set-vscode cursor "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes" Cursor
|
||||
@@ -3,43 +3,47 @@
|
||||
# Note: We cannot use `jq` to update settings.json because it’s JSONC (allows comments),
|
||||
# which jq doesn’t support.
|
||||
|
||||
VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
|
||||
VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json"
|
||||
VS_CODE_SKIP_FLAG="$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes"
|
||||
# Parameters: EDITOR_CMD SETTINGS_PATH SKIP_FLAG EDITOR_NAME
|
||||
EDITOR_CMD="${1:-code}"
|
||||
SETTINGS_PATH="${2:-$HOME/.config/Code/User/settings.json}"
|
||||
SKIP_FLAG="${3:-$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes}"
|
||||
EDITOR_NAME="${4:-VS Code}"
|
||||
|
||||
if omarchy-cmd-present code && [[ ! -f "$VS_CODE_SKIP_FLAG" ]]; then
|
||||
VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
|
||||
|
||||
if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then
|
||||
if [[ -f "$VS_CODE_THEME" ]]; then
|
||||
theme_name=$(jq -r '.name' "$VS_CODE_THEME")
|
||||
extension=$(jq -r '.extension' "$VS_CODE_THEME")
|
||||
|
||||
# Install VS Code theme extension
|
||||
if [[ -n "$extension" ]] && ! code --list-extensions | grep -Fxq "$extension"; then
|
||||
notify-send " Installing VS Code theme for $theme_name"
|
||||
code --install-extension "$extension" >/dev/null
|
||||
# Install $EDITOR_NAME theme extension
|
||||
if [[ -n "$extension" ]] && ! "$EDITOR_CMD" --list-extensions | grep -Fxq "$extension"; then
|
||||
notify-send " Installing $EDITOR_NAME theme for $theme_name"
|
||||
"$EDITOR_CMD" --install-extension "$extension" >/dev/null
|
||||
fi
|
||||
|
||||
# Create config file if there isn't already one
|
||||
mkdir -p "$(dirname "$VS_CODE_SETTINGS")"
|
||||
if [[ ! -f "$VS_CODE_SETTINGS" ]]; then
|
||||
printf '{\n}\n' > "$VS_CODE_SETTINGS"
|
||||
mkdir -p "$(dirname "$SETTINGS_PATH")"
|
||||
if [[ ! -f "$SETTINGS_PATH" ]]; then
|
||||
printf '{\n}\n' > "$SETTINGS_PATH"
|
||||
fi
|
||||
|
||||
# Create a `workbench.colorTheme` entry in settings.
|
||||
if ! grep -q '"workbench.colorTheme"' "$VS_CODE_SETTINGS"; then
|
||||
# Create a `workbench.colorTheme` entry in settings.
|
||||
if ! grep -q '"workbench.colorTheme"' "$SETTINGS_PATH"; then
|
||||
# Insert `"workbench.colorTheme": "",` immediately after the first `{`
|
||||
# Use sed's first-match range (0,/{/) to only replace the first `{`
|
||||
sed -i --follow-symlinks -E '0,/\{/{s/\{/{\
|
||||
"workbench.colorTheme": "",/}' "$VS_CODE_SETTINGS"
|
||||
"workbench.colorTheme": "",/}' "$SETTINGS_PATH"
|
||||
fi
|
||||
|
||||
# Update theme
|
||||
sed -i --follow-symlinks -E \
|
||||
"s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \
|
||||
"$VS_CODE_SETTINGS"
|
||||
"$SETTINGS_PATH"
|
||||
else
|
||||
# Remove theme from settings.json when the theme doesn't have vscode support
|
||||
if [[ -f "$VS_CODE_SETTINGS" ]]; then
|
||||
sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$VS_CODE_SETTINGS"
|
||||
# Remove theme from settings.json when the theme doesn't have $EDITOR_NAME support
|
||||
if [[ -f "$SETTINGS_PATH" ]]; then
|
||||
sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$SETTINGS_PATH"
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -4,6 +4,6 @@ if pgrep -x hypridle >/dev/null; then
|
||||
pkill -x hypridle
|
||||
notify-send "Stop locking computer when idle"
|
||||
else
|
||||
uwsm app -- hypridle >/dev/null 2>&1 &
|
||||
uwsm-app -- hypridle >/dev/null 2>&1 &
|
||||
notify-send "Now locking computer when idle"
|
||||
fi
|
||||
|
||||
@@ -6,7 +6,7 @@ OFF_TEMP=6000
|
||||
|
||||
# Ensure hyprsunset is running
|
||||
if ! pgrep -x hyprsunset; then
|
||||
setsid uwsm app -- hyprsunset &
|
||||
setsid uwsm-app -- hyprsunset &
|
||||
sleep 1 # Give it time to register
|
||||
fi
|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
if pgrep -x waybar >/dev/null; then
|
||||
pkill -x waybar
|
||||
else
|
||||
uwsm app -- waybar >/dev/null 2>&1 &
|
||||
uwsm-app -- waybar >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
@@ -16,5 +16,6 @@ decorations = "None"
|
||||
|
||||
[keyboard]
|
||||
bindings = [
|
||||
{ key = "F11", action = "ToggleFullscreen" }
|
||||
{ key = "F11", action = "ToggleFullscreen" },
|
||||
{ key = "Insert", mods = "Shift", action = "Paste" }
|
||||
]
|
||||
|
||||
@@ -7,10 +7,12 @@ font-style = Regular
|
||||
font-size = 9
|
||||
|
||||
# Window
|
||||
window-theme = ghostty
|
||||
window-padding-x = 14
|
||||
window-padding-y = 14
|
||||
confirm-close-surface=false
|
||||
resize-overlay = never
|
||||
gtk-toolbar-style = flat
|
||||
|
||||
# Cursor styling
|
||||
cursor-style = "block"
|
||||
@@ -19,3 +21,7 @@ shell-integration-features = no-cursor
|
||||
|
||||
# Keyboard bindings
|
||||
keybind = f11=toggle_fullscreen
|
||||
keybind = shift+insert=paste_from_clipboard
|
||||
|
||||
# SSH session terminfo
|
||||
shell-integration-features = ssh-env
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Extra autostart processes
|
||||
# exec-once = uwsm app -- my-service
|
||||
# exec-once = uwsm-app -- my-service
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
# Application bindings
|
||||
$terminal = uwsm app -- $TERMINAL
|
||||
$terminal = uwsm-app -- $TERMINAL
|
||||
$browser = omarchy-launch-browser
|
||||
|
||||
bindd = SUPER, RETURN, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)"
|
||||
bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window
|
||||
bindd = SUPER, F, File manager, exec, uwsm-app -- nautilus --new-window
|
||||
bindd = SUPER, B, Browser, exec, $browser
|
||||
bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private
|
||||
bindd = SUPER, M, Music, exec, omarchy-launch-or-focus spotify
|
||||
bindd = SUPER, N, Editor, exec, omarchy-launch-editor
|
||||
bindd = SUPER, T, Activity, exec, $terminal -e btop
|
||||
bindd = SUPER, D, Docker, exec, $terminal -e lazydocker
|
||||
bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm app -- signal-desktop"
|
||||
bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm app -- obsidian -disable-gpu --enable-wayland-ime"
|
||||
bindd = SUPER, SLASH, Passwords, exec, uwsm app -- 1password
|
||||
bindd = SUPER, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop"
|
||||
bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
||||
bindd = SUPER, 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 from treating it as a comment
|
||||
bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com"
|
||||
bindd = SUPER SHIFT, A, Grok, exec, omarchy-launch-webapp "https://grok.com"
|
||||
bindd = SUPER, 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/"
|
||||
bindd = SUPER, E, Email, exec, omarchy-launch-webapp "https://app.hey.com"
|
||||
bindd = SUPER, Y, YouTube, exec, omarchy-launch-or-focus-webapp YouTube "https://youtube.com/"
|
||||
bindd = SUPER SHIFT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/"
|
||||
|
||||
@@ -21,7 +21,7 @@ path = "~/.config/hypr/hyprland.conf"
|
||||
hidden = true
|
||||
|
||||
[builtins.applications]
|
||||
launch_prefix = "uwsm app -- "
|
||||
launch_prefix = "uwsm-app -- "
|
||||
placeholder = " Search..."
|
||||
prioritize_new = false
|
||||
context_aware = false
|
||||
|
||||
@@ -5,6 +5,7 @@ windowrule = size 800 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:(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 = float, class:org.gnome.Calculator
|
||||
|
||||
# Fullscreen screensaver
|
||||
windowrule = fullscreen, class:Screensaver
|
||||
|
||||
@@ -5,7 +5,7 @@ bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows
|
||||
# Control tiling
|
||||
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
|
||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||
bindd = SUPER, V, Toggle floating, togglefloating,
|
||||
bindd = SUPER SHIFT, V, Toggle floating, togglefloating,
|
||||
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
||||
bindd = ALT, F11, Full width, fullscreen, 1
|
||||
|
||||
@@ -69,3 +69,24 @@ bindd = SUPER, MOUSE_UP, Scroll active workspace backward, workspace, e-1
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindmd = SUPER, mouse:272, Move window, movewindow
|
||||
bindmd = SUPER, mouse:273, Resize window, resizewindow
|
||||
|
||||
# Toggle groups
|
||||
bindd = SUPER ALT, RETURN, Toggle window grouping, togglegroup
|
||||
bindd = SUPER ALT, BACKSPACE, Move active window out of group, moveoutofgroup
|
||||
|
||||
# Join groups
|
||||
bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l
|
||||
bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r
|
||||
bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u
|
||||
bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d
|
||||
|
||||
# Navigate a single set of grouped windows
|
||||
bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f
|
||||
bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b
|
||||
|
||||
# Activate window in a group by number
|
||||
bindd = SUPER ALT, 1, Switch to group window 1, changegroupactive, 1
|
||||
bindd = SUPER ALT, 2, Switch to group window 2, changegroupactive, 2
|
||||
bindd = SUPER ALT, 3, Switch to group window 3, changegroupactive, 3
|
||||
bindd = SUPER ALT, 4, Switch to group window 4, changegroupactive, 4
|
||||
bindd = SUPER ALT, 5, Switch to group window 5, changegroupactive, 5
|
||||
|
||||
@@ -45,3 +45,7 @@ bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a
|
||||
|
||||
# File sharing
|
||||
bindd = CTRL SUPER, S, Share, exec, omarchy-menu share
|
||||
|
||||
# Copy / Paste
|
||||
bind = SUPER, C, sendshortcut, CTRL, Insert,
|
||||
bind = SUPER, V, sendshortcut, SHIFT, Insert,
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# Variables
|
||||
$activeBorderColor = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
$inactiveBorderColor = rgba(595959aa)
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 5
|
||||
@@ -8,8 +12,8 @@ general {
|
||||
border_size = 2
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
col.active_border = $activeBorderColor
|
||||
col.inactive_border = $inactiveBorderColor
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false
|
||||
@@ -41,6 +45,38 @@ decoration {
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#group
|
||||
group {
|
||||
col.border_active = $activeBorderColor
|
||||
col.border_inactive = $inactiveBorderColor
|
||||
col.border_locked_active = -1
|
||||
col.border_locked_inactive = -1
|
||||
|
||||
groupbar {
|
||||
font_size = 12
|
||||
font_family = monospace
|
||||
font_weight_active = ultraheavy
|
||||
font_weight_inactive = normal
|
||||
|
||||
indicator_height = 0
|
||||
indicator_gap = 5
|
||||
height = 22
|
||||
gaps_in = 5
|
||||
gaps_out = 0
|
||||
|
||||
text_color = rgb(ffffff)
|
||||
text_color_inactive = rgba(ffffff90)
|
||||
col.active = rgba(00000040)
|
||||
col.inactive = rgba(00000020)
|
||||
|
||||
gradients = true
|
||||
gradient_rounding = 0
|
||||
gradient_round_only_edges = false
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
@@ -2,6 +2,12 @@ anchor=top-right
|
||||
default-timeout=5000
|
||||
width=420
|
||||
height=110
|
||||
outer-margin=20
|
||||
padding=10,15
|
||||
border-size=2
|
||||
max-icon-size=32
|
||||
font=sans-serif 14px
|
||||
format=<span line_height="1.2"><b>%s</b>\n%b</span>
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
3
install/first-run/cleanup-reboot-sudoers.sh
Normal file
3
install/first-run/cleanup-reboot-sudoers.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
if sudo test -f /etc/sudoers.d/99-omarchy-installer-reboot; then
|
||||
sudo rm -f /etc/sudoers.d/99-omarchy-installer-reboot
|
||||
fi
|
||||
4
install/first-run/dns-resolver.sh
Normal file
4
install/first-run/dns-resolver.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
# https://wiki.archlinux.org/title/Systemd-resolved
|
||||
echo "Symlink resolved stub-resolv to /etc/resolv.conf"
|
||||
|
||||
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
|
||||
@@ -1,3 +1,3 @@
|
||||
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
||||
notify-send " Click to Setup Wi-Fi" "Tab between sections, space selects, ? for help." -u critical -t 30000
|
||||
notify-send " Click to Setup Wi-Fi" "Tab to navigate, Space to select, ? for help." -u critical -t 30000
|
||||
fi
|
||||
|
||||
@@ -2,6 +2,8 @@ KEYRING_DIR="$HOME/.local/share/keyrings"
|
||||
KEYRING_FILE="$KEYRING_DIR/Default_keyring.keyring"
|
||||
DEFAULT_FILE="$KEYRING_DIR/default"
|
||||
|
||||
mkdir -p $KEYRING_DIR
|
||||
|
||||
cat << EOF | tee "$KEYRING_FILE"
|
||||
[keyring]
|
||||
display-name=Default keyring
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
1password-beta
|
||||
1password-cli
|
||||
alacritty
|
||||
asdcontrol-git
|
||||
asdcontrol
|
||||
avahi
|
||||
bash-completion
|
||||
bat
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
run_logged $OMARCHY_INSTALL/post-install/pacman.sh
|
||||
source $OMARCHY_INSTALL/post-install/allow-reboot.sh
|
||||
source $OMARCHY_INSTALL/post-install/finished.sh
|
||||
|
||||
5
install/post-install/allow-reboot.sh
Normal file
5
install/post-install/allow-reboot.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
# Allow passwordless reboot for the installer - removed in first-run
|
||||
sudo tee /etc/sudoers.d/99-omarchy-installer-reboot >/dev/null <<EOF
|
||||
$USER ALL=(ALL) NOPASSWD: /usr/bin/reboot
|
||||
EOF
|
||||
sudo chmod 440 /etc/sudoers.d/99-omarchy-installer-reboot
|
||||
@@ -31,10 +31,10 @@ if gum confirm --padding "0 0 0 $((PADDING_LEFT + 32))" --show-help=false --defa
|
||||
# Clear screen to hide any shutdown messages
|
||||
clear
|
||||
|
||||
# Use systemctl if available, otherwise fallback to reboot command
|
||||
if command -v systemctl &>/dev/null; then
|
||||
systemctl reboot --no-wall 2>/dev/null
|
||||
if [[ -n "${OMARCHY_CHROOT_INSTALL:-}" ]]; then
|
||||
touch /var/tmp/omarchy-install-completed
|
||||
exit 0
|
||||
else
|
||||
reboot 2>/dev/null
|
||||
sudo reboot 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -5,9 +5,11 @@ touch ~/.local/state/omarchy/first-run.mode
|
||||
# Setup sudo-less access for first-run
|
||||
sudo tee /etc/sudoers.d/first-run >/dev/null <<EOF
|
||||
Cmnd_Alias FIRST_RUN_CLEANUP = /bin/rm -f /etc/sudoers.d/first-run
|
||||
Cmnd_Alias SYMLINK_RESOLVED = /usr/bin/ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
|
||||
$USER ALL=(ALL) NOPASSWD: /usr/bin/ufw
|
||||
$USER ALL=(ALL) NOPASSWD: /usr/bin/ufw-docker
|
||||
$USER ALL=(ALL) NOPASSWD: /usr/bin/gtk-update-icon-cache
|
||||
$USER ALL=(ALL) NOPASSWD: SYMLINK_RESOLVED
|
||||
$USER ALL=(ALL) NOPASSWD: FIRST_RUN_CLEANUP
|
||||
EOF
|
||||
sudo chmod 440 /etc/sudoers.d/first-run
|
||||
|
||||
@@ -5,25 +5,36 @@ abort() {
|
||||
}
|
||||
|
||||
# Must be an Arch distro
|
||||
[[ -f /etc/arch-release ]] || abort "Vanilla Arch"
|
||||
if [[ ! -f /etc/arch-release ]]; then
|
||||
abort "Vanilla Arch"
|
||||
fi
|
||||
|
||||
# Must not be an Arch derivative distro
|
||||
for marker in /etc/cachyos-release /etc/eos-release /etc/garuda-release /etc/manjaro-release; do
|
||||
[[ -f "$marker" ]] && abort "Vanilla Arch"
|
||||
if [[ -f "$marker" ]]; then
|
||||
abort "Vanilla Arch"
|
||||
fi
|
||||
done
|
||||
|
||||
# Must not be running as root
|
||||
[ "$EUID" -eq 0 ] && abort "Running as root (not user)"
|
||||
if [ "$EUID" -eq 0 ]; then
|
||||
abort "Running as root (not user)"
|
||||
fi
|
||||
|
||||
# Must be x86 only to fully work
|
||||
[ "$(uname -m)" != "x86_64" ] && abort "x86_64 CPU"
|
||||
if [ "$(uname -m)" != "x86_64" ]; then
|
||||
abort "x86_64 CPU"
|
||||
fi
|
||||
|
||||
# Must have secure boot disabled
|
||||
bootctl status 2>/dev/null | grep -q 'Secure Boot: disabled' || abort "Secure Boot disabled"
|
||||
if bootctl status 2>/dev/null | grep -q 'Secure Boot: enabled'; then
|
||||
abort "Secure Boot disabled"
|
||||
fi
|
||||
|
||||
# Must not have Gnome or KDE already install
|
||||
pacman -Qe gnome-shell &>/dev/null && abort "Fresh + Vanilla Arch"
|
||||
pacman -Qe plasma-desktop &>/dev/null && abort "Fresh + Vanilla Arch"
|
||||
if pacman -Qe gnome-shell &>/dev/null || pacman -Qe plasma-desktop &>/dev/null; then
|
||||
abort "Fresh + Vanilla Arch"
|
||||
fi
|
||||
|
||||
# Must have limine installed
|
||||
command -v limine &>/dev/null || abort "Limine bootloader"
|
||||
|
||||
3
migrations/1759895423.sh
Normal file
3
migrations/1759895423.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
echo "Make shift+insert paste from clipboard"
|
||||
sed -i '/keybind = f11=toggle_fullscreen/a keybind = shift+insert=paste_from_clipboard' ~/.config/ghostty/config
|
||||
sed -i 's/{ key = "F11", action = "ToggleFullscreen" }/{ key = "F11", action = "ToggleFullscreen" },\n{ key = "Insert", mods = "Shift", action = "Paste" }/' ~/.config/alacritty/alacritty.toml
|
||||
2
migrations/1759946485.sh
Normal file
2
migrations/1759946485.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
echo "Move calendar to SUPER + SHIFT + C"
|
||||
sed -i 's/bindd = SUPER, 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\/"/' ~/.config/hypr/*.conf
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#4c4f69
|
||||
border-color=#1e66f5
|
||||
background-color=#eff1f5
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#cad3f5
|
||||
border-color=#c6d0f5
|
||||
background-color=#24273a
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#d3c6aa
|
||||
border-color=#d3c6aa
|
||||
background-color=#2d353b
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#d4be98
|
||||
border-color=#a89984
|
||||
background-color=#282828
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#dcd7ba
|
||||
border-color=#dcd7ba
|
||||
background-color=#1f1f28
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#8a8a8d
|
||||
border-color=#8A8A8D
|
||||
background-color=#1e1e1e
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#d8dee9
|
||||
border-color=#D8DEE9
|
||||
background-color=#2e3440
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -16,7 +16,7 @@ white = "#F6F5DD"
|
||||
[colors.bright]
|
||||
black = "#53685B"
|
||||
red = "#db9f9c"
|
||||
green = "#143614"
|
||||
green = "#63b07a"
|
||||
yellow = "#E5C736"
|
||||
blue = "#ACD4CF"
|
||||
magenta = "#75bbb3"
|
||||
|
||||
@@ -17,7 +17,7 @@ palette = 7=#F6F5DD
|
||||
# bright colors
|
||||
palette = 8=#53685B
|
||||
palette = 9=#db9f9c
|
||||
palette = 10=#143614
|
||||
palette = 10=#63b07a
|
||||
palette = 11=#E5C736
|
||||
palette = 12=#ACD4CF
|
||||
palette = 13=#75bbb3
|
||||
|
||||
@@ -20,7 +20,7 @@ color9 #DB9F9C
|
||||
|
||||
# green
|
||||
color2 #549E6A
|
||||
color10 #143614
|
||||
color10 #63b07a
|
||||
|
||||
# yellow
|
||||
color3 #459451
|
||||
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#C1C497
|
||||
border-color=#214237
|
||||
background-color=#11221C
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 12
|
||||
max-icon-size=32
|
||||
outer-margin=5
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#e6d9db
|
||||
border-color=#e6d9db
|
||||
background-color=#2c2525
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -3,8 +3,3 @@ include=~/.local/share/omarchy/default/mako/core.ini
|
||||
text-color=#575279
|
||||
border-color=#575279
|
||||
background-color=#faf4ed
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
@@ -1,10 +1,5 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#a9b1d6
|
||||
text-color=#c0caf5
|
||||
border-color=#33ccff
|
||||
background-color=#1a1b26
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
Reference in New Issue
Block a user