mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
1 Commits
update-oma
...
update-pas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28634164ea |
@@ -1,50 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
focused_monitor="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
|
||||
# Find all the audio sinks but exit if there are none
|
||||
sinks=($(wpctl status | sed -n '/Sinks:/,/Sources:/p' | grep -E '^\s*│\s+\*?\s*[0-9]+\.' | sed -E 's/^[^0-9]*([0-9]+)\..*/\1/'))
|
||||
[ ${#sinks[@]} -eq 0 ] && exit 1
|
||||
|
||||
sinks=$(pactl -f json list sinks | jq '[.[] | select([.ports[]? | .availability == "available"] | any)]')
|
||||
sinks_count=$(echo "$sinks" | jq '. | length')
|
||||
# Find current audio sink
|
||||
current=$(wpctl status | sed -n '/Sinks:/,/Sources:/p' | grep '^\s*│\s*\*' | sed -E 's/^[^0-9]*([0-9]+)\..*/\1/')
|
||||
|
||||
if [ "$sinks_count" -eq 0 ]; then
|
||||
swayosd-client \
|
||||
--monitor "$focused_monitor" \
|
||||
--custom-message "No audio devices found"
|
||||
exit 1
|
||||
fi
|
||||
# Find the next sink (looping around in the list)
|
||||
for i in "${!sinks[@]}"; do
|
||||
[ "${sinks[$i]}" = "$current" ] && next=${sinks[$(((i + 1) % ${#sinks[@]}))]}
|
||||
done
|
||||
next=${next:-${sinks[0]}}
|
||||
|
||||
current_sink_name=$(pactl get-default-sink)
|
||||
current_sink_index=$(echo "$sinks" | jq -r --arg name "$current_sink_name" 'map(.name) | index($name)')
|
||||
# Set the next sink and ensure it's not muted
|
||||
wpctl set-default "$next"
|
||||
wpctl set-mute "$next" 0
|
||||
|
||||
if [ "$current_sink_index" != "null" ]; then
|
||||
next_sink_index=$(((current_sink_index + 1) % sinks_count))
|
||||
else
|
||||
next_sink_index=0
|
||||
fi
|
||||
|
||||
next_sink=$(echo "$sinks" | jq -r ".[$next_sink_index]")
|
||||
next_sink_name=$(echo "$next_sink" | jq -r '.name')
|
||||
next_sink_description=$(echo "$next_sink" | jq -r '.description')
|
||||
next_sink_volume=$(echo "$next_sink" | jq -r \
|
||||
'.volume | to_entries[0].value.value_percent | sub("%"; "")')
|
||||
next_sink_is_muted=$(echo "$next_sink" | jq -r '.mute')
|
||||
|
||||
if [ "$next_sink_is_muted" = "true" ] || [ "$next_sink_volume" -eq 0 ]; then
|
||||
icon_state="muted"
|
||||
elif [ "$next_sink_volume" -le 33 ]; then
|
||||
icon_state="low"
|
||||
elif [ "$next_sink_volume" -le 66 ]; then
|
||||
icon_state="medium"
|
||||
else
|
||||
icon_state="high"
|
||||
fi
|
||||
|
||||
next_sink_volume_icon="sink-volume-${icon_state}-symbolic"
|
||||
|
||||
if [ "$next_sink_name" != "$current_sink_name" ]; then
|
||||
pactl set-default-sink "$next_sink_name"
|
||||
fi
|
||||
|
||||
swayosd-client \
|
||||
--monitor "$focused_monitor" \
|
||||
--custom-message "$next_sink_description" \
|
||||
--custom-icon "$next_sink_volume_icon"
|
||||
|
||||
@@ -8,6 +8,5 @@ if [[ -f "$FIRST_RUN_MODE" ]]; then
|
||||
rm -f "$FIRST_RUN_MODE"
|
||||
$OMARCHY_PATH/install/first-run/battery-monitor.sh
|
||||
$OMARCHY_PATH/install/first-run/firewall.sh
|
||||
$OMARCHY_PATH/install/first-run/gnome-theme.sh
|
||||
sudo rm -f /etc/sudoers.d/first-run
|
||||
fi
|
||||
|
||||
@@ -8,47 +8,31 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Selects region or output
|
||||
SCOPE="$1"
|
||||
if [[ $2 == "audio" ]]; then
|
||||
AUDIO="--audio"
|
||||
else
|
||||
AUDIO=""
|
||||
fi
|
||||
|
||||
# Selects audio inclusion or not
|
||||
AUDIO=$([[ $2 == "audio" ]] && echo "--audio")
|
||||
|
||||
start_screenrecording() {
|
||||
screenrecording() {
|
||||
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
|
||||
notify-send "Screen recording starting..." -t 1000
|
||||
sleep 1
|
||||
|
||||
if lspci | grep -Eqi 'nvidia|intel.*graphics'; then
|
||||
wf-recorder $AUDIO -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@" &
|
||||
wf-recorder $AUDIO -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
|
||||
else
|
||||
wl-screenrec $AUDIO -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@" &
|
||||
wl-screenrec $AUDIO -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@"
|
||||
fi
|
||||
|
||||
toggle_screenrecording_indicator
|
||||
}
|
||||
|
||||
stop_screenrecording() {
|
||||
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
|
||||
pkill -x wl-screenrec
|
||||
pkill -x wf-recorder
|
||||
|
||||
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
|
||||
|
||||
sleep 0.2 # ensures the process is actually dead before we check
|
||||
toggle_screenrecording_indicator
|
||||
}
|
||||
|
||||
toggle_screenrecording_indicator() {
|
||||
pkill -RTMIN+8 waybar
|
||||
}
|
||||
|
||||
screenrecording_active() {
|
||||
pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null
|
||||
}
|
||||
|
||||
if screenrecording_active; then
|
||||
stop_screenrecording
|
||||
elif [[ "$SCOPE" == "output" ]]; then
|
||||
start_screenrecording
|
||||
elif [[ "$1" == "output" ]]; then
|
||||
screenrecording
|
||||
else
|
||||
region=$(slurp) || exit 1
|
||||
start_screenrecording -g "$region"
|
||||
screenrecording -g "$region"
|
||||
fi
|
||||
|
||||
7
bin/omarchy-cmd-screenrecord-stop
Executable file
7
bin/omarchy-cmd-screenrecord-stop
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
|
||||
pkill -x wl-screenrec
|
||||
pkill -x wf-recorder
|
||||
notify-send "Screen recording stopped" -t 2000
|
||||
fi
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "Usage: omarchy-install-dev-env <ruby|node|bun|go|laravel|symfony|php|python|elixir|phoenix|rust|java|ocaml|dotnet|clojure>" >&2
|
||||
echo "Usage: omarchy-install-dev-env <ruby|node|bun|go|laravel|symfony|php|python|elixir|phoenix|rust|java|ocaml|dotnet>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -131,9 +131,4 @@ dotnet)
|
||||
echo -e "Installing .NET...\n"
|
||||
mise use --global dotnet@latest
|
||||
;;
|
||||
clojure)
|
||||
echo -e "Installing Clojure...\n"
|
||||
omarchy-pkg-add rlwrap
|
||||
mise use --global clojure@latest
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB")
|
||||
|
||||
if [[ "$#" -eq 0 ]]; then
|
||||
choices=$(printf "%s\n" "${options[@]}" | gum choose --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
|
||||
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
|
||||
else
|
||||
choices="$@"
|
||||
fi
|
||||
@@ -12,7 +12,7 @@ if [[ -n "$choices" ]]; then
|
||||
for db in $choices; do
|
||||
case $db in
|
||||
MySQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8.4 ;;
|
||||
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres17 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:17 ;;
|
||||
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres16 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:16 ;;
|
||||
MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;;
|
||||
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
|
||||
MongoDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:27017:27017" --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin123 mongo:noble ;;
|
||||
|
||||
@@ -2,21 +2,6 @@
|
||||
|
||||
export PATH="$HOME/.local/share/omarchy/bin:$PATH"
|
||||
|
||||
# Set to true when going directly to a submenu, so we can exit directly
|
||||
BACK_TO_EXIT=false
|
||||
|
||||
back_to() {
|
||||
local parent_menu="$1"
|
||||
|
||||
if [[ "$DIRECT_ACCESS" == "true" ]]; then
|
||||
exit 0
|
||||
elif [[ -n "$parent_menu" ]]; then
|
||||
"$parent_menu"
|
||||
else
|
||||
show_main_menu
|
||||
fi
|
||||
}
|
||||
|
||||
menu() {
|
||||
local prompt="$1"
|
||||
local options="$2"
|
||||
@@ -95,7 +80,7 @@ show_style_menu() {
|
||||
show_theme_menu() {
|
||||
theme=$(menu "Theme" "$(omarchy-theme-list)" "" "$(omarchy-theme-current)")
|
||||
if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
|
||||
back_to show_style_menu
|
||||
show_main_menu
|
||||
else
|
||||
omarchy-theme-set "$theme"
|
||||
fi
|
||||
@@ -104,7 +89,7 @@ show_theme_menu() {
|
||||
show_font_menu() {
|
||||
theme=$(menu "Font" "$(omarchy-font-list)" "-w 350" "$(omarchy-font-current)")
|
||||
if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
|
||||
back_to show_style_menu
|
||||
show_main_menu
|
||||
else
|
||||
omarchy-font-set "$theme"
|
||||
fi
|
||||
@@ -129,10 +114,8 @@ show_screenshot_menu() {
|
||||
}
|
||||
|
||||
show_screenrecord_menu() {
|
||||
case $(menu "Screenrecord" " Region\n Region + Audio\n Display\n Display + Audio") in
|
||||
*"Region + Audio"*) omarchy-cmd-screenrecord region audio ;;
|
||||
case $(menu "Screenrecord" " Region\n Display") in
|
||||
*Region*) omarchy-cmd-screenrecord ;;
|
||||
*"Display + Audio"*) omarchy-cmd-screenrecord output audio ;;
|
||||
*Display*) omarchy-cmd-screenrecord output ;;
|
||||
*) show_capture_menu ;;
|
||||
esac
|
||||
@@ -180,7 +163,7 @@ show_setup_power_menu() {
|
||||
profile=$(menu "Power Profile" "$(omarchy-powerprofiles-list)" "" "$(powerprofilesctl get)")
|
||||
|
||||
if [[ "$profile" == "CNCLD" || -z "$profile" ]]; then
|
||||
back_to show_setup_menu
|
||||
show_main_menu
|
||||
else
|
||||
powerprofilesctl set "$profile"
|
||||
fi
|
||||
@@ -244,10 +227,10 @@ 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 Gemini\n OpenAI Codex [AUR]\n LM Studio\n Ollama\n Crush\n opencode") in
|
||||
*Claude*) install "Claude Code" "claude-code" ;;
|
||||
*OpenAI*) aur_install "OpenAI Codex" "openai-codex-bin" ;;
|
||||
*Gemini*) aur_install "Gemini" "gemini-cli" ;;
|
||||
*Gemini*) install "Gemini" "gemini-cli" ;;
|
||||
*Studio*) install "LM Studio" "lmstudio" ;;
|
||||
*Ollama*) install "Ollama" $ollama_pkg ;;
|
||||
*Crush*) install "Crush" "crush-bin" ;;
|
||||
@@ -285,7 +268,7 @@ show_install_font_menu() {
|
||||
}
|
||||
|
||||
show_install_development_menu() {
|
||||
case $(menu "Install" " Ruby on Rails\n Docker DB\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n OCaml\n Clojure") in
|
||||
case $(menu "Install" " Ruby on Rails\n Docker DB\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n OCaml") in
|
||||
*Rails*) present_terminal "omarchy-install-dev-env ruby" ;;
|
||||
*Docker*) present_terminal omarchy-install-docker-dbs ;;
|
||||
*JavaScript*) show_install_javascript_menu ;;
|
||||
@@ -298,7 +281,6 @@ show_install_development_menu() {
|
||||
*Java*) present_terminal "omarchy-install-dev-env java" ;;
|
||||
*NET*) present_terminal "omarchy-install-dev-env dotnet" ;;
|
||||
*OCaml*) present_terminal "omarchy-install-dev-env ocaml" ;;
|
||||
*Clojure*) present_terminal "omarchy-install-dev-env clojure" ;;
|
||||
*) show_install_menu ;;
|
||||
esac
|
||||
}
|
||||
@@ -403,7 +385,7 @@ show_system_menu() {
|
||||
*Relaunch*) uwsm stop ;;
|
||||
*Restart*) systemctl reboot ;;
|
||||
*Shutdown*) systemctl poweroff ;;
|
||||
*) back_to show_main_menu ;;
|
||||
*) show_main_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -432,7 +414,6 @@ go_to_menu() {
|
||||
}
|
||||
|
||||
if [[ -n "$1" ]]; then
|
||||
BACK_TO_EXIT=true
|
||||
go_to_menu "$1"
|
||||
else
|
||||
show_main_menu
|
||||
|
||||
@@ -83,11 +83,7 @@ parse_bindings() {
|
||||
}'
|
||||
}
|
||||
|
||||
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
|
||||
menu_height=$((monitor_height * 40 / 100))
|
||||
|
||||
dynamic_bindings | \
|
||||
sort -u | \
|
||||
parse_bindings | \
|
||||
walker --dmenu --theme keybindings -p 'Keybindings' -w 800 -h "$menu_height"
|
||||
|
||||
walker --dmenu --theme keybindings -p 'Keybindings'
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
fzf_args=(
|
||||
--multi
|
||||
--preview 'yay -Sii {1}'
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
fzf_args=(
|
||||
--multi
|
||||
--preview 'pacman -Sii {1}'
|
||||
@@ -17,5 +19,6 @@ pkg_names=$(pacman -Slq | fzf "${fzf_args[@]}")
|
||||
if [[ -n "$pkg_names" ]]; then
|
||||
# Convert newline-separated selections to space-separated for yay
|
||||
echo "$pkg_names" | tr '\n' ' ' | xargs sudo pacman -S --noconfirm
|
||||
sudo updatedb
|
||||
omarchy-show-done
|
||||
fi
|
||||
|
||||
@@ -17,5 +17,6 @@ pkg_names=$(yay -Qqe | fzf "${fzf_args[@]}")
|
||||
if [[ -n "$pkg_names" ]]; then
|
||||
# Convert newline-separated selections to space-separated for yay
|
||||
echo "$pkg_names" | tr '\n' ' ' | xargs sudo pacman -Rns --noconfirm
|
||||
sudo updatedb
|
||||
omarchy-show-done
|
||||
fi
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo cp ~/.local/share/omarchy/default/plymouth/* /usr/share/plymouth/themes/omarchy/
|
||||
sudo plymouth-set-default-theme omarchy
|
||||
|
||||
if command -v limine-mkinitcpio &>/dev/null; then
|
||||
sudo limine-mkinitcpio
|
||||
else
|
||||
sudo mkinitcpio -P
|
||||
fi
|
||||
if [[ "$1" == "-y" ]]; then
|
||||
sudo cp ~/.local/share/omarchy/default/plymouth/* /usr/share/plymouth/themes/omarchy/
|
||||
sudo plymouth-set-default-theme -R omarchy
|
||||
fi
|
||||
|
||||
@@ -37,6 +37,8 @@ EOF
|
||||
DHCP)
|
||||
sudo tee /etc/systemd/resolved.conf >/dev/null <<'EOF'
|
||||
[Resolve]
|
||||
DNS=
|
||||
FallbackDNS=
|
||||
DNSOverTLS=no
|
||||
EOF
|
||||
|
||||
|
||||
@@ -7,4 +7,4 @@ omarchy-update-git
|
||||
omarchy-migrate
|
||||
omarchy-update-system-pkgs
|
||||
omarchy-update-restart
|
||||
omarchy-update-available-reset
|
||||
omarchy-restart-waybar # removes update-available icon
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ensure Waybar icon offering the available update is removed
|
||||
pkill -RTMIN+7 waybar
|
||||
@@ -5,7 +5,7 @@
|
||||
"spacing": 0,
|
||||
"height": 26,
|
||||
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
||||
"modules-center": ["clock", "custom/update", "custom/screenrecording-indicator"],
|
||||
"modules-center": ["clock", "custom/update"],
|
||||
"modules-right": [
|
||||
"group/tray-expander",
|
||||
"bluetooth",
|
||||
@@ -48,7 +48,6 @@
|
||||
"exec": "omarchy-update-available",
|
||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||
"tooltip-format": "Omarchy update available",
|
||||
"signal": 7,
|
||||
"interval": 3600
|
||||
},
|
||||
|
||||
@@ -125,12 +124,6 @@
|
||||
"format": " ",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/screenrecording-indicator": {
|
||||
"on-click": "omarchy-cmd-screenrecord",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/screen-recording.sh",
|
||||
"signal": 8,
|
||||
"return-type": "json"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 12,
|
||||
"spacing": 12
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#custom-omarchy,
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-update {
|
||||
min-width: 12px;
|
||||
margin: 0 7.5px;
|
||||
@@ -62,13 +61,3 @@ tooltip {
|
||||
.hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator {
|
||||
min-width: 12px;
|
||||
margin-left: 8.75px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator.active {
|
||||
color: #a55555;
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
anchor=top-right
|
||||
default-timeout=5000
|
||||
width=420
|
||||
height=110
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
@@ -7,5 +7,3 @@ ModuleName=script
|
||||
ImageDir=/usr/share/plymouth/themes/omarchy
|
||||
ScriptFile=/usr/share/plymouth/themes/omarchy/omarchy.script
|
||||
ConsoleLogBackgroundColor=0x1a1b26
|
||||
MonospaceFont=Cantarell 11
|
||||
Font=Cantarell 11
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
|
||||
echo '{"text": "", "tooltip": "Stop recording", "class": "active"}'
|
||||
else
|
||||
echo '{"text": ""}'
|
||||
fi
|
||||
@@ -41,14 +41,12 @@ source $OMARCHY_INSTALL/config/mimetypes.sh
|
||||
source $OMARCHY_INSTALL/config/localdb.sh
|
||||
source $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/network.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/set-wireless-regdom.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/fix-fkeys.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/bluetooth.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/printer.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/usb-autosuspend.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/ignore-power-button.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/nvidia.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/intel.sh
|
||||
source $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh
|
||||
|
||||
# Login
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This installs hardware video acceleration for Intel GPUs
|
||||
# Check if we have an Intel GPU at all
|
||||
if INTEL_GPU=$(lspci | grep -iE 'vga|3d|display' | grep -i 'intel'); then
|
||||
# HD Graphics and newer uses intel-media-driver
|
||||
if [[ "${INTEL_GPU,,}" =~ "hd graphics"|"xe"|"iris" ]]; then
|
||||
sudo pacman -S --needed --noconfirm intel-media-driver
|
||||
elif [[ "${INTEL_GPU,,}" =~ "gma" ]]; then
|
||||
# Older generations from 2008 to ~2014-2017 use libva-intel-driver
|
||||
sudo pacman -S --needed --noconfirm libva-intel-driver
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -7,9 +7,6 @@ sudo mkdir -p /etc/systemd/resolved.conf.d
|
||||
echo -e "[Resolve]\nMulticastDNS=no" | sudo tee /etc/systemd/resolved.conf.d/10-disable-multicast.conf
|
||||
chrootable_systemctl_enable avahi-daemon.service
|
||||
|
||||
# Enable mDNS resolution for .local domains
|
||||
sudo sed -i 's/^hosts:.*/hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns/' /etc/nsswitch.conf
|
||||
|
||||
# Enable automatically adding remote printers
|
||||
if ! grep -q '^CreateRemotePrinters Yes' /etc/cups/cups-browsed.conf; then
|
||||
echo 'CreateRemotePrinters Yes' | sudo tee -a /etc/cups/cups-browsed.conf
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# First check that wireless-regdb is there
|
||||
if [ -f "/etc/conf.d/wireless-regdom" ]; then
|
||||
unset WIRELESS_REGDOM
|
||||
. /etc/conf.d/wireless-regdom
|
||||
fi
|
||||
|
||||
# If the region is already set, we're done
|
||||
if [ ! -n "${WIRELESS_REGDOM}" ]; then
|
||||
# Get the current timezone
|
||||
if [ -e "/etc/localtime" ]; then
|
||||
TIMEZONE=$(readlink -f /etc/localtime)
|
||||
TIMEZONE=${TIMEZONE#/usr/share/zoneinfo/}
|
||||
|
||||
# Some timezones are formatted with the two letter country code at the start
|
||||
COUNTRY="${TIMEZONE%%/*}"
|
||||
|
||||
# If we don't have a two letter country, get it from the timezone table
|
||||
if [[ ! "$COUNTRY" =~ ^[A-Z]{2}$ ]] && [ -f "/usr/share/zoneinfo/zone.tab" ]; then
|
||||
COUNTRY=$(awk -v tz="$TIMEZONE" '$3 == tz {print $1; exit}' /usr/share/zoneinfo/zone.tab)
|
||||
fi
|
||||
|
||||
# Check if we have a two letter country code
|
||||
if [[ "$COUNTRY" =~ ^[A-Z]{2}$ ]]; then
|
||||
# Append it to the wireless-regdom conf file that is used at boot
|
||||
echo "WIRELESS_REGDOM=\"$COUNTRY\"" | sudo tee -a /etc/conf.d/wireless-regdom > /dev/null
|
||||
|
||||
# Also set it one off now
|
||||
if command -v iw &> /dev/null; then
|
||||
sudo iw reg set ${COUNTRY}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
|
||||
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
||||
gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"
|
||||
|
||||
# Set links for Nautilius action icons
|
||||
sudo ln -snf /usr/share/icons/Adwaita/symbolic/actions/go-previous-symbolic.svg /usr/share/icons/Yaru/scalable/actions/go-previous-symbolic.svg
|
||||
sudo ln -snf /usr/share/icons/Adwaita/symbolic/actions/go-next-symbolic.svg /usr/share/icons/Yaru/scalable/actions/go-next-symbolic.svg
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
|
||||
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
||||
gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"
|
||||
@@ -114,7 +114,6 @@ sudo pacman -S --noconfirm --needed \
|
||||
waybar \
|
||||
wf-recorder \
|
||||
whois \
|
||||
wireless-regdb \
|
||||
wiremix \
|
||||
wireplumber \
|
||||
wl-clip-persist \
|
||||
|
||||
@@ -31,7 +31,4 @@ catch_errors() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Ensure gum is available as early as possible to retry errors
|
||||
sudo pacman -S --noconfirm gum
|
||||
|
||||
trap catch_errors ERR
|
||||
|
||||
@@ -3,3 +3,6 @@ echo "Add new Omarchy Menu icon to Waybar"
|
||||
mkdir -p ~/.local/share/fonts
|
||||
cp ~/.local/share/omarchy/config/omarchy.ttf ~/.local/share/fonts/
|
||||
fc-cache
|
||||
|
||||
echo
|
||||
gum confirm "Replace current Waybar config (backup will be made)?" && omarchy-refresh-waybar
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
echo "Add locale to the waybar clock format"
|
||||
|
||||
sed -i \
|
||||
-e 's/{:%A %H:%M}/{:L%A %H:%M}/' \
|
||||
-e 's/{:%d %B W%V %Y}/{:L%d %B W%V %Y}/' \
|
||||
"$HOME/.config/waybar/config.jsonc"
|
||||
@@ -1,8 +0,0 @@
|
||||
echo "Fix DHCP DNS to allow VPN DNS override"
|
||||
|
||||
if [ -f /etc/systemd/resolved.conf ]; then
|
||||
if grep -q "^DNS=$" /etc/systemd/resolved.conf && grep -q "^FallbackDNS=$" /etc/systemd/resolved.conf; then
|
||||
sudo sed -i '/^DNS=$/d; /^FallbackDNS=$/d' /etc/systemd/resolved.conf
|
||||
sudo systemctl restart systemd-resolved
|
||||
fi
|
||||
fi
|
||||
@@ -1,7 +0,0 @@
|
||||
echo "Enable mDNS resolution for existing Avahi installations"
|
||||
|
||||
if systemctl is-enabled avahi-daemon.service >/dev/null 2>&1; then
|
||||
if ! grep -q "mdns_minimal" /etc/nsswitch.conf; then
|
||||
sudo sed -i 's/^hosts:.*/hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns/' /etc/nsswitch.conf
|
||||
fi
|
||||
fi
|
||||
@@ -1,4 +0,0 @@
|
||||
echo "6Ghz Wi-Fi + Intel graphics acceleration for existing installations"
|
||||
|
||||
$OMARCHY_PATH/install/config/hardware/set-wireless-regdom.sh
|
||||
$OMARCHY_PATH/install/config/hardware/intel.sh
|
||||
@@ -1,3 +0,0 @@
|
||||
echo "Add screen recording indicator to Waybar"
|
||||
|
||||
gum confirm "Replace current Waybar config (backup will be made)?" && omarchy-refresh-waybar
|
||||
@@ -1,5 +0,0 @@
|
||||
echo "Make it possible to remove update-available icon with signal in Waybar"
|
||||
|
||||
if ! grep -q '"signal": 7' ~/.config/waybar/config.jsonc; then
|
||||
sed -i '/"tooltip-format": "Omarchy update available",/a\ "signal": 7,' ~/.config/waybar/config.jsonc
|
||||
fi
|
||||
@@ -1,2 +0,0 @@
|
||||
echo "Update plymouth theme to avoid freetype2 issue that broke the styled login screen"
|
||||
omarchy-refresh-plymouth
|
||||
@@ -1,10 +1,25 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#4c4f69
|
||||
border-color=#1e66f5
|
||||
background-color=#eff1f5
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#cad3f5
|
||||
border-color=#c6d0f5
|
||||
background-color=#24273a
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#d3c6aa
|
||||
border-color=#d3c6aa
|
||||
background-color=#2d353b
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#d4be98
|
||||
border-color=#a89984
|
||||
background-color=#282828
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#dcd7ba
|
||||
border-color=#dcd7ba
|
||||
background-color=#1f1f28
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#8a8a8d
|
||||
border-color=#8A8A8D
|
||||
background-color=#1e1e1e
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
max-icon-size=32
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#d8dee9
|
||||
border-color=#D8DEE9
|
||||
background-color=#2e3440
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#C1C497
|
||||
border-color=#214237
|
||||
background-color=#11221C
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 12
|
||||
anchor=top-right
|
||||
outer-margin=5
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=5
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#e6d9db
|
||||
border-color=#e6d9db
|
||||
background-color=#2c2525
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#575279
|
||||
border-color=#575279
|
||||
background-color=#faf4ed
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
|
||||
text-color=#a9b1d6
|
||||
border-color=#33ccff
|
||||
background-color=#1a1b26
|
||||
width=420
|
||||
height=110
|
||||
padding=10
|
||||
border-size=2
|
||||
font=Liberation Sans 11
|
||||
anchor=top-right
|
||||
outer-margin=20
|
||||
default-timeout=5000
|
||||
max-icon-size=32
|
||||
outer-margin=20
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
|
||||
Reference in New Issue
Block a user