Compare commits

...

67 Commits

Author SHA1 Message Date
David Heinemeier Hansson
e4b7372666 Cannot get suspend to hibernate to work consistently across different laptops
Too many failures where it's stuck in a suspend-wake-up loop
2026-02-10 14:07:40 +01:00
David Heinemeier Hansson
a30448ceec Allow the ssh forwarding functions to take multiple ports 2026-02-10 13:39:48 +01:00
David Heinemeier Hansson
4fadf666e6 Add nautilus compatibility with the unified clipboard commands
Co-authored-by: @naxels
2026-02-10 12:32:56 +01:00
David Heinemeier Hansson
07ede07193 Add port forwarding functions for web dev
So we can forward a port on localhost to an Omaterm
2026-02-10 12:00:04 +01:00
David Heinemeier Hansson
527819b750 Rely on alt-arrow doing 5s, then shift-arrow does 1s 2026-02-10 11:30:03 +01:00
David Heinemeier Hansson
98bfe20839 Add example of using alacritty with ssh
Since ghostty requires the TERM setting thing which is a bit odd
2026-02-10 10:20:21 +01:00
David Heinemeier Hansson
4d48409926 Just rely on terminal for coloring
We don't need a full theme
2026-02-10 08:31:15 +01:00
David Heinemeier Hansson
ffafe1727e Add Tmux (#4562)
* Add Tmux

Being able to use a unified terminal setup between local and remote
hosts has some real advantages.

* Renaming is more important than reloading

* Self-explanatory, really

* Add alias for it

* Attach to last used session or start a new if we have none

* Just stick to n/p

* Make it a clean 10x

* We don't need this

* Keep similar fixes together

* Keep bindings together

* Hate looking at that 0

* Add way to refresh theme from its templates (when they've changed)

* Fix
2026-02-09 23:01:46 +01:00
Serpent
f2f306269a Avoid error if opencode isn't running. (#4566) 2026-02-09 22:58:34 +01:00
David Heinemeier Hansson
e4913ca2db Update boot entry 2026-02-09 22:34:43 +01:00
David Heinemeier Hansson
ff234bba1f Ensure Walker can't just die and stay dead (#4555) 2026-02-09 13:08:13 +01:00
David Heinemeier Hansson
ecf48a3b4c Use ACPI alarm for RTC wakeup on s2idle systems for hibernation 2026-02-08 11:27:49 +01:00
David Heinemeier Hansson
74eea9e716 The AC Power detection is buggy on several laptops
Just commit to always going from suspend to hibernate on the specified
delay
2026-02-08 10:22:39 +01:00
David Heinemeier Hansson
66cb888a2e Don't try to hibernate based on battery level checks
We just rely on the fixed hibernate delay
2026-02-08 09:09:16 +01:00
David Heinemeier Hansson
0a5755e51f Pick something that doesn't conflict with existing command 2026-02-08 08:42:14 +01:00
bjarneo
7bd5bf25cd Remove the aether.nvim dependency (#4543)
* Remove the aether.nvim dependency

* Fix a blooper
2026-02-07 22:16:21 +01:00
bjarneo
0c9b38e507 Set the aether dependency using v2 directly (#4537)
* Set the aether dependency using v2 directly

* Format the object properly
2026-02-07 15:53:05 +01:00
David Heinemeier Hansson
0e2ed5439e Suggestion for claude 2026-02-07 15:32:12 +01:00
David Heinemeier Hansson
75a0ee6149 Follow existing naming convention 2026-02-07 14:09:16 +01:00
Sameer Paudel
2c9c0f883a Enable Synaptics InterTouch for confirmed touchpads if not already loaded (#4499)
* Enable Synaptics InterTouch for confirmed touchpads if not already loaded

* fix echo message

* remove shebang and echo messages

* check for synaptics intertouch and enable it only if available
2026-02-07 14:07:01 +01:00
Mridul Agarwal
8a58b8153c delete snapshot if update fails since it takes up space, esspecially when redoing the update as it makes another snapshot (#4531)
Co-authored-by: Mrid22 <mridulaga@outlook.com>
2026-02-07 12:37:58 +01:00
David Heinemeier Hansson
badd1f8495 Reorder backgrounds for default 2026-02-07 12:35:27 +01:00
David Heinemeier Hansson
67ee1450f0 Add aether to the preinstalls removal list 2026-02-07 12:33:18 +01:00
bjarneo
c289cd0730 Add vantablack theme (#4533) 2026-02-07 11:23:27 +01:00
David Heinemeier Hansson
cbcd0e49be Not used/needed 2026-02-07 11:22:28 +01:00
David Heinemeier Hansson
ae45f06847 Fix gum confirm color for no 2026-02-07 11:06:35 +01:00
David Heinemeier Hansson
1070a87a47 Add option to remove all preinstalls
To get a bare-bones Omarchy
2026-02-07 11:05:56 +01:00
David Heinemeier Hansson
9741b29a7c Describe the rest of the bins 2026-02-07 10:50:48 +01:00
David Heinemeier Hansson
ea24b0dc68 Setup hibernation by default on new installs 2026-02-07 10:45:24 +01:00
David Heinemeier Hansson
3bbb57b54d Use real config files as much as possible 2026-02-07 10:37:39 +01:00
David Heinemeier Hansson
ebfb7f16e8 Raise sleep-to-hibernate to survive a long lunch 2026-02-07 10:18:01 +01:00
Ryan Hughes
347afae8c0 Merge pull request #4491 from johnzfitch/fix/pascal-maxwell-nvidia-backend
Expanded Legacy NVIDIA GPU support with correct backend selection
2026-02-07 01:24:30 -05:00
Ryan Hughes
ebfcefa553 Consolidate migration sed cleanup and quote heredoc paths 2026-02-07 00:34:13 -05:00
David Heinemeier Hansson
2087d96ad8 Fix perms 2026-02-06 22:08:23 +01:00
David Heinemeier Hansson
b638cbc57a Revert "Fix Realtek RTL8111/8168 ethernet adapter support for ASUS TUF Gaming laptops (#4497)"
This reverts commit cf72c02ea5.
2026-02-06 18:22:14 +01:00
David Heinemeier Hansson
636a7cefda Actually run the yt6801 fix 2026-02-06 17:41:44 +01:00
David Heinemeier Hansson
f7e22fcfd8 Fix IO pressure on some machines with Ghostty 2026-02-06 17:19:47 +01:00
Nicolas Dorier
b0e8a4dcea Fix: High IO pressure caused by ghostty (#4507) 2026-02-06 16:51:18 +01:00
amrxtgh
f57234b991 fix: simple typo in omarchy-launch-walker (#4514) 2026-02-06 16:48:21 +01:00
David Heinemeier Hansson
be7f316371 Add Super + Shift + Return for browser binding to existing installs 2026-02-06 12:03:37 +01:00
David Heinemeier Hansson
b1553d3b31 Add Super + Shift + Return as an alternative for launching the browser 2026-02-06 12:00:55 +01:00
David Heinemeier Hansson
055e969a56 Let's help our agent friends a little to understand the Omarchy code base 2026-02-06 11:32:03 +01:00
David Heinemeier Hansson
050899e5b3 Echo the migration description 2026-02-06 11:25:05 +01:00
David Heinemeier Hansson
bd8b12b23b Ensure hyprlock only looks for a fingerprint auth when that's configured
This should eradicate the first failed auth attempt after
sleep/hibernation
2026-02-06 11:24:12 +01:00
David Heinemeier Hansson
c268fb6c9b Turn off backlighting before sleep
So it cant keep the computer awake
2026-02-06 11:16:18 +01:00
David Heinemeier Hansson
248a7a611b Fix perms 2026-02-05 14:48:21 +01:00
David Heinemeier Hansson
e487dace43 Install asusctl on ROG machines to get out-of-the-box keyboard light sync 2026-02-05 09:23:00 +01:00
David Heinemeier Hansson
ba14cd36dd Sync keyboard colors with theme if asusctl is installed 2026-02-05 09:05:30 +01:00
David Heinemeier Hansson
34b22a23f6 Revert "Fix correct suspend-then-hibernate options"
This reverts commit f0d5c35271.
2026-02-04 21:56:34 +01:00
David Heinemeier Hansson
f0d5c35271 Fix correct suspend-then-hibernate options
So we don't try to hibernate when sleeping while on power
2026-02-04 21:54:26 +01:00
David Heinemeier Hansson
63fc96a541 Timeout isn't actually nice in reality 2026-02-04 21:43:41 +01:00
Nathan Nutter
4ba39ba73c Prevent premature exit of omarchy-update-firmware (#4503)
This adds the `--force` option to `fwupdmgr refresh` so that this script will not exit, due to `set -e`, when `fwupdmgr refresh` exits non-zero due to the metadata being up-to-date, i.e.,

```
Metadata is up to date; use --force to refresh again.
```

Another option would be to use `|| true` but that might hide a legitimate error.

This was motivated when I cancelled a run of this script and then later invoked it again, via Update > Firmware, and it would not run `sudo fwupdmgr update` because `fwupdmgr refresh` was exiting non-zero with the above metadata up-to-date "error".
2026-02-04 21:41:14 +01:00
Lewis
1a14938382 Update style path in swayosd config (#4502) 2026-02-04 21:35:44 +01:00
Pierre Olivier Martel
9581cce1af Fix Windows VM timezone and add a confirmation prompt before removing the VM (#4489)
* Add confirmation prompt before removing Windows VM

* Fix Windows VM timezone defaults to UTC
2026-02-04 10:46:15 +01:00
Jamoladdin
cf72c02ea5 Fix Realtek RTL8111/8168 ethernet adapter support for ASUS TUF Gaming laptops (#4497) 2026-02-04 10:18:56 +01:00
johnzfitch
a8ce084460 Fix NVIDIA environment variables for Maxwell/Pascal/Volta GPUs
Maxwell, Pascal, and Volta GPUs lack GSP (GPU System Processor) firmware
required by NVD_BACKEND=direct. Applying direct backend unconditionally
causes Aquamarine v3.3.0+ to fail with "Unknown-1" displays and blank screens.

Changes:
- Add GPU generation detection (Turing+ vs Maxwell/Pascal/Volta)
- Turing+ (RTX 20xx+, GTX 16xx): NVD_BACKEND=direct + LIBVA_DRIVER_NAME=nvidia
- Maxwell/Pascal/Volta: NVD_BACKEND=egl only (no GSP support)
- Both generations: __GLX_VENDOR_LIBRARY_NAME=nvidia (universal)

Regex improvements:
- Fix Turing+ detection (was using Maxwell/Pascal pattern)
- GT series: GT 1030 now properly detected (was missed)
- Quadro: P/M series only (exclude Kepler K-series)
- Volta: Titan V, Tesla V100, Quadro GV100
- Modern datacenter: A100, H100, T4, L-series
- MX series: Fixed to match MX150/250/450 (was only MX1-9)

Migration script (1770159912.sh) fixes existing broken installations by:
- Detecting legacy NVIDIA GPUs on existing systems
- Rewriting incompatible NVD_BACKEND=direct entries to egl
- Creating automatic backups before modification

Testing:
Validated against GT 1030, GTX 960/1080, Quadro P620 (legacy egl backend)
and GTX 1650, RTX 3080 (modern direct backend).

Preserves existing Turing+ behavior exactly. No impact on non-NVIDIA systems.

Fixes hyprwm/Hyprland#7001
Fixes hyprwm/Hyprland#8519
Fixes hyprwm/Hyprland#6343
Fixes hyprwm/Hyprland#7812
2026-02-03 17:33:48 -08:00
Pierre Olivier Martel
4b3e21445b Don't apply power profile source switching if only one profile is available (#4485) 2026-02-03 16:18:24 +01:00
David Heinemeier Hansson
8878478103 Prevent broken AUR updates from interrupted git sessions
Co-authored-by: @scale03
Closes #3995, #3917
2026-02-02 21:16:23 +01:00
David Heinemeier Hansson
74ff475693 Didn't end up being all that useful 2026-02-02 20:45:01 +01:00
David Heinemeier Hansson
22f64160f5 Fix branch setter 2026-02-02 17:04:36 +01:00
David Heinemeier Hansson
ea76f8196c Add Motorcomm YT6801 ethernet adapter driver for Slimbook + Tuxedo ethernet adapters 2026-02-02 17:03:53 +01:00
James Robey
49a2941e2b Sanitize prompt before starship init (#4269)
Add prompt sanitization to clear stale terminal line state after abnormal exits, preventing prompt artifacts.
2026-02-01 17:49:59 +01:00
David Heinemeier Hansson
6a5b64b4bc Add the new wiremix icon if there isn't already a wiremix config 2026-02-01 17:47:57 +01:00
l1ghty
c484b66bcb wiremix: less confusing audio default device character (#4404) 2026-02-01 17:46:07 +01:00
David Heinemeier Hansson
87da28a965 Fix the video PWAs 2026-02-01 17:39:26 +01:00
David Heinemeier Hansson
23b74c6212 Fix opacity issues by using a tag to apply the default opacity that can be removed
Fixes #4168
2026-02-01 16:30:27 +01:00
David Heinemeier Hansson
69dbee75cd Match existing term 2026-01-31 21:59:32 +01:00
97 changed files with 677 additions and 148 deletions

62
AGENTS.md Normal file
View File

@@ -0,0 +1,62 @@
# Style
- Two spaces for indentation, no tabs
- Use Bash syntax for conditionals: `[[ -f $file ]]`, not `[ -f "$file" ]`
# Command Naming
All commands start with `omarchy-`. Prefixes indicate purpose:
- `cmd-` - check if commands exist, misc utility commands
- `pkg-` - package management helpers
- `hw-` - hardware detection (return exit codes for use in conditionals)
- `refresh-` - copy default config to user's `~/.config/`
- `restart-` - restart a component
- `launch-` - open applications
- `install-` - install optional software
- `setup-` - interactive setup wizards
- `toggle-` - toggle features on/off
- `theme-` - theme management
- `update-` - update components
# Helper Commands
Use these instead of raw shell commands:
- `omarchy-cmd-missing` / `omarchy-cmd-present` - check for commands
- `omarchy-pkg-missing` / `omarchy-pkg-present` - check for packages
- `omarchy-pkg-add` - install packages (handles both pacman and AUR)
- `omarchy-hw-asus-rog` - detect ASUS ROG hardware (and similar `hw-*` commands)
# Config Structure
- `config/` - default configs copied to `~/.config/`
- `default/themed/*.tpl` - templates with `{{ variable }}` placeholders for theme colors
- `themes/*/colors.toml` - theme color definitions (accent, background, foreground, color0-15)
# Refresh Pattern
To copy a default config to user config with automatic backup:
```bash
omarchy-refresh-config hypr/hyprlock.conf
```
This copies `~/.local/share/omarchy/config/hypr/hyprlock.conf` to `~/.config/hypr/hyprlock.conf`.
# Migrations
To create a new migration, run `omarchy-dev-add-migration --no-edit`. This creates a migration file named after the unix timestamp of the last commit.
Migration format:
- No shebang line
- Start with an `echo` describing what the migration does
Example:
```bash
echo "Disable fingerprint in hyprlock if fingerprint auth is not configured"
if omarchy-cmd-missing fprintd-list || ! fprintd-list "$USER" 2>/dev/null | grep -q "finger"; then
sed -i 's/fingerprint:enabled = .*/fingerprint:enabled = false/' ~/.config/hypr/hyprlock.conf
fi
```

View File

@@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
# Returns true if a battery is present on the system.
# Used by the battery monitor and other battery-related checks.
for bat in /sys/class/power_supply/BAT*; do for bat in /sys/class/power_supply/BAT*; do
[[ -r "$bat/present" ]] && [[ -r "$bat/present" ]] &&
[[ "$(cat "$bat/present")" == "1" ]] && [[ "$(cat "$bat/present")" == "1" ]] &&

View File

@@ -9,8 +9,8 @@ else
branch="$1" branch="$1"
fi fi
if [[ "$branch" != "master" && "$branch" != "rc" && "$branch" != "edge" ]]; then if [[ "$branch" != "master" && "$branch" != "rc" && "$branch" != "dev" ]]; then
echo "Error: Invalid branch '$branch'. Must be one of: master, rc, edge" echo "Error: Invalid branch '$branch'. Must be one of: master, rc, dev"
exit 1 exit 1
fi fi

View File

@@ -17,9 +17,11 @@ if [ -f "$MKINITCPIO_CONF" ] && grep -q "^HOOKS+=(resume)$" "$MKINITCPIO_CONF";
exit 0 exit 0
fi fi
MEM_TOTAL_HUMAN=$(free --human | awk '/Mem/ {print $2}') if [[ $1 != "--force" ]]; then
if ! gum confirm "Use $MEM_TOTAL_HUMAN on boot drive to make hibernation available?"; then MEM_TOTAL_HUMAN=$(free --human | awk '/Mem/ {print $2}')
exit 0 if ! gum confirm "Use $MEM_TOTAL_HUMAN on boot drive to make hibernation available?"; then
exit 0
fi
fi fi
SWAP_SUBVOLUME="/swap" SWAP_SUBVOLUME="/swap"
@@ -57,18 +59,26 @@ sudo mkdir -p /etc/mkinitcpio.conf.d
echo "Adding resume hook to $MKINITCPIO_CONF" echo "Adding resume hook to $MKINITCPIO_CONF"
echo "HOOKS+=(resume)" | sudo tee "$MKINITCPIO_CONF" >/dev/null echo "HOOKS+=(resume)" | sudo tee "$MKINITCPIO_CONF" >/dev/null
# Configure suspend-then-hibernate # Ensure keyboard backlight doesn't prevent sleep
echo "Configuring suspend-then-hibernate" sudo cp -p "$OMARCHY_PATH/default/systemd/system-sleep/keyboard-backlight" /usr/lib/systemd/system-sleep/
sudo mkdir -p /etc/systemd/logind.conf.d /etc/systemd/sleep.conf.d
sudo cp "$OMARCHY_PATH/default/systemd/lid.conf" /etc/systemd/logind.conf.d/
sudo cp "$OMARCHY_PATH/default/systemd/hibernate.conf" /etc/systemd/sleep.conf.d/
# Regenerate initramfs # Use ACPI alarm for RTC wakeup on s2idle systems (needed for suspend-then-hibernate)
if grep -q "\[s2idle\]" /sys/power/mem_sleep 2>/dev/null; then
LIMINE_DROP_IN="/etc/limine-entry-tool.d/rtc-alarm.conf"
if [[ ! -f "$LIMINE_DROP_IN" ]]; then
echo "Enabling ACPI RTC alarm for s2idle suspend"
sudo mkdir -p /etc/limine-entry-tool.d
echo 'KERNEL_CMDLINE[default]+="rtc_cmos.use_acpi_alarm=1"' | sudo tee "$LIMINE_DROP_IN" >/dev/null
fi
fi
# Regenerate initramfs and boot entry
echo "Regenerating initramfs..." echo "Regenerating initramfs..."
sudo limine-mkinitcpio sudo limine-mkinitcpio
sudo limine-update
echo echo
if gum confirm "Reboot to enable hiberation?"; then if [[ $1 != "--force" ]] && gum confirm "Reboot to enable hibernation?"; then
omarchy-cmd-reboot omarchy-cmd-reboot
fi fi

6
bin/omarchy-hw-asus-rog Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# Detect whether the computer is an Asus ROG machine.
[[ "$(cat /sys/class/dmi/id/sys_vendor 2>/dev/null)" == "ASUSTeK COMPUTER INC." ]] &&
grep -q "ROG" /sys/class/dmi/id/product_family 2>/dev/null

View File

@@ -1,15 +1,10 @@
#!/bin/bash #!/bin/bash
# Install the Tailscale mesh VPN service, the tsui TUI management app, and a web app for the Tailscale Admin Console. # Install the Tailscale mesh VPN service and a web app for the Tailscale Admin Console.
curl -fsSL https://tailscale.com/install.sh | sh curl -fsSL https://tailscale.com/install.sh | sh
curl -fsSL https://neuralink.com/tsui/install.sh | bash
echo -e "\nStarting Tailscale..." echo -e "\nStarting Tailscale..."
sudo tailscale up --accept-routes sudo tailscale up --accept-routes
echo -e "\nAdd tsui to sudoers..." omarchy-webapp-install "Tailscale" "https://login.tailscale.com/admin/machines" https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png
echo "$USER ALL=(ALL) NOPASSWD: $(which tsui)" | sudo tee /etc/sudoers.d/tsui
omarchy-tui-install "Tailscale" "sudo tsui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png
omarchy-webapp-install "Tailscale Admin Console" "https://login.tailscale.com/admin/machines" https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Launch the Walker application launcher while ensuring that it's data provider (called elephant) is runnig first. # Launch the Walker application launcher while ensuring that it's data provider (called elephant) is running first.
# Ensure elephant is running before launching walker # Ensure elephant is running before launching walker
if ! pgrep -x elephant > /dev/null; then if ! pgrep -x elephant > /dev/null; then

View File

@@ -431,11 +431,12 @@ show_install_elixir_menu() {
} }
show_remove_menu() { show_remove_menu() {
case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰵮 Development\n Dictation\n󰸌 Theme\n󰍲 Windows\n󰈷 Fingerprint\n Fido2") in case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰵮 Development\n󰏓 Preinstalls\n Dictation\n󰸌 Theme\n󰍲 Windows\n󰈷 Fingerprint\n Fido2") in
*Package*) terminal omarchy-pkg-remove ;; *Package*) terminal omarchy-pkg-remove ;;
*Web*) present_terminal omarchy-webapp-remove ;; *Web*) present_terminal omarchy-webapp-remove ;;
*TUI*) present_terminal omarchy-tui-remove ;; *TUI*) present_terminal omarchy-tui-remove ;;
*Development*) show_remove_development_menu ;; *Development*) show_remove_development_menu ;;
*Preinstalls*) present_terminal omarchy-remove-all ;;
*Dictation*) present_terminal omarchy-voxtype-remove ;; *Dictation*) present_terminal omarchy-voxtype-remove ;;
*Theme*) present_terminal omarchy-theme-remove ;; *Theme*) present_terminal omarchy-theme-remove ;;
*Windows*) present_terminal "omarchy-windows-vm remove" ;; *Windows*) present_terminal "omarchy-windows-vm remove" ;;
@@ -506,9 +507,9 @@ show_update_menu() {
} }
show_update_channel_menu() { show_update_channel_menu() {
case $(menu "Update channel" "🟢 Stable\n🟡 Release Candidate\n🟠 Edge\n🔴 Dev") in case $(menu "Update channel" "🟢 Stable\n🟡 RC\n🟠 Edge\n🔴 Dev") in
*Stable*) present_terminal "omarchy-channel-set stable" ;; *Stable*) present_terminal "omarchy-channel-set stable" ;;
*Candidate*) present_terminal "omarchy-channel-set rc" ;; *RC*) present_terminal "omarchy-channel-set rc" ;;
*Edge*) present_terminal "omarchy-channel-set edge" ;; *Edge*) present_terminal "omarchy-channel-set edge" ;;
*Dev*) present_terminal "omarchy-channel-set dev" ;; *Dev*) present_terminal "omarchy-channel-set dev" ;;
*) show_update_menu ;; *) show_update_menu ;;

