Compare commits

..

1 Commits

Author SHA1 Message Date
David Heinemeier Hansson
a881b7c45f Ensure Linux kernel is running preempt=full to avoid audio/linux jitter under load 2025-11-09 13:08:12 +01:00
47 changed files with 110 additions and 220 deletions

View File

@@ -0,0 +1,21 @@
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
X-TerminalArgExec=-e
X-TerminalArgAppId=--class=
X-TerminalArgTitle=--title=
X-TerminalArgDir=--working-directory=
[Desktop Action New]
Name=New Terminal
Exec=alacritty

View File

@@ -1,13 +1,13 @@
#!/bin/bash #!/bin/bash
screensaver_in_focus() { screensaver_in_focus() {
hyprctl activewindow -j | jq -e '.class == "com.omarchy.Screensaver"' >/dev/null 2>&1 hyprctl activewindow -j | jq -e '.class == "Screensaver"' >/dev/null 2>&1
} }
exit_screensaver() { exit_screensaver() {
hyprctl keyword cursor:invisible false hyprctl keyword cursor:invisible false
pkill -x tte 2>/dev/null pkill -x tte 2>/dev/null
pkill -f com.omarchy.Screensaver 2>/dev/null pkill -f "alacritty --class Screensaver" 2>/dev/null
exit 0 exit 0
} }

View File

@@ -18,7 +18,6 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
pkill -SIGUSR2 ghostty pkill -SIGUSR2 ghostty
fi fi
sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css
xmlstarlet ed -L \ xmlstarlet ed -L \

View File

@@ -50,7 +50,6 @@ ruby)
omarchy-pkg-add libyaml omarchy-pkg-add libyaml
mise use --global ruby@latest mise use --global ruby@latest
mise settings add idiomatic_version_file_enable_tools ruby mise settings add idiomatic_version_file_enable_tools ruby
echo "gem: --no-document" > ~/.gemrc
mise x ruby -- gem install rails --no-document mise x ruby -- gem install rails --no-document
echo -e "\nYou can now run: rails new myproject" echo -e "\nYou can now run: rails new myproject"
;; ;;

View File

@@ -9,43 +9,31 @@ package="$1"
# Map package name to desktop entry ID # Map package name to desktop entry ID
case "$package" in case "$package" in
alacritty) desktop_id="Alacritty.desktop" ;; alacritty)
ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;; desktop_id="Alacritty.desktop"
kitty) desktop_id="kitty.desktop" ;; ;;
*) ghostty)
echo "Unknown terminal: $package" desktop_id="com.mitchellh.ghostty.desktop"
exit 1 ;;
;; kitty)
desktop_id="kitty.desktop"
;;
*)
echo "Unknown terminal: $package"
exit 1
;;
esac esac
# Install package # Install package
if omarchy-pkg-add $package; then if omarchy-pkg-add $package; then
# Copy custom desktop entry for alacritty with X-TerminalArg* keys # Set as default terminal
if [[ $package == "alacritty" ]]; then echo "Setting $package as new default terminal..."
mkdir -p ~/.local/share/applications sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
cat > ~/.local/share/applications/Alacritty.desktop << EOF
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
X-TerminalArgExec=-e
X-TerminalArgAppId=--class=
X-TerminalArgTitle=--title=
X-TerminalArgDir=--working-directory=
[Desktop Action New] # Copy custom desktop entry for alacritty with X-TerminalArg* keys
Name=New Terminal if [ "$package" = "alacritty" ]; then
Exec=alacritty mkdir -p ~/.local/share/applications
EOF cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/
fi fi
# Update xdg-terminals.list to prioritize the proper terminal # Update xdg-terminals.list to prioritize the proper terminal

View File

@@ -7,7 +7,7 @@ fi
WINDOW_PATTERN="$1" 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) 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 if [[ -n $WINDOW_ADDRESS ]]; then
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS" hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"

View File

