mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Merge branch 'dev' into colors-gemini
This commit is contained in:
@@ -1,7 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
NO_SUDO=false
|
||||
PRINT_ONLY=false
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--no-sudo)
|
||||
NO_SUDO=true
|
||||
shift
|
||||
;;
|
||||
--print)
|
||||
PRINT_ONLY=true
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Usage: omarchy-debug [--no-sudo] [--print]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
LOG_FILE="/tmp/omarchy-debug.log"
|
||||
|
||||
if [ "$NO_SUDO" = true ]; then
|
||||
DMESG_OUTPUT="(skipped - --no-sudo flag used)"
|
||||
else
|
||||
DMESG_OUTPUT="$(sudo dmesg)"
|
||||
fi
|
||||
|
||||
cat > "$LOG_FILE" <<EOF
|
||||
Date: $(date)
|
||||
Hostname: $(hostname)
|
||||
@@ -15,7 +42,7 @@ $(inxi -Farz)
|
||||
=========================================
|
||||
DMESG
|
||||
=========================================
|
||||
$(sudo dmesg)
|
||||
$DMESG_OUTPUT
|
||||
|
||||
=========================================
|
||||
JOURNALCTL (CURRENT BOOT, ERRORS ONLY)
|
||||
@@ -28,6 +55,11 @@ 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
|
||||
|
||||
if [ "$PRINT_ONLY" = true ]; then
|
||||
cat "$LOG_FILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
OPTIONS=("View log" "Save in current directory")
|
||||
if ping -c 1 8.8.8.8 >/dev/null 2>&1; then
|
||||
OPTIONS=("Upload log" "${OPTIONS[@]}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
cmd="$*"
|
||||
exec setsid uwsm-app -- xdg-terminal-exec --app-id=org.omarchy.terminal --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
|
||||
exec setsid uwsm-app -- xdg-terminal-exec --app-id=org.omarchy.terminal --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; if [ \$? -ne 130 ]; then omarchy-show-done; fi"
|
||||
|
||||
@@ -276,12 +276,13 @@ show_install_ai_menu() {
|
||||
echo ollama
|
||||
)
|
||||
|
||||
case $(menu "Install" " Claude Code\n Copilot CLI [AUR]\n Cursor CLI\n Gemini\n OpenAI Codex\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||
case $(menu "Install" " Dictation [AUR]\n Claude Code\n Copilot CLI [AUR]\n Cursor CLI\n Gemini\n OpenAI Codex\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||
*Dictation*) present_terminal "echo 'Installing Hyprwhspr from AUR...'; yay -S --noconfirm hyprwhspr && hyprwhspr setup" ;;
|
||||
*Claude*) install "Claude Code" "claude-code" ;;
|
||||
*Copilot*) aur_install "Copilot CLI" "github-copilot-cli" ;;
|
||||
*Cursor*) install "Cursor CLI" "cursor-cli" ;;
|
||||
*OpenAI*) install "OpenAI Codex" "openai-codex" ;;
|
||||
*Gemini*) install "Gemini" "gemini-cli" ;;
|
||||
*OpenAI*) install "OpenAI Codex" "openai-codex" ;;
|
||||
*Studio*) install "LM Studio" "lmstudio" ;;
|
||||
*Ollama*) install "Ollama" $ollama_pkg ;;
|
||||
*Crush*) install "Crush" "crush-bin" ;;
|
||||
@@ -366,10 +367,11 @@ show_install_elixir_menu() {
|
||||
}
|
||||
|
||||
show_remove_menu() {
|
||||
case $(menu "Remove" " Package\n Web App\n TUI\n Theme\n Windows\n Fingerprint\n Fido2") in
|
||||
case $(menu "Remove" " Package\n Web App\n TUI\n Development\n Theme\n Windows\n Fingerprint\n Fido2") in
|
||||
*Package*) terminal omarchy-pkg-remove ;;
|
||||
*Web*) present_terminal omarchy-webapp-remove ;;
|
||||
*TUI*) present_terminal omarchy-tui-remove ;;
|
||||
*Development*) show_remove_development_menu ;;
|
||||
*Theme*) present_terminal omarchy-theme-remove ;;
|
||||
*Windows*) present_terminal "omarchy-windows-vm remove" ;;
|
||||
*Fingerprint*) present_terminal "omarchy-setup-fingerprint --remove" ;;
|
||||
@@ -378,6 +380,50 @@ show_remove_menu() {
|
||||
esac
|
||||
}
|
||||
|
||||
show_remove_development_menu() {
|
||||
case $(menu "Remove" " Ruby on Rails\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n OCaml\n Clojure") in
|
||||
*Rails*) present_terminal "omarchy-remove-dev-env ruby" ;;
|
||||
*JavaScript*) show_remove_javascript_menu ;;
|
||||
*Go*) present_terminal "omarchy-remove-dev-env go" ;;
|
||||
*PHP*) show_remove_php_menu ;;
|
||||
*Python*) present_terminal "omarchy-remove-dev-env python" ;;
|
||||
*Elixir*) show_remove_elixir_menu ;;
|
||||
*Zig*) present_terminal "omarchy-remove-dev-env zig" ;;
|
||||
*Rust*) present_terminal "omarchy-remove-dev-env rust" ;;
|
||||
*Java*) present_terminal "omarchy-remove-dev-env java" ;;
|
||||
*NET*) present_terminal "omarchy-remove-dev-env dotnet" ;;
|
||||
*OCaml*) present_terminal "omarchy-remove-dev-env ocaml" ;;
|
||||
*Clojure*) present_terminal "omarchy-remove-dev-env clojure" ;;
|
||||
*) show_remove_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_remove_javascript_menu() {
|
||||
case $(menu "Remove" " Node.js\n Bun\n Deno") in
|
||||
*Node*) present_terminal "omarchy-remove-dev-env node" ;;
|
||||
*Bun*) present_terminal "omarchy-remove-dev-env bun" ;;
|
||||
*Deno*) present_terminal "omarchy-remove-dev-env deno" ;;
|
||||
*) show_remove_development_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_remove_php_menu() {
|
||||
case $(menu "Remove" " PHP\n Laravel\n Symfony") in
|
||||
*PHP*) present_terminal "omarchy-remove-dev-env php" ;;
|
||||
*Laravel*) present_terminal "omarchy-remove-dev-env laravel" ;;
|
||||
*Symfony*) present_terminal "omarchy-remove-dev-env symfony" ;;
|
||||
*) show_remove_development_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_remove_elixir_menu() {
|
||||
case $(menu "Remove" " Elixir\n Phoenix") in
|
||||
*Elixir*) present_terminal "omarchy-remove-dev-env elixir" ;;
|
||||
*Phoenix*) present_terminal "omarchy-remove-dev-env phoenix" ;;
|
||||
*) show_remove_development_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_update_menu() {
|
||||
case $(menu "Update" " Omarchy\n Channel\n Config\n Extra Themes\n Process\n Hardware\n Firmware\n Password\n Timezone\n Time") in
|
||||
*Omarchy*) present_terminal omarchy-update ;;
|
||||
@@ -478,6 +524,10 @@ go_to_menu() {
|
||||
esac
|
||||
}
|
||||
|
||||
# Allow user extensions and overrides
|
||||
USER_EXTENSIONS="$HOME/.config/omarchy/extensions/menu.sh"
|
||||
[[ -f $USER_EXTENSIONS ]] && source "$USER_EXTENSIONS"
|
||||
|
||||
if [[ -n "$1" ]]; then
|
||||
BACK_TO_EXIT=true
|
||||
go_to_menu "$1"
|
||||
|
||||
@@ -212,18 +212,26 @@ prioritize_entries() {
|
||||
cut -f2-
|
||||
}
|
||||
|
||||
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
||||
menu_height=$((monitor_height * 40 / 100))
|
||||
output_keybindings() {
|
||||
build_keymap_cache
|
||||
|
||||
build_keymap_cache
|
||||
{
|
||||
dynamic_bindings
|
||||
static_bindings
|
||||
} |
|
||||
sort -u |
|
||||
parse_keycodes |
|
||||
parse_bindings |
|
||||
prioritize_entries
|
||||
}
|
||||
|
||||
{
|
||||
dynamic_bindings
|
||||
static_bindings
|
||||
} |
|
||||
sort -u |
|
||||
parse_keycodes |
|
||||
parse_bindings |
|
||||
prioritize_entries |
|
||||
walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height"
|
||||
if [[ "$1" == "--print" || "$1" == "-p" ]]; then
|
||||
output_keybindings
|
||||
else
|
||||
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
||||
menu_height=$((monitor_height * 40 / 100))
|
||||
|
||||
output_keybindings |
|
||||
walker --dmenu -p 'Keybindings' --width 800 --height "$menu_height"
|
||||
fi
|
||||
|
||||
|
||||
19
bin/omarchy-refresh-chromium
Executable file
19
bin/omarchy-refresh-chromium
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
CONFIG_FILE="$HOME/.config/chromium-flags.conf"
|
||||
INSTALL_GOOGLE_ACCOUNTS=false
|
||||
|
||||
# Check if google accounts were installed
|
||||
if [[ -f "$CONFIG_FILE" ]] && \
|
||||
grep -q -- "--oauth2-client-id" "$CONFIG_FILE" && \
|
||||
grep -q -- "--oauth2-client-secret" "$CONFIG_FILE"; then
|
||||
INSTALL_GOOGLE_ACCOUNTS=true
|
||||
fi
|
||||
|
||||
# Refresh the Chromium configuration
|
||||
omarchy-refresh-config chromium-flags.conf
|
||||
|
||||
# Re-install Google accounts if previously configured
|
||||
if [[ "$INSTALL_GOOGLE_ACCOUNTS" == true ]]; then
|
||||
omarchy-install-chromium-google-account
|
||||
fi
|
||||
102
bin/omarchy-remove-dev-env
Executable file
102
bin/omarchy-remove-dev-env
Executable file
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "Usage: omarchy-remove-dev-env <ruby|node|bun|deno|go|php|laravel|symfony|python|elixir|phoenix|zig|rust|java|dotnet|ocaml|clojure>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
remove_php() {
|
||||
sudo pacman -Rns --noconfirm php composer php-sqlite xdebug 2>/dev/null || true
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
ruby)
|
||||
echo -e "Removing Ruby...\n"
|
||||
mise uninstall ruby --all
|
||||
mise rm -g ruby
|
||||
rm -f ~/.gemrc
|
||||
;;
|
||||
node)
|
||||
echo -e "Removing Node.js...\n"
|
||||
mise uninstall node --all
|
||||
mise rm -g node
|
||||
;;
|
||||
bun)
|
||||
echo -e "Removing Bun...\n"
|
||||
mise uninstall bun --all
|
||||
mise rm -g bun
|
||||
;;
|
||||
deno)
|
||||
echo -e "Removing Deno...\n"
|
||||
mise uninstall deno --all
|
||||
mise rm -g deno
|
||||
;;
|
||||
go)
|
||||
echo -e "Removing Go...\n"
|
||||
mise uninstall go --all
|
||||
mise rm -g go
|
||||
;;
|
||||
php)
|
||||
echo -e "Removing PHP...\n"
|
||||
remove_php
|
||||
;;
|
||||
laravel)
|
||||
echo -e "Removing Laravel...\n"
|
||||
composer global remove laravel/installer 2>/dev/null || true
|
||||
;;
|
||||
symfony)
|
||||
echo -e "Removing Symfony CLI...\n"
|
||||
sudo pacman -Rns --noconfirm symfony-cli 2>/dev/null || true
|
||||
;;
|
||||
python)
|
||||
echo -e "Removing Python...\n"
|
||||
mise uninstall python --all
|
||||
mise rm -g python
|
||||
rm -rf ~/.local/bin/uv ~/.local/bin/uvx ~/.cargo/bin/uv 2>/dev/null || true
|
||||
;;
|
||||
elixir|phoenix)
|
||||
echo -e "Removing Elixir/Erlang...\n"
|
||||
mise uninstall elixir --all
|
||||
mise uninstall erlang --all
|
||||
mise rm -g elixir
|
||||
mise rm -g erlang
|
||||
;;
|
||||
zig)
|
||||
echo -e "Removing Zig...\n"
|
||||
mise uninstall zig --all
|
||||
mise uninstall zls --all
|
||||
mise rm -g zig
|
||||
mise rm -g zls
|
||||
;;
|
||||
rust)
|
||||
echo -e "Removing Rust...\n"
|
||||
rustup self uninstall -y 2>/dev/null || true
|
||||
;;
|
||||
java)
|
||||
echo -e "Removing Java...\n"
|
||||
mise uninstall java --all
|
||||
mise rm -g java
|
||||
;;
|
||||
dotnet)
|
||||
echo -e "Removing .NET...\n"
|
||||
mise uninstall dotnet --all
|
||||
mise rm -g dotnet
|
||||
;;
|
||||
ocaml)
|
||||
echo -e "Removing OCaml...\n"
|
||||
opam switch remove default -y 2>/dev/null || true
|
||||
rm -rf ~/.opam 2>/dev/null || true
|
||||
sudo rm -f /usr/local/bin/opam 2>/dev/null || true
|
||||
;;
|
||||
clojure)
|
||||
echo -e "Removing Clojure...\n"
|
||||
mise uninstall clojure --all
|
||||
mise rm -g clojure
|
||||
;;
|
||||
*)
|
||||
echo "Unknown environment: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone!"
|
||||
@@ -55,6 +55,7 @@ makoctl reload
|
||||
omarchy-theme-set-gnome
|
||||
omarchy-theme-set-browser
|
||||
omarchy-theme-set-vscode
|
||||
omarchy-theme-set-vscodium
|
||||
omarchy-theme-set-cursor
|
||||
omarchy-theme-set-obsidian
|
||||
omarchy-theme-set-opencode
|
||||
|
||||
@@ -1,4 +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
|
||||
omarchy-theme-set-vscode cursor "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes"
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
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}"
|
||||
|
||||
VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
|
||||
|
||||
if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then
|
||||
@@ -16,7 +14,7 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then
|
||||
theme_name=$(jq -r '.name' "$VS_CODE_THEME")
|
||||
extension=$(jq -r '.extension' "$VS_CODE_THEME")
|
||||
|
||||
# Install $EDITOR_NAME theme extension
|
||||
# Install theme extension
|
||||
if [[ -n "$extension" ]] && ! "$EDITOR_CMD" --list-extensions | grep -Fxq "$extension"; then
|
||||
"$EDITOR_CMD" --install-extension "$extension" >/dev/null
|
||||
fi
|
||||
@@ -39,7 +37,7 @@ if omarchy-cmd-present "$EDITOR_CMD" && [[ ! -f "$SKIP_FLAG" ]]; then
|
||||
"s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \
|
||||
"$SETTINGS_PATH"
|
||||
else
|
||||
# Remove theme from settings.json when the theme doesn't have $EDITOR_NAME support
|
||||
# Remove theme from settings.json when the theme doesn't have editor support
|
||||
if [[ -f "$SETTINGS_PATH" ]]; then
|
||||
sed -i --follow-symlinks -E 's/\"workbench\.colorTheme\"[[:space:]]*:[^,}]*,?//' "$SETTINGS_PATH"
|
||||
fi
|
||||
|
||||
4
bin/omarchy-theme-set-vscodium
Executable file
4
bin/omarchy-theme-set-vscodium
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Call the VSCode theme setter with VSCodium-specific parameters
|
||||
omarchy-theme-set-vscode codium "$HOME/.config/VSCodium/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-codium-theme-changes"
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$#" -ne 4 ]; then
|
||||
echo -e "\e[32mLet's create a TUI shortcut you can start with the app launcher.\n\e[0m"
|
||||
APP_NAME=$(gum input --prompt "Name> " --placeholder "My TUI")
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
ICON_DIR="$HOME/.local/share/applications/icons"
|
||||
DESKTOP_DIR="$HOME/.local/share/applications/"
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$(uname -r | sed 's/-arch/\.arch/')" != "$(pacman -Q linux | awk '{print $2}')" ]; then
|
||||
gum confirm "Linux kernel has been updated. Reboot?" && omarchy-state clear re*-required && sudo reboot now
|
||||
gum confirm "Linux kernel has been updated. Reboot?" && omarchy-cmd-reboot
|
||||
|
||||
elif [ -f "$HOME/.local/state/omarchy/reboot-required" ]; then
|
||||
gum confirm "Updates require reboot. Ready?" && omarchy-state clear re*-required && sudo reboot now
|
||||
gum confirm "Updates require reboot. Ready?" && omarchy-cmd-reboot
|
||||
fi
|
||||
|
||||
for file in "$HOME"/.local/state/omarchy/restart-*-required; do
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$#" -lt 3 ]; then
|
||||
echo -e "\e[32mLet's create a new web app you can start with the app launcher.\n\e[0m"
|
||||
APP_NAME=$(gum input --prompt "Name> " --placeholder "My favorite web app")
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
ICON_DIR="$HOME/.local/share/applications/icons"
|
||||
DESKTOP_DIR="$HOME/.local/share/applications/"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user