5
bin/omarchy-refresh-tmux Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
# Overwrite the user tmux config with the Omarchy default and reload tmux.
omarchy-refresh-config tmux/tmux.conf

View File

@@ -5,9 +5,17 @@
# Ensure walker is set to autostart # Ensure walker is set to autostart
mkdir -p ~/.config/autostart/ mkdir -p ~/.config/autostart/
cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/ cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/
# And restarts if it crashes or is killed
mkdir -p ~/.config/systemd/user/app-walker@autostart.service.d/
cp $OMARCHY_PATH/default/walker/restart.conf ~/.config/systemd/user/app-walker@autostart.service.d/restart.conf
systemctl --user daemon-reload systemctl --user daemon-reload
# Refresh configs
omarchy-refresh-config walker/config.toml omarchy-refresh-config walker/config.toml
omarchy-refresh-config elephant/calc.toml omarchy-refresh-config elephant/calc.toml
omarchy-refresh-config elephant/desktopapplications.toml omarchy-refresh-config elephant/desktopapplications.toml
# Restart service
omarchy-restart-walker omarchy-restart-walker

25
bin/omarchy-remove-all Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
# Remove preinstalled Omarchy applications (web apps, TUIs, and selected packages).
# This removes all web apps, TUIs, plus specific desktop applications.
if gum confirm "Are you sure you want to remove all preinstalled web apps, TUI wrappers, and desktop applications?"; then
echo -e "Removing preinstalled Omarchy applications...\n"
omarchy-webapp-remove-all
omarchy-tui-remove-all
omarchy-pkg-drop \
aether \
typora \
spotify \
libreoffice-fresh \
1password-beta \
1password-cli \
xournalpp \
signal-desktop \
pinta \
obsidian \
obs-studio \
kdenlive
fi