@@ -6,7 +6,7 @@ if ! command -v tte &>/dev/null; then
fi fi
# Exit early if screensave is already running # Exit early if screensave is already running
pgrep -f com.omarchy.Screensaver && exit 0 pgrep -f "alacritty --class Screensaver" && exit 0
# Allow screensaver to be turned off but also force started # Allow screensaver to be turned off but also force started
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then
@@ -14,34 +14,15 @@ if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]
fi fi
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name') focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
terminal=$(xdg-terminal-exec --print-id)
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
hyprctl dispatch focusmonitor $m hyprctl dispatch focusmonitor $m
case $terminal in # FIXME: Find a way to make this generic where we it can work for kitty + ghostty
*Alacritty*) hyprctl dispatch exec -- \
hyprctl dispatch exec -- \ alacritty --class Screensaver \
alacritty --class=com.omarchy.Screensaver \ --config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \
--config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \ -e omarchy-cmd-screensaver
-e omarchy-cmd-screensaver
;;
*ghostty*)
hyprctl dispatch exec -- \
ghostty --class=com.omarchy.Screensaver \
--font-size=18 \
-e omarchy-cmd-screensaver
;;
*kitty*)
hyprctl dispatch exec -- \
kitty --class=com.omarchy.Screensaver \
--override font_size=18 \
-e omarchy-cmd-screensaver
;;
*)
notify-send "✋ Screensaver only runs in Alacritty, Ghostty, or Kitty"
;;
esac
done done
hyprctl dispatch focusmonitor $focused hyprctl dispatch focusmonitor $focused

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
exec setsid omarchy-launch-or-focus com.omarchy.Impala "uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala" exec setsid uwsm-app -- xdg-terminal-exec --app-id=com.omarchy.Impala -e impala "$@"

View File

@@ -9,4 +9,4 @@ if pgrep -x "1password" >/dev/null; then
fi fi
# Avoid running screensaver when locked # Avoid running screensaver when locked
pkill -f com.omarchy.Screensaver pkill -f "alacritty --class Screensaver"

View File

@@ -33,7 +33,7 @@ menu() {
fi fi
fi fi
echo -e "$options" | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 630 -p "$prompt…" "${args[@]}" 2>/dev/null echo -e "$options" | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 600 -p "$prompt…" "${args[@]}" 2>/dev/null
} }
terminal() { terminal() {
@@ -124,7 +124,7 @@ show_screenrecord_menu() {
show_share_menu() { show_share_menu() {
case $(menu "Share" " Clipboard\n File \n Folder") in case $(menu "Share" " Clipboard\n File \n Folder") in
*Clipboard*) omarchy-cmd-share clipboard ;; *Clipboard*) terminal bash -c "omarchy-cmd-share clipboard" ;;
*File*) terminal bash -c "omarchy-cmd-share file" ;; *File*) terminal bash -c "omarchy-cmd-share file" ;;
*Folder*) terminal bash -c "omarchy-cmd-share folder" ;; *Folder*) terminal bash -c "omarchy-cmd-share folder" ;;
*) back_to show_trigger_menu ;; *) back_to show_trigger_menu ;;

View File

@@ -1,7 +1,3 @@
#!/bin/bash #!/bin/bash
if [[ $1 == "edge" ]]; then sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-edge /etc/pacman.d/mirrorlist
else
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist
fi

View File

