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
|
# 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() {
|
screenrecording() {
|
||||||
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
|
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
|
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
|
||||||
pkill -x wl-screenrec
|
pkill -x wl-screenrec
|
||||||
pkill -x wf-recorder
|
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
|
elif [[ "$1" == "output" ]]; then
|
||||||
screenrecording
|
screenrecording
|
||||||
else
|
else
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/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 - \
|
satty --filename - \
|
||||||
--output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \
|
--output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \
|
||||||
--early-exit \
|
--early-exit \
|
||||||
|
13
boot.sh
13
boot.sh
@ -1,5 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
||||||
|
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
||||||
|
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
||||||
|
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
|
||||||
|
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
|
||||||
|
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
|
||||||
|
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||||
|
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
||||||
|
███ ███ '
|
||||||
|
|
||||||
|
clear
|
||||||
|
echo -e "\n$ansi_art\n"
|
||||||
|
|
||||||
sudo pacman -Sy --noconfirm --needed git
|
sudo pacman -Sy --noconfirm --needed git
|
||||||
|
|
||||||
echo -e "\nCloning Omarchy..."
|
echo -e "\nCloning Omarchy..."
|
||||||
|
@ -7,8 +7,8 @@ if command -v zoxide &> /dev/null; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if command -v fzf &> /dev/null; then
|
if command -v fzf &> /dev/null; then
|
||||||
if [[ -f /usr/share/bash-completion/completions/fzf ]]; then
|
if [[ -f /usr/share/fzf/completion.bash ]]; then
|
||||||
source /usr/share/bash-completion/completions/fzf
|
source /usr/share/fzf/completion.bash
|
||||||
fi
|
fi
|
||||||
if [[ -f /usr/share/fzf/key-bindings.bash ]]; then
|
if [[ -f /usr/share/fzf/key-bindings.bash ]]; then
|
||||||
source /usr/share/fzf/key-bindings.bash
|
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
|
# Exit immediately if a command exits with a non-zero status
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
OMARCHY_INSTALL=~/.local/share/omarchy/install
|
||||||
|
|
||||||
# Give people a chance to retry running the installation
|
# Give people a chance to retry running the installation
|
||||||
catch_errors() {
|
catch_errors() {
|
||||||
echo -e "\n\e[31mOmarchy installation failed!\e[0m"
|
echo -e "\n\e[31mOmarchy installation failed!\e[0m"
|
||||||
@ -12,16 +14,70 @@ catch_errors() {
|
|||||||
|
|
||||||
trap catch_errors ERR
|
trap catch_errors ERR
|
||||||
|
|
||||||
# Install everything
|
show_logo() {
|
||||||
for f in ~/.local/share/omarchy/install/*.sh; do
|
clear
|
||||||
echo -e "\nRunning installer: $f"
|
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
|
||||||
source "$f"
|
echo
|
||||||
done
|
}
|
||||||
|
|
||||||
# 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
|
sudo updatedb
|
||||||
|
|
||||||
# Update all built-in packages
|
|
||||||
sudo pacman -Syu --noconfirm
|
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
|
#!/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_NAME=$(gum input --placeholder "Enter full name" --prompt "Name> ")
|
||||||
export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")
|
export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")
|
@ -1,6 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security
|
|
||||||
yay -S --noconfirm --needed uwsm
|
yay -S --noconfirm --needed uwsm
|
||||||
|
|
||||||
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
|
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
|
@ -12,6 +12,9 @@
|
|||||||
|
|
||||||
# --- GPU Detection ---
|
# --- GPU Detection ---
|
||||||
if [ -n "$(lspci | grep -i 'nvidia')" ]; then
|
if [ -n "$(lspci | grep -i 'nvidia')" ]; then
|
||||||
|
show_logo
|
||||||
|
show_subtext "Install NVIDIA drivers..."
|
||||||
|
|
||||||
# --- Driver Selection ---
|
# --- Driver Selection ---
|
||||||
# Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules
|
# 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
|
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
|
# Setup theme links
|
||||||
mkdir -p ~/.config/omarchy/themes
|
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
|
# Set initial theme
|
||||||
mkdir -p ~/.config/omarchy/current
|
mkdir -p ~/.config/omarchy/current
|
@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
show_logo
|
|
||||||
show_subtext "Let's install basic terminal tools..."
|
|
||||||
|
|
||||||
yay -S --noconfirm --needed \
|
yay -S --noconfirm --needed \
|
||||||
wget curl unzip inetutils impala \
|
wget curl unzip inetutils impala \
|
||||||
fd eza fzf ripgrep zoxide bat jq \
|
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
|
6
logo.txt
6
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