mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
Compare commits
39 Commits
v1.5.0
...
178f97a6e3
Author | SHA1 | Date | |
---|---|---|---|
178f97a6e3 | |||
f99277ad71 | |||
ca69f15709 | |||
2e874adb50 | |||
3b0fd13be1 | |||
f8a7e1c7eb | |||
ee5785855a | |||
7f681c71fb | |||
d76d31a5af | |||
3c156ab059 | |||
dbfad74ba3 | |||
56e1ba9c5d | |||
68a188d299 | |||
4df7fcb716 | |||
913675bd5e | |||
56e25bd02c | |||
2224249901 | |||
2b0c56bbb1 | |||
f388e90d3b | |||
cd915557ae | |||
96e87d8e7e | |||
be751a3dde | |||
786b0b2205 | |||
ced618318d | |||
f5553a8d30 | |||
e34dbe7d50 | |||
19d45670ce | |||
4bb8afde02 | |||
49efa1c3f1 | |||
87e55b193b | |||
5252990396 | |||
276886af8e | |||
0e0741feb7 | |||
cc0ac314ef | |||
98c269e6d5 | |||
d200cec03c | |||
2bcff1662b | |||
4097582572 | |||
03a541a9a2 |
@ -2,7 +2,7 @@
|
||||
Name=Neovim
|
||||
GenericName=Text Editor
|
||||
Comment=Edit text files
|
||||
Exec=alacritty -e nvim -- %F
|
||||
Exec=alacritty --class=nvim --title=nvim -e nvim -- %F
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Keywords=Text;editor;
|
||||
|
7
applications/wiremix.desktop
Normal file
7
applications/wiremix.desktop
Normal file
@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Audio Settings
|
||||
Comment=Using Wiremix
|
||||
Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix
|
||||
Icon=audio-card
|
||||
Type=Application
|
||||
Terminal=false
|
@ -1,16 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Power menu for Omarchy
|
||||
# Provides power off, restart, and sleep options
|
||||
|
||||
# Function to show power menu. The first characters are invisible sort keys.
|
||||
show_power_menu() {
|
||||
# The first characters are invisible sort keys.
|
||||
local menu_options="\u200B Lock
|
||||
\u200C Suspend
|
||||
\u200D Relaunch
|
||||
\u2060 Restart
|
||||
\u2063 Shutdown"
|
||||
local selection=$(echo -e "$menu_options" | wofi --show dmenu --prompt "Power Options" --width 150 --height 195 -O alphabetical --style ~/.config/wofi/select.css)
|
||||
|
||||
local selection=$(echo -e "$menu_options" | wofi --show dmenu --width 150 --height 195 -O alphabetical --style ~/.config/wofi/select.css)
|
||||
|
||||
case "$selection" in
|
||||
*Lock*) hyprlock ;;
|
||||
@ -21,5 +19,4 @@ show_power_menu() {
|
||||
esac
|
||||
}
|
||||
|
||||
# Main execution
|
||||
show_power_menu
|
||||
|
14
bin/omarchy-screenrecord
Executable file
14
bin/omarchy-screenrecord
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if pgrep -x wl-screenrec >/dev/null; then
|
||||
pkill -x wl-screenrec
|
||||
notify-send "Screen recording saved to ~/Videos" -t 2000
|
||||
else
|
||||
region=$(slurp) || exit 1
|
||||
notify-send "Screen recording starting..." -t 1000
|
||||
sleep 1
|
||||
wl-screenrec \
|
||||
-g "$region" \
|
||||
-f "$HOME/Videos/screen-recording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" \
|
||||
--ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart"
|
||||
fi
|
@ -22,7 +22,7 @@ mapfile -t themes < <(
|
||||
selection=$(printf '%s\n' "${themes[@]}" | wofi \
|
||||
--show dmenu \
|
||||
--allow-markup \
|
||||
--width 150 \
|
||||
--width 200 \
|
||||
--height 400 \
|
||||
-O alphabetical \
|
||||
--style ~/.config/wofi/select.css 2>/dev/null)
|
||||
|
@ -11,9 +11,8 @@ else
|
||||
fi
|
||||
|
||||
# Get the latest while trying to preserve any modifications
|
||||
git stash
|
||||
git pull
|
||||
git stash pop
|
||||
git pull --autostash
|
||||
git diff --check || git reset --merge
|
||||
|
||||
# Run any pending migrations
|
||||
for file in migrations/*.sh; do
|
||||
|
2
boot.sh
Normal file → Executable file
2
boot.sh
Normal file → Executable file
@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
ascii_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||
|
@ -96,7 +96,7 @@
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon}",
|
||||
"on-click": "pavucontrol",
|
||||
"on-click": "alacritty --class=Wiremix -e wiremix",
|
||||
"on-click-right": "pamixer -t",
|
||||
"tooltip-format": "Playing at {volume}%",
|
||||
"scroll-step": 5,
|
||||
|
@ -28,5 +28,8 @@ bind = , PRINT, exec, hyprshot -m region
|
||||
bind = SHIFT, PRINT, exec, hyprshot -m window
|
||||
bind = CTRL, PRINT, exec, hyprshot -m output
|
||||
|
||||
# Screenshots
|
||||
bind = ALT, PRINT, exec, omarchy-screenrecord
|
||||
|
||||
# Color picker
|
||||
bind = SUPER, PRINT, exec, hyprpicker -a
|
||||
|
@ -5,10 +5,10 @@ windowrule = suppressevent maximize, class:.*
|
||||
windowrule = tile, class:^(Chromium)$
|
||||
|
||||
# Float and center settings and previews
|
||||
windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
windowrule = size 800 600, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer)$
|
||||
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 645 350, class:Omarchy
|
||||
windowrule = center, class:^(org.pulseaudio.pavucontrol|blueberry.py|Impala|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
|
||||
|
||||
# Float and center file pickers
|
||||
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
|
10
install.sh
Normal file → Executable file
10
install.sh
Normal file → Executable file
@ -1,8 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
# Give people a chance to retry running the installation
|
||||
trap 'echo "Omarchy installation failed! You can retry by running: source ~/.local/share/omarchy/install.sh"' ERR
|
||||
catch_errors() {
|
||||
echo -e "\n\e[31mOmarchy installation failed!\e[0m"
|
||||
echo "You can retry by running: bash ~/.local/share/omarchy/install.sh"
|
||||
echo "Get help from the community: https://discord.gg/tXFUdasqhY"
|
||||
}
|
||||
|
||||
trap catch_errors ERR
|
||||
|
||||
# Install everything
|
||||
for f in ~/.local/share/omarchy/install/*.sh; do
|
||||
|
@ -1,8 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
yay -S --noconfirm --needed \
|
||||
brightnessctl playerctl pamixer pavucontrol wireplumber \
|
||||
fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool wl-clip-persist \
|
||||
brightnessctl playerctl pamixer wiremix wireplumber \
|
||||
fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \
|
||||
nautilus sushi ffmpegthumbnailer \
|
||||
slurp wl-screenrec \
|
||||
mpv evince imv \
|
||||
chromium
|
||||
|
@ -11,3 +11,12 @@ sudo systemctl enable docker
|
||||
|
||||
# Give this user privileged Docker access
|
||||
sudo usermod -aG docker ${USER}
|
||||
|
||||
# Prevent Docker from preventing boot for network-online.target
|
||||
sudo mkdir -p /etc/systemd/system/docker.service.d
|
||||
sudo tee /etc/systemd/system/docker.service.d/no-block-boot.conf <<'EOF'
|
||||
[Unit]
|
||||
DefaultDependencies=no
|
||||
EOF
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
|
@ -109,6 +109,16 @@ PAMName=login
|
||||
WantedBy=graphical.target
|
||||
EOF
|
||||
|
||||
# Make plymouth remain until graphical.target
|
||||
sudo mkdir -p /etc/systemd/system/plymouth-quit.service.d
|
||||
sudo tee /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf <<'EOF'
|
||||
[Unit]
|
||||
After=multi-user.target
|
||||
EOF
|
||||
|
||||
# Prevent plymouth-quit-wait.service
|
||||
sudo systemctl mask plymouth-quit-wait.service
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable omarchy-seamless-login.service
|
||||
|
||||
|
15
migrations/1752797704.sh
Normal file
15
migrations/1752797704.sh
Normal file
@ -0,0 +1,15 @@
|
||||
echo "Prevent docker from requiring network readiness on boot"
|
||||
sudo mkdir -p /etc/systemd/system/docker.service.d/
|
||||
sudo tee /etc/systemd/system/docker.service.d/no-block-boot.conf <<'EOF'
|
||||
[Unit]
|
||||
DefaultDependencies=no
|
||||
EOF
|
||||
|
||||
sudo mkdir -p /etc/systemd/system/plymouth-quit.service.d/
|
||||
sudo tee /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf <<'EOF'
|
||||
[Unit]
|
||||
After=multi-user.target
|
||||
EOF
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl mask plymouth-quit-wait.service
|
4
migrations/1752874371.sh
Normal file
4
migrations/1752874371.sh
Normal file
@ -0,0 +1,4 @@
|
||||
echo "Add Catppuccin Latte light theme"
|
||||
if [[ ! -L "~/.config/omarchy/themes/catppuccin-latte" ]]; then
|
||||
ln -snf ~/.local/share/omarchy/themes/catppuccin-latte ~/.config/omarchy/themes/
|
||||
fi
|
2
migrations/1752885858.sh
Normal file
2
migrations/1752885858.sh
Normal file
@ -0,0 +1,2 @@
|
||||
echo "Install slurp + wl-screenrec for new ALT+PrintScreen screen recorder"
|
||||
yay -S --noconfirm --needed slurp wl-screenrec
|
9
migrations/1752896442.sh
Normal file
9
migrations/1752896442.sh
Normal file
@ -0,0 +1,9 @@
|
||||
echo "Replace volume control GUI with a TUI"
|
||||
|
||||
if ! command -v wiremix &>/dev/null; then
|
||||
yay -S --noconfirm --needed wiremix
|
||||
yay -Rns --noconfirm pavucontrol
|
||||
|
||||
omarchy-refresh-applications
|
||||
omarchy-refresh-waybar
|
||||
fi
|
4
migrations/1752897642.sh
Normal file
4
migrations/1752897642.sh
Normal file
@ -0,0 +1,4 @@
|
||||
echo "Remove needless fcitx5-configtool package"
|
||||
if command -v fcitx5-configtool &>/dev/null; then
|
||||
yay -Rns --noconfirm fcitx5-configtool
|
||||
fi
|
67
themes/catppuccin-latte/alacritty.toml
Normal file
67
themes/catppuccin-latte/alacritty.toml
Normal file
@ -0,0 +1,67 @@
|
||||
# https://raw.githubusercontent.com/catppuccin/alacritty/main/catppuccin-latte.toml
|
||||
|
||||
[colors.primary]
|
||||
background = "#eff1f5"
|
||||
foreground = "#4c4f69"
|
||||
dim_foreground = "#8c8fa1"
|
||||
bright_foreground = "#4c4f69"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#eff1f5"
|
||||
cursor = "#dc8a78"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#eff1f5"
|
||||
cursor = "#7287fd"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#eff1f5"
|
||||
background = "#6c6f85"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#eff1f5"
|
||||
background = "#40a02b"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#eff1f5"
|
||||
background = "#6c6f85"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#eff1f5"
|
||||
background = "#df8e1d"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#eff1f5"
|
||||
background = "#6c6f85"
|
||||
|
||||
[colors.selection]
|
||||
text = "#eff1f5"
|
||||
background = "#dc8a78"
|
||||
|
||||
[colors.normal]
|
||||
black = "#bcc0cc"
|
||||
red = "#d20f39"
|
||||
green = "#40a02b"
|
||||
yellow = "#df8e1d"
|
||||
blue = "#1e66f5"
|
||||
magenta = "#ea76cb"
|
||||
cyan = "#179299"
|
||||
white = "#5c5f77"
|
||||
|
||||
[colors.bright]
|
||||
black = "#acb0be"
|
||||
red = "#d20f39"
|
||||
green = "#40a02b"
|
||||
yellow = "#df8e1d"
|
||||
blue = "#1e66f5"
|
||||
magenta = "#ea76cb"
|
||||
cyan = "#179299"
|
||||
white = "#6c6f85"
|
||||
|
||||
[[colors.indexed_colors]]
|
||||
index = 16
|
||||
color = "#fe640b"
|
||||
|
||||
[[colors.indexed_colors]]
|
||||
index = 17
|
||||
color = "#dc8a78"
|
BIN
themes/catppuccin-latte/backgrounds/1-catppuccin-latte.png
Normal file
BIN
themes/catppuccin-latte/backgrounds/1-catppuccin-latte.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 652 KiB |
84
themes/catppuccin-latte/btop.theme
Normal file
84
themes/catppuccin-latte/btop.theme
Normal file
@ -0,0 +1,84 @@
|
||||
# https://github.com/catppuccin/btop/blob/main/themes/catppuccin_latte.theme
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#eff1f5"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#4c4f69"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#4c4f69"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#1e66f5"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#bcc0cc"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#1e66f5"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#8c8fa1"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#dc8a78"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#bcc0cc"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#dc8a78"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#8839ef" #Mauve
|
||||
theme[mem_box]="#40a02b" #Green
|
||||
theme[net_box]="#e64553" #Maroon
|
||||
theme[proc_box]="#1e66f5" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#9ca0b0"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#40a02b"
|
||||
theme[temp_mid]="#df8e1d"
|
||||
theme[temp_end]="#d20f39"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#179299"
|
||||
theme[cpu_mid]="#209fb5"
|
||||
theme[cpu_end]="#7287fd"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#8839ef"
|
||||
theme[free_mid]="#7287fd"
|
||||
theme[free_end]="#1e66f5"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#209fb5"
|
||||
theme[cached_mid]="#1e66f5"
|
||||
theme[cached_end]="#7287fd"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#fe640b"
|
||||
theme[available_mid]="#e64553"
|
||||
theme[available_end]="#d20f39"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#40a02b"
|
||||
theme[used_mid]="#179299"
|
||||
theme[used_end]="#04a5e5"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#fe640b"
|
||||
theme[download_mid]="#e64553"
|
||||
theme[download_end]="#d20f39"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#40a02b"
|
||||
theme[upload_mid]="#179299"
|
||||
theme[upload_end]="#04a5e5"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#209fb5"
|
||||
theme[process_mid]="#7287fd"
|
||||
theme[process_end]="#8839ef"
|
8
themes/catppuccin-latte/hyprland.conf
Normal file
8
themes/catppuccin-latte/hyprland.conf
Normal file
@ -0,0 +1,8 @@
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
|
||||
$latte_blue = rgb(1e66f5)
|
||||
|
||||
general {
|
||||
col.active_border = $latte_blue
|
||||
}
|
||||
|
9
themes/catppuccin-latte/hyprlock.conf
Normal file
9
themes/catppuccin-latte/hyprlock.conf
Normal file
@ -0,0 +1,9 @@
|
||||
$color = rgba(239,241,245,1.0) # base
|
||||
$inner_color = rgba(239,241,245,0.8) # slightly transparent base
|
||||
$outer_color = rgba(30,102,245,1.0) # blue
|
||||
|
||||
$font_color = rgba(76,79,105,1.0) # text
|
||||
|
||||
$placeholder_color = rgba(204,208,218,0.6) # overlay0 (muted gray-blue)
|
||||
$check_color = rgba(4,165,229,1.0) # cyan
|
||||
|
1
themes/catppuccin-latte/light.mode
Normal file
1
themes/catppuccin-latte/light.mode
Normal file
@ -0,0 +1 @@
|
||||
# This will set "prefer-light" and use "Adwaita" as the theme
|
24
themes/catppuccin-latte/mako.ini
Normal file
24
themes/catppuccin-latte/mako.ini
Normal file
@ -0,0 +1,24 @@
|
||||
# Catppuccin Latte – mako notification theme
|
||||
text-color=#4c4f69 # text
|
||||
border-color=#dce0e8 # crust
|
||||
background-color=#eff1f5 # base
|
||||
|
||||
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
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
19
themes/catppuccin-latte/neovim.lua
Normal file
19
themes/catppuccin-latte/neovim.lua
Normal file
@ -0,0 +1,19 @@
|
||||
return {
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("catppuccin").setup({
|
||||
flavour = "latte", -- other options: "mocha", "frappe", "macchiato"
|
||||
})
|
||||
vim.cmd.colorscheme("catppuccin-latte")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "catppuccin-latte",
|
||||
},
|
||||
},
|
||||
}
|
4
themes/catppuccin-latte/waybar.css
Normal file
4
themes/catppuccin-latte/waybar.css
Normal file
@ -0,0 +1,4 @@
|
||||
@define-color foreground #4c4f69; /* text */
|
||||
@define-color background #eff1f5; /* base */
|
||||
@define-color border #dce0e8; /* crust */
|
||||
@define-color accent #1e66f5; /* blue */
|
4
themes/catppuccin-latte/wofi.css
Normal file
4
themes/catppuccin-latte/wofi.css
Normal file
@ -0,0 +1,4 @@
|
||||
@define-color selected-text #1e66f5; /* blue */
|
||||
@define-color text #4c4f69; /* text */
|
||||
@define-color base #eff1f5; /* base */
|
||||
@define-color border #dce0e8; /* crust */
|
Binary file not shown.
After Width: | Height: | Size: 2.7 MiB |
Reference in New Issue
Block a user