View File

@@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
# Remove a development environment that was previously installed via omarchy-install-dev-env.
# Usage: omarchy-remove-dev-env <ruby|node|bun|deno|go|php|laravel|symfony|python|elixir|phoenix|zig|rust|java|dotnet|ocaml|clojure>
if [[ -z "$1" ]]; then if [[ -z "$1" ]]; then
echo "Usage: omarchy-remove-dev-env <ruby|node|bun|deno|go|php|laravel|symfony|python|elixir|phoenix|zig|rust|java|dotnet|ocaml|clojure>" >&2 echo "Usage: omarchy-remove-dev-env <ruby|node|bun|deno|go|php|laravel|symfony|python|elixir|phoenix|zig|rust|java|dotnet|ocaml|clojure>" >&2
exit 1 exit 1

View File

@@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
# Reset the sudo lockout/faillock for the current user.
# This clears any failed authentication attempts that may have locked the user out.
# Resetting sudo lockout for user # Resetting sudo lockout for user
su -c "faillock --reset --user $USER" su -c "faillock --reset --user $USER"

View File

@@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
# Restart an application by killing it and relaunching via uwsm.
# Usage: omarchy-restart-app <application-name>
pkill -x $1 pkill -x $1
setsid uwsm-app -- $1 >/dev/null 2>&1 & setsid uwsm-app -- $1 >/dev/null 2>&1 &

View File

@@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
# Unblock and restart the bluetooth service.
echo -e "Unblocking bluetooth...\n" echo -e "Unblocking bluetooth...\n"
rfkill unblock bluetooth rfkill unblock bluetooth
rfkill list bluetooth rfkill list bluetooth

View File

