mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
Compare commits
49 Commits
674c5bfdda
...
adjust-log
Author | SHA1 | Date | |
---|---|---|---|
32aa290af5 | |||
fbdbf852eb | |||
29bfeba5cc | |||
4e9e13f88d | |||
4e4e82c5b9 | |||
302e92860e | |||
eace29af7d | |||
51e2fa8598 | |||
c081078e72 | |||
3c2559297d | |||
4aa6b6c1f9 | |||
896ad9d97a | |||
83d43a7d8d | |||
1fa2b62fba | |||
d9f9f5212e | |||
ba75889154 | |||
d6ba2af917 | |||
2f12cdc751 | |||
363a9ae4dc | |||
eefb4638e9 | |||
bb2d21c3b7 | |||
ac935bdaed | |||
f25be1d075 | |||
8336788e0a | |||
d60563fe92 | |||
1066415576 | |||
b5f60f78a8 | |||
92c1db9176 | |||
25acc313b1 | |||
0ead8947f7 | |||
37f4d4a411 | |||
c4a08c3c25 | |||
0c36142f8a | |||
65a5bbad82 | |||
165c940df2 | |||
824ba78000 | |||
6d3df204bc | |||
1c14b8eba2 | |||
e01c1bb139 | |||
466fe6caba | |||
10f71885b2 | |||
19c0d2887e | |||
f2b58c2b8e | |||
46d135025e | |||
46e972172c | |||
79df336854 | |||
0d6ea40252 | |||
a76c7ee33b | |||
66b0fa0227 |
14
ansi.sh
14
ansi.sh
@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
|
||||
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||
███ ███ '
|
||||
|
||||
clear
|
||||
echo -e "\n$ansi_art\n"
|
10
bin/omarchy
10
bin/omarchy
@ -4,7 +4,8 @@ OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/de
|
||||
PATH="$PATH:$HOME/.local/share/omarchy/bin"
|
||||
|
||||
show_ascii_art() {
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
clear
|
||||
tte -i ~/.local/share/omarchy/logo.txt --frame-rate 640 expand
|
||||
echo " $OMARCHY_VERSION"
|
||||
}
|
||||
|
||||
@ -95,9 +96,10 @@ remove_theme_prompt() {
|
||||
|
||||
setup_menu() {
|
||||
show_ascii_art
|
||||
local menu=("Dropbox" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back")
|
||||
local menu=("Dropbox" "Steam" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back")
|
||||
local commands=(
|
||||
"omarchy-setup-dropbox"
|
||||
"omarchy-setup-steam"
|
||||
"setup_docker_dbs"
|
||||
"omarchy-setup-fingerprint"
|
||||
"omarchy-setup-fido2"
|
||||
@ -126,10 +128,10 @@ setup_docker_dbs() {
|
||||
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 ;;
|
||||
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 ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
@ -2,7 +2,13 @@
|
||||
|
||||
# Set recorder based on GPU
|
||||
|
||||
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-$HOME/Videos}"
|
||||
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
|
||||
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-${XDG_VIDEOS_DIR:-$HOME/Videos}}"
|
||||
|
||||
if [[ ! -d "$OUTPUT_DIR" ]]; then
|
||||
notify-send "Screen recording directory does not exist: $OUTPUT_DIR" -u critical -t 3000
|
||||
exit 1
|
||||
fi
|
||||
|
||||
screenrecording() {
|
||||
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
|
||||
@ -19,7 +25,7 @@ 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 ~/Videos" -t 2000
|
||||
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
|
||||
elif [[ "$1" == "output" ]]; then
|
||||
screenrecording
|
||||
else
|
||||
|
@ -1,8 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-$HOME/Pictures}"
|
||||
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
|
||||
OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-${XDG_PICTURES_DIR:-$HOME/Pictures}}"
|
||||
|
||||
hyprshot -m ${1:-region} --raw |
|
||||
if [[ ! -d "$OUTPUT_DIR" ]]; then
|
||||
notify-send "Screenshot directory does not exist: $OUTPUT_DIR" -u critical -t 3000
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pkill slurp || hyprshot -m ${1:-region} --raw |
|
||||
satty --filename - \
|
||||
--output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \
|
||||
--early-exit \
|
||||
|
5
bin/omarchy-cmd-tzupdate
Executable file
5
bin/omarchy-cmd-tzupdate
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo tzupdate
|
||||
new_timezone=$(timedatectl show -p Timezone --value)
|
||||
notify-send "Timezone has been set to $new_timezone"
|
9
bin/omarchy-setup-steam
Executable file
9
bin/omarchy-setup-steam
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Adding multilib repository for 32-bit compatibility"
|
||||
sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf
|
||||
sudo pacman -Sy
|
||||
|
||||
echo "Now pick dependencies matching your graphics card"
|
||||
yay -S steam
|
||||
gtk-launch steam >/dev/null 2>&1 &
|
@ -12,9 +12,6 @@ REPO_URL="$1"
|
||||
THEMES_DIR="$HOME/.config/omarchy/themes"
|
||||
THEME_NAME=$(basename "$REPO_URL" .git | sed -E 's/^omarchy-//; s/-theme$//')
|
||||
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
||||
THEME_BACKGROUND_PATH="$THEME_PATH/backgrounds"
|
||||
BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds"
|
||||
BACKGROUNDS_THEME_PATH="$BACKGROUNDS_PATH/$THEME_NAME"
|
||||
|
||||
# Remove existing theme if present
|
||||
if [ -d "$THEME_PATH" ]; then
|
||||
@ -27,10 +24,5 @@ if ! git clone "$REPO_URL" "$THEME_PATH"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Link backgrounds if present
|
||||
if [ -d $THEME_BACKGROUND_PATH ]; then
|
||||
ln -snf $THEME_BACKGROUND_PATH $BACKGROUNDS_THEME_PATH
|
||||
fi
|
||||
|
||||
# Apply the new theme with omarchy-theme-set
|
||||
omarchy-theme-set $THEME_NAME
|
||||
|
1
boot.sh
1
boot.sh
@ -10,6 +10,7 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄
|
||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||
███ ███ '
|
||||
|
||||
clear
|
||||
echo -e "\n$ansi_art\n"
|
||||
|
||||
sudo pacman -Sy --noconfirm --needed git
|
||||
|
@ -50,7 +50,8 @@
|
||||
"clock": {
|
||||
"format": "{:%A %H:%M}",
|
||||
"format-alt": "{:%d %B W%V %Y}",
|
||||
"tooltip": false
|
||||
"tooltip": false,
|
||||
"on-click-right": "omarchy-cmd-tzupdate"
|
||||
},
|
||||
"network": {
|
||||
"format-icons": ["","","","",""],
|
||||
|
@ -7,8 +7,8 @@ if command -v zoxide &> /dev/null; then
|
||||
fi
|
||||
|
||||
if command -v fzf &> /dev/null; then
|
||||
if [[ -f /usr/share/bash-completion/completions/fzf ]]; then
|
||||
source /usr/share/bash-completion/completions/fzf
|
||||
if [[ -f /usr/share/fzf/completion.bash ]]; then
|
||||
source /usr/share/fzf/completion.bash
|
||||
fi
|
||||
if [[ -f /usr/share/fzf/key-bindings.bash ]]; then
|
||||
source /usr/share/fzf/key-bindings.bash
|
||||
|
@ -15,7 +15,8 @@ windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Fil
|
||||
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
|
||||
|
||||
# Float Steam, fullscreen RetroArch
|
||||
windowrule = float, class:^(steam)$
|
||||
windowrule = float, class:steam
|
||||
windowrule = center, class:steam
|
||||
windowrule = fullscreen, class:^(com.libretro.RetroArch)$
|
||||
|
||||
# Just dash of opacity
|
||||
|
74
install.sh
74
install.sh
@ -3,6 +3,8 @@
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
OMARCHY_INSTALL=~/.local/share/omarchy/install
|
||||
|
||||
# Give people a chance to retry running the installation
|
||||
catch_errors() {
|
||||
echo -e "\n\e[31mOmarchy installation failed!\e[0m"
|
||||
@ -12,16 +14,70 @@ catch_errors() {
|
||||
|
||||
trap catch_errors ERR
|
||||
|
||||
# Install everything
|
||||
for f in ~/.local/share/omarchy/install/*.sh; do
|
||||
echo -e "\nRunning installer: $f"
|
||||
source "$f"
|
||||
done
|
||||
show_logo() {
|
||||
clear
|
||||
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
|
||||
echo
|
||||
}
|
||||
|
||||
# Ensure locate is up to date now that everything has been installed
|
||||
show_subtext() {
|
||||
echo "$1" | tte --frame-rate ${3:-640} ${2:-wipe}
|
||||
echo
|
||||
}
|
||||
|
||||
# Install prerequisites
|
||||
source $OMARCHY_INSTALL/preflight/aur.sh
|
||||
source $OMARCHY_INSTALL/preflight/presentation.sh
|
||||
|
||||
# Configuration
|
||||
show_logo beams 240
|
||||
show_subtext "Let's install Omarchy! [1/5]"
|
||||
source $OMARCHY_INSTALL/config/identification.sh
|
||||
source $OMARCHY_INSTALL/config/config.sh
|
||||
source $OMARCHY_INSTALL/config/detect-keyboard-layout.sh
|
||||
source $OMARCHY_INSTALL/config/fix-fkeys.sh
|
||||
source $OMARCHY_INSTALL/config/network.sh
|
||||
source $OMARCHY_INSTALL/config/power.sh
|
||||
source $OMARCHY_INSTALL/config/login.sh
|
||||
source $OMARCHY_INSTALL/config/plymouth.sh
|
||||
source $OMARCHY_INSTALL/config/nvidia.sh
|
||||
|
||||
# Development
|
||||
show_logo decrypt 920
|
||||
show_subtext "Installing terminal tools [2/5]"
|
||||
source $OMARCHY_INSTALL/development/terminal.sh
|
||||
source $OMARCHY_INSTALL/development/development.sh
|
||||
source $OMARCHY_INSTALL/development/nvim.sh
|
||||
source $OMARCHY_INSTALL/development/ruby.sh
|
||||
source $OMARCHY_INSTALL/development/docker.sh
|
||||
source $OMARCHY_INSTALL/development/firewall.sh
|
||||
|
||||
# Desktop
|
||||
show_logo slice 60
|
||||
show_subtext "Installing desktop tools [3/5]"
|
||||
source $OMARCHY_INSTALL/desktop/desktop.sh
|
||||
source $OMARCHY_INSTALL/desktop/hyprlandia.sh
|
||||
source $OMARCHY_INSTALL/desktop/theme.sh
|
||||
source $OMARCHY_INSTALL/desktop/bluetooth.sh
|
||||
source $OMARCHY_INSTALL/desktop/asdcontrol.sh
|
||||
source $OMARCHY_INSTALL/desktop/fonts.sh
|
||||
source $OMARCHY_INSTALL/desktop/printer.sh
|
||||
|
||||
# Apps
|
||||
show_logo expand
|
||||
show_subtext "Installing default applications [4/5]"
|
||||
source $OMARCHY_INSTALL/apps/webapps.sh
|
||||
source $OMARCHY_INSTALL/apps/xtras.sh
|
||||
source $OMARCHY_INSTALL/apps/mimetypes.sh
|
||||
|
||||
# Updates
|
||||
show_logo highlight
|
||||
show_subtext "Updating system packages [5/5]"
|
||||
sudo updatedb
|
||||
|
||||
# Update all built-in packages
|
||||
sudo pacman -Syu --noconfirm
|
||||
|
||||
gum confirm "Reboot to apply all settings?" && reboot
|
||||
# Reboot
|
||||
show_logo laseretch 920
|
||||
show_subtext "You're done! So we'll be rebooting now..."
|
||||
sleep 2
|
||||
reboot
|
||||
|
@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo pacman -S --needed --noconfirm base-devel
|
||||
|
||||
if ! command -v yay &>/dev/null; then
|
||||
cd /tmp
|
||||
git clone https://aur.archlinux.org/yay-bin.git
|
||||
cd yay-bin
|
||||
makepkg -si --noconfirm
|
||||
cd -
|
||||
rm -rf yay-bin
|
||||
cd ~
|
||||
|
||||
# Add fun and color to the pacman installer
|
||||
sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf
|
||||
fi
|
@ -1,10 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Need gum to query for input
|
||||
yay -S --noconfirm --needed gum
|
||||
|
||||
# Configure identification
|
||||
source ~/.local/share/omarchy/ansi.sh
|
||||
echo -e "\nEnter identification for git and autocomplete..."
|
||||
export OMARCHY_USER_NAME=$(gum input --placeholder "Enter full name" --prompt "Name> ")
|
||||
export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")
|
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security
|
||||
yay -S --noconfirm --needed uwsm
|
||||
|
||||
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
|
@ -12,6 +12,9 @@
|
||||
|
||||
# --- GPU Detection ---
|
||||
if [ -n "$(lspci | grep -i 'nvidia')" ]; then
|
||||
show_logo
|
||||
show_subtext "Install NVIDIA drivers..."
|
||||
|
||||
# --- Driver Selection ---
|
||||
# Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules
|
||||
if echo "$(lspci | grep -i 'nvidia')" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then
|
9
install/config/timezones.sh
Normal file
9
install/config/timezones.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ ! -f /etc/sudoers.d/omarchy-tzupdate ]]; then
|
||||
yay -S --noconfirm --needed tzupdate
|
||||
sudo tee /etc/sudoers.d/omarchy-tzupdate >/dev/null <<EOF
|
||||
%wheel ALL=(root) NOPASSWD: /usr/bin/tzupdate, /usr/bin/timedatectl
|
||||
EOF
|
||||
sudo chmod 0440 /etc/sudoers.d/omarchy-tzupdate
|
||||
fi
|
@ -1,16 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Use dark mode for QT apps too (like kdenlive)
|
||||
sudo pacman -S --noconfirm kvantum-qt5
|
||||
if ! yay -Q kvantum-qt5 &>/dev/null; then
|
||||
yay -S --noconfirm kvantum-qt5
|
||||
fi
|
||||
|
||||
# Prefer dark mode everything
|
||||
sudo pacman -S --noconfirm gnome-themes-extra # Adds Adwaita-dark theme
|
||||
if ! yay -Q gnome-themes-extra &>/dev/null; then
|
||||
yay -S --noconfirm gnome-themes-extra # Adds Adwaita-dark theme
|
||||
fi
|
||||
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
|
||||
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
||||
|
||||
# Setup theme links
|
||||
mkdir -p ~/.config/omarchy/themes
|
||||
for f in ~/.local/share/omarchy/themes/*; do ln -s "$f" ~/.config/omarchy/themes/; done
|
||||
for f in ~/.local/share/omarchy/themes/*; do ln -nfs "$f" ~/.config/omarchy/themes/; done
|
||||
|
||||
# Set initial theme
|
||||
mkdir -p ~/.config/omarchy/current
|
43
install/preflight/aur.sh
Normal file
43
install/preflight/aur.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
chaotic_ok=0
|
||||
|
||||
# Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages
|
||||
if [[ "$(uname -m)" == "x86_64" ]]; then
|
||||
# Try installing Chaotic-AUR keyring and mirrorlist
|
||||
if sudo pacman-key --recv-key 3056513887B78AEB &&
|
||||
sudo pacman-key --lsign-key 3056513887B78AEB &&
|
||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' &&
|
||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'; then
|
||||
|
||||
# Add Chaotic-AUR repo to pacman config
|
||||
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
|
||||
|
||||
# Refresh pacman package databases
|
||||
sudo pacman -Sy
|
||||
|
||||
chaotic_ok=1
|
||||
else
|
||||
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $chaotic_ok -eq 1 ]]; then
|
||||
sudo pacman -S --needed --noconfirm yay
|
||||
else
|
||||
# Manually install yay from AUR if not already available
|
||||
if ! command -v yay &>/dev/null; then
|
||||
# Install build tools
|
||||
sudo pacman -S --needed --noconfirm base-devel
|
||||
cd /tmp
|
||||
git clone https://aur.archlinux.org/yay-bin.git
|
||||
cd yay-bin
|
||||
makepkg -si --noconfirm
|
||||
cd -
|
||||
rm -rf yay-bin
|
||||
cd ~
|
||||
fi
|
||||
fi
|
||||
|
||||
# Add fun and color to the pacman installer
|
||||
sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf
|
3
install/preflight/presentation.sh
Normal file
3
install/preflight/presentation.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
yay -S --noconfirm --needed gum python-terminaltexteffects
|
10
logo.txt
Normal file
10
logo.txt
Normal file
@ -0,0 +1,10 @@
|
||||
▄▄▄
|
||||
▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███
|
||||
███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███
|
||||
███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀
|
||||
███ █▀
|
@ -1,6 +1,6 @@
|
||||
echo "Install swayOSD to show volume status"
|
||||
|
||||
if ! command -v swayosd &>/dev/null; then
|
||||
if ! command -v swayosd-server &>/dev/null; then
|
||||
yay -S --noconfirm --needed swayosd
|
||||
setsid uwsm app -- swayosd-server &>/dev/null &
|
||||
fi
|
||||
|
20
migrations/1753352057.sh
Executable file
20
migrations/1753352057.sh
Executable file
@ -0,0 +1,20 @@
|
||||
echo "Add Chaotic-AUR to get compiled binaries"
|
||||
|
||||
if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.conf; then
|
||||
# Try installing Chaotic-AUR keyring and mirrorlist
|
||||
if sudo pacman-key --recv-key 3056513887B78AEB &&
|
||||
sudo pacman-key --lsign-key 3056513887B78AEB &&
|
||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' &&
|
||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'; then
|
||||
|
||||
# Add Chaotic-AUR repo to pacman config
|
||||
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
|
||||
|
||||
# Refresh pacman package databases
|
||||
sudo pacman -Sy
|
||||
|
||||
chaotic_ok=1
|
||||
else
|
||||
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
|
||||
fi
|
||||
fi
|
4
migrations/1753468218.sh
Normal file
4
migrations/1753468218.sh
Normal file
@ -0,0 +1,4 @@
|
||||
echo "Add Terminal Text Effects for rizzing Omarchy"
|
||||
if yay -Qe python-terminaltexteffects &>/dev/null; then
|
||||
yay -S --noconfirm --needed python-terminaltexteffects
|
||||
fi
|
5
migrations/1753495989.sh
Normal file
5
migrations/1753495989.sh
Normal file
@ -0,0 +1,5 @@
|
||||
echo "Allow updating of timezone by right-clicking on the clock (or running omarchy-cmd-tzupdate)"
|
||||
if [[ ! -f /etc/sudoers.d/omarchy-tzupdate ]]; then
|
||||
bash ~/.local/share/omarchy/install/config/timezones.sh
|
||||
omarchy-refresh-waybar
|
||||
fi
|
1
omarchy.svg
Normal file
1
omarchy.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg fill="none" height="285" viewBox="0 0 1215 285" width="1215" xmlns="http://www.w3.org/2000/svg"><g fill="#000"><path clip-rule="evenodd" d="m720 120h-15v15h-14.998v14.999l-60.002.001v15.002l90-.002v.002h.002l-.002 89.998h-15v15h-13v15h-17v-89.998h-45v90l-45-.002v-89.998h-14.998v-30h14.998v-15.002h-14.998v-30.001h14.998v-75h15v-14.997h15v-15.002h105.002zm-90-.001h45v-74.997h-45z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m105 30.002h15v14.997h15v180.001h-15v15h-15v15.002h-75v-15.002h-15v-15h-15v-180.001h15v-14.997h15v-15.002h75zm-60 194.998h45v-179.998h-45z" fill-rule="evenodd"/><path d="m300 15h60v15h15v14.999h15v180.001h-15v15h-15v15h-15l-.004-209.998h-44.994v-.002h-.002v210.002h-45v-210h-44.998v179.997h-.002v30.003h-15v-15.002h-15v-15h-14.998v-180.001h14.998v-14.999h15v-15h60v-15h45z"/><path clip-rule="evenodd" d="m555 225h-15v15h-15v15h-15v-105.001l-44.998.001v105.002h-45.002v-105.002h-15v-30.001h15v-75h15.002v-14.997h15v-15.002h105zm-89.998-105.001h44.998v-74.997h-44.998z" fill-rule="evenodd"/><path d="m885 75h-15v15h-15v15h-15v-59.998h-45v179.998h45v-59.998h15v14.997h15v15.001h15v30h-15v15h-15v15.002l-105-.002v-210.001h14.998v-14.997h15.002v-15.002h105z"/><path d="m960 119.999h45v-104.999h15v15h15v14.999h15v75.001h15v15h-15v90h-15v15h-15v15h-15v-105h-45v105.002l-45-.002v-105h-30v-15h15v-15.001h15v-75h15v-14.997h15v-15.002h15z"/><path d="m1125 119.999h45v-104.999h15v15h15v15h15v180h-15v15h-15v15.002l-75-.002v-15h-15v-15h-15v-45.001h15v-14.997-.002h30v60h45v-75h-90v-105.001h15v-14.997h15v-15.002h15z"/></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
@ -1,192 +1,9 @@
|
||||
return {
|
||||
"EdenEast/nightfox.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
dependencies = {
|
||||
"folke/snacks.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
"nvim-lualine/lualine.nvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
local nightfox = require('nightfox')
|
||||
local Shade = require('nightfox.lib.shade')
|
||||
local c = require('nightfox.lib.color')
|
||||
|
||||
local matte_black_palette = {
|
||||
-- Base "Matte Black" Palette Overrides
|
||||
bg0 = "#0D0D0D", bg1 = "#121212", bg2 = "#1E1E1E", bg3 = "#2C2C2C", bg4 = "#333333",
|
||||
fg0 = "#FFFFFF", fg1 = "#EAEAEA", fg2 = "#BEBEBE", fg3 = "#8A8A8D",
|
||||
sel0 = "#2C2C2C",
|
||||
sel1 = c.from_hex("#2C2C2C"):blend(c.from_hex("#F59E0B"), 0.2):to_css(),
|
||||
comment = "#8A8A8D",
|
||||
red = Shade.new("#D35F5F", c.from_hex("#D35F5F"):lighten(8):to_css(), "#B91C1C"),
|
||||
orange = Shade.new("#F59E0B", "#FFC107", c.from_hex("#F59E0B"):lighten(-8):to_css()),
|
||||
yellow = Shade.new("#FFC107", c.from_hex("#FFC107"):lighten(10):to_css(), "#F59E0B"),
|
||||
white = Shade.new("#EAEAEA", "#FFFFFF", "#BEBEBE"),
|
||||
black = Shade.new("#333333", "#8A8A8D", "#1E1E1E"),
|
||||
green = Shade.new("#8A9A7B", "#A5B799", "#6F7C62"),
|
||||
cyan = Shade.new("#88AABB", "#A2C4D3", "#6E8A99"),
|
||||
blue = Shade.new("#8A9FBE", "#A4BBDD", "#7084A1"),
|
||||
magenta = Shade.new("#C1A1C1", "#D9B9D9", "#A989A9"),
|
||||
pink = Shade.new("#D398A7", "#EBC0CB", "#B97E8D"),
|
||||
|
||||
-- Lualine Palette Extensions
|
||||
lualine_normal_bg = "#F59E0B",
|
||||
lualine_insert_bg = "#B91C1C",
|
||||
lualine_visual_bg = "#C1A1C1",
|
||||
lualine_command_bg = "#F59E0B",
|
||||
lualine_inactive_bg = c.from_hex("#121212"):lighten(5):to_css(),
|
||||
|
||||
-- Treesitter Palette Extensions
|
||||
ts_parameter = "#D398A7",
|
||||
ts_property = "#EAEAEA",
|
||||
}
|
||||
|
||||
local final_palettes = {
|
||||
carbonfox = require('nightfox.lib.collect').deep_extend(
|
||||
require('nightfox.palette').load('carbonfox'),
|
||||
matte_black_palette
|
||||
)
|
||||
}
|
||||
|
||||
local specs = {
|
||||
carbonfox = {
|
||||
syntax = {
|
||||
keyword = "red", -- "local", "function", "if"
|
||||
conditional = "red",
|
||||
statement = "red",
|
||||
func = "orange",
|
||||
string = "orange.dim",
|
||||
number = "orange",
|
||||
operator = "yellow",
|
||||
variable = "white",
|
||||
ident = "white.dim",
|
||||
const = "white",
|
||||
type = "white",
|
||||
field = "white.dim",
|
||||
comment = "comment",
|
||||
},
|
||||
diag = {
|
||||
error = "red",
|
||||
warn = "red",
|
||||
info = "cyan",
|
||||
hint = "magenta",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
local groups = {
|
||||
all = {
|
||||
-- Base Groups
|
||||
Whitespace = { fg = "palette.black.bright" },
|
||||
NonText = { fg = "palette.black.bright" },
|
||||
IncSearch = { bg = "palette.sel1" },
|
||||
CursorLine = { bg = "palette.bg2" },
|
||||
Normal = { fg = "palette.fg1" },
|
||||
|
||||
-- Noice Cmdline Overrides
|
||||
NoiceCmdlinePopupBorder = { fg = "palette.fg3" },
|
||||
NoiceCmdlinePopupTitle = { fg = "palette.fg3", style = "bold" },
|
||||
NoiceCmdlinePopupBorderSearch = { fg = "palette.fg3" },
|
||||
NoiceCmdlinePopupTitleSearch = { fg = "palette.fg3", style = "bold" },
|
||||
NoiceCmdLineIcon = { fg = "palette.red" },
|
||||
|
||||
-- Neo-tree overrides
|
||||
NeoTreeNormal = { bg = "palette.bg0" },
|
||||
NeoTreeNormalNC = { link = "NeoTreeNormal" },
|
||||
NeoTreeDirectoryName = { fg = "palette.fg3" },
|
||||
NeoTreeDirectoryIcon = { fg = "palette.fg3" },
|
||||
NeoTreeRootName = { fg = "palette.orange", style = "bold" },
|
||||
NeoTreeGitAdded = { fg = "palette.green" },
|
||||
NeoTreeGitModified = { fg = "palette.yellow" },
|
||||
NeoTreeGitDeleted = { fg = "palette.red" },
|
||||
NeoTreeGitIgnored = { fg = "palette.comment" },
|
||||
NeoTreeC = { fg = "palette.orange", bg = "palette.sel0" },
|
||||
|
||||
-- Dashboard overrides
|
||||
SnacksDashboardHeader = { fg = "palette.fg3" },
|
||||
SnacksDashboardIcon = { fg = "palette.fg1" },
|
||||
SnacksDashboardDir = { fg = "palette.orange" },
|
||||
SnacksDashboardFile = { fg = "palette.fg3" },
|
||||
SnacksDashboardFooter = { fg = "palette.fg3" },
|
||||
SnacksDashboardKey = { fg = "palette.orange" },
|
||||
SnacksDashboardDesc = { fg = "palette.fg1" },
|
||||
SnacksDashboardSpecial = { fg = "palette.fg1" },
|
||||
|
||||
-- Treesitter overrides
|
||||
["@comment"] = { fg = "palette.comment", style = "italic" },
|
||||
["@keyword"] = { fg = "palette.red", style = "bold" },
|
||||
["@keyword.function"] = { fg = "palette.red", style = "bold" },
|
||||
["@keyword.operator"] = { fg = "palette.red", style = "bold" },
|
||||
["@function"] = { fg = "palette.orange", style = "bold" },
|
||||
["@function.builtin"] = { fg = "palette.orange", style = "bold" },
|
||||
["@function.call"] = { fg = "palette.orange" },
|
||||
["@string"] = { fg = "palette.orange" },
|
||||
["@number"] = { fg = "palette.orange" },
|
||||
["@operator"] = { fg = "palette.yellow" },
|
||||
["@variable"] = { fg = "palette.white" },
|
||||
["@constant"] = { fg = "palette.white" },
|
||||
["@type"] = { fg = "palette.white.dim" },
|
||||
["@variable.parameter"] = { fg = "palette.ts_parameter", style = "italic" },
|
||||
["@property"] = { fg = "palette.ts_property" },
|
||||
["@field"] = { fg = "palette.ts_property" },
|
||||
}
|
||||
}
|
||||
|
||||
nightfox.setup({
|
||||
options = {
|
||||
style = "carbonfox",
|
||||
terminal_colors = true,
|
||||
dim_inactive = true,
|
||||
styles = { comments = "italic", functions = "bold", keywords = "bold" },
|
||||
modules = {
|
||||
neotree = true,
|
||||
treesitter = true,
|
||||
{ "tahayvr/matteblack.nvim", lazy = false, priority = 1000 },
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "matteblack",
|
||||
},
|
||||
},
|
||||
palettes = final_palettes,
|
||||
specs = specs,
|
||||
groups = groups
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme carbonfox")
|
||||
|
||||
-- Lualine overrides
|
||||
local lualine_theme = {
|
||||
normal = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_normal_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
insert = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_insert_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
visual = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_visual_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
command = {
|
||||
a = { fg = matte_black_palette.bg0, bg = matte_black_palette.lualine_command_bg, gui = "bold" },
|
||||
b = { fg = matte_black_palette.fg1, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.fg2, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
inactive = {
|
||||
a = { fg = matte_black_palette.fg3, bg = matte_black_palette.lualine_inactive_bg },
|
||||
b = { fg = matte_black_palette.fg3, bg = matte_black_palette.lualine_inactive_bg },
|
||||
c = { fg = matte_black_palette.comment, bg = matte_black_palette.lualine_inactive_bg },
|
||||
},
|
||||
}
|
||||
|
||||
require('lualine').setup({
|
||||
options = {
|
||||
theme = lualine_theme,
|
||||
},
|
||||
})
|
||||
|
||||
end,
|
||||
|
||||
}
|
Reference in New Issue
Block a user