mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 20:29:24 +00:00
Compare commits
35 Commits
4aa6b6c1f9
...
v1.6.2
Author | SHA1 | Date | |
---|---|---|---|
b322d1cb47 | |||
d503b0cc37 | |||
eeb784d087 | |||
07a16487c0 | |||
c814aa534d | |||
6de445a2a6 | |||
73d8c70e06 | |||
e3bf801654 | |||
b4d75729d9 | |||
68a221e456 | |||
42963368c0 | |||
cf688baa34 | |||
0a8a502cf2 | |||
9844d4ab22 | |||
cec5482483 | |||
bd43aee907 | |||
6afbff2c27 | |||
cc79664efc | |||
162952f102 | |||
f693c33310 | |||
32aa290af5 | |||
fbdbf852eb | |||
5b654d0282 | |||
4929d3e201 | |||
29bfeba5cc | |||
4e9e13f88d | |||
7f3af84a60 | |||
62fb66a74a | |||
cb48956a37 | |||
4e4e82c5b9 | |||
302e92860e | |||
eace29af7d | |||
51e2fa8598 | |||
c081078e72 | |||
3c2559297d |
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"
|
@ -10,7 +10,8 @@ mkdir -p ~/.local/share/applications
|
|||||||
cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/
|
cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/
|
||||||
cp ~/.local/share/omarchy/applications/hidden/*.desktop ~/.local/share/applications/
|
cp ~/.local/share/omarchy/applications/hidden/*.desktop ~/.local/share/applications/
|
||||||
|
|
||||||
if [ -z "$OMARCHY_BARE" ]; then
|
# Only copy xtras if user is not in bare mode
|
||||||
|
if [[ ! -f ~/.local/state/omarchy/bare.mode ]] && [ -z "$OMARCHY_BARE" ]; then
|
||||||
cp ~/.local/share/omarchy/applications/xtras/*.desktop ~/.local/share/applications/
|
cp ~/.local/share/omarchy/applications/xtras/*.desktop ~/.local/share/applications/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ TOTAL=${#BACKGROUNDS[@]}
|
|||||||
if [[ $TOTAL -eq 0 ]]; then
|
if [[ $TOTAL -eq 0 ]]; then
|
||||||
notify-send "No background was found for theme" -t 2000
|
notify-send "No background was found for theme" -t 2000
|
||||||
pkill -x swaybg
|
pkill -x swaybg
|
||||||
uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 &
|
setsid uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 &
|
||||||
else
|
else
|
||||||
# Get current background from symlink
|
# Get current background from symlink
|
||||||
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
|
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
|
||||||
@ -44,5 +44,5 @@ else
|
|||||||
|
|
||||||
# Relaunch swaybg
|
# Relaunch swaybg
|
||||||
pkill -x swaybg
|
pkill -x swaybg
|
||||||
uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
|
setsid uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
|
||||||
fi
|
fi
|
||||||
|
@ -139,6 +139,7 @@ name = "Calculator"
|
|||||||
icon = "accessories-calculator"
|
icon = "accessories-calculator"
|
||||||
placeholder = "Calculator"
|
placeholder = "Calculator"
|
||||||
min_chars = 3 # Min chars to calculate. 3 allows "3+3"
|
min_chars = 3 # Min chars to calculate. 3 allows "3+3"
|
||||||
|
prefix = "="
|
||||||
|
|
||||||
[builtins.windows]
|
[builtins.windows]
|
||||||
weight = 5
|
weight = 5
|
||||||
|
@ -50,7 +50,8 @@
|
|||||||
"clock": {
|
"clock": {
|
||||||
"format": "{:%A %H:%M}",
|
"format": "{:%A %H:%M}",
|
||||||
"format-alt": "{:%d %B W%V %Y}",
|
"format-alt": "{:%d %B W%V %Y}",
|
||||||
"tooltip": false
|
"tooltip": false,
|
||||||
|
"on-click-right": "~/.local/share/omarchy/bin/omarchy-cmd-tzupdate"
|
||||||
},
|
},
|
||||||
"network": {
|
"network": {
|
||||||
"format-icons": ["","","","",""],
|
"format-icons": ["","","","",""],
|
||||||
|
@ -39,12 +39,11 @@ source $OMARCHY_INSTALL/config/fix-fkeys.sh
|
|||||||
source $OMARCHY_INSTALL/config/network.sh
|
source $OMARCHY_INSTALL/config/network.sh
|
||||||
source $OMARCHY_INSTALL/config/power.sh
|
source $OMARCHY_INSTALL/config/power.sh
|
||||||
source $OMARCHY_INSTALL/config/login.sh
|
source $OMARCHY_INSTALL/config/login.sh
|
||||||
source $OMARCHY_INSTALL/config/plymouth.sh
|
|
||||||
source $OMARCHY_INSTALL/config/nvidia.sh
|
source $OMARCHY_INSTALL/config/nvidia.sh
|
||||||
|
|
||||||
# Development
|
# Development
|
||||||
show_logo decrypt 920
|
show_logo decrypt 920
|
||||||
show_subtext "Installing terminal tools [2/10]"
|
show_subtext "Installing terminal tools [2/5]"
|
||||||
source $OMARCHY_INSTALL/development/terminal.sh
|
source $OMARCHY_INSTALL/development/terminal.sh
|
||||||
source $OMARCHY_INSTALL/development/development.sh
|
source $OMARCHY_INSTALL/development/development.sh
|
||||||
source $OMARCHY_INSTALL/development/nvim.sh
|
source $OMARCHY_INSTALL/development/nvim.sh
|
||||||
@ -54,7 +53,7 @@ source $OMARCHY_INSTALL/development/firewall.sh
|
|||||||
|
|
||||||
# Desktop
|
# Desktop
|
||||||
show_logo slice 60
|
show_logo slice 60
|
||||||
show_subtext "Installing desktop tools [3/10]"
|
show_subtext "Installing desktop tools [3/5]"
|
||||||
source $OMARCHY_INSTALL/desktop/desktop.sh
|
source $OMARCHY_INSTALL/desktop/desktop.sh
|
||||||
source $OMARCHY_INSTALL/desktop/hyprlandia.sh
|
source $OMARCHY_INSTALL/desktop/hyprlandia.sh
|
||||||
source $OMARCHY_INSTALL/desktop/theme.sh
|
source $OMARCHY_INSTALL/desktop/theme.sh
|
||||||
|
@ -9,6 +9,12 @@ echo "source ~/.local/share/omarchy/default/bash/rc" >~/.bashrc
|
|||||||
# Ensure application directory exists for update-desktop-database
|
# Ensure application directory exists for update-desktop-database
|
||||||
mkdir -p ~/.local/share/applications
|
mkdir -p ~/.local/share/applications
|
||||||
|
|
||||||
|
# If bare install, allow a way for its exclusions to not get added in updates
|
||||||
|
if [ -n "$OMARCHY_BARE" ]; then
|
||||||
|
mkdir -p ~/.local/state/omarchy
|
||||||
|
touch ~/.local/state/omarchy/bare.mode
|
||||||
|
fi
|
||||||
|
|
||||||
# Setup GPG configuration with multiple keyservers for better reliability
|
# Setup GPG configuration with multiple keyservers for better reliability
|
||||||
sudo mkdir -p /etc/gnupg
|
sudo mkdir -p /etc/gnupg
|
||||||
sudo cp ~/.local/share/omarchy/default/gpg/dirmngr.conf /etc/gnupg/
|
sudo cp ~/.local/share/omarchy/default/gpg/dirmngr.conf /etc/gnupg/
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
if [[ ! -f /etc/modprobe.d/hid_apple.conf ]]; then
|
if [[ ! -f /etc/modprobe.d/hid_apple.conf ]]; then
|
||||||
echo "options hid_apple fnmode=2" | sudo tee /etc/modprobe.d/hid_apple.conf
|
echo "options hid_apple fnmode=2" | sudo tee /etc/modprobe.d/hid_apple.conf
|
||||||
|
|
||||||
# Rely on install/plymouth.sh to do the rebuild
|
# Rely on install/login.sh to do the rebuild
|
||||||
# sudo mkinitcpio -P
|
# sudo mkinitcpio -P
|
||||||
fi
|
fi
|
||||||
|
@ -1,13 +1,143 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
yay -S --noconfirm --needed uwsm
|
# Hyprland launched via UWSM and login directly as user, rely on disk encryption + hyprlock for security
|
||||||
|
if ! command -v uwsm &>/dev/null || ! command -v plymouth &>/dev/null; then
|
||||||
|
yay -S --noconfirm --needed uwsm plymouth
|
||||||
|
fi
|
||||||
|
|
||||||
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
|
# ==============================================================================
|
||||||
cat <<'CCODE' >/tmp/seamless-login.c
|
# PLYMOUTH SETUP
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
if ! grep -Eq '^HOOKS=.*plymouth' /etc/mkinitcpio.conf; then
|
||||||
|
# Backup original mkinitcpio.conf just in case
|
||||||
|
backup_timestamp=$(date +"%Y%m%d%H%M%S")
|
||||||
|
sudo cp /etc/mkinitcpio.conf "/etc/mkinitcpio.conf.bak.${backup_timestamp}"
|
||||||
|
|
||||||
|
# Add plymouth to HOOKS array after 'base udev' or 'base systemd'
|
||||||
|
if grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base systemd"; then
|
||||||
|
sudo sed -i '/^HOOKS=/s/base systemd/base systemd plymouth/' /etc/mkinitcpio.conf
|
||||||
|
elif grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base udev"; then
|
||||||
|
sudo sed -i '/^HOOKS=/s/base udev/base udev plymouth/' /etc/mkinitcpio.conf
|
||||||
|
else
|
||||||
|
echo "Couldn't add the Plymouth hook"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Regenerate initramfs
|
||||||
|
sudo mkinitcpio -P
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add kernel parameters for Plymouth
|
||||||
|
if [ -d "/boot/loader/entries" ]; then # systemd-boot
|
||||||
|
echo "Detected systemd-boot"
|
||||||
|
|
||||||
|
for entry in /boot/loader/entries/*.conf; do
|
||||||
|
if [ -f "$entry" ]; then
|
||||||
|
# Skip fallback entries
|
||||||
|
if [[ "$(basename "$entry")" == *"fallback"* ]]; then
|
||||||
|
echo "Skipped: $(basename "$entry") (fallback entry)"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Skip if splash it already present for some reason
|
||||||
|
if ! grep -q "splash" "$entry"; then
|
||||||
|
sudo sed -i '/^options/ s/$/ splash quiet/' "$entry"
|
||||||
|
else
|
||||||
|
echo "Skipped: $(basename "$entry") (splash already present)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
elif [ -f "/etc/default/grub" ]; then # Grub
|
||||||
|
echo "Detected grub"
|
||||||
|
|
||||||
|
# Backup GRUB config before modifying
|
||||||
|
backup_timestamp=$(date +"%Y%m%d%H%M%S")
|
||||||
|
sudo cp /etc/default/grub "/etc/default/grub.bak.${backup_timestamp}"
|
||||||
|
|
||||||
|
# Check if splash is already in GRUB_CMDLINE_LINUX_DEFAULT
|
||||||
|
if ! grep -q "GRUB_CMDLINE_LINUX_DEFAULT.*splash" /etc/default/grub; then
|
||||||
|
# Get current GRUB_CMDLINE_LINUX_DEFAULT value
|
||||||
|
current_cmdline=$(grep "^GRUB_CMDLINE_LINUX_DEFAULT=" /etc/default/grub | cut -d'"' -f2)
|
||||||
|
|
||||||
|
# Add splash and quiet if not present
|
||||||
|
new_cmdline="$current_cmdline"
|
||||||
|
if [[ ! "$current_cmdline" =~ splash ]]; then
|
||||||
|
new_cmdline="$new_cmdline splash"
|
||||||
|
fi
|
||||||
|
if [[ ! "$current_cmdline" =~ quiet ]]; then
|
||||||
|
new_cmdline="$new_cmdline quiet"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Trim any leading/trailing spaces
|
||||||
|
new_cmdline=$(echo "$new_cmdline" | xargs)
|
||||||
|
|
||||||
|
sudo sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=\".*\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\"/" /etc/default/grub
|
||||||
|
|
||||||
|
# Regenerate grub config
|
||||||
|
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
|
else
|
||||||
|
echo "GRUB already configured with splash kernel parameters"
|
||||||
|
fi
|
||||||
|
elif [ -d "/etc/cmdline.d" ]; then # UKI
|
||||||
|
echo "Detected a UKI setup"
|
||||||
|
# Relying on mkinitcpio to assemble a UKI
|
||||||
|
# https://wiki.archlinux.org/title/Unified_kernel_image
|
||||||
|
if ! grep -q splash /etc/cmdline.d/*.conf; then
|
||||||
|
# Need splash, create the omarchy file
|
||||||
|
echo "splash" | sudo tee -a /etc/cmdline.d/omarchy.conf
|
||||||
|
fi
|
||||||
|
if ! grep -q quiet /etc/cmdline.d/*.conf; then
|
||||||
|
# Need quiet, create or append the omarchy file
|
||||||
|
echo "quiet" | sudo tee -a /etc/cmdline.d/omarchy.conf
|
||||||
|
fi
|
||||||
|
elif [ -f "/etc/kernel/cmdline" ]; then # UKI Alternate
|
||||||
|
# Alternate UKI kernel cmdline location
|
||||||
|
echo "Detected a UKI setup"
|
||||||
|
|
||||||
|
# Backup kernel cmdline config before modifying
|
||||||
|
backup_timestamp=$(date +"%Y%m%d%H%M%S")
|
||||||
|
sudo cp /etc/kernel/cmdline "/etc/kernel/cmdline.bak.${backup_timestamp}"
|
||||||
|
|
||||||
|
current_cmdline=$(cat /etc/kernel/cmdline)
|
||||||
|
|
||||||
|
# Add splash and quiet if not present
|
||||||
|
new_cmdline="$current_cmdline"
|
||||||
|
if [[ ! "$current_cmdline" =~ splash ]]; then
|
||||||
|
new_cmdline="$new_cmdline splash"
|
||||||
|
fi
|
||||||
|
if [[ ! "$current_cmdline" =~ quiet ]]; then
|
||||||
|
new_cmdline="$new_cmdline quiet"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Trim any leading/trailing spaces
|
||||||
|
new_cmdline=$(echo "$new_cmdline" | xargs)
|
||||||
|
|
||||||
|
# Write new file
|
||||||
|
echo $new_cmdline | sudo tee /etc/kernel/cmdline
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo " None of systemd-boot, GRUB, or UKI detected. Please manually add these kernel parameters:"
|
||||||
|
echo " - splash (to see the graphical splash screen)"
|
||||||
|
echo " - quiet (for silent boot)"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(plymouth-set-default-theme)" != "omarchy" ]; then
|
||||||
|
sudo cp -r "$HOME/.local/share/omarchy/default/plymouth" /usr/share/plymouth/themes/omarchy/
|
||||||
|
sudo plymouth-set-default-theme -R omarchy
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# SEAMLESS LOGIN
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
if [ ! -x /usr/local/bin/seamless-login ]; then
|
||||||
|
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
|
||||||
|
cat <<'CCODE' >/tmp/seamless-login.c
|
||||||
/*
|
/*
|
||||||
* Seamless Login - Minimal SDDM-style Plymouth transition
|
* Seamless Login - Minimal SDDM-style Plymouth transition
|
||||||
* Replicates SDDM's VT management for seamless auto-login
|
* Replicates SDDM's VT management for seamless auto-login
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@ -76,12 +206,14 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
CCODE
|
CCODE
|
||||||
|
|
||||||
gcc -o /tmp/seamless-login /tmp/seamless-login.c
|
gcc -o /tmp/seamless-login /tmp/seamless-login.c
|
||||||
sudo mv /tmp/seamless-login /usr/local/bin/seamless-login
|
sudo mv /tmp/seamless-login /usr/local/bin/seamless-login
|
||||||
sudo chmod +x /usr/local/bin/seamless-login
|
sudo chmod +x /usr/local/bin/seamless-login
|
||||||
rm /tmp/seamless-login.c
|
rm /tmp/seamless-login.c
|
||||||
|
fi
|
||||||
|
|
||||||
cat <<EOF | sudo tee /etc/systemd/system/omarchy-seamless-login.service
|
if [ ! -f /etc/systemd/system/omarchy-seamless-login.service ]; then
|
||||||
|
cat <<EOF | sudo tee /etc/systemd/system/omarchy-seamless-login.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Omarchy Seamless Auto-Login
|
Description=Omarchy Seamless Auto-Login
|
||||||
Documentation=https://github.com/basecamp/omarchy
|
Documentation=https://github.com/basecamp/omarchy
|
||||||
@ -107,19 +239,29 @@ PAMName=login
|
|||||||
[Install]
|
[Install]
|
||||||
WantedBy=graphical.target
|
WantedBy=graphical.target
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
# Make plymouth remain until graphical.target
|
if [ ! -f /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf ]; then
|
||||||
sudo mkdir -p /etc/systemd/system/plymouth-quit.service.d
|
# Make plymouth remain until graphical.target
|
||||||
sudo tee /etc/systemd/system/plymouth-quit.service.d/wait-for-graphical.conf <<'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]
|
[Unit]
|
||||||
After=multi-user.target
|
After=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
# Prevent plymouth-quit-wait.service
|
# Mask plymouth-quit-wait.service only if not already masked
|
||||||
sudo systemctl mask plymouth-quit-wait.service
|
if ! systemctl is-enabled plymouth-quit-wait.service | grep -q masked; then
|
||||||
|
sudo systemctl mask plymouth-quit-wait.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
|
||||||
sudo systemctl daemon-reload
|
# Enable omarchy-seamless-login.service only if not already enabled
|
||||||
sudo systemctl enable omarchy-seamless-login.service
|
if ! systemctl is-enabled omarchy-seamless-login.service | grep -q enabled; then
|
||||||
|
sudo systemctl enable omarchy-seamless-login.service
|
||||||
|
fi
|
||||||
|
|
||||||
# Disable getty@tty1 to prevent conflicts
|
# Disable getty@tty1.service only if not already disabled
|
||||||
sudo systemctl disable getty@tty1.service
|
if ! systemctl is-enabled getty@tty1.service | grep -q disabled; then
|
||||||
|
sudo systemctl disable getty@tty1.service
|
||||||
|
fi
|
||||||
|
@ -1,121 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if ! command -v plymouth &>/dev/null; then
|
|
||||||
yay -S --noconfirm --needed plymouth
|
|
||||||
|
|
||||||
# Skip if plymouth already exists for some reason
|
|
||||||
# Backup original mkinitcpio.conf just in case
|
|
||||||
backup_timestamp=$(date +"%Y%m%d%H%M%S")
|
|
||||||
sudo cp /etc/mkinitcpio.conf "/etc/mkinitcpio.conf.bak.${backup_timestamp}"
|
|
||||||
|
|
||||||
# Add plymouth to HOOKS array after 'base udev' or 'base systemd'
|
|
||||||
if grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base systemd"; then
|
|
||||||
sudo sed -i '/^HOOKS=/s/base systemd/base systemd plymouth/' /etc/mkinitcpio.conf
|
|
||||||
elif grep "^HOOKS=" /etc/mkinitcpio.conf | grep -q "base udev"; then
|
|
||||||
sudo sed -i '/^HOOKS=/s/base udev/base udev plymouth/' /etc/mkinitcpio.conf
|
|
||||||
else
|
|
||||||
echo "Couldn't add the Plymouth hook"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Regenerate initramfs
|
|
||||||
sudo mkinitcpio -P
|
|
||||||
|
|
||||||
# Add kernel parameters for Plymouth (systemd-boot only)
|
|
||||||
if [ -d "/boot/loader/entries" ]; then
|
|
||||||
echo "Detected systemd-boot"
|
|
||||||
|
|
||||||
for entry in /boot/loader/entries/*.conf; do
|
|
||||||
if [ -f "$entry" ]; then
|
|
||||||
# Skip fallback entries
|
|
||||||
if [[ "$(basename "$entry")" == *"fallback"* ]]; then
|
|
||||||
echo "Skipped: $(basename "$entry") (fallback entry)"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Skip if splash it already present for some reason
|
|
||||||
if ! grep -q "splash" "$entry"; then
|
|
||||||
sudo sed -i '/^options/ s/$/ splash quiet/' "$entry"
|
|
||||||
else
|
|
||||||
echo "Skipped: $(basename "$entry") (splash already present)"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
elif [ -f "/etc/default/grub" ]; then
|
|
||||||
echo "Detected grub"
|
|
||||||
# Backup GRUB config before modifying
|
|
||||||
backup_timestamp=$(date +"%Y%m%d%H%M%S")
|
|
||||||
sudo cp /etc/default/grub "/etc/default/grub.bak.${backup_timestamp}"
|
|
||||||
|
|
||||||
# Check if splash is already in GRUB_CMDLINE_LINUX_DEFAULT
|
|
||||||
if ! grep -q "GRUB_CMDLINE_LINUX_DEFAULT.*splash" /etc/default/grub; then
|
|
||||||
# Get current GRUB_CMDLINE_LINUX_DEFAULT value
|
|
||||||
current_cmdline=$(grep "^GRUB_CMDLINE_LINUX_DEFAULT=" /etc/default/grub | cut -d'"' -f2)
|
|
||||||
|
|
||||||
# Add splash and quiet if not present
|
|
||||||
new_cmdline="$current_cmdline"
|
|
||||||
if [[ ! "$current_cmdline" =~ splash ]]; then
|
|
||||||
new_cmdline="$new_cmdline splash"
|
|
||||||
fi
|
|
||||||
if [[ ! "$current_cmdline" =~ quiet ]]; then
|
|
||||||
new_cmdline="$new_cmdline quiet"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Trim any leading/trailing spaces
|
|
||||||
new_cmdline=$(echo "$new_cmdline" | xargs)
|
|
||||||
|
|
||||||
sudo sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=\".*\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$new_cmdline\"/" /etc/default/grub
|
|
||||||
|
|
||||||
# Regenerate grub config
|
|
||||||
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
|
||||||
else
|
|
||||||
echo "GRUB already configured with splash kernel parameters"
|
|
||||||
fi
|
|
||||||
elif [ -d "/etc/cmdline.d" ]; then
|
|
||||||
echo "Detected a UKI setup"
|
|
||||||
# Relying on mkinitcpio to assemble a UKI
|
|
||||||
# https://wiki.archlinux.org/title/Unified_kernel_image
|
|
||||||
if ! grep -q splash /etc/cmdline.d/*.conf; then
|
|
||||||
# Need splash, create the omarchy file
|
|
||||||
echo "splash" | sudo tee -a /etc/cmdline.d/omarchy.conf
|
|
||||||
fi
|
|
||||||
if ! grep -q quiet /etc/cmdline.d/*.conf; then
|
|
||||||
# Need quiet, create or append the omarchy file
|
|
||||||
echo "quiet" | sudo tee -a /etc/cmdline.d/omarchy.conf
|
|
||||||
fi
|
|
||||||
elif [ -f "/etc/kernel/cmdline" ]; then
|
|
||||||
# Alternate UKI kernel cmdline location
|
|
||||||
echo "Detected a UKI setup"
|
|
||||||
|
|
||||||
# Backup kernel cmdline config before modifying
|
|
||||||
backup_timestamp=$(date +"%Y%m%d%H%M%S")
|
|
||||||
sudo cp /etc/kernel/cmdline "/etc/kernel/cmdline.bak.${backup_timestamp}"
|
|
||||||
|
|
||||||
current_cmdline=$(cat /etc/kernel/cmdline)
|
|
||||||
|
|
||||||
# Add splash and quiet if not present
|
|
||||||
new_cmdline="$current_cmdline"
|
|
||||||
if [[ ! "$current_cmdline" =~ splash ]]; then
|
|
||||||
new_cmdline="$new_cmdline splash"
|
|
||||||
fi
|
|
||||||
if [[ ! "$current_cmdline" =~ quiet ]]; then
|
|
||||||
new_cmdline="$new_cmdline quiet"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Trim any leading/trailing spaces
|
|
||||||
new_cmdline=$(echo "$new_cmdline" | xargs)
|
|
||||||
|
|
||||||
# Write new file
|
|
||||||
echo $new_cmdline | sudo tee /etc/kernel/cmdline
|
|
||||||
else
|
|
||||||
echo ""
|
|
||||||
echo "Neither systemd-boot nor GRUB detected. Please manually add these kernel parameters:"
|
|
||||||
echo " - splash (to see the graphical splash screen)"
|
|
||||||
echo " - quiet (for silent boot)"
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Copy and set the Plymouth theme
|
|
||||||
sudo cp -r "$HOME/.local/share/omarchy/default/plymouth" /usr/share/plymouth/themes/omarchy/
|
|
||||||
|
|
||||||
sudo plymouth-set-default-theme -R omarchy
|
|
||||||
fi
|
|
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,10 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Use dark mode for QT apps too (like kdenlive)
|
# 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
|
# 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 gtk-theme "Adwaita-dark"
|
||||||
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
||||||
|
|
||||||
|
@ -1,37 +1,41 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages
|
# Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages
|
||||||
if [[ "$(uname -m)" == "x86_64" ]]; then
|
if [[ "$(uname -m)" == "x86_64" ]] && ! command -v yay &>/dev/null; then
|
||||||
# Import Chaotic-AUR key
|
# Try installing Chaotic-AUR keyring and mirrorlist
|
||||||
sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
|
if ! pacman-key --list-keys 3056513887B78AEB >/dev/null 2>&1 &&
|
||||||
sudo pacman-key --lsign-key 3056513887B78AEB
|
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
|
||||||
|
|
||||||
# Install Chaotic-AUR keyring and mirrorlist
|
# Add Chaotic-AUR repo to pacman config
|
||||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'
|
if ! grep -q "chaotic-aur" /etc/pacman.conf; then
|
||||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
|
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
# Add Chaotic-AUR repo to pacman config
|
# Install yay directly from Chaotic-AUR
|
||||||
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
|
sudo pacman -Sy --needed --noconfirm yay
|
||||||
|
else
|
||||||
# Refresh pacman package databases
|
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
|
||||||
sudo pacman -Sy
|
|
||||||
|
|
||||||
# Install yay
|
|
||||||
sudo pacman -S --needed --noconfirm yay
|
|
||||||
else
|
|
||||||
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 ~
|
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Manually install yay from AUR if not already available
|
||||||
|
if ! command -v yay &>/dev/null; then
|
||||||
|
# Install build tools
|
||||||
|
sudo pacman -Sy --needed --noconfirm base-devel
|
||||||
|
cd /tmp
|
||||||
|
rm -rf yay-bin
|
||||||
|
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
|
# Add fun and color to the pacman installer
|
||||||
sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf
|
if ! grep -q "ILoveCandy" /etc/pacman.conf; then
|
||||||
|
sudo sed -i '/^\[options\]/a Color\nILoveCandy' /etc/pacman.conf
|
||||||
|
fi
|
||||||
|
19
logo.txt
19
logo.txt
@ -1,9 +1,10 @@
|
|||||||
▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
|
▄▄▄
|
||||||
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
|
▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄
|
||||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
|
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||||
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄ ▀▀▀▀▀▀███
|
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███
|
||||||
███ ███ ███ ███ ███ ███████████ ▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███ ▄██ ███
|
███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███
|
||||||
███ ███ ███ ███ ███ ███ ███ ███████████ ███ █▄ ███ ███ ███ ███
|
███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███
|
||||||
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███
|
||||||
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
|
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
|
||||||
███ ███
|
▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀
|
||||||
|
███ █▀
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
echo "Permanently fix F-keys on Apple-mode keyboards (like Lofree Flow84)"
|
echo "Permanently fix F-keys on Apple-mode keyboards (like Lofree Flow84)"
|
||||||
source ~/.local/share/omarchy/install/fix-fkeys.sh
|
source ~/.local/share/omarchy/install/config/fix-fkeys.sh
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
echo "Install Plymouth splash screen"
|
echo "Install Plymouth splash screen"
|
||||||
source "$HOME/.local/share/omarchy/install/plymouth.sh"
|
source "$HOME/.local/share/omarchy/install/login.sh"
|
||||||
|
@ -14,6 +14,5 @@ if ! command -v uwsm &>/dev/null; then
|
|||||||
sed -i 's/^GTK_IM_MODULE=fcitx$//' "$HOME/.config/environment.d/fcitx.conf"
|
sed -i 's/^GTK_IM_MODULE=fcitx$//' "$HOME/.config/environment.d/fcitx.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
omarchy-refresh-plymouth -y
|
source ~/.local/share/omarchy/install/config/login.sh
|
||||||
source ~/.local/share/omarchy/install/login.sh
|
|
||||||
fi
|
fi
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
echo "Enable ufw firewall"
|
echo "Enable ufw firewall"
|
||||||
source ~/.local/share/omarchy/install/firewall.sh
|
source ~/.local/share/omarchy/install/development/firewall.sh
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
echo "Add missing installation of Zoom"
|
if [[ ! -f ~/.local/state/omarchy/bare.mode ]]; then
|
||||||
|
echo "Add missing installation of Zoom"
|
||||||
|
|
||||||
if ! command -v zoom &>/dev/null; then
|
if ! command -v zoom &>/dev/null; then
|
||||||
yay -S --noconfirm --needed zoom
|
yay -S --noconfirm --needed zoom
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
echo "Add Chaotic-AUR to get compiled binaries"
|
echo "Add Chaotic-AUR to get compiled binaries"
|
||||||
|
|
||||||
if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.conf; then
|
if [[ "$(uname -m)" == "x86_64" ]] && ! grep -q '^\[chaotic-aur\]' /etc/pacman.conf; then
|
||||||
# Import Chaotic-AUR key
|
# Try installing Chaotic-AUR keyring and mirrorlist
|
||||||
sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
|
if sudo pacman-key --recv-key 3056513887B78AEB &&
|
||||||
sudo pacman-key --lsign-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
|
||||||
|
|
||||||
# Install Chaotic-AUR keyring and mirrorlist
|
# Add Chaotic-AUR repo to pacman config
|
||||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'
|
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
|
||||||
sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
|
|
||||||
|
|
||||||
# Add Chaotic-AUR repo to pacman config
|
# Refresh pacman package databases
|
||||||
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
|
sudo pacman -Sy
|
||||||
|
|
||||||
# Refresh pacman package databases
|
chaotic_ok=1
|
||||||
sudo pacman -Sy
|
else
|
||||||
|
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
echo "Add Terminal Text Effects for rizzing Omarchy"
|
echo "Add Terminal Text Effects for rizzing Omarchy"
|
||||||
if yay -Qe python-terminaltexteffects &>/dev/null; then
|
if ! yay -Qe python-terminaltexteffects &>/dev/null; then
|
||||||
yay -S --noconfirm --needed python-terminaltexteffects
|
yay -S --noconfirm --needed python-terminaltexteffects
|
||||||
fi
|
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
|
4
migrations/1753558374.sh
Normal file
4
migrations/1753558374.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
echo "Update Walker config to include = as the leader key for the calculator"
|
||||||
|
if ! grep -q 'prefix = "="' ~/.config/walker/config.toml; then
|
||||||
|
omarchy-refresh-walker
|
||||||
|
fi
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 1.5 KiB |
Reference in New Issue
Block a user