@@ -1,3 +1,5 @@
#!/bin/bash #!/bin/bash
# Restart the hypridle service (used for idle detection and auto-lock).
omarchy-restart-app hypridle omarchy-restart-app hypridle

View File

@@ -1,3 +1,5 @@
#!/bin/bash #!/bin/bash
# Restart the hyprsunset service (used for blue light filtering/night light).
omarchy-restart-app hyprsunset omarchy-restart-app hyprsunset

View File

@@ -2,4 +2,6 @@
# Reload opencode configuration (used by the Omarchy theme switching). # Reload opencode configuration (used by the Omarchy theme switching).
killall -SIGUSR2 opencode if pgrep -x opencode >/dev/null; then
killall -SIGUSR2 opencode
fi

View File

@@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# Restart the PipeWire audio service to fix audio issues or apply new configuration.
echo -e "Restarting pipewire audio service...\n" echo -e "Restarting pipewire audio service...\n"
systemctl --user restart pipewire.service systemctl --user restart pipewire.service

View File

@@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
# Unblock and restart the Wi-Fi service.
echo -e "Unblocking wifi...\n" echo -e "Unblocking wifi...\n"
rfkill unblock wifi rfkill unblock wifi
rfkill list wifi rfkill list wifi

View File

@@ -1,3 +1,5 @@
#!/bin/bash #!/bin/bash
# Restart the XCompose input method service (fcitx5) to apply new compose key settings.
omarchy-restart-app fcitx5 omarchy-restart-app fcitx5

View File

@@ -58,11 +58,13 @@ EOF
add_hyprlock_fingerprint_icon() { add_hyprlock_fingerprint_icon() {
print_info "Adding fingerprint icon to hyprlock placeholder text..." print_info "Adding fingerprint icon to hyprlock placeholder text..."
sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf sed -i 's/placeholder_text = .*/placeholder_text = <span> Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf
sed -i 's/fingerprint:enabled = .*/fingerprint:enabled = true/' ~/.config/hypr/hyprlock.conf
} }
remove_hyprlock_fingerprint_icon() { remove_hyprlock_fingerprint_icon() {
print_info "Removing fingerprint icon from hyprlock placeholder text..." print_info "Removing fingerprint icon from hyprlock placeholder text..."
sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf
sed -i 's/fingerprint:enabled = .*/fingerprint:enabled = false/' ~/.config/hypr/hyprlock.conf
} }
remove_pam_config() { remove_pam_config() {

View File

@@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
# Display a "Done!" message with a spinner and wait for user to press any key.
# Used by various install scripts to indicate completion.
echo echo
gum spin --spinner "globe" --title "Done! Press any key to close..." -- bash -c 'read -t 7 -n 1 -s' gum spin --spinner "globe" --title "Done! Press any key to close..." -- bash -c 'read -n 1 -s'

View File

@@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
# Display the Omarchy logo in the terminal using green color.
# Used by various presentation scripts to show branding.
clear clear
echo -e "\033[32m" echo -e "\033[32m"
cat <~/.local/share/omarchy/logo.txt cat <~/.local/share/omarchy/logo.txt

View File

@@ -31,4 +31,6 @@ create)
restore) restore)
sudo limine-snapper-restore sudo limine-snapper-restore
;; ;;
delete)
sudo snapper -c "$config" delete 0
esac esac

View File

@@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# Manage persistent state files for Omarchy toggles and settings.
# Usage: omarchy-state <set|clear> <state-name-or-pattern>
# Used to track whether features like suspend, idle lock, etc are enabled or disabled.
STATE_DIR="$HOME/.local/state/omarchy" STATE_DIR="$HOME/.local/state/omarchy"
mkdir -p "$STATE_DIR" mkdir -p "$STATE_DIR"

9
bin/omarchy-theme-refresh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Refresh the current theme from its templates.
THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name"
if [[ -f $THEME_NAME_PATH ]]; then
omarchy-theme-set "$(cat $THEME_NAME_PATH)"
fi

View File

@@ -57,6 +57,7 @@ omarchy-theme-set-gnome
omarchy-theme-set-browser omarchy-theme-set-browser
omarchy-theme-set-vscode omarchy-theme-set-vscode
omarchy-theme-set-obsidian omarchy-theme-set-obsidian
omarchy-theme-set-asusctl
# Call hook on theme set # Call hook on theme set
omarchy-hook theme-set "$THEME_NAME" omarchy-hook theme-set "$THEME_NAME"

7
bin/omarchy-theme-set-asusctl Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
ASUSCTL_THEME=~/.config/omarchy/current/theme/asusctl.rgb
if omarchy-cmd-present asusctl; then
asusctl aura effect static -c $(sed 's/^#//' $ASUSCTL_THEME)
fi

