mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
Compare commits
22 Commits
37f4d4a411
...
4aa6b6c1f9
Author | SHA1 | Date | |
---|---|---|---|
4aa6b6c1f9 | |||
896ad9d97a | |||
83d43a7d8d | |||
1fa2b62fba | |||
d9f9f5212e | |||
ba75889154 | |||
d6ba2af917 | |||
2f12cdc751 | |||
363a9ae4dc | |||
eefb4638e9 | |||
bb2d21c3b7 | |||
ac935bdaed | |||
f25be1d075 | |||
8336788e0a | |||
d60563fe92 | |||
1066415576 | |||
b5f60f78a8 | |||
92c1db9176 | |||
25acc313b1 | |||
0ead8947f7 | |||
46e972172c | |||
0d6ea40252 |
@ -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 \
|
||||
|
13
boot.sh
13
boot.sh
@ -1,5 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
|
||||
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||
███ ███ '
|
||||
|
||||
clear
|
||||
echo -e "\n$ansi_art\n"
|
||||
|
||||
sudo pacman -Sy --noconfirm --needed git
|
||||
|
||||
echo -e "\nCloning Omarchy..."
|
||||
|
@ -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
|
||||
|
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/10]"
|
||||
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/10]"
|
||||
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,15 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Need gum to query for input
|
||||
yay -S --noconfirm --needed gum python-terminaltexteffects
|
||||
|
||||
show_logo() {
|
||||
clear
|
||||
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
|
||||
echo -e ""
|
||||
}
|
||||
|
||||
show_subtext() {
|
||||
echo "$1" | tte --frame-rate ${3:-640} ${2:-wipe}
|
||||
echo -e ""
|
||||
}
|
@ -1,7 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo beams 240
|
||||
show_subtext "Let's install Omarchy!"
|
||||
|
||||
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
|
@ -10,7 +10,7 @@ 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
|
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Let's install basic terminal tools..."
|
||||
|
||||
yay -S --noconfirm --needed \
|
||||
wget curl unzip inetutils impala \
|
||||
fd eza fzf ripgrep zoxide bat jq \
|
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
|
18
logo.txt
18
logo.txt
@ -1,9 +1,9 @@
|
||||
▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
|
||||
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||
███ ███
|
||||
▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄ ▀▀▀▀▀▀███
|
||||
███ ███ ███ ███ ███ ███████████ ▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███ ▄██ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███████████ ███ █▄ ███ ███ ███ ███
|
||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||
███ ███
|
3
omarchy.svg
Normal file
3
omarchy.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user