mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-06 12:39:35 +02:00
Merge branch 'dev' into rc
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
encrypted_drives=$(blkid -t TYPE=crypto_LUKS -o device)
|
||||
|
||||
if [[ -n $encrypted_drives ]]; then
|
||||
if (( $(wc -l <<<encrypted_drives) == 1 )); then
|
||||
if (( $(wc -l <<<"$encrypted_drives") == 1 )); then
|
||||
drive_to_change="$encrypted_drives"
|
||||
else
|
||||
drive_to_change="$(omarchy-drive-select "$encrypted_drives")"
|
||||
|
||||
@@ -41,3 +41,5 @@ for APP_NAME in "${APP_NAMES[@]}"; do
|
||||
rm -f "$ICON_DIR/$APP_NAME.png"
|
||||
echo "Removed $APP_NAME"
|
||||
done
|
||||
|
||||
omarchy-restart-walker
|
||||
|
||||
@@ -33,4 +33,6 @@ if command -v update-desktop-database &>/dev/null; then
|
||||
update-desktop-database "$APP_DIR" &>/dev/null || true
|
||||
fi
|
||||
|
||||
omarchy-restart-walker
|
||||
|
||||
echo "Web apps removed successfully."
|
||||
|
||||
@@ -10,7 +10,7 @@ bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify
|
||||
bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor
|
||||
bindd = SUPER SHIFT, D, Docker, exec, omarchy-launch-tui lazydocker
|
||||
bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop"
|
||||
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
||||
bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian"
|
||||
bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
|
||||
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Obsidian reads this file through the Arch package wrapper.
|
||||
-disable-gpu
|
||||
--enable-wayland-ime
|
||||
@@ -8,7 +8,7 @@ bindd = SUPER, N, Neovim, exec, $terminal -e nvim
|
||||
bindd = SUPER, T, Top, exec, $terminal -e btop
|
||||
bindd = SUPER, D, Lazy Docker, exec, $terminal -e lazydocker
|
||||
bindd = SUPER, G, Messenger, exec, $messenger
|
||||
bindd = SUPER, O, Obsidian, exec, obsidian -disable-gpu
|
||||
bindd = SUPER, O, Obsidian, exec, obsidian
|
||||
bindd = SUPER, SLASH, Password manager, exec, $passwordManager
|
||||
|
||||
source = ~/.local/share/omarchy/default/hypr/bindings/media.conf
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#timeout: 3
|
||||
default_entry: 2
|
||||
interface_branding: Omarchy Bootloader
|
||||
interface_branding_color: 2
|
||||
interface_branding_color: 9ece6a
|
||||
hash_mismatch_panic: no
|
||||
|
||||
term_background: 1a1b26
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# - BCM4360 (2013–2015 MacBooks)
|
||||
# - BCM4331 (2012, early 2013 MacBooks)
|
||||
|
||||
pci_info=$(lspci -nnv)
|
||||
pci_info=$(lspci -nn)
|
||||
|
||||
if (echo "$pci_info" | grep -q "14e4:43a0" || echo "$pci_info" | grep -q "14e4:4331"); then
|
||||
echo "BCM4360 / BCM4331 detected"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Install Panther Lake kernel for Intel Panther Lake systems
|
||||
# Install Panther Lake kernel for Dell XPS Panther Lake systems
|
||||
# The linux-ptl kernel includes audio driver patches not yet in mainline.
|
||||
|
||||
if omarchy-hw-intel-ptl; then
|
||||
echo "Detected Intel Panther Lake, installing PTL kernel..."
|
||||
if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl; then
|
||||
echo "Detected Dell XPS Panther Lake, installing PTL kernel..."
|
||||
|
||||
omarchy-pkg-add linux-ptl linux-ptl-headers
|
||||
for pkg in linux linux-headers; do
|
||||
@@ -10,8 +10,8 @@ if omarchy-hw-intel-ptl; then
|
||||
done
|
||||
|
||||
sudo mkdir -p /etc/limine-entry-tool.d
|
||||
cat <<EOF | sudo tee /etc/limine-entry-tool.d/intel-panther-lake.conf >/dev/null
|
||||
# Only show Panther Lake kernel in boot menu
|
||||
cat <<EOF | sudo tee /etc/limine-entry-tool.d/dell-xps-panther-lake.conf >/dev/null
|
||||
# Only show Panther Lake kernel in boot menu on Dell XPS Panther Lake
|
||||
BOOT_ORDER="linux-ptl*, *fallback, Snapshots"
|
||||
EOF
|
||||
fi
|
||||
|
||||
@@ -5,6 +5,14 @@ sudo ln -snf /usr/share/icons/Adwaita/symbolic/actions/go-next-symbolic.svg /usr
|
||||
# Setup user theme folder
|
||||
mkdir -p ~/.config/omarchy/themes
|
||||
|
||||
# Add managed policy directories for Chromium and Brave for theme changes.
|
||||
# Must exist before the first omarchy-theme-set, which writes color.json into them.
|
||||
sudo mkdir -p /etc/chromium/policies/managed
|
||||
sudo chmod a+rw /etc/chromium/policies/managed
|
||||
|
||||
sudo mkdir -p /etc/brave/policies/managed
|
||||
sudo chmod a+rw /etc/brave/policies/managed
|
||||
|
||||
# Set initial theme
|
||||
omarchy-theme-set "Tokyo Night"
|
||||
rm -rf ~/.config/chromium/SingletonLock # otherwise archiso will own the chromium singleton
|
||||
@@ -16,12 +24,5 @@ ln -snf ~/.config/omarchy/current/theme/btop.theme ~/.config/btop/themes/current
|
||||
mkdir -p ~/.config/mako
|
||||
ln -snf ~/.config/omarchy/current/theme/mako.ini ~/.config/mako/config
|
||||
|
||||
# Add managed policy directories for Chromium and Brave for theme changes
|
||||
sudo mkdir -p /etc/chromium/policies/managed
|
||||
sudo chmod a+rw /etc/chromium/policies/managed
|
||||
|
||||
sudo mkdir -p /etc/brave/policies/managed
|
||||
sudo chmod a+rw /etc/brave/policies/managed
|
||||
|
||||
# Default Chromium to follow system appearance ("device") instead of dark
|
||||
echo '{"browser":{"theme":{"color_scheme":0,"color_scheme2":0}}}' | sudo tee /usr/lib/chromium/initial_preferences >/dev/null
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
if command -v limine &>/dev/null; then
|
||||
sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook
|
||||
|
||||
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)
|
||||
EOF
|
||||
@@ -29,6 +27,10 @@ EOF
|
||||
|
||||
CMDLINE=$(grep "^[[:space:]]*cmdline:" "$limine_config" | head -1 | sed 's/^[[:space:]]*cmdline:[[:space:]]*//')
|
||||
|
||||
# Write /etc/default/limine *before* installing limine-mkinitcpio-hook, whose
|
||||
# post-transaction deploy hook runs limine-install and reads this file. Without
|
||||
# it, ESP_PATH falls back to bootctl, which in a chroot prints a warning that
|
||||
# gets captured as the path and trips a spurious "invalid ESP" error.
|
||||
sudo cp $OMARCHY_PATH/default/limine/default.conf /etc/default/limine
|
||||
sudo sed -i "s|@@CMDLINE@@|$CMDLINE|g" /etc/default/limine
|
||||
|
||||
@@ -42,7 +44,8 @@ EOF
|
||||
sudo sed -i '/^ENABLE_UKI=/d; /^ENABLE_LIMINE_FALLBACK=/d' /etc/default/limine
|
||||
fi
|
||||
|
||||
# Remove the original config file if it's not /boot/limine.conf
|
||||
# Remove the original config file if it's not /boot/limine.conf, so the deploy
|
||||
# hook doesn't see conflicting configs on the same ESP.
|
||||
if [[ $limine_config != "/boot/limine.conf" ]] && [[ -f $limine_config ]]; then
|
||||
sudo rm "$limine_config"
|
||||
fi
|
||||
@@ -50,6 +53,8 @@ EOF
|
||||
# We overwrite the whole thing knowing the limine-update will add the entries for us
|
||||
sudo cp $OMARCHY_PATH/default/limine/limine.conf /boot/limine.conf
|
||||
|
||||
sudo pacman -S --noconfirm --needed limine-snapper-sync limine-mkinitcpio-hook
|
||||
|
||||
# Only snapshot root — /home is user data; rolling it back loses user work
|
||||
if ! sudo snapper list-configs 2>/dev/null | grep -q "root"; then
|
||||
sudo snapper -c root create-config /
|
||||
|
||||
@@ -12,11 +12,8 @@ egl-wayland
|
||||
git
|
||||
gst-plugin-pipewire
|
||||
gtk4-layer-shell
|
||||
htop
|
||||
intltool
|
||||
jdk-openjdk
|
||||
libpulse
|
||||
libsass
|
||||
intel-ipu7-camera
|
||||
intel-lpmd
|
||||
intel-media-driver
|
||||
@@ -43,11 +40,9 @@ pipewire-alsa
|
||||
pipewire-jack
|
||||
pipewire-pulse
|
||||
qt6-wayland
|
||||
sassc
|
||||
snapper
|
||||
thermald
|
||||
webp-pixbuf-loader
|
||||
wget
|
||||
yay-debug
|
||||
tuxedo-drivers-nocompatcheck-dkms
|
||||
yt6801-dkms
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
echo "Move Obsidian flags from Hyprland binding to Obsidian user flags"
|
||||
|
||||
OBSIDIAN_FLAGS_FILE="$HOME/.config/obsidian/user-flags.conf"
|
||||
OBSIDIAN_DEFAULT_FLAGS_FILE="$OMARCHY_PATH/config/obsidian/user-flags.conf"
|
||||
|
||||
mkdir -p "$(dirname "$OBSIDIAN_FLAGS_FILE")"
|
||||
|
||||
if [[ ! -f $OBSIDIAN_FLAGS_FILE ]]; then
|
||||
cp "$OBSIDIAN_DEFAULT_FLAGS_FILE" "$OBSIDIAN_FLAGS_FILE"
|
||||
else
|
||||
missing_flags=$(grep -vE '^(#|$)' "$OBSIDIAN_DEFAULT_FLAGS_FILE" | grep -vxFf "$OBSIDIAN_FLAGS_FILE" || true)
|
||||
|
||||
if [[ -n $missing_flags ]]; then
|
||||
{
|
||||
echo
|
||||
echo "# Added by Omarchy migration 1776434586: Obsidian launch flags moved from Hyprland binding."
|
||||
printf "%s\n" "$missing_flags"
|
||||
} >>"$OBSIDIAN_FLAGS_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -f ~/.config/hypr/bindings.conf ]]; then
|
||||
sed -i '/Obsidian, exec/ {
|
||||
s/ -disable-gpu//g
|
||||
s/ --disable-gpu//g
|
||||
s/ --enable-wayland-ime//g
|
||||
s/"uwsm app -- obsidian/"uwsm-app -- obsidian/g
|
||||
}' ~/.config/hypr/bindings.conf
|
||||
fi
|
||||
@@ -0,0 +1,36 @@
|
||||
echo "Replace deprecated sainnhe.everforest VSCode extension with reesew.everforest-theme"
|
||||
|
||||
# Background:
|
||||
# The original "sainnhe.everforest" extension is no longer maintained — its
|
||||
# upstream repo (https://github.com/sainnhe/everforest-vscode) was archived
|
||||
# by the author, so it receives no updates or fixes.
|
||||
# "reesew.everforest-theme" is a maintained fork of that same extension,
|
||||
# published from https://github.com/reese/everforest-vscode, and is the
|
||||
# replacement we now ship in themes/everforest/vscode.json.
|
||||
|
||||
|
||||
# For each VS Code variant, uninstall the old extension and re-apply theme if the
|
||||
# current Omarchy theme is everforest (which will install the new extension automatically).
|
||||
|
||||
uninstall_old_extension() {
|
||||
local editor_cmd="$1"
|
||||
|
||||
omarchy-cmd-present "$editor_cmd" || return 0
|
||||
|
||||
if "$editor_cmd" --list-extensions | grep -Fxq "sainnhe.everforest"; then
|
||||
"$editor_cmd" --uninstall-extension sainnhe.everforest >/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall_old_extension "code"
|
||||
uninstall_old_extension "code-insiders"
|
||||
uninstall_old_extension "codium"
|
||||
uninstall_old_extension "cursor"
|
||||
|
||||
# If the user is currently on the everforest theme, refresh it so the updated
|
||||
# vscode.json (with reesew.everforest-theme) is copied into ~/.config/omarchy/current/theme,
|
||||
# then omarchy-theme-set-vscode (called by the refresh) installs the new extension.
|
||||
THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name"
|
||||
if [[ -f $THEME_NAME_PATH ]] && [[ "$(cat "$THEME_NAME_PATH")" == "everforest" ]]; then
|
||||
omarchy-theme-refresh
|
||||
fi
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Update interface_branding_color for limine 12 (palette index -> RRGGBB)"
|
||||
|
||||
if [[ -f /boot/limine.conf ]]; then
|
||||
sudo sed -i 's/^interface_branding_color: 2$/interface_branding_color: 9ece6a/' /boot/limine.conf
|
||||
fi
|
||||
@@ -0,0 +1,16 @@
|
||||
echo "Restore stock kernel on non-XPS Panther Lake systems"
|
||||
|
||||
if omarchy-hw-intel-ptl && ! omarchy-hw-match "XPS"; then
|
||||
omarchy-pkg-add linux linux-headers
|
||||
|
||||
for pkg in linux-ptl linux-ptl-headers; do
|
||||
sudo pacman -Rdd --noconfirm "$pkg" 2>/dev/null || true
|
||||
done
|
||||
|
||||
sudo rm -f /etc/limine-entry-tool.d/intel-panther-lake.conf
|
||||
sudo rm -f /etc/limine-entry-tool.d/dell-xps-panther-lake.conf
|
||||
|
||||
if omarchy-cmd-present limine-update; then
|
||||
sudo limine-update
|
||||
fi
|
||||
fi
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"name": "Everforest Dark",
|
||||
"extension": "sainnhe.everforest"
|
||||
"extension": "reesew.everforest-theme"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user