mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-01 20:28:16 +02:00
Merge branch 'dev' into rc
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Add an EFI boot entry for the Omarchy UKI, allowing the system to boot directly
|
||||
# without a bootloader like Limine. Requires UEFI firmware and a built UKI.
|
||||
|
||||
if [[ ! -d /sys/firmware/efi ]]; then
|
||||
echo "Error: System is not booted in UEFI mode" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! efibootmgr &>/dev/null; then
|
||||
echo "Error: efibootmgr is not available or not functional" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends"; then
|
||||
echo "Error: American Megatrends firmware may not safely support custom EFI entries" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
|
||||
echo "Error: Apple firmware uses its own boot manager" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
|
||||
|
||||
if [[ -z $uki_file ]]; then
|
||||
echo "Error: No Omarchy UKI found in /boot/EFI/Linux/" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
boot_source=$(findmnt -n -o SOURCE /boot)
|
||||
disk=$(echo "$boot_source" | sed 's/p\?[0-9]*$//')
|
||||
part=$(echo "$boot_source" | grep -o 'p\?[0-9]*$' | sed 's/^p//')
|
||||
|
||||
if ! gum confirm "Setup direct boot (so snapshot booting must be done via bios)?"; then
|
||||
echo "Creating EFI boot entry for $uki_file"
|
||||
|
||||
sudo efibootmgr --create \
|
||||
--disk "$disk" \
|
||||
--part "$part" \
|
||||
--label "Omarchy" \
|
||||
--loader "\\EFI\\Linux\\$uki_file"
|
||||
fi
|
||||
+3
-2
@@ -566,14 +566,15 @@ show_about() {
|
||||
}
|
||||
|
||||
show_system_menu() {
|
||||
local options=" Lock\n Screensaver"
|
||||
local options=" Screensaver\n Lock\n Logout"
|
||||
[[ -f ~/.local/state/omarchy/toggles/suspend-on ]] && options="$options\n Suspend"
|
||||
omarchy-hibernation-available && options="$options\n Hibernate"
|
||||
options="$options\n Restart\n Shutdown"
|
||||
|
||||
case $(menu "System" "$options") in
|
||||
*Lock*) omarchy-lock-screen ;;
|
||||
*Screensaver*) omarchy-launch-screensaver force ;;
|
||||
*Lock*) omarchy-lock-screen ;;
|
||||
*Logout*) omarchy-system-logout ;;
|
||||
*Suspend*) systemctl suspend ;;
|
||||
*Hibernate*) systemctl hibernate ;;
|
||||
*Restart*) omarchy-cmd-reboot ;;
|
||||
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Refresh the SDDM theme from default
|
||||
|
||||
sudo rm -rf /usr/share/sddm/themes/omarchy
|
||||
sudo cp -r $OMARCHY_PATH/default/sddm/omarchy /usr/share/sddm/themes/omarchy
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Logout command that first closes all application windows (thus giving them a chance to save state),
|
||||
# then stops the session, returning to the SDDM login screen.
|
||||
|
||||
# Schedule the session stop after closing windows (detached from terminal)
|
||||
nohup bash -c "sleep 2 && uwsm stop" >/dev/null 2>&1 &
|
||||
|
||||
# Now close all windows
|
||||
omarchy-hyprland-window-close-all
|
||||
sleep 1 # Allow apps like Chrome to shutdown correctly
|
||||
@@ -1,74 +0,0 @@
|
||||
# What changed?
|
||||
|
||||
## Additions
|
||||
|
||||
- Add single screenshot flow on PrintScr with editing option pushed to notification by @ryanrhughes
|
||||
- Add Tmux with tailored config for improved aesthetics and ergonomics accessible via `t` alias in any terminal by @dhh
|
||||
- Add hibernation by default on new installs by @dhh
|
||||
- Add hybrid GPU mode toggle via supergfxctl for compatible laptops through _Trigger > Hardware_ by @dhh
|
||||
- Add full compatibility (volume/brightness/hybrid GPU switching) with Asus Zephyrus G14/16 laptops by @dhh
|
||||
- Add Motorcomm YT6801 ethernet driver for Slimbook + Tuxedo laptops by @dhh
|
||||
- Add automatic power profile switching when plugged/unplugged by @pomartel
|
||||
- Add SSH port forwarding functions fip/dip/lip for web development by @dhh
|
||||
- Add `eff` command to open fuzzy find results directly in your editor by @dhh
|
||||
- Add NVIDIA GeForce Now installer and window rules via *Install > Gaming* by @dhh
|
||||
- Add option to remove all preinstalls via *Remove > Preinstalls* by @dhh
|
||||
- Add audio soft mixer as opt-in toggle via *Setup > Audio* by @dhh
|
||||
- Add `~/.config/omarchy/extensions/menu.sh` for overloading any menu action by @bhaveshsooka
|
||||
- Add nautilus-python for "Open in Ghostty" context menu by @pomartel
|
||||
- Add automatic fallback to Alacritty for legacy GPUs on install by @yaroslavrick
|
||||
- Add window rules for Bitwarden Chrome Extension by @sgruendel
|
||||
- Add emoji picker auto-pasting by @pomartel
|
||||
- Add back mainline Chromium now that upstream has live theming fixed by @dhh
|
||||
|
||||
### Aesthetics
|
||||
|
||||
- Add theme synced keyboard backlighting on Asus ROG laptops by @dhh
|
||||
- Add new default wallpaper for Tokyo Night theme by @Maxteabag
|
||||
- Add Miasma theme by @OldJobobo
|
||||
- Add Vantablack theme by @bjarneo
|
||||
- Add headset icon for audio in Waybar by @pomartel
|
||||
|
||||
## Keybindings
|
||||
|
||||
- Add `Super + Shift + Return` as alternative keybind for launching browser by @dhh
|
||||
- Add `Super + Ctrl + C` as alternative capture keybind for machines without PrintScr button by @dhh
|
||||
- Add `Super + Alt + Shift + F` to open nautilus in current directory of terminal by X
|
||||
- Add `Super + Ctrl + Alt + Backspace` to toggle single-window square aspect ratio by @dhh
|
||||
- Add `Super + Ctrl + Backspace` to toggle resolution between 1-1.6-2-3x by @dhh
|
||||
- Add opening Nautilus in terminal's current working directory by @schwepmo
|
||||
- Add scratchpad auto-toggle on workspace switch by @mitanjan
|
||||
|
||||
## Fixes
|
||||
|
||||
- Fix AUR package installation to prefer AUR over repos when available by @dhh
|
||||
- Fix Ghostty high IO pressure on some machines by @NicolasDorier
|
||||
- Fix NVIDIA environment variables for Maxwell/Pascal/Volta GPUs by @johnzfitch
|
||||
- Fix JetBrains window rules not working properly by @NicolasDorier
|
||||
- Fix Telegram stealing focus on every message by @ryanrhughes
|
||||
- Fix Steam window opacity rules by @nptr
|
||||
- Fix video PWA window rules by @dhh
|
||||
- Fix Walker crashing and not restarting by @dhh
|
||||
- Fix hibernation to work reliably across different laptops by @dhh
|
||||
- Fix hyprlock fingerprint auth check by @dhh
|
||||
- Fix update snapshots not being cleaned on failed updates by @Mridul-Agarwal
|
||||
- Fix Windows VM clipboard sharing in RDP by @arcangelo7
|
||||
- Fix Windows VM dynamic boot detection by @felixzsh
|
||||
- Fix Windows VM timezone and add confirmation before VM removal by @pomartel
|
||||
- Fix gum confirm color for "no" option by @dhh
|
||||
- Fix omarchy-update-firmware premature exit by @nnutter
|
||||
- Fix swayosd style path by @gilescope
|
||||
- Fix yq dependency by replacing with pure bash TOML parsing by @dhh
|
||||
- Fix AUR updates broken by interrupted git sessions by @dhh
|
||||
- Fix Synaptics InterTouch touchpad detection by @Sameer292
|
||||
- Fix Starship prompt sanitization by @jamesrobey
|
||||
- Fix Chromium Wayland color manager flag removal by @shreyansh-malviya
|
||||
- Fix Development remove menu icons by @annoyedmilk
|
||||
- Fix kb_variant support in input.conf by @manuel-rams
|
||||
- Fix wiremix default device character display by @l1ghty
|
||||
- Fix opencode auto-update disabled for pacman management by @sgruendel
|
||||
- Fix Waybar Omarchy glyph spacing with thin space by @horaceko
|
||||
- Fix suspend-to-hibernate failing on several laptops by removing it as a default by @dhh
|
||||
- Fix missing Wayland color manager disabling flag in Chromium by @shreyansh-malviya
|
||||
- Fix x11 fallback in SDL_VIDEODRIVER for compatibility by @ryanrhughes
|
||||
- Fix AUR packages shouldn't update until after system packages and migrations by @dhh
|
||||
@@ -18,6 +18,9 @@ input {
|
||||
|
||||
# Increase sensitivity for mouse/trackpad (default: 0)
|
||||
# sensitivity = 0.35
|
||||
|
||||
# Turn off mouse acceleration (default: false)
|
||||
# force_no_accel = true
|
||||
|
||||
touchpad {
|
||||
# Use natural (inverse) scrolling
|
||||
|
||||
@@ -129,6 +129,7 @@ misc {
|
||||
# https://wiki.hypr.land/Configuring/Variables/#cursor
|
||||
cursor {
|
||||
hide_on_key_press = true
|
||||
warp_on_change_workspace = 1
|
||||
}
|
||||
|
||||
# Auto toggle scratchpad on switching workspace from scratchpad
|
||||
|
||||
@@ -1,22 +1,26 @@
|
||||
---
|
||||
name: omarchy
|
||||
description: >
|
||||
REQUIRED for ANY changes to Linux desktop, window manager, or system config.
|
||||
REQUIRED for end-user customization of Linux desktop, window manager, or system config.
|
||||
Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/,
|
||||
~/.config/alacritty/, ~/.config/kitty/, ~/.config/ghostty/, ~/.config/mako/,
|
||||
or ~/.config/omarchy/. Triggers: Hyprland, window rules, animations, keybindings,
|
||||
monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes,
|
||||
wallpaper, night light, idle, lock screen, screenshots, layer rules, workspace
|
||||
settings, display config, or any omarchy-* commands.
|
||||
settings, display config, and user-facing omarchy commands. Excludes Omarchy
|
||||
source development in ~/.local/share/omarchy/ and omarchy-dev-* workflows.
|
||||
---
|
||||
|
||||
# Omarchy Skill
|
||||
|
||||
Manage [Omarchy](https://omarchy.org/) Linux systems - a beautiful, modern, opinionated Arch Linux distribution with Hyprland.
|
||||
|
||||
This skill is for end-user customization on installed systems.
|
||||
It is not for contributing to Omarchy source code.
|
||||
|
||||
## When This Skill MUST Be Used
|
||||
|
||||
**ALWAYS invoke this skill when the user's request involves ANY of these:**
|
||||
**ALWAYS invoke this skill for end-user requests involving ANY of these:**
|
||||
|
||||
- Editing ANY file in `~/.config/hypr/` (window rules, animations, keybindings, monitors, etc.)
|
||||
- Editing ANY file in `~/.config/waybar/`, `~/.config/walker/`, `~/.config/mako/`
|
||||
@@ -25,14 +29,16 @@ Manage [Omarchy](https://omarchy.org/) Linux systems - a beautiful, modern, opin
|
||||
- Window behavior, animations, opacity, blur, gaps, borders
|
||||
- Layer rules, workspace settings, display/monitor configuration
|
||||
- Themes, wallpapers, fonts, appearance changes
|
||||
- Any `omarchy-*` command
|
||||
- User-facing `omarchy-*` commands (`omarchy-theme-*`, `omarchy-refresh-*`, `omarchy-restart-*`, etc.)
|
||||
- Screenshots, screen recording, night light, idle behavior, lock screen
|
||||
|
||||
**If you're about to edit a config file in ~/.config/ on this system, STOP and use this skill first.**
|
||||
|
||||
**Do NOT use this skill for Omarchy development tasks** (editing files in `~/.local/share/omarchy/`, creating migrations, or running `omarchy-dev-*` workflows).
|
||||
|
||||
## Critical Safety Rules
|
||||
|
||||
**NEVER modify anything in `~/.local/share/omarchy/`** - but READING is safe and encouraged.
|
||||
**For end-user customization tasks, NEVER modify anything in `~/.local/share/omarchy/`** - but READING is safe and encouraged.
|
||||
|
||||
This directory contains Omarchy's source files managed by git. Any changes will be:
|
||||
- Lost on next `omarchy-update`
|
||||
@@ -60,6 +66,8 @@ This directory contains Omarchy's source files managed by git. Any changes will
|
||||
- `~/.config/omarchy/themes/<custom-name>/` - Custom themes (must be real directories)
|
||||
- `~/.config/omarchy/hooks/` - Custom automation hooks
|
||||
|
||||
If the request is to develop Omarchy itself, this skill is out of scope. Follow repository development instructions instead of this skill.
|
||||
|
||||
## System Architecture
|
||||
|
||||
Omarchy is built on:
|
||||
@@ -336,26 +344,15 @@ When user requests system changes:
|
||||
2. **Is it a config edit?** Edit in `~/.config/`, never `~/.local/share/omarchy/`
|
||||
3. **Is it a theme customization?** Create a NEW custom theme directory
|
||||
4. **Is it automation?** Use hooks in `~/.config/omarchy/hooks/`
|
||||
5. **Is it a package install?** Use `yay`
|
||||
5. **Is it a package install?** Use `omarchy-pkg-add` (or `omarchy-pkg-aur-add` for AUR-only packages)
|
||||
6. **Unsure if command exists?** Search with `compgen -c | grep omarchy`
|
||||
|
||||
## Development (AI Agents)
|
||||
## Out of Scope
|
||||
|
||||
When contributing to Omarchy itself (e.g., fixing bugs, adding features), migrations are used to apply changes to existing installations.
|
||||
|
||||
### Creating Migrations
|
||||
|
||||
```bash
|
||||
# ALWAYS use --no-edit flag or you will get stuck
|
||||
omarchy-dev-add-migration --no-edit
|
||||
```
|
||||
|
||||
This creates a new migration file and outputs its path without opening an editor. The migration filename is based on the git commit timestamp.
|
||||
|
||||
**Migration files** are shell scripts in `~/.local/share/omarchy/migrations/` that run once per system during `omarchy-update`. Use them for:
|
||||
- Updating user configs with new defaults
|
||||
- Installing new dependencies
|
||||
- Running one-time setup tasks
|
||||
This skill intentionally does not cover Omarchy source development. Do not use this skill for:
|
||||
- Editing files in `~/.local/share/omarchy/` (`bin/`, `config/`, `default/`, `themes/`, `migrations/`, etc.)
|
||||
- Creating or editing migrations
|
||||
- Running `omarchy-dev-*` commands
|
||||
|
||||
## Example Requests
|
||||
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
import QtQuick 2.0
|
||||
import SddmComponents 2.0
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
width: 640
|
||||
height: 480
|
||||
color: "#000000"
|
||||
|
||||
property string currentUser: userModel.lastUser
|
||||
property int sessionIndex: {
|
||||
for (var i = 0; i < sessionModel.rowCount(); i++) {
|
||||
var name = (sessionModel.data(sessionModel.index(i, 0), Qt.DisplayRole) || "").toString()
|
||||
if (name.indexOf("uwsm") !== -1)
|
||||
return i
|
||||
}
|
||||
return sessionModel.lastIndex
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: sddm
|
||||
function onLoginFailed() {
|
||||
errorMessage.text = "Login failed"
|
||||
password.text = ""
|
||||
password.focus = true
|
||||
}
|
||||
function onLoginSucceeded() {
|
||||
errorMessage.text = ""
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
anchors.centerIn: parent
|
||||
spacing: root.height * 0.04
|
||||
width: parent.width
|
||||
|
||||
Image {
|
||||
source: "logo.svg"
|
||||
width: root.width * 0.35
|
||||
height: Math.round(width * sourceSize.height / sourceSize.width)
|
||||
fillMode: Image.PreserveAspectFit
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
Row {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: root.width * 0.007
|
||||
|
||||
Text {
|
||||
text: "\uf023"
|
||||
color: "#ffffff"
|
||||
font.family: "JetBrainsMono NF"
|
||||
font.pixelSize: root.height * 0.025
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: root.width * 0.17
|
||||
height: root.height * 0.04
|
||||
color: "#000000"
|
||||
border.color: "#ffffff"
|
||||
border.width: 1
|
||||
|
||||
TextInput {
|
||||
id: password
|
||||
anchors.fill: parent
|
||||
anchors.margins: root.height * 0.008
|
||||
verticalAlignment: TextInput.AlignVCenter
|
||||
echoMode: TextInput.Password
|
||||
font.family: "JetBrainsMono NF"
|
||||
font.pixelSize: root.height * 0.02
|
||||
font.letterSpacing: root.height * 0.004
|
||||
passwordCharacter: "\u2022"
|
||||
color: "#ffffff"
|
||||
focus: true
|
||||
|
||||
Keys.onPressed: {
|
||||
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
|
||||
sddm.login(root.currentUser, password.text, root.sessionIndex)
|
||||
event.accepted = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
id: errorMessage
|
||||
text: ""
|
||||
color: "#f7768e"
|
||||
font.family: "JetBrainsMono NF"
|
||||
font.pixelSize: root.height * 0.018
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: password.forceActiveFocus()
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="285" viewBox="0 0 1215 285" width="1215" xmlns="http://www.w3.org/2000/svg"><g fill="#9ece6a"><path clip-rule="evenodd" d="m720 120h-15v15h-14.998v14.999l-60.002.001v15.002l90-.002v.002h.002l-.002 89.998h-15v15h-13v15h-17v-89.998h-45v90l-45-.002v-89.998h-14.998v-30h14.998v-15.002h-14.998v-30.001h14.998v-75h15v-14.997h15v-15.002h105.002zm-90-.001h45v-74.997h-45z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m105 30.002h15v14.997h15v180.001h-15v15h-15v15.002h-75v-15.002h-15v-15h-15v-180.001h15v-14.997h15v-15.002h75zm-60 194.998h45v-179.998h-45z" fill-rule="evenodd"/><path d="m300 15h60v15h15v14.999h15v180.001h-15v15h-15v15h-15l-.004-209.998h-44.994v-.002h-.002v210.002h-45v-210h-44.998v179.997h-.002v30.003h-15v-15.002h-15v-15h-14.998v-180.001h14.998v-14.999h15v-15h60v-15h45z"/><path clip-rule="evenodd" d="m555 225h-15v15h-15v15h-15v-105.001l-44.998.001v105.002h-45.002v-105.002h-15v-30.001h15v-75h15.002v-14.997h15v-15.002h105zm-89.998-105.001h44.998v-74.997h-44.998z" fill-rule="evenodd"/><path d="m885 75h-15v15h-15v15h-15v-59.998h-45v179.998h45v-59.998h15v14.997h15v15.001h15v30h-15v15h-15v15.002l-105-.002v-210.001h14.998v-14.997h15.002v-15.002h105z"/><path d="m960 119.999h45v-104.999h15v15h15v14.999h15v75.001h15v15h-15v90h-15v15h-15v15h-15v-105h-45v105.002l-45-.002v-105h-30v-15h15v-15.001h15v-75h15v-14.997h15v-15.002h15z"/><path d="m1125 119.999h45v-104.999h15v15h15v15h15v180h-15v15h-15v15.002l-75-.002v-15h-15v-15h-15v-45.001h15v-14.997-.002h30v60h45v-75h-90v-105.001h15v-14.997h15v-15.002h15z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,6 @@
|
||||
[SddmGreeterTheme]
|
||||
Name=Omarchy
|
||||
Description=Minimal terminal-style login theme matching the Limine bootloader aesthetic
|
||||
Author=Omarchy
|
||||
Type=sddm-theme
|
||||
Version=1.0
|
||||
@@ -0,0 +1 @@
|
||||
[General]
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
TimeoutStopSec=5s
|
||||
@@ -1,3 +1,5 @@
|
||||
sudo mkdir -p /etc/systemd/system.conf.d
|
||||
sudo cp "$OMARCHY_PATH/default/systemd/faster-shutdown.conf" /etc/systemd/system.conf.d/10-faster-shutdown.conf
|
||||
sudo mkdir -p /etc/systemd/system/user@.service.d
|
||||
sudo cp "$OMARCHY_PATH/default/systemd/user@.service.d/faster-shutdown.conf" /etc/systemd/system/user@.service.d/faster-shutdown.conf
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Set default XCompose that is triggered with CapsLock
|
||||
tee ~/.XCompose >/dev/null <<EOF
|
||||
# Run omarchy-restart-xcompose to apply changes
|
||||
|
||||
# Include fast emoji access
|
||||
include "%H/.local/share/omarchy/default/xcompose"
|
||||
|
||||
# Identification
|
||||
|
||||
@@ -2,9 +2,9 @@ KEYRING_DIR="$HOME/.local/share/keyrings"
|
||||
KEYRING_FILE="$KEYRING_DIR/Default_keyring.keyring"
|
||||
DEFAULT_FILE="$KEYRING_DIR/default"
|
||||
|
||||
mkdir -p $KEYRING_DIR
|
||||
mkdir -p "$KEYRING_DIR"
|
||||
|
||||
cat << EOF | tee "$KEYRING_FILE"
|
||||
cat << EOF > "$KEYRING_FILE"
|
||||
[keyring]
|
||||
display-name=Default keyring
|
||||
ctime=$(date +%s)
|
||||
@@ -13,7 +13,7 @@ lock-on-idle=false
|
||||
lock-after=false
|
||||
EOF
|
||||
|
||||
cat << EOF | tee "$DEFAULT_FILE"
|
||||
cat << EOF > "$DEFAULT_FILE"
|
||||
Default_keyring
|
||||
EOF
|
||||
|
||||
|
||||
@@ -91,19 +91,3 @@ if [[ -n $EFI ]] && efibootmgr &>/dev/null; then
|
||||
sudo efibootmgr -b "$bootnum" -B >/dev/null 2>&1
|
||||
done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Arch Linux Limine" | sed 's/^Boot\([0-9]\{4\}\).*/\1/')
|
||||
fi
|
||||
|
||||
# Move this to a utility to allow manual activation
|
||||
# if [[ -n $EFI ]] && efibootmgr &>/dev/null &&
|
||||
# ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" &&
|
||||
# ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
|
||||
#
|
||||
# uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
|
||||
#
|
||||
# if [[ -n $uki_file ]]; then
|
||||
# sudo efibootmgr --create \
|
||||
# --disk "$(findmnt -n -o SOURCE /boot | sed 's/p\?[0-9]*$//')" \
|
||||
# --part "$(findmnt -n -o SOURCE /boot | grep -o 'p\?[0-9]*$' | sed 's/^p//')" \
|
||||
# --label "Omarchy" \
|
||||
# --loader "\\EFI\\Linux\\$uki_file"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
+10
-2
@@ -1,5 +1,8 @@
|
||||
sudo mkdir -p /etc/sddm.conf.d
|
||||
# Install omarchy SDDM theme
|
||||
omarchy-refresh-sddm
|
||||
|
||||
# Setup SDDM login service
|
||||
sudo mkdir -p /etc/sddm.conf.d
|
||||
if [[ ! -f /etc/sddm.conf.d/autologin.conf ]]; then
|
||||
cat <<EOF | sudo tee /etc/sddm.conf.d/autologin.conf
|
||||
[Autologin]
|
||||
@@ -7,9 +10,14 @@ User=$USER
|
||||
Session=hyprland-uwsm
|
||||
|
||||
[Theme]
|
||||
Current=breeze
|
||||
Current=omarchy
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Prevent password-based SDDM logins from creating an encrypted login keyring
|
||||
# (which conflicts with the passwordless Default_keyring used for auto-unlock)
|
||||
sudo sed -i '/-auth.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
|
||||
sudo sed -i '/-password.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
|
||||
|
||||
# Don't use chrootable here as --now will cause issues for manual installs
|
||||
sudo systemctl enable sddm.service
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
echo "Add Logout option to system menu"
|
||||
|
||||
omarchy-refresh-sddm
|
||||
|
||||
if [[ -f /etc/sddm.conf.d/autologin.conf ]]; then
|
||||
sudo sed -i 's/^Current=.*/Current=omarchy/' /etc/sddm.conf.d/autologin.conf
|
||||
fi
|
||||
@@ -0,0 +1,10 @@
|
||||
echo "Prevent SDDM password login from creating encrypted login keyring"
|
||||
|
||||
# Remove the encrypted login keyring if it exists (it conflicts with the passwordless Default_keyring)
|
||||
rm -f "$HOME/.local/share/keyrings/login.keyring"
|
||||
|
||||
# Remove gnome-keyring auth/password lines from sddm PAM so password-based logins
|
||||
# don't create an encrypted login keyring. Keep the session line to start the daemon,
|
||||
# which will auto-unlock the passwordless Default_keyring.
|
||||
sudo sed -i '/-auth.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
|
||||
sudo sed -i '/-password.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
|
||||
@@ -0,0 +1,2 @@
|
||||
echo "Fix User Manager hanging on shutdown"
|
||||
source $OMARCHY_PATH/install/config/fast-shutdown.sh
|
||||
Reference in New Issue
Block a user