mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Compare commits
42 Commits
remove-log
...
remove-rec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a34a671dc8 | ||
|
|
c3af4b9469 | ||
|
|
ffe8997fad | ||
|
|
e2611d9bc4 | ||
|
|
266767df5f | ||
|
|
eb4172a486 | ||
|
|
ca115b9061 | ||
|
|
ab09446971 | ||
|
|
af0f459a1a | ||
|
|
fbf9a19574 | ||
|
|
95139164a3 | ||
|
|
2ae973108d | ||
|
|
aa0b44b7f4 | ||
|
|
d9424b2bff | ||
|
|
36a30dd01d | ||
|
|
82467892a3 | ||
|
|
e138f7e8eb | ||
|
|
0a75644f2d | ||
|
|
3725f2d3b6 | ||
|
|
0ebd62a32e | ||
|
|
31d97335fc | ||
|
|
41a1fe6b21 | ||
|
|
91e686f1b2 | ||
|
|
75ac6910d4 | ||
|
|
b4b8788c14 | ||
|
|
76c94e2604 | ||
|
|
e59a98fb0b | ||
|
|
dee7e3e4a7 | ||
|
|
5a7b9292c8 | ||
|
|
31ce6f689e | ||
|
|
210481d758 | ||
|
|
3bac37b21b | ||
|
|
1edbe89191 | ||
|
|
617e96234b | ||
|
|
5873980703 | ||
|
|
b8cc8d8bc3 | ||
|
|
455fe890ec | ||
|
|
ccc8aa87d0 | ||
|
|
193797393f | ||
|
|
7056a3903a | ||
|
|
3880c49469 | ||
|
|
cc80782160 |
@@ -1,7 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Audio Settings
|
|
||||||
Comment=Using Wiremix
|
|
||||||
Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix
|
|
||||||
Icon=audio-headphones
|
|
||||||
Type=Application
|
|
||||||
Terminal=false
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Zoom
|
|
||||||
Comment=Zoom Video Conference
|
|
||||||
Exec=env QT_SCALE_FACTOR=2 /usr/bin/zoom %U
|
|
||||||
Icon=Zoom
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Encoding=UTF-8
|
|
||||||
Categories=Network;Application;
|
|
||||||
StartupWMClass=zoom
|
|
||||||
MimeType=x-scheme-handler/zoommtg;x-scheme-handler/zoomus;x-scheme-handler/tel;x-scheme-handler/callto;x-scheme-handler/zoomphonecall;x-scheme-handler/zoomphonesms;x-scheme-handler/zoomcontactcentercall;application/x-zoom
|
|
||||||
X-KDE-Protocols=zoommtg;zoomus;tel;callto;zoomphonecall;zoomphonesms;zoomcontactcentercall;
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
options=("MariaDB" "MySQL" "Redis" "PostgreSQL" "MongoDB")
|
options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB")
|
||||||
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
|
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
|
||||||
|
|
||||||
if [[ -n "$choices" ]]; then
|
if [[ -n "$choices" ]]; then
|
||||||
|
|||||||
26
bin/omarchy-install-firewall
Executable file
26
bin/omarchy-install-firewall
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if ! command -v ufw &>/dev/null; then
|
||||||
|
yay -S --noconfirm --needed ufw ufw-docker
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Allow nothing in, everything out
|
||||||
|
sudo ufw default deny incoming
|
||||||
|
sudo ufw default allow outgoing
|
||||||
|
|
||||||
|
# Allow ports for LocalSend
|
||||||
|
sudo ufw allow 53317/udp
|
||||||
|
sudo ufw allow 53317/tcp
|
||||||
|
|
||||||
|
# Allow SSH in
|
||||||
|
sudo ufw allow 22/tcp
|
||||||
|
|
||||||
|
# Allow Docker containers to use DNS on host
|
||||||
|
sudo ufw allow in proto udp from 172.16.0.0/12 to 172.17.0.1 port 53 comment 'allow-docker-dns'
|
||||||
|
|
||||||
|
# Turn on the firewall
|
||||||
|
sudo ufw --force enable
|
||||||
|
|
||||||
|
# Turn on Docker protections
|
||||||
|
sudo ufw-docker install
|
||||||
|
sudo ufw reload
|
||||||
@@ -184,7 +184,8 @@ show_install_menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_install_service_menu() {
|
show_install_service_menu() {
|
||||||
case $(menu "Install" " Dropbox\n Tailscale") in
|
case $(menu "Install" " Firewall\n Dropbox\n Tailscale") in
|
||||||
|
*Firewall*) present_terminal omarchy-install-firewall ;;
|
||||||
*Dropbox*) present_terminal omarchy-install-dropbox ;;
|
*Dropbox*) present_terminal omarchy-install-dropbox ;;
|
||||||
*Tailscale*) present_terminal omarchy-install-tailscale ;;
|
*Tailscale*) present_terminal omarchy-install-tailscale ;;
|
||||||
*) show_install_menu ;;
|
*) show_install_menu ;;
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ if [[ -z $COMMAND ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! command -v snapper &>/dev/null; then
|
||||||
|
echo "You need Snapper installed to be able to use omarchy-snapshot."
|
||||||
|
exit 127
|
||||||
|
fi
|
||||||
|
|
||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
create)
|
create)
|
||||||
DESC="$(omarchy-version)"
|
DESC="$(omarchy-version)"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# Status indicator daemon for waybar
|
# Status indicator daemon for waybar
|
||||||
# Calls individual status scripts and caches results
|
# Calls individual status scripts and caches results
|
||||||
|
|
||||||
STATE_DIR="/tmp/omarchy-status"
|
STATE_DIR=~/.local/state/omarchy/status
|
||||||
DAEMON_PID_FILE="$STATE_DIR/daemon.pid"
|
DAEMON_PID_FILE="$STATE_DIR/daemon.pid"
|
||||||
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
|
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
|
||||||
|
|
||||||
@@ -13,13 +13,12 @@ mkdir -p "$STATE_DIR"
|
|||||||
update_all_status_files() {
|
update_all_status_files() {
|
||||||
"$SCRIPT_DIR/omarchy-status-dnd" >"$STATE_DIR/dnd"
|
"$SCRIPT_DIR/omarchy-status-dnd" >"$STATE_DIR/dnd"
|
||||||
"$SCRIPT_DIR/omarchy-status-nightlight" >"$STATE_DIR/nightlight"
|
"$SCRIPT_DIR/omarchy-status-nightlight" >"$STATE_DIR/nightlight"
|
||||||
"$SCRIPT_DIR/omarchy-status-recording" > "$STATE_DIR/recording"
|
|
||||||
"$SCRIPT_DIR/omarchy-status-idle" >"$STATE_DIR/idle"
|
"$SCRIPT_DIR/omarchy-status-idle" >"$STATE_DIR/idle"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate hash for change detection
|
# Generate hash for change detection
|
||||||
get_status_hash() {
|
get_status_hash() {
|
||||||
echo "$(pgrep -c "mako|hyprsunset|wl-screenrec|wf-recorder|obs|hypridle" 2>/dev/null)$(makoctl mode 2>/dev/null | grep -c 'do-not-disturb')$(hyprctl hyprsunset temperature 2>/dev/null)"
|
echo "$($(makoctl mode 2>/dev/null | grep -c 'do-not-disturb')$(hyprctl hyprsunset temperature 2>/dev/null)"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Start background monitoring daemon
|
# Start background monitoring daemon
|
||||||
@@ -49,7 +48,7 @@ start_daemon() {
|
|||||||
MODULE="$1"
|
MODULE="$1"
|
||||||
|
|
||||||
if [ -z "$MODULE" ]; then
|
if [ -z "$MODULE" ]; then
|
||||||
echo "Usage: $0 [dnd|nightlight|recording|idle]"
|
echo "Usage: $0 [dnd|nightlight|idle]"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Recording status indicator
|
|
||||||
|
|
||||||
if pgrep -x wl-screenrec >/dev/null 2>&1 || \
|
|
||||||
pgrep -x wf-recorder >/dev/null 2>&1 || \
|
|
||||||
pgrep -x obs >/dev/null 2>&1 || \
|
|
||||||
pgrep -f "ffmpeg.*(x11grab|gdigrab|avfoundation)" >/dev/null 2>&1; then
|
|
||||||
echo '{"text": "", "tooltip": "Screen recording active", "class": "status-recording"}'
|
|
||||||
else
|
|
||||||
echo '{"text": "", "tooltip": "", "class": "hidden"}'
|
|
||||||
fi
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
omarchy-snapshot create
|
omarchy-snapshot create || [ $? -eq 127 ]
|
||||||
omarchy-update-git
|
omarchy-update-git
|
||||||
omarchy-migrate
|
omarchy-migrate
|
||||||
omarchy-update-system-pkgs
|
omarchy-update-system-pkgs
|
||||||
|
|||||||
5
boot.sh
5
boot.sh
@@ -23,8 +23,9 @@ echo -e "\nCloning Omarchy from: https://github.com/${OMARCHY_REPO}.git"
|
|||||||
rm -rf ~/.local/share/omarchy/
|
rm -rf ~/.local/share/omarchy/
|
||||||
git clone "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy >/dev/null
|
git clone "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy >/dev/null
|
||||||
|
|
||||||
# Use custom branch if instructed
|
# Use custom branch if instructed, otherwise default to master
|
||||||
if [[ -n "$OMARCHY_REF" ]]; then
|
OMARCHY_REF="${OMARCHY_REF:-master}"
|
||||||
|
if [[ $OMARCHY_REF != "master" ]]; then
|
||||||
echo -e "\eUsing branch: $OMARCHY_REF"
|
echo -e "\eUsing branch: $OMARCHY_REF"
|
||||||
cd ~/.local/share/omarchy
|
cd ~/.local/share/omarchy
|
||||||
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"
|
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"
|
||||||
|
|||||||
BIN
config/omarchy.ttf
Normal file
BIN
config/omarchy.ttf
Normal file
Binary file not shown.
@@ -4,15 +4,8 @@
|
|||||||
"position": "top",
|
"position": "top",
|
||||||
"spacing": 0,
|
"spacing": 0,
|
||||||
"height": 26,
|
"height": 26,
|
||||||
"modules-left": [
|
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
||||||
"custom/omarchy",
|
"modules-center": ["group/status-cluster", "clock", "custom/update"],
|
||||||
"hyprland/workspaces"
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"group/status-cluster",
|
|
||||||
"clock",
|
|
||||||
"custom/update"
|
|
||||||
],
|
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"group/tray-expander",
|
"group/tray-expander",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
@@ -46,7 +39,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"custom/omarchy": {
|
"custom/omarchy": {
|
||||||
"format": "",
|
"format": "<span font='omarchy'>\ue900</span>",
|
||||||
"on-click": "omarchy-menu",
|
"on-click": "omarchy-menu",
|
||||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||||
},
|
},
|
||||||
@@ -88,12 +81,8 @@
|
|||||||
"format-charging": "{icon}",
|
"format-charging": "{icon}",
|
||||||
"format-plugged": "",
|
"format-plugged": "",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"charging": [
|
"charging": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
"", "", "", "", "", "", "", "", "", ""
|
"default": ["", "", "", "", "", "", "", "", "", ""]
|
||||||
],
|
|
||||||
"default": [
|
|
||||||
"", "", "", "", "", "", "", "", "", ""
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"format-full": "",
|
"format-full": "",
|
||||||
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
|
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
|
||||||
@@ -128,17 +117,13 @@
|
|||||||
"transition-duration": 600,
|
"transition-duration": 600,
|
||||||
"children-class": "tray-group-item"
|
"children-class": "tray-group-item"
|
||||||
},
|
},
|
||||||
"modules": [
|
"modules": ["custom/expand-icon", "tray"]
|
||||||
"custom/expand-icon",
|
|
||||||
"tray"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"group/status-cluster": {
|
"group/status-cluster": {
|
||||||
"orientation": "inherit",
|
"orientation": "inherit",
|
||||||
"modules": [
|
"modules": [
|
||||||
"custom/status-dnd",
|
"custom/status-dnd",
|
||||||
"custom/status-nightlight",
|
"custom/status-nightlight",
|
||||||
"custom/status-recording",
|
|
||||||
"custom/status-idle"
|
"custom/status-idle"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -154,12 +139,6 @@
|
|||||||
"interval": 1,
|
"interval": 1,
|
||||||
"on-click": "omarchy-toggle-nightlight"
|
"on-click": "omarchy-toggle-nightlight"
|
||||||
},
|
},
|
||||||
"custom/status-recording": {
|
|
||||||
"exec": "omarchy-status-daemon recording",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": 1,
|
|
||||||
"on-click": "omarchy-cmd-screenrecord-stop"
|
|
||||||
},
|
|
||||||
"custom/status-idle": {
|
"custom/status-idle": {
|
||||||
"exec": "omarchy-status-daemon idle",
|
"exec": "omarchy-status-daemon idle",
|
||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ tooltip {
|
|||||||
|
|
||||||
#custom-status-dnd,
|
#custom-status-dnd,
|
||||||
#custom-status-nightlight,
|
#custom-status-nightlight,
|
||||||
#custom-status-recording,
|
|
||||||
#custom-status-idle {
|
#custom-status-idle {
|
||||||
min-width: 12px;
|
min-width: 12px;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
@@ -77,11 +76,6 @@ tooltip {
|
|||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-status-recording.status-recording {
|
|
||||||
color: #a55555;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hidden {
|
.hidden {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,4 +8,3 @@ source = ~/.local/share/omarchy/default/hypr/apps/system.conf
|
|||||||
source = ~/.local/share/omarchy/default/hypr/apps/walker.conf
|
source = ~/.local/share/omarchy/default/hypr/apps/walker.conf
|
||||||
source = ~/.local/share/omarchy/default/hypr/apps/1password.conf
|
source = ~/.local/share/omarchy/default/hypr/apps/1password.conf
|
||||||
source = ~/.local/share/omarchy/default/hypr/apps/jetbrains.conf
|
source = ~/.local/share/omarchy/default/hypr/apps/jetbrains.conf
|
||||||
source = ~/.local/share/omarchy/default/hypr/apps/zoom.conf
|
|
||||||
@@ -3,4 +3,4 @@ windowrule = tile, class:^(Chromium)$
|
|||||||
|
|
||||||
# Only slight opacity when unfocused
|
# Only slight opacity when unfocused
|
||||||
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable|Brave-browser|brave-browser)$
|
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable|Brave-browser|brave-browser)$
|
||||||
windowrule = opacity 1 1, initialTitle:^(youtube.com_/)$ # Youtube
|
windowrule = opacity 1 1, initialTitle:(youtube.com_/|app.zoom.us_/wc/home)
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
windowrule = opacity 1 1, class:Zoom Workplace
|
|
||||||
|
|
||||||
57
install.sh
57
install.sh
@@ -6,38 +6,6 @@ set -e
|
|||||||
export PATH="$HOME/.local/share/omarchy/bin:$PATH"
|
export PATH="$HOME/.local/share/omarchy/bin:$PATH"
|
||||||
OMARCHY_INSTALL=~/.local/share/omarchy/install
|
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"
|
|
||||||
echo "The failing command was: \`$BASH_COMMAND\` (exit code: $?)"
|
|
||||||
echo "See your installation log: ~/.local/state/omarchy/installation.log"
|
|
||||||
echo
|
|
||||||
echo "Get help from the community via QR code or at https://discord.gg/tXFUdasqhY"
|
|
||||||
echo " "
|
|
||||||
echo " █▀▀▀▀▀█ ▄ ▄ ▀▄▄▄█ █▀▀▀▀▀█ "
|
|
||||||
echo " █ ███ █ ▄▄▄▄▀▄▀▄▀ █ ███ █ "
|
|
||||||
echo " █ ▀▀▀ █ ▄█ ▄█▄▄▀ █ ▀▀▀ █ "
|
|
||||||
echo " ▀▀▀▀▀▀▀ ▀▄█ █ █ █ ▀▀▀▀▀▀▀ "
|
|
||||||
echo " ▀▀█▀▀▄▀▀▀▀▄█▀▀█ ▀ █ ▀ █ "
|
|
||||||
echo " █▄█ ▄▄▀▄▄ ▀ ▄ ▀█▄▄▄▄ ▀ ▀█ "
|
|
||||||
echo " ▄ ▄▀█ ▀▄▀▀▀▄ ▄█▀▄█▀▄▀▄▀█▀ "
|
|
||||||
echo " █ ▄▄█▄▀▄█ ▄▄▄ ▀ ▄▀██▀ ▀█ "
|
|
||||||
echo " ▀ ▀ ▀ █ ▀▄ ▀▀█▀▀▀█▄▀ "
|
|
||||||
echo " █▀▀▀▀▀█ ▀█ ▄▀▀ █ ▀ █▄▀██ "
|
|
||||||
echo " █ ███ █ █▀▄▄▀ █▀███▀█▄██▄ "
|
|
||||||
echo " █ ▀▀▀ █ ██ ▀ █▄█ ▄▄▄█▀ █ "
|
|
||||||
echo " ▀▀▀▀▀▀▀ ▀ ▀ ▀▀▀ ▀ ▀▀▀▀▀▀ "
|
|
||||||
echo " "
|
|
||||||
|
|
||||||
if [[ -n $OMARCHY_BARE ]]; then
|
|
||||||
echo "You can retry by running: OMARCHY_BARE=true bash ~/.local/share/omarchy/install.sh"
|
|
||||||
else
|
|
||||||
echo "You can retry by running: bash ~/.local/share/omarchy/install.sh"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
trap catch_errors ERR
|
|
||||||
|
|
||||||
show_logo() {
|
show_logo() {
|
||||||
clear
|
clear
|
||||||
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
|
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
|
||||||
@@ -49,30 +17,32 @@ show_subtext() {
|
|||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
# Start logging
|
|
||||||
source $OMARCHY_INSTALL/log/before-install.sh
|
|
||||||
|
|
||||||
# Install prerequisites
|
# Install prerequisites
|
||||||
|
source $OMARCHY_INSTALL/preflight/show-env.sh
|
||||||
|
source $OMARCHY_INSTALL/preflight/trap-errors.sh
|
||||||
source $OMARCHY_INSTALL/preflight/chroot.sh
|
source $OMARCHY_INSTALL/preflight/chroot.sh
|
||||||
source $OMARCHY_INSTALL/preflight/mirrorlist.sh
|
source $OMARCHY_INSTALL/preflight/mirrorlist.sh
|
||||||
source $OMARCHY_INSTALL/preflight/gum.sh
|
|
||||||
source $OMARCHY_INSTALL/preflight/guard.sh
|
source $OMARCHY_INSTALL/preflight/guard.sh
|
||||||
source $OMARCHY_INSTALL/preflight/aur.sh
|
source $OMARCHY_INSTALL/preflight/aur.sh
|
||||||
source $OMARCHY_INSTALL/preflight/tte.sh
|
|
||||||
source $OMARCHY_INSTALL/preflight/migrations.sh
|
source $OMARCHY_INSTALL/preflight/migrations.sh
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
source $OMARCHY_INSTALL/config/config.sh
|
source $OMARCHY_INSTALL/config/config.sh
|
||||||
source $OMARCHY_INSTALL/config/branding.sh
|
source $OMARCHY_INSTALL/config/branding.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/network.sh
|
||||||
source $OMARCHY_INSTALL/config/power.sh
|
source $OMARCHY_INSTALL/config/power.sh
|
||||||
|
source $OMARCHY_INSTALL/config/git.sh
|
||||||
|
source $OMARCHY_INSTALL/config/gpg.sh
|
||||||
source $OMARCHY_INSTALL/config/usb-autosuspend.sh
|
source $OMARCHY_INSTALL/config/usb-autosuspend.sh
|
||||||
source $OMARCHY_INSTALL/config/timezones.sh
|
source $OMARCHY_INSTALL/config/timezones.sh
|
||||||
source $OMARCHY_INSTALL/config/nvidia.sh
|
source $OMARCHY_INSTALL/config/nvidia.sh
|
||||||
source $OMARCHY_INSTALL/config/increase-sudo-tries.sh
|
source $OMARCHY_INSTALL/config/increase-sudo-tries.sh
|
||||||
|
source $OMARCHY_INSTALL/config/increase-lockout-limit.sh
|
||||||
source $OMARCHY_INSTALL/config/ignore-power-button.sh
|
source $OMARCHY_INSTALL/config/ignore-power-button.sh
|
||||||
|
source $OMARCHY_INSTALL/config/ssh-flakiness.sh
|
||||||
|
source $OMARCHY_INSTALL/config/detect-keyboard-layout.sh
|
||||||
|
source $OMARCHY_INSTALL/config/fix-fkeys.sh
|
||||||
|
source $OMARCHY_INSTALL/config/xcompose.sh
|
||||||
|
|
||||||
# Login
|
# Login
|
||||||
source $OMARCHY_INSTALL/login/plymouth.sh
|
source $OMARCHY_INSTALL/login/plymouth.sh
|
||||||
@@ -110,19 +80,14 @@ if ping -c5 omarchy.org &>/dev/null; then
|
|||||||
yay -Syu --noconfirm
|
yay -Syu --noconfirm
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Stop logging
|
|
||||||
source $OMARCHY_INSTALL/log/after-install.sh
|
|
||||||
|
|
||||||
# Reboot
|
# Reboot
|
||||||
show_logo laseretch 920
|
show_logo laseretch 920
|
||||||
show_subtext "You're done! So we're ready to reboot now..."
|
show_subtext "You're done! So we're ready to reboot now..."
|
||||||
|
|
||||||
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then
|
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then
|
||||||
sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null
|
sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null
|
||||||
echo
|
echo -e "\nRemember to remove USB installer!"
|
||||||
read -n 1 -s -r -p "Remove the USB installer then press any key to reboot..."
|
|
||||||
echo
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep 2
|
sleep 5
|
||||||
reboot
|
reboot
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ -z "$OMARCHY_BARE" ]; then
|
if [ -z "$OMARCHY_BARE" ]; then
|
||||||
omarchy-tui-install "Disk Usage" "bash -c 'dust; read -n 1 -s'" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/qdirstat.png
|
omarchy-tui-install "Disk Usage" "bash -c 'dust -r; read -n 1 -s'" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/qdirstat.png
|
||||||
omarchy-tui-install "Docker" "lazydocker" tile https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/docker.png
|
omarchy-tui-install "Docker" "lazydocker" tile https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/docker.png
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -13,4 +13,5 @@ if [ -z "$OMARCHY_BARE" ]; then
|
|||||||
omarchy-webapp-install "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png
|
omarchy-webapp-install "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x-light.png
|
||||||
omarchy-webapp-install "Figma" https://figma.com/ https://www.veryicon.com/download/png/application/app-icon-7/figma-1?s=256
|
omarchy-webapp-install "Figma" https://figma.com/ https://www.veryicon.com/download/png/application/app-icon-7/figma-1?s=256
|
||||||
omarchy-webapp-install "Discord" https://discord.com/channels/@me https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/discord.png
|
omarchy-webapp-install "Discord" https://discord.com/channels/@me https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/discord.png
|
||||||
|
omarchy-webapp-install "Zoom" https://app.zoom.us/wc/home https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/zoom.png
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ if [ -z "$OMARCHY_BARE" ]; then
|
|||||||
xournalpp localsend-bin
|
xournalpp localsend-bin
|
||||||
|
|
||||||
# Packages known to be flaky or having key signing issues are run one-by-one
|
# Packages known to be flaky or having key signing issues are run one-by-one
|
||||||
# FIXME: Add pinta back to this list when we have dealt with certificate issue
|
for pkg in typora spotify pinta; do
|
||||||
for pkg in typora spotify zoom; do
|
|
||||||
yay -S --noconfirm --needed "$pkg" ||
|
yay -S --noconfirm --needed "$pkg" ||
|
||||||
echo -e "\e[31mFailed to install $pkg. Continuing without!\e[0m"
|
echo -e "\e[31mFailed to install $pkg. Continuing without!\e[0m"
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Copy over Omarchy configs
|
# Copy over Omarchy configs
|
||||||
|
mkdir -p ~/.config
|
||||||
cp -R ~/.local/share/omarchy/config/* ~/.config/
|
cp -R ~/.local/share/omarchy/config/* ~/.config/
|
||||||
|
|
||||||
# Use default bashrc from Omarchy
|
# Use default bashrc from Omarchy
|
||||||
@@ -14,43 +15,3 @@ if [ -n "$OMARCHY_BARE" ]; then
|
|||||||
mkdir -p ~/.local/state/omarchy
|
mkdir -p ~/.local/state/omarchy
|
||||||
touch ~/.local/state/omarchy/bare.mode
|
touch ~/.local/state/omarchy/bare.mode
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Setup GPG configuration with multiple keyservers for better reliability
|
|
||||||
sudo mkdir -p /etc/gnupg
|
|
||||||
sudo cp ~/.local/share/omarchy/default/gpg/dirmngr.conf /etc/gnupg/
|
|
||||||
sudo chmod 644 /etc/gnupg/dirmngr.conf
|
|
||||||
sudo gpgconf --kill dirmngr || true
|
|
||||||
sudo gpgconf --launch dirmngr || true
|
|
||||||
|
|
||||||
# Increase lockout limit to 10 and decrease timeout to 2 minutes
|
|
||||||
sudo sed -i 's|^\(auth\s\+required\s\+pam_faillock.so\)\s\+preauth.*$|\1 preauth silent deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
|
||||||
sudo sed -i 's|^\(auth\s\+\[default=die\]\s\+pam_faillock.so\)\s\+authfail.*$|\1 authfail deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
|
||||||
|
|
||||||
# Solve common flakiness with SSH
|
|
||||||
echo "net.ipv4.tcp_mtu_probing=1" | sudo tee -a /etc/sysctl.d/99-sysctl.conf
|
|
||||||
|
|
||||||
# Set common git aliases
|
|
||||||
git config --global alias.co checkout
|
|
||||||
git config --global alias.br branch
|
|
||||||
git config --global alias.ci commit
|
|
||||||
git config --global alias.st status
|
|
||||||
git config --global pull.rebase true
|
|
||||||
git config --global init.defaultBranch master
|
|
||||||
|
|
||||||
# Set identification from install inputs
|
|
||||||
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then
|
|
||||||
git config --global user.name "$OMARCHY_USER_NAME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n "${OMARCHY_USER_EMAIL//[[:space:]]/}" ]]; then
|
|
||||||
git config --global user.email "$OMARCHY_USER_EMAIL"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set default XCompose that is triggered with CapsLock
|
|
||||||
tee ~/.XCompose >/dev/null <<EOF
|
|
||||||
include "%H/.local/share/omarchy/default/xcompose"
|
|
||||||
|
|
||||||
# Identification
|
|
||||||
<Multi_key> <space> <n> : "$OMARCHY_USER_NAME"
|
|
||||||
<Multi_key> <space> <e> : "$OMARCHY_USER_EMAIL"
|
|
||||||
EOF
|
|
||||||
|
|||||||
@@ -2,7 +2,4 @@
|
|||||||
|
|
||||||
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/login.sh to do the rebuild
|
|
||||||
# sudo mkinitcpio -P
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
18
install/config/git.sh
Normal file
18
install/config/git.sh
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set common git aliases
|
||||||
|
git config --global alias.co checkout
|
||||||
|
git config --global alias.br branch
|
||||||
|
git config --global alias.ci commit
|
||||||
|
git config --global alias.st status
|
||||||
|
git config --global pull.rebase true
|
||||||
|
git config --global init.defaultBranch master
|
||||||
|
|
||||||
|
# Set identification from install inputs
|
||||||
|
if [[ -n "${OMARCHY_USER_NAME//[[:space:]]/}" ]]; then
|
||||||
|
git config --global user.name "$OMARCHY_USER_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${OMARCHY_USER_EMAIL//[[:space:]]/}" ]]; then
|
||||||
|
git config --global user.email "$OMARCHY_USER_EMAIL"
|
||||||
|
fi
|
||||||
8
install/config/gpg.sh
Normal file
8
install/config/gpg.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Setup GPG configuration with multiple keyservers for better reliability
|
||||||
|
sudo mkdir -p /etc/gnupg
|
||||||
|
sudo cp ~/.local/share/omarchy/default/gpg/dirmngr.conf /etc/gnupg/
|
||||||
|
sudo chmod 644 /etc/gnupg/dirmngr.conf
|
||||||
|
sudo gpgconf --kill dirmngr || true
|
||||||
|
sudo gpgconf --launch dirmngr || true
|
||||||
5
install/config/increase-lockout-limit.sh
Normal file
5
install/config/increase-lockout-limit.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Increase lockout limit to 10 and decrease timeout to 2 minutes
|
||||||
|
sudo sed -i 's|^\(auth\s\+required\s\+pam_faillock.so\)\s\+preauth.*$|\1 preauth silent deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
||||||
|
sudo sed -i 's|^\(auth\s\+\[default=die\]\s\+pam_faillock.so\)\s\+authfail.*$|\1 authfail deny=10 unlock_time=120|' "/etc/pam.d/system-auth"
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
echo "Defaults passwd_tries=10" | sudo tee /etc/sudoers.d/passwd-tries
|
echo "Defaults passwd_tries=10" | sudo tee /etc/sudoers.d/passwd-tries
|
||||||
sudo chmod 440 /etc/sudoers.d/passwd-tries
|
sudo chmod 440 /etc/sudoers.d/passwd-tries
|
||||||
|
|||||||
@@ -4,17 +4,16 @@
|
|||||||
# even if they're not running off a battery. So let's make sure that's changed to performance.
|
# even if they're not running off a battery. So let's make sure that's changed to performance.
|
||||||
yay -S --noconfirm python-gobject power-profiles-daemon
|
yay -S --noconfirm python-gobject power-profiles-daemon
|
||||||
|
|
||||||
|
# FIXME: Can't set powerprofilesctl during CHROOT, must do it afterwards
|
||||||
|
if [ -z "${OMARCHY_CHROOT_INSTALL:-}" ]; then
|
||||||
if ls /sys/class/power_supply/BAT* &>/dev/null; then
|
if ls /sys/class/power_supply/BAT* &>/dev/null; then
|
||||||
# This computer runs on a battery
|
# This computer runs on a battery
|
||||||
powerprofilesctl set balanced || true
|
powerprofilesctl set balanced || true
|
||||||
|
|
||||||
# Enable battery monitoring timer for low battery notifications
|
# Enable battery monitoring timer for low battery notifications
|
||||||
if [ -n "${OMARCHY_CHROOT_INSTALL:-}" ]; then
|
|
||||||
systemctl --user enable omarchy-battery-monitor.timer
|
|
||||||
else
|
|
||||||
systemctl --user enable --now omarchy-battery-monitor.timer
|
systemctl --user enable --now omarchy-battery-monitor.timer
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
# This computer runs on power outlet
|
# This computer runs on power outlet
|
||||||
powerprofilesctl set performance || true
|
powerprofilesctl set performance || true
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|||||||
4
install/config/ssh-flakiness.sh
Normal file
4
install/config/ssh-flakiness.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Solve common flakiness with SSH
|
||||||
|
echo "net.ipv4.tcp_mtu_probing=1" | sudo tee -a /etc/sysctl.d/99-sysctl.conf
|
||||||
10
install/config/xcompose.sh
Normal file
10
install/config/xcompose.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set default XCompose that is triggered with CapsLock
|
||||||
|
tee ~/.XCompose >/dev/null <<EOF
|
||||||
|
include "%H/.local/share/omarchy/default/xcompose"
|
||||||
|
|
||||||
|
# Identification
|
||||||
|
<Multi_key> <space> <n> : "$OMARCHY_USER_NAME"
|
||||||
|
<Multi_key> <space> <e> : "$OMARCHY_USER_EMAIL"
|
||||||
|
EOF
|
||||||
@@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
yay -S --noconfirm --needed ttf-font-awesome ttf-cascadia-mono-nerd ttf-ia-writer noto-fonts noto-fonts-emoji
|
yay -S --noconfirm --needed ttf-font-awesome ttf-cascadia-mono-nerd ttf-ia-writer noto-fonts noto-fonts-emoji
|
||||||
|
|
||||||
|
mkdir -p ~/.local/share/fonts
|
||||||
|
cp ~/.local/share/omarchy/config/omarchy.ttf ~/.local/share/fonts/
|
||||||
|
fc-cache
|
||||||
|
|
||||||
if [ -z "$OMARCHY_BARE" ]; then
|
if [ -z "$OMARCHY_BARE" ]; then
|
||||||
yay -S --noconfirm --needed ttf-jetbrains-mono noto-fonts-cjk noto-fonts-extra
|
yay -S --noconfirm --needed ttf-jetbrains-mono noto-fonts-cjk noto-fonts-extra
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,26 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if ! command -v ufw &>/dev/null && -z "${OMARCHY_CHROOT_INSTALL:-}"; then
|
if -z "${OMARCHY_CHROOT_INSTALL:-}"; then
|
||||||
yay -S --noconfirm --needed ufw ufw-docker
|
omarchy-install-firewall
|
||||||
|
|
||||||
# Allow nothing in, everything out
|
|
||||||
sudo ufw default deny incoming
|
|
||||||
sudo ufw default allow outgoing
|
|
||||||
|
|
||||||
# Allow ports for LocalSend
|
|
||||||
sudo ufw allow 53317/udp
|
|
||||||
sudo ufw allow 53317/tcp
|
|
||||||
|
|
||||||
# Allow SSH in
|
|
||||||
sudo ufw allow 22/tcp
|
|
||||||
|
|
||||||
# Allow Docker containers to use DNS on host
|
|
||||||
sudo ufw allow in proto udp from 172.16.0.0/12 to 172.17.0.1 port 53 comment 'allow-docker-dns'
|
|
||||||
|
|
||||||
# Turn on the firewall
|
|
||||||
sudo ufw --force enable
|
|
||||||
|
|
||||||
# Turn on Docker protections
|
|
||||||
sudo ufw-docker install
|
|
||||||
sudo ufw reload
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
yay -S --noconfirm --needed \
|
yay -S --noconfirm --needed \
|
||||||
unzip inetutils impala \
|
unzip inetutils impala \
|
||||||
fd eza fzf ripgrep zoxide bat dust jq xmlstarlet \
|
fd eza fzf ripgrep zoxide bat dust jq xmlstarlet \
|
||||||
wl-clipboard btop \
|
wl-clipboard fastfetch btop \
|
||||||
man tldr less whois plocate \
|
man tldr less whois plocate \
|
||||||
starship bash-completion \
|
starship bash-completion \
|
||||||
|
gum python-poetry-core python-terminaltexteffects \
|
||||||
alacritty
|
alacritty
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo -e "\n--- Pacman packages (after installation) ---"
|
|
||||||
echo "Total packages installed: $(pacman -Q | wc -l)"
|
|
||||||
pacman -Q
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Start logging a copy of everything sent to STDOUT and STDERR
|
|
||||||
mkdir -p ~/.local/state/omarchy/logs/
|
|
||||||
exec &> >(tee -a ~/.local/state/omarchy/logs/installation.log)
|
|
||||||
|
|
||||||
echo "--- System state before installation ---"
|
|
||||||
sudo pacman -S --noconfirm fastfetch
|
|
||||||
fastfetch
|
|
||||||
|
|
||||||
echo -e "\n--- System logs (journalctl / current boot) ---"
|
|
||||||
journalctl -b --no-pager
|
|
||||||
|
|
||||||
echo -e "\n--- Pacman packages (before installation) ---"
|
|
||||||
echo "Total packages installed: $(pacman -Q | wc -l)"
|
|
||||||
pacman -Q
|
|
||||||
@@ -1,17 +1,22 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if command -v limine &>/dev/null && [ ! -f /etc/default/limine ]; then
|
if command -v limine &>/dev/null; then
|
||||||
yay -S --noconfirm --needed limine-mkinitcpio-hook limine-snapper-sync
|
|
||||||
|
|
||||||
sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf <<EOF >/dev/null
|
sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf <<EOF >/dev/null
|
||||||
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
|
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
CMDLINE=$(grep "^[[:space:]]*cmdline:" /boot/EFI/limine/limine.conf | head -1 | sed 's/^[[:space:]]*cmdline:[[:space:]]*//')
|
[[ -f /boot/EFI/limine/limine.conf ]] && EFI=true
|
||||||
|
|
||||||
|
# Conf location is different between EFI and BIOS
|
||||||
|
[[ -n "$EFI" ]] && limine_config="/boot/EFI/limine/limine.conf" || limine_config="/boot/limine/limine.conf"
|
||||||
|
|
||||||
|
CMDLINE=$(grep "^[[:space:]]*cmdline:" "$limine_config" | head -1 | sed 's/^[[:space:]]*cmdline:[[:space:]]*//')
|
||||||
|
|
||||||
sudo tee /etc/default/limine <<EOF >/dev/null
|
sudo tee /etc/default/limine <<EOF >/dev/null
|
||||||
TARGET_OS_NAME="Omarchy"
|
TARGET_OS_NAME="Omarchy"
|
||||||
|
|
||||||
|
ESP_PATH="/boot"
|
||||||
|
|
||||||
KERNEL_CMDLINE[default]="$CMDLINE"
|
KERNEL_CMDLINE[default]="$CMDLINE"
|
||||||
KERNEL_CMDLINE[default]+="quiet splash"
|
KERNEL_CMDLINE[default]+="quiet splash"
|
||||||
|
|
||||||
@@ -29,6 +34,11 @@ MAX_SNAPSHOT_ENTRIES=5
|
|||||||
SNAPSHOT_FORMAT_CHOICE=5
|
SNAPSHOT_FORMAT_CHOICE=5
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# UKI and EFI fallback are EFI only
|
||||||
|
if [[ -z $EFI ]]; then
|
||||||
|
sudo sed -i '/^ENABLE_UKI=/d; /^ENABLE_LIMINE_FALLBACK=/d' /etc/default/limine
|
||||||
|
fi
|
||||||
|
|
||||||
# We overwrite the whole thing knowing the limine-update will add the entries for us
|
# We overwrite the whole thing knowing the limine-update will add the entries for us
|
||||||
sudo tee /boot/limine.conf <<EOF >/dev/null
|
sudo tee /boot/limine.conf <<EOF >/dev/null
|
||||||
### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md
|
### Read more at config document: https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md
|
||||||
@@ -52,6 +62,9 @@ term_background_bright: 24283b
|
|||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
yay -S --noconfirm --needed limine-mkinitcpio-hook limine-snapper-sync
|
||||||
|
sudo limine-update
|
||||||
|
|
||||||
# Match Snapper configs if not installing from the ISO
|
# Match Snapper configs if not installing from the ISO
|
||||||
if [ -z "${OMARCHY_CHROOT_INSTALL:-}" ]; then
|
if [ -z "${OMARCHY_CHROOT_INSTALL:-}" ]; then
|
||||||
if ! sudo snapper list-configs 2>/dev/null | grep -q "root"; then
|
if ! sudo snapper list-configs 2>/dev/null | grep -q "root"; then
|
||||||
@@ -68,16 +81,15 @@ EOF
|
|||||||
sudo sed -i 's/^NUMBER_LIMIT="50"/NUMBER_LIMIT="5"/' /etc/snapper/configs/{root,home}
|
sudo sed -i 's/^NUMBER_LIMIT="50"/NUMBER_LIMIT="5"/' /etc/snapper/configs/{root,home}
|
||||||
sudo sed -i 's/^NUMBER_LIMIT_IMPORTANT="10"/NUMBER_LIMIT_IMPORTANT="5"/' /etc/snapper/configs/{root,home}
|
sudo sed -i 's/^NUMBER_LIMIT_IMPORTANT="10"/NUMBER_LIMIT_IMPORTANT="5"/' /etc/snapper/configs/{root,home}
|
||||||
|
|
||||||
sudo limine-update
|
|
||||||
chrootable_systemctl_enable limine-snapper-sync.service
|
chrootable_systemctl_enable limine-snapper-sync.service
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add UKI entry to UEFI machines to skip bootloader showing on normal boot
|
# Add UKI entry to UEFI machines to skip bootloader showing on normal boot
|
||||||
# Only doing this for ISO installs
|
# FIXME: Make this work on real hardware
|
||||||
if [ -n "${OMARCHY_CHROOT_INSTALL:-}" ] && efibootmgr &>/dev/null && ! efibootmgr | grep -q Omarchy; then
|
# if [ -n "$EFI" ] && efibootmgr &>/dev/null && ! efibootmgr | grep -q Omarchy; then
|
||||||
sudo efibootmgr --create \
|
# sudo efibootmgr --create \
|
||||||
--disk "$(findmnt -n -o SOURCE /boot | sed 's/[0-9]*$//')" \
|
# --disk "$(findmnt -n -o SOURCE /boot | sed 's/[0-9]*$//')" \
|
||||||
--part "$(findmnt -n -o SOURCE /boot | grep -o '[0-9]*$')" \
|
# --part "$(findmnt -n -o SOURCE /boot | grep -o '[0-9]*$')" \
|
||||||
--label "Omarchy" \
|
# --label "Omarchy" \
|
||||||
--loader "\\EFI\\Linux\\$(cat /etc/machine-id)_linux.efi"
|
# --loader "\\EFI\\Linux\\$(cat /etc/machine-id)_linux.efi"
|
||||||
fi
|
# fi
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
# Chroot installations have some differences
|
# Starting the installer with OMARCHY_CHROOT_INSTALL=1 will put it into chroot mode
|
||||||
if ! cmp -s /proc/1/root/ / 2>/dev/null; then
|
|
||||||
export OMARCHY_CHROOT_INSTALL=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrootable_systemctl_enable() {
|
chrootable_systemctl_enable() {
|
||||||
if [ -n "${OMARCHY_CHROOT_INSTALL:-}" ]; then
|
if [ -n "${OMARCHY_CHROOT_INSTALL:-}" ]; then
|
||||||
sudo systemctl enable $1
|
sudo systemctl enable $1
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
sudo pacman -S --noconfirm --needed gum
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
# Set mirror to single geo setup
|
# Set mirror to single geo setup
|
||||||
echo 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' |
|
echo 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' |
|
||||||
sudo tee /etc/pacman.d/mirrorlist >/dev/null
|
sudo tee /etc/pacman.d/mirrorlist >/dev/null
|
||||||
|
|||||||
4
install/preflight/show-env.sh
Normal file
4
install/preflight/show-env.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Installation ENV:"
|
||||||
|
env | grep -E "^(OMARCHY_CHROOT_INSTALL|OMARCHY_USER_NAME|OMARCHY_USER_EMAIL|USER|HOME|OMARCHY_REPO|OMARCHY_REF|OMARCHY_BARE)="
|
||||||
34
install/preflight/trap-errors.sh
Normal file
34
install/preflight/trap-errors.sh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Give people a chance to retry running the installation
|
||||||
|
catch_errors() {
|
||||||
|
echo -e "\n\e[31mOmarchy installation failed!\e[0m"
|
||||||
|
echo
|
||||||
|
echo "This command halted with exit code $?:"
|
||||||
|
echo "$BASH_COMMAND"
|
||||||
|
echo
|
||||||
|
echo "Get help from the community via QR code or at https://discord.gg/tXFUdasqhY"
|
||||||
|
echo " "
|
||||||
|
echo " █▀▀▀▀▀█ ▄ ▄ ▀▄▄▄█ █▀▀▀▀▀█ "
|
||||||
|
echo " █ ███ █ ▄▄▄▄▀▄▀▄▀ █ ███ █ "
|
||||||
|
echo " █ ▀▀▀ █ ▄█ ▄█▄▄▀ █ ▀▀▀ █ "
|
||||||
|
echo " ▀▀▀▀▀▀▀ ▀▄█ █ █ █ ▀▀▀▀▀▀▀ "
|
||||||
|
echo " ▀▀█▀▀▄▀▀▀▀▄█▀▀█ ▀ █ ▀ █ "
|
||||||
|
echo " █▄█ ▄▄▀▄▄ ▀ ▄ ▀█▄▄▄▄ ▀ ▀█ "
|
||||||
|
echo " ▄ ▄▀█ ▀▄▀▀▀▄ ▄█▀▄█▀▄▀▄▀█▀ "
|
||||||
|
echo " █ ▄▄█▄▀▄█ ▄▄▄ ▀ ▄▀██▀ ▀█ "
|
||||||
|
echo " ▀ ▀ ▀ █ ▀▄ ▀▀█▀▀▀█▄▀ "
|
||||||
|
echo " █▀▀▀▀▀█ ▀█ ▄▀▀ █ ▀ █▄▀██ "
|
||||||
|
echo " █ ███ █ █▀▄▄▀ █▀███▀█▄██▄ "
|
||||||
|
echo " █ ▀▀▀ █ ██ ▀ █▄█ ▄▄▄█▀ █ "
|
||||||
|
echo " ▀▀▀▀▀▀▀ ▀ ▀ ▀▀▀ ▀ ▀▀▀▀▀▀ "
|
||||||
|
echo " "
|
||||||
|
|
||||||
|
if [[ -n $OMARCHY_BARE ]]; then
|
||||||
|
echo "You can retry by running: OMARCHY_BARE=true bash ~/.local/share/omarchy/install.sh"
|
||||||
|
else
|
||||||
|
echo "You can retry by running: bash ~/.local/share/omarchy/install.sh"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
trap catch_errors ERR
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
yay -S --noconfirm --needed python-poetry-core python-terminaltexteffects
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
if [[ ! -f ~/.local/state/omarchy/bare.mode ]]; then
|
|
||||||
echo "Add missing installation of Zoom"
|
|
||||||
|
|
||||||
if ! command -v zoom &>/dev/null; then
|
|
||||||
yay -S --noconfirm --needed zoom
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
echo "Add status indicators for screen recordings, nightlight, dnd, and idle lock to Waybar"
|
echo "Add status indicators for nightlight, dnd, and idle lock to Waybar"
|
||||||
echo
|
echo
|
||||||
gum confirm "Replace current Waybar config (backup will be made)?" && omarchy-refresh-waybar
|
gum confirm "Replace current Waybar config (backup will be made)?" && omarchy-refresh-waybar
|
||||||
|
|||||||
9
migrations/1755981930.sh
Normal file
9
migrations/1755981930.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
echo "Add Omarchy icon to the Waybar"
|
||||||
|
|
||||||
|
mkdir -p ~/.local/share/fonts
|
||||||
|
cp ~/.local/share/omarchy/config/omarchy.ttf ~/.local/share/fonts/
|
||||||
|
fc-cache
|
||||||
|
|
||||||
|
echo
|
||||||
|
gum confirm "Replace current Waybar config (backup will be made)?" && omarchy-refresh-waybar
|
||||||
|
|
||||||
BIN
themes/catppuccin/backgrounds/2-cat-waves-mocha.png
Normal file
BIN
themes/catppuccin/backgrounds/2-cat-waves-mocha.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
BIN
themes/catppuccin/backgrounds/3-cat-blue-eye-mocha.png
Normal file
BIN
themes/catppuccin/backgrounds/3-cat-blue-eye-mocha.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 254 KiB |
Reference in New Issue
Block a user