@@ -51,16 +51,6 @@ EOF
fi fi
} }
add_hyprlock_fingerprint_icon() {
print_info "Adding fingerprint icon to hyprlock placeholder text..."
sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf
}
remove_hyprlock_fingerprint_icon() {
print_info "Removing fingerprint icon from hyprlock placeholder text..."
sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf
}
remove_pam_config() { remove_pam_config() {
# Remove from sudo # Remove from sudo
if grep -q pam_fprintd.so /etc/pam.d/sudo; then if grep -q pam_fprintd.so /etc/pam.d/sudo; then
@@ -81,9 +71,6 @@ if [[ "--remove" == "$1" ]]; then
# Remove PAM configuration # Remove PAM configuration
remove_pam_config remove_pam_config
# Remove fingerprint icon from hyprlock placeholder text
remove_hyprlock_fingerprint_icon
# Uninstall packages # Uninstall packages
print_info "Removing fingerprint packages..." print_info "Removing fingerprint packages..."
sudo pacman -Rns --noconfirm fprintd sudo pacman -Rns --noconfirm fprintd
@@ -103,9 +90,6 @@ else
# Configure PAM # Configure PAM
setup_pam_config setup_pam_config
# Add fingerprint icon to hyprlock placeholder text
add_hyprlock_fingerprint_icon
# Enroll first fingerprint # Enroll first fingerprint
print_success "\nLet's setup your right index finger as the first fingerprint." print_success "\nLet's setup your right index finger as the first fingerprint."
print_info "Keep moving the finger around on sensor until the process completes.\n" print_info "Keep moving the finger around on sensor until the process completes.\n"

View File

@@ -391,7 +391,7 @@ extract_theme_data() {
readarray -t color_slots < <(fill_color_slots "${unique_colors[@]}" | tr ' ' '\n') readarray -t color_slots < <(fill_color_slots "${unique_colors[@]}" | tr ' ' '\n')
# Extract fonts # Extract fonts
local monospace_font="JetBrainsMono Nerd Font" local monospace_font="CaskaydiaMono Nerd Font"
local ui_font="Liberation Sans" local ui_font="Liberation Sans"
if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then if [ -f "$CURRENT_THEME_DIR/alacritty.toml" ]; then

View File

@@ -4,9 +4,9 @@ general.import = [ "~/.config/omarchy/current/theme/alacritty.toml" ]
TERM = "xterm-256color" TERM = "xterm-256color"
[font] [font]
normal = { family = "JetBrainsMono Nerd Font", style = "Regular" } normal = { family = "CaskaydiaMono Nerd Font", style = "Regular" }
bold = { family = "JetBrainsMono Nerd Font", style = "Bold" } bold = { family = "CaskaydiaMono Nerd Font", style = "Bold" }
italic = { family = "JetBrainsMono Nerd Font", style = "Italic" } italic = { family = "CaskaydiaMono Nerd Font", style = "Italic" }
size = 9 size = 9
[window] [window]

View File

@@ -24,7 +24,7 @@
<string>monospace</string> <string>monospace</string>
</test> </test>
<edit name="family" mode="assign" binding="strong"> <edit name="family" mode="assign" binding="strong">
<string>JetBrainsMono Nerd Font</string> <string>CaskaydiaMono Nerd Font</string>
</edit> </edit>
</match> </match>

View File

@@ -2,7 +2,7 @@
config-file = ?"~/.config/omarchy/current/theme/ghostty.conf" config-file = ?"~/.config/omarchy/current/theme/ghostty.conf"
# Font # Font
font-family = "JetBrainsMono Nerd Font" font-family = "CaskaydiaMono Nerd Font"
font-style = Regular font-style = Regular
font-size = 9 font-size = 9
@@ -25,6 +25,3 @@ shell-integration-features = no-cursor,ssh-env
# Keyboard bindings # Keyboard bindings
keybind = shift+insert=paste_from_clipboard keybind = shift+insert=paste_from_clipboard
keybind = control+insert=copy_to_clipboard keybind = control+insert=copy_to_clipboard
# Slowdown mouse scrolling
mouse-scroll-multiplier = 0.95

View File

@@ -11,7 +11,7 @@ bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor
bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop
bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker
bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop" bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus signal "uwsm-app -- signal-desktop"
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus "^obsidian$" "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password

View File

@@ -22,10 +22,10 @@ input-field {
outer_color = $outer_color outer_color = $outer_color
outline_thickness = 4 outline_thickness = 4
font_family = JetBrainsMono Nerd Font font_family = CaskaydiaMono Nerd Font Propo
font_color = $font_color font_color = $font_color
placeholder_text = Enter Password placeholder_text = Enter Password 󰈷
check_color = $check_color check_color = $check_color
fail_text = <i>$FAIL ($ATTEMPTS)</i> fail_text = <i>$FAIL ($ATTEMPTS)</i>

View File

@@ -3,7 +3,7 @@
input { input {
# Use multiple keyboard layouts and switch between them with Left Alt + Right Alt # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt
# kb_layout = us,dk,eu # kb_layout = us,dk,eu
kb_options = compose:caps # ,grp:alts_toggle kb_options = compose:caps # ,grp:shifts_toggle
# Change speed of keyboard repeat # Change speed of keyboard repeat
repeat_rate = 40 repeat_rate = 40

View File

@@ -1,13 +1,2 @@
[binds] [binds]
<Ctrl+p> = exec lp $imv_current_file
# Print the current image file
<Ctrl+p> = exec lp "$imv_current_file"
# Delete the current image and quit the viewer
<Ctrl+x> = exec rm "$imv_current_file"; quit
# Delete the current image and move to the next one
<Ctrl+Shift+X> = exec rm "$imv_current_file"; close
# Rotate the currently open image by 90 degrees
<Ctrl+r> = exec mogrify -rotate 90 "$imv_current_file"

View File

@@ -1,7 +1,7 @@
include ~/.config/omarchy/current/theme/kitty.conf include ~/.config/omarchy/current/theme/kitty.conf
# Font # Font
font_family JetBrainsMono Nerd Font font_family CaskaydiaMono Nerd Font
bold_italic_font auto bold_italic_font auto
font_size 9.0 font_size 9.0

View File

@@ -9,7 +9,7 @@ window {
} }
label { label {
font-family: 'JetBrainsMono Nerd Font'; font-family: 'CaskaydiaMono Nerd Font';
font-size: 11pt; font-size: 11pt;
color: @label; color: @label;

View File

@@ -7,7 +7,7 @@
border: none; border: none;
border-radius: 0; border-radius: 0;
min-height: 0; min-height: 0;
font-family: 'JetBrainsMono Nerd Font'; font-family: 'CaskaydiaMono Nerd Font';
font-size: 12px; font-size: 12px;
} }

View File

@@ -1,3 +0,0 @@
# Terminal emulator preference order for xdg-terminal-exec
# The first found and valid terminal will be used
com.mitchellh.ghostty.desktop

View File

@@ -25,21 +25,14 @@ format-drive() {
else else
echo "WARNING: This will completely erase all data on $1 and label it '$2'." echo "WARNING: This will completely erase all data on $1 and label it '$2'."
read -rp "Are you sure you want to continue? (y/N): " confirm read -rp "Are you sure you want to continue? (y/N): " confirm
if [[ "$confirm" =~ ^[Yy]$ ]]; then if [[ "$confirm" =~ ^[Yy]$ ]]; then
sudo wipefs -a "$1" sudo wipefs -a "$1"
sudo dd if=/dev/zero of="$1" bs=1M count=100 status=progress sudo dd if=/dev/zero of="$1" bs=1M count=100 status=progress
sudo parted -s "$1" mklabel gpt sudo parted -s "$1" mklabel gpt
sudo parted -s "$1" mkpart primary 1MiB 100% sudo parted -s "$1" mkpart primary ext4 1MiB 100%
sudo mkfs.ext4 -L "$2" "$([[ $1 == *"nvme"* ]] && echo "${1}p1" || echo "${1}1")"
partition="$([[ $1 == *"nvme"* ]] && echo "${1}p1" || echo "${1}1")" sudo chmod -R 777 "/run/media/$USER/$2"
sudo partprobe "$1" || true echo "Drive $1 formatted and labeled '$2'."
sudo udevadm settle || true
omarchy-pkg-add exfatprogs
sudo mkfs.exfat -n "$2" "$partition"
echo "Drive $1 formatted as exFAT and labeled '$2'."
fi fi
fi fi
} }

View File

@@ -10,10 +10,6 @@ if command -v zoxide &> /dev/null; then
eval "$(zoxide init bash)" eval "$(zoxide init bash)"
fi fi
if command -v try &> /dev/null; then
eval "$(try init ~/Work/tries)"
fi
if command -v fzf &> /dev/null; then if command -v fzf &> /dev/null; then
if [[ -f /usr/share/fzf/completion.bash ]]; then if [[ -f /usr/share/fzf/completion.bash ]]; then
source /usr/share/fzf/completion.bash source /usr/share/fzf/completion.bash

View File

@@ -1,2 +1 @@
windowrule = noscreenshare, class:^(1[p|P]assword)$ windowrule = noscreenshare, class:^(1Password)$
windowrule = tag +floating-window, class:^(1[p|P]assword)$

View File

@@ -1,19 +1,9 @@
# Fix splash screen showing in weird places and prevent annoying focus takeovers # JetBrains windows default size
windowrule = tag +jetbrains-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1 windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$
windowrule = center, tag:jetbrains-splash
windowrule = nofocus, tag:jetbrains-splash
windowrule = noborder, tag:jetbrains-splash
# Center popups/find windows # Fix tab dragging (tab titles are just one space)
windowrule = tag +jetbrains, class:^(jetbrains-.*), title:^()$, floating:1 windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$
windowrule = center, tag:jetbrains
# Enabling this makes it possible to provide input in popup dialogs (search window, new file, etc.) # Allow dialogs (like "Send usage statistics") to be focusable and clickable
windowrule = stayfocused, tag:jetbrains windowrule = unset,nofocus,class:^(.*jetbrains.*)$,title:^$
windowrule = noborder, tag:jetbrains windowrule = unset,noinitialfocus,class:^(.*jetbrains.*)$,title:^$
# For some reason tag:jetbrains does not work for size rule
windowrule = size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1
# Disable window flicker when autocomplete or tooltips appear
windowrule = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$, floating:1

View File

@@ -8,7 +8,7 @@ windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|De
windowrule = float, class:org.gnome.Calculator windowrule = float, class:org.gnome.Calculator
# Fullscreen screensaver # Fullscreen screensaver
windowrule = fullscreen, class:com.omarchy.Screensaver windowrule = fullscreen, class:Screensaver
# No transparency on media windows # No transparency on media windows
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$ windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$

View File

@@ -38,11 +38,8 @@ decoration {
# https://wiki.hyprland.org/Configuring/Variables/#blur # https://wiki.hyprland.org/Configuring/Variables/#blur
blur { blur {
enabled = true enabled = true
size = 2 size = 3
passes = 2 passes = 3
special = true
brightness = 0.60
contrast = 0.75
} }
} }

View File

@@ -0,0 +1,3 @@
Server = https://mirror.omarchy.org/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch

View File

@@ -1 +0,0 @@
Server = https://mirror.omarchy.org/$repo/os/$arch

View File

@@ -1 +0,0 @@
Server = https://stable-mirror.omarchy.org/$repo/os/$arch

View File

@@ -1,8 +1,6 @@
# Setup default work directory (and tries)
mkdir -p "$HOME/Work"
mkdir -p "$HOME/Work/tries"
# Add ./bin to path for all items in ~/Work # Add ./bin to path for all items in ~/Work
mkdir -p "$HOME/Work"
cat >"$HOME/Work/.mise.toml" <<'EOF' cat >"$HOME/Work/.mise.toml" <<'EOF'
[env] [env]
_.path = "{{ cwd }}/bin" _.path = "{{ cwd }}/bin"

View File

@@ -33,7 +33,7 @@ TARGET_OS_NAME="Omarchy"
ESP_PATH="/boot" ESP_PATH="/boot"
KERNEL_CMDLINE[default]="$CMDLINE" KERNEL_CMDLINE[default]="$CMDLINE"
KERNEL_CMDLINE[default]+="quiet splash" KERNEL_CMDLINE[default]+="quiet splash preempt=full"
ENABLE_UKI=yes ENABLE_UKI=yes
CUSTOM_UKI_NAME="omarchy" CUSTOM_UKI_NAME="omarchy"

View File

@@ -4,6 +4,7 @@
1password-beta 1password-beta
1password-cli 1password-cli
aether aether
alacritty
asdcontrol asdcontrol
avahi avahi
bash-completion bash-completion
@@ -11,6 +12,7 @@ bat
blueberry blueberry
brightnessctl brightnessctl
btop btop
cargo
clang clang
cups cups
cups-browsed cups-browsed
@@ -31,7 +33,6 @@ fd
ffmpegthumbnailer ffmpegthumbnailer
fontconfig fontconfig
fzf fzf
ghostty
github-cli github-cli
gnome-calculator gnome-calculator
gnome-keyring gnome-keyring
@@ -63,12 +64,12 @@ less
libsecret libsecret
libyaml libyaml
libqalculate libqalculate
libreoffice-fresh libreoffice
llvm llvm
localsend localsend
luarocks luarocks
mako mako
man-db man
mariadb-libs mariadb-libs
mise mise
mpv mpv
@@ -98,8 +99,6 @@ python-poetry-core
python-terminaltexteffects python-terminaltexteffects
qt5-wayland qt5-wayland
ripgrep ripgrep
ruby
rust
satty satty
sddm sddm
signal-desktop signal-desktop
@@ -112,7 +111,6 @@ swayosd
system-config-printer system-config-printer
tldr tldr
tree-sitter-cli tree-sitter-cli
tobi-try
ttf-cascadia-mono-nerd ttf-cascadia-mono-nerd
ttf-ia-writer ttf-ia-writer
ttf-jetbrains-mono-nerd ttf-jetbrains-mono-nerd
@@ -121,7 +119,6 @@ tzupdate
ufw ufw
ufw-docker ufw-docker
unzip unzip
usage
uwsm uwsm
waybar waybar
wayfreeze wayfreeze

View File

@@ -35,6 +35,7 @@ pipewire
pipewire-alsa pipewire-alsa
pipewire-jack pipewire-jack
pipewire-pulse pipewire-pulse
qt5-remoteobjects
qt6-wayland qt6-wayland
sassc sassc
snapper snapper

View File

@@ -1,6 +1,6 @@
# Configure pacman # Configure pacman
sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf sudo cp -f ~/.local/share/omarchy/default/pacman/pacman.conf /etc/pacman.conf
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist-stable /etc/pacman.d/mirrorlist sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist
if lspci -nn | grep -q "106b:180[12]"; then if lspci -nn | grep -q "106b:180[12]"; then
cat <<EOF | sudo tee -a /etc/pacman.conf >/dev/null cat <<EOF | sudo tee -a /etc/pacman.conf >/dev/null

View File

@@ -12,9 +12,15 @@ omarchy-pkg-add xdg-terminal-exec
# Set up xdg-terminals.list based on current $TERMINAL # Set up xdg-terminals.list based on current $TERMINAL
if [ -n "$TERMINAL" ]; then if [ -n "$TERMINAL" ]; then
case "$TERMINAL" in case "$TERMINAL" in
alacritty) desktop_id="Alacritty.desktop" ;; alacritty)
ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;; desktop_id="Alacritty.desktop"
kitty) desktop_id="kitty.desktop" ;; ;;
ghostty)
desktop_id="com.mitchellh.ghostty.desktop"
;;
kitty)
desktop_id="kitty.desktop"
;;
esac esac
if [ -n "$desktop_id" ]; then if [ -n "$desktop_id" ]; then

