mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 04:09:23 +00:00
Compare commits
73 Commits
b656ea0625
...
v1.6.1
Author | SHA1 | Date | |
---|---|---|---|
a4e7f41798 | |||
8908ce91f8 | |||
5458b46584 | |||
9b7908d17b | |||
a12cd97922 | |||
9231148cd7 | |||
c4c9cdc0f6 | |||
98f848d4a0 | |||
c36d76bb1c | |||
71ccf9a367 | |||
e1f2cc4d3d | |||
08f187b4ea | |||
35e1d1233e | |||
8f569921b3 | |||
3933cd7c89 | |||
ceb44d7aa1 | |||
fd56404407 | |||
d2763225c3 | |||
2b2103fb66 | |||
11dfeae901 | |||
8c0ac90fe4 | |||
d83a87a01c | |||
f0a9271506 | |||
faaf672eb4 | |||
0058023e85 | |||
4fedfbe9f1 | |||
1976eafbcd | |||
1ebf88bac0 | |||
cce56a2684 | |||
c4b45779fe | |||
d706eda676 | |||
7c75cbbcd5 | |||
69e48758fd | |||
2332a4f6db | |||
bacaabe4a1 | |||
60f5a3b063 | |||
7a7a08f9c3 | |||
4421f20e82 | |||
071be3abcb | |||
771313b836 | |||
dbe3ec8b2f | |||
5be61c17a1 | |||
98f5669637 | |||
bcf0e1ebf9 | |||
f06e11ac47 | |||
03192de90e | |||
c0bb83e76c | |||
5e4c309b2c | |||
a691a50559 | |||
778a69897b | |||
ff77d4731f | |||
ec4efb304c | |||
1d4991426e | |||
c31250d7c0 | |||
f36402b2c9 | |||
ecf65b0499 | |||
65ba4cc576 | |||
56999c0ae5 | |||
e3e46e1383 | |||
28bec8c7d2 | |||
484b98ae43 | |||
14d9cd452c | |||
8071642b66 | |||
ba1e50daa9 | |||
1c69965819 | |||
ea903c7d65 | |||
6d8a1e3bcf | |||
a94ee3dee8 | |||
a117f5a36a | |||
d5b9a5f223 | |||
da597ac567 | |||
620b397859 | |||
03053626e3 |
51
applications/mpv.desktop
Normal file
51
applications/mpv.desktop
Normal file
@ -0,0 +1,51 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Media Player
|
||||
Name[ar]=مشغل وسائط mpv
|
||||
Name[ca]=Reproductor multimèdia mpv
|
||||
Name[cs]=mpv přehrávač
|
||||
Name[da]=mpv-medieafspiller
|
||||
Name[fr]=Lecteur multimédia mpv
|
||||
Name[it]=Lettore multimediale mpv
|
||||
Name[ja]=mpv メディアプレイヤー
|
||||
Name[pl]=Odtwarzacz mpv
|
||||
Name[ru]=Проигрыватель mpv
|
||||
Name[tr]=mpv Ortam Oynatıcı
|
||||
Name[zh_CN]=mpv 媒体播放器
|
||||
Name[zh_TW]=mpv 媒體播放器
|
||||
GenericName=Multimedia player
|
||||
GenericName[ar]=مُشَغِّل وسائط متعددة
|
||||
GenericName[cs]=Multimediální přehrávač
|
||||
GenericName[da]=Multimedieafspiller
|
||||
GenericName[fr]=Lecteur multimédia
|
||||
GenericName[it]=Lettore multimediale
|
||||
GenericName[ja]=マルチメディアプレイヤー
|
||||
GenericName[ru]=Мультимедийный проигрыватель
|
||||
GenericName[tr]=Çoklu ortam oynatıcı
|
||||
GenericName[zh_CN]=多媒体播放器
|
||||
GenericName[zh_TW]=多媒體播放器
|
||||
Comment=Play movies and songs
|
||||
Comment[ar]=شَغِّل الأفلام والأغاني
|
||||
Comment[ca]=Reproduïu vídeos i cançons
|
||||
Comment[cs]=Přehrává filmy a hudbu
|
||||
Comment[da]=Afspil film og sange
|
||||
Comment[de]=Filme und Musik abspielen
|
||||
Comment[es]=Reproduzca vídeos y canciones
|
||||
Comment[fr]=Lire des vidéos et des musiques
|
||||
Comment[ja]=映画や音楽を再生する
|
||||
Comment[it]=Riproduci video e canzoni
|
||||
Comment[pl]=Odtwarzaj filmy i muzykę
|
||||
Comment[ru]=Воспроизведение фильмов и музыки
|
||||
Comment[tr]=Filmleri ve şarkıları oynatın
|
||||
Comment[zh_CN]=播放电影和歌曲
|
||||
Comment[zh_TW]=播放電影和歌曲
|
||||
Icon=mpv
|
||||
TryExec=mpv
|
||||
Exec=mpv --player-operation-mode=pseudo-gui -- %U
|
||||
Terminal=false
|
||||
Categories=AudioVideo;Audio;Video;Player;TV;
|
||||
MimeType=application/ogg;application/x-ogg;application/mxf;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/aiff;audio/x-aiff;audio/m4a;audio/x-m4a;application/x-extension-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/mpeg2;audio/mpeg3;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/musepack;audio/x-musepack;audio/ogg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg2;video/x-mpeg3;video/mp4v-es;video/x-m4v;video/mp4;application/x-extension-mp4;video/divx;video/vnd.divx;video/msvideo;video/x-msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;audio/x-ms-asf;application/vnd.ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/avi;video/x-flic;video/fli;video/x-flc;video/flv;video/x-flv;video/x-theora;video/x-theora+ogg;video/x-matroska;video/mkv;audio/x-matroska;application/x-matroska;video/webm;audio/webm;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/x-ogm;video/x-ogm+ogg;application/x-ogm;application/x-ogm-audio;application/x-ogm-video;application/x-shorten;audio/x-shorten;audio/x-ape;audio/x-wavpack;audio/x-tta;audio/AMR;audio/ac3;audio/eac3;audio/amr-wb;video/mp2t;audio/flac;audio/mp4;application/x-mpegurl;video/vnd.mpegurl;application/vnd.apple.mpegurl;audio/x-pn-au;video/3gp;video/3gpp;video/3gpp2;audio/3gpp;audio/3gpp2;video/dv;audio/dv;audio/opus;audio/vnd.dts;audio/vnd.dts.hd;audio/x-adpcm;application/x-cue;audio/m3u;audio/vnd.wave;video/vnd.avi;
|
||||
X-KDE-Protocols=appending,file,ftp,hls,http,https,mms,mpv,rtmp,rtmps,rtmpt,rtmpts,rtp,rtsp,rtsps,sftp,srt,srtp,webdav,webdavs
|
||||
StartupWMClass=mpv
|
||||
Keywords=mpv;media;player;video;audio;tv;
|
||||
Keywords[ar]=mpv;إم بي في;ام بي في;وسائط;مشغل;فيديو;مرئية;صوتي;تلفاز;
|
24
bin/omarchy
24
bin/omarchy
@ -24,12 +24,13 @@ main_menu() {
|
||||
|
||||
update_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "Desktop apps" "Back")
|
||||
local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "SwayOSD" "Desktop apps" "Back")
|
||||
local commands=(
|
||||
"omarchy-update"
|
||||
"omarchy-refresh-waybar"
|
||||
"omarchy-refresh-walker"
|
||||
"omarchy-refresh-plymouth"
|
||||
"omarchy-refresh-swayosd"
|
||||
"omarchy-refresh-applications"
|
||||
"main_menu"
|
||||
)
|
||||
@ -94,9 +95,10 @@ remove_theme_prompt() {
|
||||
|
||||
setup_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Dropbox" "Fingerprint sensor" "Fido2 device" "Back")
|
||||
local menu=("Dropbox" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back")
|
||||
local commands=(
|
||||
"omarchy-setup-dropbox"
|
||||
"setup_docker_dbs"
|
||||
"omarchy-setup-fingerprint"
|
||||
"omarchy-setup-fido2"
|
||||
"main_menu"
|
||||
@ -117,6 +119,24 @@ setup_menu() {
|
||||
done
|
||||
}
|
||||
|
||||
setup_docker_dbs() {
|
||||
options=("MariaDB" "MySQL" "Redis" "PostgreSQL")
|
||||
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
|
||||
|
||||
if [[ -n "$choices" ]]; then
|
||||
for db in $choices; do
|
||||
case $db in
|
||||
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 ;;
|
||||
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 ;;
|
||||
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
|
||||
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 ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
main_menu
|
||||
}
|
||||
|
||||
open_manual() {
|
||||
setsid chromium --new-window --ozone-platform=wayland --app="https://manuals.omamix.org/2/the-omarchy-manual" >/dev/null 2>&1 &
|
||||
clear
|
||||
|
@ -1,19 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set recorder based on GPU
|
||||
|
||||
screenrecording() {
|
||||
filename="$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
|
||||
notify-send "Screen recording starting..." -t 1000
|
||||
sleep 1
|
||||
wl-screenrec \
|
||||
-f "$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" \
|
||||
--ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" \
|
||||
"$@"
|
||||
|
||||
if lspci | grep -qi 'nvidia'; then
|
||||
wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
|
||||
else
|
||||
wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
if pgrep -x wl-screenrec >/dev/null; then
|
||||
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 ~/Videos" -t 2000
|
||||
elif [[ "$1" == "output" ]]; then
|
||||
screenrecording -o ""
|
||||
screenrecording
|
||||
else
|
||||
region=$(slurp) || exit 1
|
||||
screenrecording -g "$region"
|
||||
|
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ ! -f ~/.local/state/omarchy/after-first-run.mode ]]; then
|
||||
mkdir -p ~/.local/state/omarchy
|
||||
touch ~/.local/state/omarchy/after-first-run.mode
|
||||
uwsm app -- alacritty -e ~/.local/share/omarchy/bin/omarchy-first-run-flow
|
||||
fi
|
@ -1,56 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
|
||||
if gum confirm "Install editor in addition to Neovim?"; then
|
||||
options=("VSCode" "Cursor" "Zed" "Helix" "Nevermind")
|
||||
choice=$(printf "%s\n" "${options[@]}" | gum choose --header "Add programming editor") || exit 0
|
||||
|
||||
case "$choice" in
|
||||
VSCode) yay -Sy --noconfirm --needed vscodium-electron-bin ;;
|
||||
Cursor) yay -Sy --noconfirm --needed cursor-bin ;;
|
||||
Zed) yay -Sy --noconfirm --needed zed ;;
|
||||
Helix) yay -Sy --noconfirm --needed helix ;;
|
||||
Nevermind) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
|
||||
if gum confirm "Login to GitHub?"; then
|
||||
gh auth login
|
||||
fi
|
||||
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
|
||||
if gum confirm "Setup Dropbox?"; then
|
||||
omarchy-setup-dropbox
|
||||
fi
|
||||
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
|
||||
if gum confirm "Start Docker DBs?"; then
|
||||
options=("MySQL" "Redis" "PostgreSQL")
|
||||
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases") || exit 0
|
||||
|
||||
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 ;;
|
||||
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
|
||||
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 ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
|
||||
echo "Updating all system packages..."
|
||||
yay -Syu
|
||||
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
|
||||
gum spin --spinner "globe" --title "You're all set!" -- sleep 2
|
||||
setsid chromium --new-window --ozone-platform=wayland --app="https://manuals.omamix.org/2/the-omarchy-manual" >/dev/null 2>&1 &
|
||||
clear
|
13
bin/omarchy-refresh-swayosd
Executable file
13
bin/omarchy-refresh-swayosd
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
cp -f ~/.config/swayosd/config.toml ~/.config/swayosd/config.toml.bak 2>/dev/null
|
||||
cp -f ~/.local/share/omarchy/config/swayosd/config.toml ~/.config/swayosd/ 3>/dev/null
|
||||
|
||||
if cmp -s ~/.config/swayosd/config.toml.bak ~/.config/swayosd/config.toml; then
|
||||
rm ~/.config/swayosd//config.toml.bak
|
||||
else
|
||||
echo -e "\e[31mExisting .config/swayosd/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||
fi
|
||||
|
||||
pkill swayosd-server
|
||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
@ -8,3 +8,6 @@ if cmp -s ~/.config/walker/config.toml.bak ~/.config/walker/config.toml; then
|
||||
else
|
||||
echo -e "\e[31mExisting .config/walker/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
|
||||
fi
|
||||
|
||||
pkill walker
|
||||
uwsm app -- walker --gapplication-service &
|
||||
|
@ -44,5 +44,5 @@ else
|
||||
|
||||
# Relaunch swaybg
|
||||
pkill -x swaybg
|
||||
uwsm app -- swaybg -i "$NEW_BACKGROUND" -m fill >/dev/null 2>&1 &
|
||||
uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
|
||||
fi
|
||||
|
@ -14,12 +14,6 @@ CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
|
||||
THEME_NAME="$1"
|
||||
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
||||
|
||||
if [[ -d "$HOME/.config/omarchy/themes/$THEME_NAME/backgrounds" ]]; then
|
||||
BACKGROUND_PATH="$HOME/.config/omarchy/themes/$THEME_NAME/backgrounds"
|
||||
else
|
||||
BACKGROUND_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME"
|
||||
fi
|
||||
|
||||
# Check if the theme entered exists
|
||||
if [[ ! -d "$THEME_PATH" ]]; then
|
||||
echo "Theme '$THEME_NAME' does not exist in $THEMES_DIR" >&2
|
||||
@ -41,11 +35,11 @@ fi
|
||||
# Trigger alacritty config reload
|
||||
touch "$HOME/.config/alacritty/alacritty.toml"
|
||||
|
||||
# Trigger btop config reload
|
||||
pkill -SIGUSR2 btop
|
||||
|
||||
# Restart components to apply new theme
|
||||
pkill -SIGUSR2 btop
|
||||
pkill -SIGUSR2 waybar
|
||||
pkill swayosd-server
|
||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
||||
makoctl reload
|
||||
hyprctl reload
|
||||
|
||||
|
@ -23,8 +23,9 @@ for file in $(git diff --name-only --diff-filter=A $migration_starting_point.. m
|
||||
source $file
|
||||
done
|
||||
|
||||
# Update system packages
|
||||
echo -e "\e[32m\nUpdate system packages\e[0m"
|
||||
yay -Syu --noconfirm
|
||||
|
||||
# Back to where we came from
|
||||
cd - >/dev/null
|
||||
|
||||
# Update system packages
|
||||
yay -Syu --noconfirm
|
||||
|
2
boot.sh
2
boot.sh
@ -12,7 +12,7 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄
|
||||
|
||||
echo -e "\n$ansi_art\n"
|
||||
|
||||
pacman -Q git &>/dev/null || sudo pacman -Sy --noconfirm --needed git
|
||||
sudo pacman -Sy --noconfirm --needed git
|
||||
|
||||
echo -e "\nCloning Omarchy..."
|
||||
rm -rf ~/.local/share/omarchy/
|
||||
|
4
config/swayosd/config.toml
Normal file
4
config/swayosd/config.toml
Normal file
@ -0,0 +1,4 @@
|
||||
[server]
|
||||
show_percentage = true
|
||||
max_volume = 150
|
||||
style = "./style.css"
|
28
config/swayosd/style.css
Normal file
28
config/swayosd/style.css
Normal file
@ -0,0 +1,28 @@
|
||||
@import "../omarchy/current/theme/swayosd.css";
|
||||
|
||||
window {
|
||||
border-radius: 0;
|
||||
opacity: 0.97;
|
||||
border: 2px solid @border-color;
|
||||
|
||||
background-color: @background-color;
|
||||
}
|
||||
|
||||
label {
|
||||
font-family: 'CaskaydiaMono Nerd Font', monospace;
|
||||
font-size: 11pt;
|
||||
|
||||
color: @label;
|
||||
}
|
||||
|
||||
image {
|
||||
color: @image;
|
||||
}
|
||||
|
||||
progressbar {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
progress {
|
||||
background-color: @progress;
|
||||
}
|
@ -24,10 +24,10 @@ alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
|
||||
# Tools
|
||||
alias n='nvim'
|
||||
alias g='git'
|
||||
alias d='docker'
|
||||
alias r='rails'
|
||||
n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
|
||||
|
||||
# Git
|
||||
alias gcm='git commit -m'
|
||||
|
@ -4,4 +4,4 @@ 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/envs
|
||||
bind -f ~/.local/share/omarchy/default/bash/inputrc
|
||||
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc
|
||||
|
@ -7,4 +7,3 @@ exec-once = uwsm app -- swayosd-server
|
||||
exec-once = uwsm app -- walker --gapplication-service
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'
|
||||
exec-once = ~/.local/share/omarchy/bin/omarchy-first-run
|
||||
|
@ -1,13 +1,16 @@
|
||||
# Only display the OSD on the currently focused monitor
|
||||
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness (with OSD)
|
||||
bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
|
||||
bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
||||
bindel = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
|
||||
bindel = ,XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, swayosd-client --brightness raise
|
||||
bindel = ,XF86MonBrightnessDown, exec, swayosd-client --brightness lower
|
||||
bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise
|
||||
bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower
|
||||
bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle
|
||||
bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
|
||||
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
|
||||
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous
|
||||
|
@ -3,8 +3,8 @@ env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
# Force all apps to use Wayland
|
||||
env = GDK_BACKEND,wayland
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = GDK_BACKEND,wayland,x11,*
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_STYLE_OVERRIDE,kvantum
|
||||
env = SDL_VIDEODRIVER,wayland
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
|
@ -72,6 +72,9 @@ animations {
|
||||
# Application-sepcific animation
|
||||
layerrule=noanim,walker
|
||||
|
||||
# Remove 1px border around hyprshot screenshots
|
||||
layerrule = noanim, selection
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
|
@ -6,7 +6,7 @@ windowrule = tile, class:^(Chromium)$
|
||||
|
||||
# Float and center settings and previews
|
||||
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer)$
|
||||
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$
|
||||
windowrule = size 645 450, class:Omarchy
|
||||
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css");
|
||||
@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css");
|
||||
@import url("file://~/.config/omarchy/current/theme/walker.css");
|
||||
|
@ -1,2 +1,2 @@
|
||||
@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css");
|
||||
@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css");
|
||||
@import url("file://~/.config/omarchy/current/theme/walker.css");
|
||||
|
@ -1,2 +1,2 @@
|
||||
@import url("file://~//.local/share/omarchy/default/walker/themes/omarchy-default.css");
|
||||
@import url("file://~/.local/share/omarchy/default/walker/themes/omarchy-default.css");
|
||||
@import url("file://~/.config/omarchy/current/theme/walker.css");
|
||||
|
@ -21,4 +21,7 @@ done
|
||||
# Ensure locate is up to date now that everything has been installed
|
||||
sudo updatedb
|
||||
|
||||
# Update all built-in packages
|
||||
sudo pacman -Syu --noconfirm
|
||||
|
||||
gum confirm "Reboot to apply all settings?" && reboot
|
||||
|
@ -3,6 +3,9 @@
|
||||
# Copy over Omarchy configs
|
||||
cp -R ~/.local/share/omarchy/config/* ~/.config/
|
||||
|
||||
# Use default bashrc from Omarchy
|
||||
echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc
|
||||
|
||||
# Ensure application directory exists for update-desktop-database
|
||||
mkdir -p ~/.local/share/applications
|
||||
|
||||
@ -13,8 +16,9 @@ sudo chmod 644 /etc/gnupg/dirmngr.conf
|
||||
sudo gpgconf --kill dirmngr || true
|
||||
sudo gpgconf --launch dirmngr || true
|
||||
|
||||
# Use default bashrc from Omarchy
|
||||
echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc
|
||||
# Increase lockout limit to 10 and decrease timeout to 2 minutes
|
||||
sudo sed -i 's|^\(auth\s\+required\s\+pam_faillock.so\)\s\+preauth.*$|\1 preauth silent deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
||||
sudo sed -i 's|^\(auth\s\+\[default=die\]\s\+pam_faillock.so\)\s\+authfail.*$|\1 authfail deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
||||
|
||||
# Set common git aliases
|
||||
git config --global alias.co checkout
|
||||
|
@ -4,6 +4,13 @@ yay -S --noconfirm --needed \
|
||||
brightnessctl playerctl pamixer wiremix wireplumber \
|
||||
fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \
|
||||
nautilus sushi ffmpegthumbnailer \
|
||||
slurp wl-screenrec satty \
|
||||
slurp satty \
|
||||
mpv evince imv \
|
||||
chromium
|
||||
|
||||
# Add screen recorder based on GPU
|
||||
if lspci | grep -qi 'nvidia'; then
|
||||
yay -S --noconfirm --needed wf-recorder
|
||||
else
|
||||
yay -S --noconfirm --needed wl-screenrec
|
||||
fi
|
||||
|
15
install/detect-keyboard-layout.sh
Executable file
15
install/detect-keyboard-layout.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
conf="/etc/vconsole.conf"
|
||||
hyprconf="$HOME/.config/hypr/hyprland.conf"
|
||||
|
||||
layout=$(grep '^XKBLAYOUT=' "$conf" | cut -d= -f2 | tr -d '"')
|
||||
variant=$(grep '^XKBVARIANT=' "$conf" | cut -d= -f2 | tr -d '"')
|
||||
|
||||
if [[ -n "$layout" ]]; then
|
||||
sed -i "/^[[:space:]]*kb_options *=/i\ kb_layout = $layout" "$hyprconf"
|
||||
fi
|
||||
|
||||
if [[ -n "$variant" ]]; then
|
||||
sed -i "/^[[:space:]]*kb_options *=/i\ kb_variant = $variant" "$hyprconf"
|
||||
fi
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ! command -v ufw &>/dev/null; then
|
||||
yay -Sy --noconfirm --needed ufw ufw-docker
|
||||
yay -S --noconfirm --needed ufw ufw-docker
|
||||
|
||||
# Allow nothing in, everything out
|
||||
sudo ufw default deny incoming
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$OMARCHY_BARE" ]; then
|
||||
yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra
|
||||
yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra
|
||||
else
|
||||
yay -Sy --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji
|
||||
yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji
|
||||
fi
|
||||
|
||||
mkdir -p ~/.local/share/fonts
|
||||
|
@ -35,6 +35,9 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then
|
||||
sudo sed -i '/^#\[multilib\]/,/^#Include/ s/^#//' /etc/pacman.conf
|
||||
fi
|
||||
|
||||
# force package database refresh
|
||||
sudo pacman -Syy
|
||||
|
||||
# Install packages
|
||||
PACKAGES_TO_INSTALL=(
|
||||
"${KERNEL_HEADERS}"
|
||||
@ -47,7 +50,7 @@ if [ -n "$(lspci | grep -i 'nvidia')" ]; then
|
||||
"qt6-wayland"
|
||||
)
|
||||
|
||||
yay -Syu --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}"
|
||||
yay -S --needed --noconfirm "${PACKAGES_TO_INSTALL[@]}"
|
||||
|
||||
# Configure modprobe for early KMS
|
||||
echo "options nvidia_drm modeset=1" | sudo tee /etc/modprobe.d/nvidia.conf >/dev/null
|
||||
|
@ -15,7 +15,7 @@ for f in ~/.local/share/omarchy/themes/*; do ln -s "$f" ~/.config/omarchy/themes
|
||||
# Set initial theme
|
||||
mkdir -p ~/.config/omarchy/current
|
||||
ln -snf ~/.config/omarchy/themes/tokyo-night ~/.config/omarchy/current/theme
|
||||
ln -snf ~/.config/omarchy/current/theme/backgrounds/1-Pawel-Czerwinski-Abstract-Purple-Blue.jpg ~/.config/omarchy/current/background
|
||||
ln -snf ~/.config/omarchy/current/theme/backgrounds/1-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png ~/.config/omarchy/current/background
|
||||
|
||||
# Set specific app links for current theme
|
||||
ln -snf ~/.config/omarchy/current/theme/neovim.lua ~/.config/nvim/lua/plugins/theme.lua
|
||||
|
@ -12,4 +12,5 @@ if [ -z "$OMARCHY_BARE" ]; then
|
||||
web2app "YouTube" https://youtube.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png
|
||||
web2app "GitHub" https://github.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png
|
||||
web2app "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png
|
||||
web2app "Omarchy Manual" https://manuals.omamix.org/2/the-omarchy-manual https://manuals.omamix.org/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDgsInB1ciI6ImJsb2JfaWQifX0=--c26606490139480f5bcb3cf91b09fc45825007f6/omarchy.jpg?disposition=attachment
|
||||
fi
|
||||
|
@ -9,5 +9,5 @@ if ! command -v walker &>/dev/null; then
|
||||
mkdir -p ~/.config/walker
|
||||
cp -r ~/.local/share/omarchy/config/walker/* ~/.config/walker/
|
||||
|
||||
uwsm app -- walker --gapplication-service
|
||||
setsid uwsm app -- walker --gapplication-service &
|
||||
fi
|
||||
|
@ -1,6 +0,0 @@
|
||||
echo "Ensure first-run flow isn't run for existing installations"
|
||||
|
||||
if [[ ! -f ~/.local/state/omarchy/after-first-run.mode ]]; then
|
||||
mkdir -p ~/.local/state/omarchy
|
||||
touch ~/.local/state/omarchy/after-first-run.mode
|
||||
fi
|
@ -2,5 +2,5 @@ echo "Install swayOSD to show volume status"
|
||||
|
||||
if ! command -v swayosd &>/dev/null; then
|
||||
yay -S --noconfirm --needed swayosd
|
||||
uwsm app -- swayosd-server &>/dev/null &
|
||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
||||
fi
|
||||
|
11
migrations/1753176520.sh
Normal file
11
migrations/1753176520.sh
Normal file
@ -0,0 +1,11 @@
|
||||
echo "Install wf-recorder for screen recording for nvidia"
|
||||
|
||||
if lspci | grep -qi 'nvidia'; then
|
||||
if ! command -v wf-recorder &>/dev/null; then
|
||||
yay -S --noconfirm --needed wf-recorder
|
||||
fi
|
||||
|
||||
if command -v wl-screenrec &>/dev/null; then
|
||||
yay -R --noconfirm wl-screenrec
|
||||
fi
|
||||
fi
|
9
migrations/1753224615.sh
Executable file
9
migrations/1753224615.sh
Executable file
@ -0,0 +1,9 @@
|
||||
echo "Adding SwayOSD theming"
|
||||
|
||||
if [[ ! -d ~/.config/swayosd ]]; then
|
||||
mkdir -p ~/.config/swayosd
|
||||
cp -r ~/.local/share/omarchy/config/swayosd/* ~/.config/swayosd/
|
||||
|
||||
pkill swayosd-server
|
||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
||||
fi
|
6
migrations/1753286633.sh
Normal file
6
migrations/1753286633.sh
Normal file
@ -0,0 +1,6 @@
|
||||
echo "Increase lockout limit to 10, decrease timeout to 2 minutes"
|
||||
|
||||
if ! grep -q 'deny=10' /etc/pam.d/system-auth; then
|
||||
sudo sed -i 's|^\(auth\s\+required\s\+pam_faillock.so\)\s\+preauth.*$|\1 preauth silent deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
||||
sudo sed -i 's|^\(auth\s\+\[default=die\]\s\+pam_faillock.so\)\s\+authfail.*$|\1 authfail deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
||||
fi
|
6
themes/catppuccin-latte/swayosd.css
Normal file
6
themes/catppuccin-latte/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #eff1f5;
|
||||
@define-color border-color #4c4f69;
|
||||
@define-color label #4c4f69;
|
||||
@define-color image #4c4f69;
|
||||
@define-color progress #4c4f69;
|
||||
|
6
themes/catppuccin/swayosd.css
Normal file
6
themes/catppuccin/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #24273a;
|
||||
@define-color border-color #c6d0f5;
|
||||
@define-color label #c6d0f5;
|
||||
@define-color image #c6d0f5;
|
||||
@define-color progress #c6d0f5;
|
||||
|
6
themes/everforest/swayosd.css
Normal file
6
themes/everforest/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #2d353b;
|
||||
@define-color border-color #d3c6aa;
|
||||
@define-color label #d3c6aa;
|
||||
@define-color image #d3c6aa;
|
||||
@define-color progress #d3c6aa;
|
||||
|
6
themes/gruvbox/swayosd.css
Normal file
6
themes/gruvbox/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #282828;
|
||||
@define-color border-color #ebdbb2;
|
||||
@define-color label #ebdbb2;
|
||||
@define-color image #ebdbb2;
|
||||
@define-color progress #ebdbb2;
|
||||
|
6
themes/kanagawa/swayosd.css
Normal file
6
themes/kanagawa/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #1f1f28;
|
||||
@define-color border-color #dcd7ba;
|
||||
@define-color label #dcd7ba;
|
||||
@define-color image #dcd7ba;
|
||||
@define-color progress #dcd7ba;
|
||||
|
6
themes/matte-black/swayosd.css
Normal file
6
themes/matte-black/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #121212;
|
||||
@define-color border-color #EAEAEA;
|
||||
@define-color label #EAEAEA;
|
||||
@define-color image #EAEAEA;
|
||||
@define-color progress #EAEAEA;
|
||||
|
6
themes/nord/swayosd.css
Normal file
6
themes/nord/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #2E3440;
|
||||
@define-color border-color #D8DEE9;
|
||||
@define-color label #D8DEE9;
|
||||
@define-color image #D8DEE9;
|
||||
@define-color progress #D8DEE9;
|
||||
|
6
themes/rose-pine/swayosd.css
Normal file
6
themes/rose-pine/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #faf4ed;
|
||||
@define-color border-color #575279;
|
||||
@define-color label #575279;
|
||||
@define-color image #575279;
|
||||
@define-color progress #575279;
|
||||
|
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 4.6 MiB After Width: | Height: | Size: 4.6 MiB |
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
6
themes/tokyo-night/swayosd.css
Normal file
6
themes/tokyo-night/swayosd.css
Normal file
@ -0,0 +1,6 @@
|
||||
@define-color background-color #1a1b26;
|
||||
@define-color border-color #33ccff;
|
||||
@define-color label #33ccff;
|
||||
@define-color image #33ccff;
|
||||
@define-color progress #33ccff;
|
||||
|
Reference in New Issue
Block a user