36
bin/omarchy-tui-remove-all Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Remove all TUIs installed via omarchy-tui-install.
# Identifies TUIs by their Exec pattern (xdg-terminal-exec --app-id=TUI.).
set -e
APP_DIR="${1:-$HOME/.local/share/applications}"
ICON_DIR="$HOME/.local/share/applications/icons"
echo "Scanning for TUIs in $APP_DIR..."
tui_desktop_files=()
while IFS= read -r -d '' file; do
if grep -q "Exec=xdg-terminal-exec --app-id=TUI\." "$file" 2>/dev/null; then
tui_desktop_files+=("$file")
fi
done < <(find "$APP_DIR" -maxdepth 1 -name "*.desktop" -print0 2>/dev/null)
if [[ ${#tui_desktop_files[@]} -eq 0 ]]; then
echo "No TUIs found."
exit 0
fi
for file in "${tui_desktop_files[@]}"; do
app_name=$(basename "$file" .desktop)
echo "Removing TUI: $app_name"
rm -f "$file"
rm -f "$ICON_DIR/$app_name.png"
done
if command -v update-desktop-database &>/dev/null; then
update-desktop-database "$APP_DIR" &>/dev/null || true
fi
echo "TUIs removed successfully."

View File

@@ -2,7 +2,7 @@
set -e set -e
trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m";omarchy-snapshot delete' ERR
if [[ $1 == "-y" ]] || omarchy-update-confirm; then if [[ $1 == "-y" ]] || omarchy-update-confirm; then
omarchy-snapshot create || [ $? -eq 127 ] omarchy-snapshot create || [ $? -eq 127 ]

View File

@@ -4,7 +4,7 @@
if pacman -Qem >/dev/null; then if pacman -Qem >/dev/null; then
if omarchy-pkg-aur-accessible; then if omarchy-pkg-aur-accessible; then
echo -e "\e[32m\nUpdate AUR packages\e[0m" echo -e "\e[32m\nUpdate AUR packages\e[0m"
yay -Sua --noconfirm --ignore gcc14,gcc14-libs yay -Sua --noconfirm --cleanafter --ignore gcc14,gcc14-libs
echo echo
else else
echo -e "\e[31m\nAUR is unavailable (so skipping updates)\e[0m" echo -e "\e[31m\nAUR is unavailable (so skipping updates)\e[0m"

View File

@@ -7,5 +7,5 @@ if omarchy-cmd-missing fwupdmgr; then
omarchy-pkg-add fwupd omarchy-pkg-add fwupd
fi fi
fwupdmgr refresh fwupdmgr refresh --force
sudo fwupdmgr update sudo fwupdmgr update

36
bin/omarchy-webapp-remove-all Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Remove all web apps installed via omarchy-webapp-install.
# Identifies web apps by their Exec pattern (omarchy-launch-webapp or omarchy-webapp-handler).
set -e
APP_DIR="${1:-$HOME/.local/share/applications}"
ICON_DIR="$HOME/.local/share/applications/icons"
echo "Scanning for web apps in $APP_DIR..."
webapp_desktop_files=()
while IFS= read -r -d '' file; do
if grep -q "Exec=omarchy-launch-webapp\|Exec=omarchy-webapp-handler" "$file" 2>/dev/null; then
webapp_desktop_files+=("$file")
fi
done < <(find "$APP_DIR" -maxdepth 1 -name "*.desktop" -print0 2>/dev/null)
if [[ ${#webapp_desktop_files[@]} -eq 0 ]]; then
echo "No web apps found."
exit 0
fi
for file in "${webapp_desktop_files[@]}"; do
app_name=$(basename "$file" .desktop)
echo "Removing web app: $app_name"
rm -f "$file"
rm -f "$ICON_DIR/$app_name.png"
done
if command -v update-desktop-database &>/dev/null; then
update-desktop-database "$APP_DIR" &>/dev/null || true
fi
echo "Web apps removed successfully."

View File

@@ -185,6 +185,8 @@ services:
DISK_SIZE: "$SELECTED_DISK" DISK_SIZE: "$SELECTED_DISK"
USERNAME: "$USERNAME" USERNAME: "$USERNAME"
PASSWORD: "$PASSWORD" PASSWORD: "$PASSWORD"
TZ: "$(timedatectl show -p Timezone --value 2>/dev/null || echo UTC)"
ARGUMENTS: "-rtc base=localtime,clock=host,driftfix=slew"
devices: devices:
- /dev/kvm - /dev/kvm
- /dev/net/tun - /dev/net/tun
@@ -240,6 +242,11 @@ EOF
} }
remove_windows() { remove_windows() {
if ! gum confirm --default=false "Remove Windows VM and delete all associated data?"; then
echo "Removal cancelled by user"
exit 1
fi
echo "Removing Windows VM..." echo "Removing Windows VM..."
docker-compose -f "$COMPOSE_FILE" down 2>/dev/null || true docker-compose -f "$COMPOSE_FILE" down 2>/dev/null || true

View File

@@ -32,3 +32,6 @@ keybind = super+control+shift+alt+arrow_right=resize_split:right,100
# Slowdown mouse scrolling # Slowdown mouse scrolling
mouse-scroll-multiplier = 0.95 mouse-scroll-multiplier = 0.95
# Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224)
async-backend = epoll

View File

@@ -1,5 +1,6 @@
# Application bindings # Application bindings
bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)"
bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser
bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window
bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)" bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)"
bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser
@@ -24,6 +25,9 @@ bindd = SUPER SHIFT, P, Google Photos, exec, omarchy-launch-or-focus-webapp "Goo
bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/" bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/"
bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post" bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post"
# Add extra bindings
# bind = SUPER SHIFT, R, exec, alacritty -e ssh your-server
# Overwrite existing bindings, like putting Omarchy Menu on Super + Space # Overwrite existing bindings, like putting Omarchy Menu on Super + Space
# unbind = SUPER, SPACE # unbind = SUPER, SPACE
# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu # bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu

View File

@@ -39,5 +39,5 @@ input-field {
} }
auth { auth {
fingerprint:enabled = true fingerprint:enabled = false
} }

View File

@@ -1,4 +1,4 @@
[server] [server]
show_percentage = true show_percentage = true
max_volume = 100 max_volume = 100
style = "./style.css" style = "~/.config/swayosd/style.css"

67
config/tmux/tmux.conf Normal file
View File

@@ -0,0 +1,67 @@
# Prefix
set -g prefix C-Space
set -g prefix2 C-b
bind C-Space send-prefix
# General
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",*:RGB"
set -g mouse on
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on
set -g history-limit 50000
set -g escape-time 0
set -g focus-events on
set -g set-clipboard on
setw -g aggressive-resize on
set -g detach-on-destroy off
# Status bar
set -g status-position top
set -g status-interval 5
set -g status-left-length 30
set -g status-right-length 50
set -g window-status-separator ""
# Theme
set -g status-style "bg=default,fg=default"
set -g status-left "#[fg=black,bg=blue,bold] #S #[bg=default] "
set -g status-right "#[fg=blue]#{?client_prefix,PREFIX ,}#[fg=brightblack]#h "
set -g window-status-format "#[fg=brightblack] #I:#W "
set -g window-status-current-format "#[fg=blue,bold] #I:#W "
set -g pane-border-style "fg=brightblack"
set -g pane-active-border-style "fg=blue"
set -g message-style "bg=default,fg=blue"
set -g message-command-style "bg=default,fg=blue"
set -g mode-style "bg=blue,fg=black"
setw -g clock-mode-colour blue
# Reload config
bind M-r source-file ~/.config/tmux/tmux.conf
# Rename window / session
bind r command-prompt -I "#W" "rename-window -- '%%'"
bind R command-prompt -I "#S" "rename-session -- '%%'"
# Vi mode for copy
setw -g mode-keys vi
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-selection-and-cancel
# Pane resizing
bind -r S-Left resize-pane -L 1
bind -r S-Down resize-pane -D 1
bind -r S-Up resize-pane -U 1
bind -r S-Right resize-pane -R 1
# Saner splits that open in the same directory
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# New windows in same directory
bind c new-window -c "#{pane_current_path}"
# Sessions
bind C new-session
bind X kill-session

View File

@@ -0,0 +1,5 @@
# overwrites default wiremix configuration
# defaults: https://github.com/tsowell/wiremix/blob/main/wiremix.toml
[char_sets.default]
default_device = "⮞"

View File

@@ -34,6 +34,7 @@ alias ....='cd ../../..'
alias c='opencode' alias c='opencode'
alias d='docker' alias d='docker'
alias r='rails' alias r='rails'
alias t='tmux attach || tmux new -s Work'
n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; } n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
# Git # Git

View File

@@ -87,3 +87,24 @@ img2png() {
-define png:exclude-chunk=all \ -define png:exclude-chunk=all \
"${img%.*}-optimized.png" "${img%.*}-optimized.png"
} }
# SSH Port Forwarding Functions
fip() {
[[ $# -lt 2 ]] && echo "Usage: fip <host> <port1> [port2] ..." && return 1
local host="$1"
shift
for port in "$@"; do
ssh -f -N -L "$port:localhost:$port" "$host" && echo "Forwarding localhost:$port -> $host:$port"
done
}
dip() {
[[ $# -eq 0 ]] && echo "Usage: dip <port1> [port2] ..." && return 1
for port in "$@"; do
pkill -f "ssh.*-L $port:localhost:$port" && echo "Stopped forwarding port $port" || echo "No forwarding on port $port"
done
}
lip() {
pgrep -af "ssh.*-L [0-9]+:localhost:[0-9]+" || echo "No active forwards"
}

View File

@@ -3,6 +3,9 @@ if command -v mise &> /dev/null; then
fi fi
if command -v starship &> /dev/null; then if command -v starship &> /dev/null; then
# clear stale readline state before rendering prompt (prevents artifacts in prompt after abnormal exits like SIGQUIT)
__sanitize_prompt() { printf '\r\033[K'; }
PROMPT_COMMAND="__sanitize_prompt${PROMPT_COMMAND:+;$PROMPT_COMMAND}"
eval "$(starship init bash)" eval "$(starship init bash)"
fi fi

View File

@@ -9,3 +9,4 @@ source ~/.local/share/omarchy/default/bash/rc
# #
# Make an alias for invoking commands you use constantly # Make an alias for invoking commands you use constantly
# alias p='python' # alias p='python'
# alias cx="claude --permission-mode=plan --allow-dangerously-skip-permissions"

View File

@@ -1,13 +1,16 @@
# Browser types # Browser types
windowrule = tag +chromium-based-browser, match:class ((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium) windowrule = tag +chromium-based-browser, match:class ((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium)
windowrule = tag +firefox-based-browser, match:class ([fF]irefox|zen|librewolf) windowrule = tag +firefox-based-browser, match:class ([fF]irefox|zen|librewolf)
windowrule = tag -default-opacity, match:tag chromium-based-browser
windowrule = tag -default-opacity, match:tag firefox-based-browser
# Video apps: remove chromium browser tag so they don't get opacity applied
windowrule = tag -chromium-based-browser, match:class (chrome-youtube.com__-Default|chrome-app.zoom.us__wc_home-Default)
windowrule = tag -default-opacity, match:class (chrome-youtube.com__-Default|chrome-app.zoom.us__wc_home-Default)
# Force chromium-based browsers into a tile to deal with --app bug # Force chromium-based browsers into a tile to deal with --app bug
windowrule = tile on, match:tag chromium-based-browser windowrule = tile on, match:tag chromium-based-browser
# Only a subtle opacity change, but not for video sites # Only a subtle opacity change, but not for video sites
windowrule = opacity 1 0.97, match:tag chromium-based-browser windowrule = opacity 1.0 0.97, match:tag chromium-based-browser
windowrule = opacity 1 0.97, match:tag firefox-based-browser windowrule = opacity 1.0 0.97, match:tag firefox-based-browser
# Some video sites should never have opacity applied to them
windowrule = opacity 1.0 1.0, match:initial_title ((?i)(?:[a-z0-9-]+\.)*youtube\.com_/|app\.zoom\.us_/wc/home)

View File

@@ -1,5 +1,6 @@
# Picture-in-picture overlays # Picture-in-picture overlays
windowrule = tag +pip, match:title (Picture.?in.?[Pp]icture) windowrule = tag +pip, match:title (Picture.?in.?[Pp]icture)
windowrule = tag -default-opacity, match:tag pip
windowrule = float on, match:tag pip windowrule = float on, match:tag pip
windowrule = pin on, match:tag pip windowrule = pin on, match:tag pip
windowrule = size 600 338, match:tag pip windowrule = size 600 338, match:tag pip

View File

@@ -1 +1,2 @@
windowrule = tag -default-opacity, match:class qemu
windowrule = opacity 1 1, match:class qemu windowrule = opacity 1 1, match:class qemu

View File

@@ -1,3 +1,4 @@
windowrule = fullscreen on, match:class com.libretro.RetroArch windowrule = fullscreen on, match:class com.libretro.RetroArch
windowrule = tag -default-opacity, match:class com.libretro.RetroArch
windowrule = opacity 1 1, match:class com.libretro.RetroArch windowrule = opacity 1 1, match:class com.libretro.RetroArch
windowrule = idle_inhibit fullscreen, match:class com.libretro.RetroArch windowrule = idle_inhibit fullscreen, match:class com.libretro.RetroArch

View File

@@ -1,6 +1,7 @@
# Float Steam # Float Steam
windowrule = float on, match:class steam windowrule = float on, match:class steam
windowrule = center on, match:class steam, match:title Steam windowrule = center on, match:class steam, match:title Steam
windowrule = tag -default-opacity, match:class steam.*
windowrule = opacity 1 1, match:class steam.* windowrule = opacity 1 1, match:class steam.*
windowrule = size 1100 700, match:class steam, match:title Steam windowrule = size 1100 700, match:class steam, match:title Steam
windowrule = size 460 800, match:class steam, match:title Friends List windowrule = size 460 800, match:class steam, match:title Friends List

View File

@@ -12,6 +12,7 @@ windowrule = fullscreen on, match:class org.omarchy.screensaver
windowrule = float on, match:class org.omarchy.screensaver windowrule = float on, match:class org.omarchy.screensaver
# No transparency on media windows # No transparency on media windows
windowrule = tag -default-opacity, match:class ^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
windowrule = opacity 1 1, match:class ^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$ windowrule = opacity 1 1, match:class ^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$
# Popped window rounding # Popped window rounding

View File

@@ -1,2 +1,4 @@
# Define terminal tag to style them uniformly # Define terminal tag to style them uniformly
windowrule = tag +terminal, match:class (Alacritty|kitty|com.mitchellh.ghostty) windowrule = tag +terminal, match:class (Alacritty|kitty|com.mitchellh.ghostty)
windowrule = tag -default-opacity, match:tag terminal
windowrule = opacity 0.97 0.9, match:tag terminal

View File

@@ -3,3 +3,8 @@ bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert,
bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert, bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert,
bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X, bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X,
bindd = SUPER CTRL, V, Clipboard manager, exec, omarchy-launch-walker -m clipboard bindd = SUPER CTRL, V, Clipboard manager, exec, omarchy-launch-walker -m clipboard
# Nautilus compatibility
bindd = SUPER, C, Nautilus Copy, sendshortcut, CTRL,c, active, class:^(org.gnome.Nautilus)$
bindd = SUPER, V, Nautilus Paste, sendshortcut, CTRL,v, active, class:^(org.gnome.Nautilus)$
bindd = SUPER, X, Nautilus Cut, sendshortcut, CTRL,x, active, class:^(org.gnome.Nautilus)$

View File

@@ -140,5 +140,5 @@ binds {
env = GUM_CONFIRM_PROMPT_FOREGROUND,6 # Cyan env = GUM_CONFIRM_PROMPT_FOREGROUND,6 # Cyan
env = GUM_CONFIRM_SELECTED_FOREGROUND,0 # Black env = GUM_CONFIRM_SELECTED_FOREGROUND,0 # Black
env = GUM_CONFIRM_SELECTED_BACKGROUND,2 # Green env = GUM_CONFIRM_SELECTED_BACKGROUND,2 # Green
env = GUM_CONFIRM_UNSELECTED_FOREGROUND,0 # Black env = GUM_CONFIRM_UNSELECTED_FOREGROUND,7 # White
env = GUM_CONFIRM_UNSELECTED_BACKGROUND,8 # Dark grey env = GUM_CONFIRM_UNSELECTED_BACKGROUND,8 # Dark grey

View File

@@ -2,11 +2,14 @@
# Hyprland 0.53+ syntax # Hyprland 0.53+ syntax
windowrule = suppress_event maximize, match:class .* windowrule = suppress_event maximize, match:class .*
# Just dash of opacity by default # Tag all windows for default opacity (apps can override with -default-opacity tag)
windowrule = opacity 0.97 0.9, match:class .* windowrule = tag +default-opacity, match:class .*
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrule = no_focus on, match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0 windowrule = no_focus on, match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0
# App-specific tweaks # App-specific tweaks (may remove default-opacity tag)
source = ~/.local/share/omarchy/default/hypr/apps.conf source = ~/.local/share/omarchy/default/hypr/apps.conf
# Apply default opacity after apps have had a chance to opt out
windowrule = opacity 0.97 0.9, match:tag default-opacity

View File

@@ -0,0 +1,2 @@
[Manager]
DefaultTimeoutStopSec=5s

View File

@@ -1,3 +0,0 @@
[Sleep]
HibernateDelaySec=30min
HibernateOnACPower=no

View File

@@ -1,2 +0,0 @@
[Login]
HandleLidSwitch=suspend-then-hibernate

0
default/systemd/system-sleep/force-igpu Executable file → Normal file
View File

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Turn off keyboard backlight before hibernate to prevent hang on power-off.
# The ASUS keyboard controller can block S4 shutdown if LEDs are active.
if [[ $1 == "pre" && $2 == "hibernate" ]]; then
device=""
for candidate in /sys/class/leds/*kbd_backlight*; do
if [[ -e "$candidate" ]]; then
device="$(basename "$candidate")"
break
fi
done
if [[ -n "$device" ]]; then
brightnessctl -d "$device" set 0 >/dev/null 2>&1
fi
fi

View File

@@ -0,0 +1 @@
{{ accent }}

View File

@@ -0,0 +1,3 @@
[Service]
Restart=always
RestartSec=2

View File

@@ -20,6 +20,7 @@ run_logged $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh
run_logged $OMARCHY_INSTALL/config/input-group.sh run_logged $OMARCHY_INSTALL/config/input-group.sh
run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh
run_logged $OMARCHY_INSTALL/config/powerprofilesctl-rules.sh run_logged $OMARCHY_INSTALL/config/powerprofilesctl-rules.sh
run_logged $OMARCHY_INSTALL/config/hibernation.sh
run_logged $OMARCHY_INSTALL/config/hardware/network.sh run_logged $OMARCHY_INSTALL/config/hardware/network.sh
run_logged $OMARCHY_INSTALL/config/hardware/set-wireless-regdom.sh run_logged $OMARCHY_INSTALL/config/hardware/set-wireless-regdom.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-fkeys.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-fkeys.sh
@@ -37,3 +38,5 @@ run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-surface-keyboard.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-surface-keyboard.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-asus-rog-audio-mixer.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-asus-rog-audio-mixer.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-asus-rog-mic.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-asus-rog-mic.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-yt6801-ethernet-adapter.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-synaptic-touchpad.sh

View File

@@ -1,7 +1,3 @@
sudo mkdir -p /etc/systemd/system.conf.d 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
cat <<EOF | sudo tee /etc/systemd/system.conf.d/10-faster-shutdown.conf
[Manager]
DefaultTimeoutStopSec=5s
EOF
sudo systemctl daemon-reload sudo systemctl daemon-reload

View File

@@ -1,8 +1,6 @@
# Fix audio volume on Asus ROG laptops by using a soft mixer. # Fix audio volume on Asus ROG laptops by using a soft mixer.
if [[ "$(cat /sys/class/dmi/id/sys_vendor 2>/dev/null)" == "ASUSTeK COMPUTER INC." ]] && if omarchy-hw-asus-rog; then
grep -q "ROG" /sys/class/dmi/id/product_family 2>/dev/null; then
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
cp $OMARCHY_PATH/default/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf ~/.config/wireplumber/wireplumber.conf.d/ cp $OMARCHY_PATH/default/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf ~/.config/wireplumber/wireplumber.conf.d/
rm -rf ~/.local/state/wireplumber/default-routes rm -rf ~/.local/state/wireplumber/default-routes

View File

@@ -2,9 +2,7 @@
# The mic boost is way too high by default, causing clipping. # The mic boost is way too high by default, causing clipping.
# Sets levels and stores ALSA state so it persists across reboots. # Sets levels and stores ALSA state so it persists across reboots.
if [[ "$(cat /sys/class/dmi/id/sys_vendor 2>/dev/null)" == "ASUSTeK COMPUTER INC." ]] && if omarchy-hw-asus-rog; then
grep -q "ROG" /sys/class/dmi/id/product_family 2>/dev/null; then
for card in /proc/asound/card*/codec*; do for card in /proc/asound/card*/codec*; do
if grep -q "ALC285" "$card" 2>/dev/null; then if grep -q "ALC285" "$card" 2>/dev/null; then
cardnum=$(echo "$card" | grep -oP 'card\K\d+') cardnum=$(echo "$card" | grep -oP 'card\K\d+')

View File

@@ -0,0 +1,6 @@
# Enable Synaptics InterTouch for confirmed touchpads if not already loaded
if grep -qi synaptics /proc/bus/input/devices \
&& ! lsmod | grep -q '^psmouse'; then
modprobe psmouse synaptics_intertouch=1
fi

View File

@@ -0,0 +1,4 @@
# Install drivers for Motorcomm YT6801 ethernet adapter used by the Slimbook Executive
if lspci | grep -i "YT6801\|Motorcomm.*Ethernet"; then
omarchy-pkg-add linux-headers yt6801-dkms
fi

View File

@@ -4,12 +4,14 @@ if [ -n "$NVIDIA" ]; then
# Check which kernel is installed and set appropriate headers package # Check which kernel is installed and set appropriate headers package
KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers" KERNEL_HEADERS="$(pacman -Qqs '^linux(-zen|-lts|-hardened)?$' | head -1)-headers"
if echo "$NVIDIA" | grep -qE "RTX [2-9][0-9]|GTX 16"; then # Turing+ (GTX 16xx, RTX 20xx-50xx, Quadro RTX, datacenter A/H/T/L series) have GSP firmware
# Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules if echo "$NVIDIA" | grep -qE "GTX 16[0-9]{2}|RTX [2-5][0-9]{3}|Quadro RTX|RTX A[0-9]{4}|A[1-9][0-9]{2}|H[1-9][0-9]{2}|T4|L[0-9]+"; then
PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver) PACKAGES=(nvidia-open-dkms nvidia-utils lib32-nvidia-utils libva-nvidia-driver)
elif echo "$NVIDIA" | grep -qE "GTX 9|GTX 10|Quadro P|MX1|MX2|MX3"; then GPU_ARCH="turing_plus"
# Pascal (10xx, Quadro Pxxx, MX150, MX2xx, and MX3xx) and Maxwell (9xx, MX110, and MX130) use legacy branch that can only be installed from AUR # Maxwell (GTX 9xx), Pascal (GT/GTX 10xx, Quadro P, MX series), Volta (Titan V, Tesla V100, Quadro GV100) lack GSP
elif echo "$NVIDIA" | grep -qE "GTX (9[0-9]{2}|10[0-9]{2})|GT 10[0-9]{2}|Quadro [PM][0-9]{3,4}|Quadro GV100|MX *[0-9]+|Titan (X|Xp|V)|Tesla V100"; then
PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils) PACKAGES=(nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils)
GPU_ARCH="maxwell_pascal_volta"
fi fi
# Bail if no supported GPU # Bail if no supported GPU
if [ -z "${PACKAGES+x}" ]; then if [ -z "${PACKAGES+x}" ]; then
@@ -29,12 +31,23 @@ EOF
MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
EOF EOF
# Add NVIDIA environment variables # Add NVIDIA environment variables based on GPU architecture
cat >>$HOME/.config/hypr/envs.conf <<'EOF' if [ "$GPU_ARCH" = "turing_plus" ]; then
# Turing+ (RTX 20xx, GTX 16xx, and newer) with GSP firmware support
cat >>"$HOME/.config/hypr/envs.conf" <<'EOF'
# NVIDIA # NVIDIA (Turing+ with GSP firmware)
env = NVD_BACKEND,direct env = NVD_BACKEND,direct
env = LIBVA_DRIVER_NAME,nvidia env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia
EOF EOF
elif [ "$GPU_ARCH" = "maxwell_pascal_volta" ]; then
# Maxwell/Pascal/Volta (GTX 9xx/10xx, GT 10xx, Quadro P/M/GV, MX series, Titan X/Xp/V) lack GSP firmware
cat >>"$HOME/.config/hypr/envs.conf" <<'EOF'
# NVIDIA (Maxwell/Pascal/Volta without GSP firmware)
env = NVD_BACKEND,egl
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
EOF
fi
fi fi

View File

@@ -0,0 +1,2 @@
# Enable hibernation
omarchy-hibernation-setup --force

12
install/config/powerprofilesctl-rules.sh Executable file → Normal file
View File

@@ -1,19 +1,15 @@
if omarchy-battery-present; then if omarchy-battery-present; then
mapfile -t profiles < <(omarchy-powerprofiles-list) mapfile -t profiles < <(omarchy-powerprofiles-list)
if [[ ${#profiles[@]} -gt 0 ]]; then if [[ ${#profiles[@]} -gt 1 ]]; then
# Default AC profile: # Default AC profile:
# 3 profiles → performance # 3 profiles → performance
# 2 profiles → balanced # 2 profiles → balanced
# 1 profile → profiles[0] ac_profile="${profiles[2]:-${profiles[1]}}"
ac_profile="${profiles[2]:-${profiles[1]:-${profiles[0]}}}"
# Default Battery profile: # Default Battery profile (balanced)
# 3 profiles → balanced battery_profile="${profiles[1]}"
# 2 profiles → balanced
# 1 profile → profiles[0]
battery_profile="${profiles[1]:-${profiles[0]}}"
cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules" cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules"
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/bin/powerprofilesctl set $battery_profile" SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/bin/powerprofilesctl set $battery_profile"

View File

@@ -4,6 +4,10 @@
mkdir -p ~/.config/autostart/ mkdir -p ~/.config/autostart/
cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/ cp $OMARCHY_PATH/default/walker/walker.desktop ~/.config/autostart/
# And is restarted if it crashes or is killed
mkdir -p ~/.config/systemd/user/app-walker@autostart.service.d/
cp $OMARCHY_PATH/default/walker/restart.conf ~/.config/systemd/user/app-walker@autostart.service.d/restart.conf
# Create pacman hook to restart walker after updates # Create pacman hook to restart walker after updates
sudo mkdir -p /etc/pacman.d/hooks sudo mkdir -p /etc/pacman.d/hooks
sudo tee /etc/pacman.d/hooks/walker-restart.hook > /dev/null << EOF sudo tee /etc/pacman.d/hooks/walker-restart.hook > /dev/null << EOF

View File

@@ -120,6 +120,7 @@ swayosd
system-config-printer system-config-printer
tldr tldr
tree-sitter-cli tree-sitter-cli
tmux
tobi-try tobi-try
ttf-cascadia-mono-nerd ttf-cascadia-mono-nerd
ttf-ia-writer ttf-ia-writer

View File

@@ -2,6 +2,7 @@
# Utilized by ISO builder to ensure package availability in the ISO # Utilized by ISO builder to ensure package availability in the ISO
autoconf-archive autoconf-archive
asusctl
base base
base-devel base-devel
broadcom-wl broadcom-wl
@@ -44,6 +45,7 @@ snapper
webp-pixbuf-loader webp-pixbuf-loader
wget wget
yay-debug yay-debug
yt6801-dkms
zram-generator zram-generator
# T2 MacBook support packages # T2 MacBook support packages

View File

@@ -4,3 +4,4 @@ run_logged $OMARCHY_INSTALL/packaging/nvim.sh
run_logged $OMARCHY_INSTALL/packaging/icons.sh run_logged $OMARCHY_INSTALL/packaging/icons.sh
run_logged $OMARCHY_INSTALL/packaging/webapps.sh run_logged $OMARCHY_INSTALL/packaging/webapps.sh
run_logged $OMARCHY_INSTALL/packaging/tuis.sh run_logged $OMARCHY_INSTALL/packaging/tuis.sh
run_logged $OMARCHY_INSTALL/packaging/asus-rog.sh

View File

@@ -0,0 +1,3 @@
if omarchy-hw-asus-rog; then
omarchy-pkg-add asusctl
fi

0
migrations/1768270644.sh Executable file → Normal file
View File

View File

@@ -3,7 +3,6 @@ echo "Fix microphone gain and audio mixing on Asus ROG laptops"
source "$OMARCHY_PATH/install/config/hardware/fix-asus-rog-mic.sh" source "$OMARCHY_PATH/install/config/hardware/fix-asus-rog-mic.sh"
source "$OMARCHY_PATH/install/config/hardware/fix-asus-rog-audio-mixer.sh" source "$OMARCHY_PATH/install/config/hardware/fix-asus-rog-audio-mixer.sh"
if [[ "$(cat /sys/class/dmi/id/sys_vendor 2>/dev/null)" == "ASUSTeK COMPUTER INC." ]] && if omarchy-hw-asus-rog; then
grep -q "ROG" /sys/class/dmi/id/product_family 2>/dev/null; then
omarchy-restart-pipewire omarchy-restart-pipewire
fi fi

0
migrations/1769566732.sh Executable file → Normal file
View File

6
migrations/1769964367.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Improve audio controls icon for default selection"
if [[ ! -f ~/.config/wiremix/wiremix.toml ]]; then
mkdir -p ~/.config/wiremix
cp -f $OMARCHY_PATH/config/wiremix/wiremix.toml ~/.config/wiremix/
fi

32
migrations/1770159912.sh Normal file
View File

@@ -0,0 +1,32 @@
echo "Fix NVIDIA environment variables for Maxwell/Pascal/Volta GPUs"
# Detect if user has Maxwell/Pascal/Volta GPU (pre-Turing cards without GSP firmware)
# Maxwell (GTX 9xx), Pascal (GT/GTX 10xx, Quadro P, MX series), Volta (Titan V, Tesla V100, Quadro GV100)
NVIDIA="$(lspci | grep -i 'nvidia')"
if echo "$NVIDIA" | grep -qE "GTX (9[0-9]{2}|10[0-9]{2})|GT 10[0-9]{2}|Quadro [PM][0-9]{3,4}|Quadro GV100|MX *[0-9]+|Titan (X|Xp|V)|Tesla V100"; then
ENVS_CONF="$HOME/.config/hypr/envs.conf"
if [ -f "$ENVS_CONF" ]; then
# Check if file contains problematic variables
if grep -qE "env = (NVD_BACKEND,direct|LIBVA_DRIVER_NAME,nvidia)" "$ENVS_CONF"; then
echo "Removing incompatible NVIDIA environment variables for legacy GPU..."
# Create backup
cp "$ENVS_CONF" "$ENVS_CONF.bak.$(date +%s)"
# Remove all NVIDIA env lines and section headers (we re-add the correct ones below)
sed -i '/^env = \(NVD_BACKEND\|LIBVA_DRIVER_NAME\|__GLX_VENDOR_LIBRARY_NAME\),/d; /^# NVIDIA/d' "$ENVS_CONF"
# Add correct environment variables for legacy GPUs
cat >>"$ENVS_CONF" <<'EOF'
# NVIDIA (Maxwell/Pascal/Volta without GSP firmware)
env = NVD_BACKEND,egl
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
EOF
echo "NVIDIA environment variables updated. A backup was saved to $ENVS_CONF.bak.*"
echo "Please restart Hyprland for changes to take effect."
fi
fi
fi

5
migrations/1770372978.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Disable fingerprint in hyprlock if fingerprint auth is not configured"
if omarchy-cmd-missing fprintd-list || ! fprintd-list "$USER" 2>/dev/null | grep -q "finger"; then
sed -i 's/fingerprint:enabled = .*/fingerprint:enabled = false/' ~/.config/hypr/hyprlock.conf
fi

5
migrations/1770375655.sh Normal file
View File

@@ -0,0 +1,5 @@
echo "Add Super+Shift+Return binding for browser"
if [[ -f ~/.config/hypr/bindings.conf ]] && ! grep -q "SUPER SHIFT, RETURN.*Browser" ~/.config/hypr/bindings.conf; then
sed -i '/^bindd = SUPER, RETURN, Terminal/a bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser' ~/.config/hypr/bindings.conf
fi

6
migrations/1770375817.sh Normal file
View File

@@ -0,0 +1,6 @@
echo "Ensure walker service is restarted if it's killed or crashes"
mkdir -p ~/.config/systemd/user/app-walker@autostart.service.d/
cp $OMARCHY_PATH/default/walker/restart.conf ~/.config/systemd/user/app-walker@autostart.service.d/restart.conf
systemctl --user daemon-reload

7
migrations/1770393078.sh Normal file
View File

@@ -0,0 +1,7 @@
echo "Add async-backend = epoll to ghostty config to fix high IO pressure"
if [[ -f ~/.config/ghostty/config ]] && ! grep -q "^async-backend" ~/.config/ghostty/config; then
echo "" >> ~/.config/ghostty/config
echo "# Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224)" >> ~/.config/ghostty/config
echo "async-backend = epoll" >> ~/.config/ghostty/config
fi

9
migrations/1770638893.sh Normal file
View File

@@ -0,0 +1,9 @@
echo "Add Tmux as an option with themed styling"
omarchy-pkg-add tmux
if [[ ! -f ~/.config/tmux/tmux.conf ]]; then
mkdir -p ~/.config/tmux
cp $OMARCHY_PATH/config/tmux/tmux.conf ~/.config/tmux/tmux.conf
omarchy-theme-refresh
fi

View File

@@ -10,79 +10,3 @@ return {
}, },
}, },
} }
-- local function has_miasma_in_user_plugins()
-- local plugins_dir = vim.fn.expand("~/.config/nvim/lua/plugins")
-- if vim.fn.isdirectory(plugins_dir) ~= 1 then
-- return false
-- end
-- local plugin_files = vim.fn.glob(plugins_dir .. "/**/*.lua", true, true)
-- for _, file in ipairs(plugin_files) do
-- local ok, lines = pcall(vim.fn.readfile, file)
-- if ok then
-- for _, line in ipairs(lines) do
-- if line:find("xero/miasma.nvim", 1, true) then
-- return true
-- end
-- end
-- end
-- end
-- return false
-- end
--
-- if has_miasma_in_user_plugins() then
-- return {
-- {
-- "xero/miasma.nvim",
-- lazy = false,
-- priority = 1000,
-- config = function()
-- vim.cmd("colorscheme miasma")
-- end,
-- },
-- }
-- end
--
-- return {
-- {
-- "bjarneo/aether.nvim",
-- name = "aether",
-- priority = 1000,
-- opts = {
-- disable_italics = false,
-- colors = {
-- -- Monotone shades (base00-base07)
-- base00 = "#222222", -- Default background
-- base01 = "#666666", -- Lighter background (status bars)
-- base02 = "#e4c47a", -- Selection background
-- base03 = "#666666", -- Comments, invisibles
-- base04 = "#c2c2b0", -- Dark foreground
-- base05 = "#c2c2b0", -- Default foreground
-- base06 = "#d7c483", -- Light foreground
-- base07 = "#d7c483", -- Light background
--
-- -- Accent colors (base08-base0F)
-- base08 = "#685742", -- Variables, errors, red
-- base09 = "#685742", -- Integers, constants, orange
-- base0A = "#b36d43", -- Classes, types, yellow
-- base0B = "#5f875f", -- Strings, green
-- base0C = "#c9a554", -- Support, regex, cyan
-- base0D = "#78824b", -- Functions, keywords, blue
-- base0E = "#bb7744", -- Keywords, storage, magenta
-- base0F = "#b36d43", -- Deprecated, brown/yellow
-- },
-- },
-- config = function(_, opts)
-- require("aether").setup(opts)
-- vim.cmd.colorscheme("aether")
--
-- -- Enable hot reload
-- require("aether.hotreload").setup()
-- end,
-- },
-- {
-- "LazyVim/LazyVim",
-- opts = {
-- colorscheme = "aether",
-- },
-- },
-- }

View File

@@ -0,0 +1 @@
ff00ff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 KiB

View File

@@ -0,0 +1,70 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#0d0d0d"
# Main text color
theme[main_fg]="#ffffff"
# Title color for boxes
theme[title]="#9b9b9b"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#b0b0b0"
# Background color of selected item in processes box
theme[selected_bg]="#fdfdfd"
# Foreground color of selected item in processes box
theme[selected_fg]="#ffffff"
# Color of inactive/disabled text
theme[inactive_fg]="#fdfdfd"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#9b9b9b"
# Box outline and divider line color
theme[cpu_box]="#b6b6b6"
theme[mem_box]="#b6b6b6"
theme[net_box]="#b6b6b6"
theme[proc_box]="#b6b6b6"
theme[div_line]="#fdfdfd"
# Gradient for all meters and graphs
theme[temp_start]="#b0b0b0"
theme[temp_mid]="#8d8d8d"
theme[temp_end]="#b6b6b6"
theme[cpu_start]="#b0b0b0"
theme[cpu_mid]="#8d8d8d"
theme[cpu_end]="#b6b6b6"
theme[free_start]="#8d8d8d"
theme[free_mid]="#cecece"
theme[free_end]="#cecece"
theme[cached_start]="#cecece"
theme[cached_mid]="#cecece"
theme[cached_end]="#cecece"
theme[available_start]="#b0b0b0"
theme[available_mid]="#b0b0b0"
theme[available_end]="#b0b0b0"
theme[used_start]="#b6b6b6"
theme[used_mid]="#b6b6b6"
theme[used_end]="#b6b6b6"
theme[download_start]="#cecece"
theme[download_mid]="#b0b0b0"
theme[download_end]="#8d8d8d"
theme[upload_start]="#cecece"
theme[upload_mid]="#b0b0b0"
theme[upload_end]="#8d8d8d"

View File

@@ -0,0 +1,31 @@
# UI Colors (extended)
accent = "#8d8d8d"
cursor = "#ffffff"
# Primary colors
foreground = "#ffffff"
background = "#0d0d0d"
# Selection colors
selection_foreground = "#0d0d0d"
selection_background = "#ffffff"
# Normal colors (ANSI 0-7)
color0 = "#0d0d0d"
color1 = "#a4a4a4"
color2 = "#b6b6b6"
color3 = "#cecece"
color4 = "#8d8d8d"
color5 = "#9b9b9b"
color6 = "#b0b0b0"
color7 = "#ececec"
# Bright colors (ANSI 8-15)
color8 = "#fdfdfd"
color9 = "#a4a4a4"
color10 = "#b6b6b6"
color11 = "#cecece"
color12 = "#8d8d8d"
color13 = "#9b9b9b"
color14 = "#b0b0b0"
color15 = "#ffffff"

View File

@@ -0,0 +1 @@
Yaru-gray

View File

@@ -0,0 +1,12 @@
return {
{
"bjarneo/vantablack.nvim",
priority = 1000,
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "vantablack",
},
},
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 KiB

View File

@@ -0,0 +1,4 @@
{
"name": "Vantablack",
"extension": "Bjarne.vantablack-omarchy"
}