View File

@@ -1,12 +1,7 @@
echo "Update hyprlock font to match current system font" echo "Ensure Linux is running fully preemptible to avoid video/audio issues"
font_name=$(omarchy-font-current) if ! grep -q "preempt=full" /etc/default/limine; then
sudo sed -i 's/^\(KERNEL_CMDLINE\[default\]+=\"[^"]*\)"/\1 preempt=full"/' /etc/default/limine
if [[ -n "$font_name" ]]; then sudo limine-update
cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s) omarchy-state set reboot-required
echo "Found font '$font_name', updating hyprlock"
sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf
else
echo "No font found, skipping migration"
fi fi

View File

@@ -1,12 +0,0 @@
echo "Update hyprlock placeholder text based on fingerprint setup status"
cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s)
# Check if fprintd is installed and has enrolled fingerprints
if command -v fprintd-list &>/dev/null && fprintd-list "$USER" 2>/dev/null | grep -q "Fingerprints for user"; then
echo "Fingerprint detected, updating placeholder text with fingerprint icon"
sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf
else
echo "No fingerprint enrolled, updating placeholder text without fingerprint icon"
sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf
fi

View File

@@ -1,3 +0,0 @@
echo "Add usage package to provide tab completion for mise"
omarchy-pkg-add usage

View File

@@ -1,3 +0,0 @@
echo "Ensure config/uwsm/default uses generic terminal exec"
sed -i 's/export TERMINAL=.*/export TERMINAL=xdg-terminal-exec/' ~/.config/uwsm/default

View File

@@ -1,5 +0,0 @@
echo "Slow down Ghostty mouse scrolling to match Alacritty"
if ! grep -q "mouse-scroll-multiplier" ~/.config/ghostty/config; then
echo -e "\n# Slowdown mouse scrolling\nmouse-scroll-multiplier = 0.95" >> ~/.config/ghostty/config
fi

View File

@@ -1,3 +0,0 @@
echo "Pull packages from stable Arch mirror"
omarchy-refresh-pacman-mirrorlist stable

View File

@@ -1,4 +0,0 @@
echo "Add try command for managing quick code experiments"
omarchy-pkg-add ruby tobi-try
mkdir -p ~/Work/tries

View File

@@ -1,4 +0,0 @@
echo "Update imv config with new keybindings"
mkdir -p ~/.config/imv
cp $OMARCHY_PATH/config/imv/config ~/.config/imv/