Compare commits

..

2013 Commits

Author SHA1 Message Date
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
David Heinemeier Hansson
d9c5df29d1 DRY 2026-01-31 21:58:29 +01:00
David Heinemeier Hansson
7c9708d647 Respect rc too 2026-01-31 21:52:09 +01:00
David Heinemeier Hansson
5a9f0318e8 Respect rc 2026-01-31 21:51:18 +01:00
David Heinemeier Hansson
ab4694e3f5 Introduce rc channel 2026-01-31 21:49:07 +01:00
David Heinemeier Hansson
bebf14a18c In order of appearance 2026-01-31 18:14:47 +01:00
Bhavesh Sooka
ff2a47c67e feat: allow overloading for the about menu action via the ~/.config/omarchy/extensions/menu.sh file. Example included (#4311)
Co-authored-by: Bhavesh Sooka <bhavesh@synthesis.co.za>
2026-01-31 18:14:25 +01:00
schwepmo
d9bd4a8db3 Open Nautilus in cwd of terminal (#4331)
* feat: Open Nautilus (files) in cwd of terminal using omarchy-cmd-termina-cwd

* feat: Add SUPER+ALT+SHIFT+F shortcut to open nautilus in cwd

* added migration script for nautilus keybind
2026-01-31 18:12:29 +01:00
Pierre Olivier Martel
8fc5b6e346 Add nautilus-python package for 'Open in Ghostty' shortcut in Nautilus (#4345) 2026-01-31 18:11:32 +01:00
nptr
7265c22728 Update opacity rule for Steam window class (#4386)
The steam class for opacity is missing the `.*` regular expression. Just `steam` does not match launched steam apps. Therefore, currently, steam apps have the default opacity of `0.97` of omarchy. This is usually not noticable, but very distracting on an OLED Screen and Games with dark/black scenes / menues and a brigher / any app opend 'behind' the game.
2026-01-31 18:06:11 +01:00
Stefan Gründel
32d187eab0 Add window rules for Bitwarden Chrome Extension (#4389) 2026-01-31 18:02:17 +01:00
David Heinemeier Hansson
c19fc1593a Just make a separate browser ready for the authentication
Seems like the entire problem was just that GFN didn't want to
authenticate against a browser process it had started itself.
2026-01-31 15:36:27 +01:00
David Heinemeier Hansson
7ffdfdbda9 Only idleinhibit
Fullscreen does not work well with authentication
2026-01-31 15:35:46 +01:00
David Heinemeier Hansson
161fa3f313 Fix up the installer 2026-01-31 14:37:16 +01:00
David Heinemeier Hansson
d6c28f317d Force fullscreen
Floating just makes it crash
2026-01-31 13:27:57 +01:00
David Heinemeier Hansson
4348ab6ef1 Let the done screen time out in 7 seconds 2026-01-31 12:43:34 +01:00
David Heinemeier Hansson
9d07cc884c Add installer and windowrule configuration for NVIDIA GeForce Now 2026-01-31 12:35:35 +01:00
David Heinemeier Hansson
ba31e3073c Ensure master volume isn't muted either 2026-01-30 19:02:51 +01:00
Ryan Hughes
2df5f231cb Add x11 fallback to SDL_VIDEODRIVER for compatibility 2026-01-30 12:46:13 -05:00
Pierre Olivier Martel
26afde34ff fix echo comment in powerprofile migration (#4388) 2026-01-30 12:25:39 +01:00
Nicolas Dorier
3b94207ba7 Fix: Jetbrains rules were not working properly anymore (#4150) 2026-01-30 11:51:33 +01:00
David Heinemeier Hansson
e567020e1b Use the new helper 2026-01-29 17:38:50 +01:00
Pierre Olivier Martel
f78f5b2c2c Automatically switch power profile when plugged in (balanced) and unplugged (power saver) (#4375)
* Set Power Profiles Rules when plugged in (balanced) and unplugged (power-saver)"

* Check for battery presence before installing power profile rules

* Add battery presence check script and update powerprofilesctl rules

* fix indentation

* Simplify power profile rule creation logic
2026-01-29 17:37:18 +01:00
Ryan Hughes
ec305459f8 Prevent Telegram from stealing focus on every message receipt 2026-01-29 10:24:25 -05:00
David Heinemeier Hansson
55231e9726 Add new Miasma theme
Original by OldJobobo
2026-01-29 11:42:07 +01:00
David Heinemeier Hansson
a8e0762fbe Open directories in file manager 2026-01-29 10:29:56 +01:00
David Heinemeier Hansson
bb91f90839 Merge branch 'master' into dev 2026-01-28 18:03:43 +01:00
David Heinemeier Hansson
a7995efac2 Ensure master is used instead of dev as a default 2026-01-28 17:14:17 +01:00
David Heinemeier Hansson
5b534de6a0 Rebooting is needed for hibernation to be available 2026-01-28 13:59:11 +01:00
David Heinemeier Hansson
4fe357972e We didn't get this working 2026-01-28 13:42:55 +01:00
David Heinemeier Hansson
7015601d77 No need to start on the first install 2026-01-28 13:24:39 +01:00
David Heinemeier Hansson
532f4310d0 Fix audio mixing on ROG in migration as well 2026-01-28 12:20:20 +01:00
David Heinemeier Hansson
56b02f62b5 Switch back to mainline chromium
We no longer need the fork, as the themeing is now fully natively
supported
2026-01-28 09:49:42 +01:00
Ryan Hughes
83628ab3bd Merge pull request #4314 from jmargeta/fix-legacy-mobile-nvidia-cards
Fix driver for older NVIDIA MXxxx mobile GPUs
2026-01-27 09:41:05 -05:00
mitanjan
d89614248b auto toggle scratchpad on switching workspace (#4250) 2026-01-27 11:47:27 +01:00
Manuel
77a57aa838 Add kb_variant to input.conf (#4330)
* add kb_variant to input.conf

* documentation + separation
2026-01-27 11:43:59 +01:00
Pierre Olivier Martel
e455d1bd68 Enable auto-pasting for the emoji picker (#4344)
* Enable auto-pasting for the emoji picker

* Excess CR

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-01-27 11:42:42 +01:00
James Robey
adfe182984 Use subshell for open() to avoid job control output (#4366)
If it is not run as a sub-shell, using open and then subsequently closing the app will pollute the existing terminal with messages like:
  [1] 287915
  [1]+  Done  xdg-open "$@" > /dev/null 2>&1

Making it a subshell removes this noise and keeps it more like the open command in macOS.
2026-01-27 11:34:16 +01:00
Dominik
febd18ce84 Replace yq with pure bash for TOML parsing (#4171)
* Replace yq with pure bash for TOML parsing

The yq-based parsing only worked with jq/yq v3 and broke with go-yq v4.
This change removes the yq and uses bash for parsing. Some additional improvments:
- Handles single and double quoted values
- Strips inline comments (e.g. "#hex" #comment)

* Remove the no-longer-needed yq packages

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-01-27 11:32:37 +01:00
Marco
768c553c4c Add missing icons to Development remove menus (#4339)
* Add missing icons to Development remove menus

The Install > Development menu shows icons for each language, but the
Remove > Development menu was missing them (only Ruby on Rails had its
icon). This adds the matching icons to:

- show_remove_development_menu
- show_remove_javascript_menu
- show_remove_php_menu
- show_remove_elixir_menu

---------

Co-authored-by: incpo <nixusnekit>
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2026-01-23 08:26:30 -05:00
David Heinemeier Hansson
bf99a2ddc0 Merge branch 'master' into dev 2026-01-23 08:25:43 -05:00
David Heinemeier Hansson
0930583526 Fix sourcing 2026-01-20 16:12:51 -04:00
David Heinemeier Hansson
4a6baafd05 Move all fixes for Asus ROGs to install time 2026-01-20 12:11:49 -04:00
David Heinemeier Hansson
c1bf6c4694 Fix the mic on Asus ROG laptops 2026-01-20 11:59:12 -04:00
David Heinemeier Hansson
66daacb30d Now available on OPR 2026-01-20 09:45:35 -04:00
Jan Margeta
5b2c0dafbf Fix drivers for older NVIDIA MXxxx mobile GPUs
Installs legacy drivers for older Pascal and Maxwell GPUs MXxx, MX2xx, MX3xx
2026-01-20 13:45:32 +01:00
David Heinemeier Hansson
988418aea1 Make purpose clearer 2026-01-20 08:16:03 -04:00
David Heinemeier Hansson
25451f4a03 Compensate for swayosd not liking a 0.00 progress meter 2026-01-19 17:55:38 -04:00
David Heinemeier Hansson
d884265d46 Add keyboard brightness controls 2026-01-19 17:53:19 -04:00
David Heinemeier Hansson
5e1ce16358 Centralize all brightness commands 2026-01-19 17:49:53 -04:00
David Heinemeier Hansson
713b6e3a36 Expose audio soft mixer as a tweak 2026-01-19 17:20:18 -04:00
David Heinemeier Hansson
2c7b283aef Toggle hybrid GPU mode via supergfxctl (#4277)
* Toggle hybrid GPU mode via supergfxctl

Very useful for Asus G14 and other laptops with NVIDIA + AMD iGPU
combos.

* Use correct exit

* Simplify

* Wording

* Revise switching process

* Spacing

* These are sudo actions

* Make it exe

* No need for extensions

Matches existing style

* Relying on the new config should be enough since we are restarting anyway

* Prevent race condition

* Reminder to add to OPR
2026-01-19 17:11:23 -04:00
David Heinemeier Hansson
4701726c83 Split out removing orphan packages as well
And make sure failed AUR update doesn't fail the update entirely
2026-01-19 12:21:06 -05:00
David Heinemeier Hansson
bfc3c69cf1 Update AUR packages after system pkgs + migrate
As AUR packages need local compiling and that might fail. Which
shouldn't prevent migrations from running.
2026-01-19 10:49:46 -05:00
David Heinemeier Hansson
21514dc577 Turn audio soft mixing into an opt-in toggle
It causes issues on some machines, but is required on the Asus G14
2026-01-17 14:43:59 -05:00
David Heinemeier Hansson
5ff76df5e4 Ensure default routes don't overwrite the ffix 2026-01-14 19:53:28 -05:00
David Heinemeier Hansson
bab0004d08 Fix volume controls on Asus G14 2026-01-14 17:40:53 -05:00
David Heinemeier Hansson
93079858f1 Extract shared swayosd helper 2026-01-14 17:21:10 -05:00
David Heinemeier Hansson
4287472e02 Simplify 2026-01-14 17:11:50 -05:00
David Heinemeier Hansson
291786d36a Set brightness in a more broadly compatible way
Fixes brightness setting on the Asus G14
2026-01-14 16:37:22 -05:00
Ryan Hughes
ed9a4a45ba Merge pull request #4247 from incpo/feat/webcam-source-selection
Add webcam source selection for screen recording
2026-01-13 18:31:44 -05:00
Pierre Olivier Martel
05b82cbee5 Add headset icon to pulseaudio module in waybar (#4244) 2026-01-13 11:28:04 +01:00
incpo
697d09022a Add webcam source selection for screen recording
- Add --webcam-device argument to omarchy-cmd-screenrecord
- Auto-detect first available webcam if none specified
- Add webcam selection UI in omarchy-menu when multiple cameras available
- Skip selection UI when only one webcam is detected
2026-01-13 12:48:00 +03:00
Yaroslav Yenkala
1ff31cfe41 Automatic fallback to Alacritty for legacy GPUs when install Omarchy (#3711)
* Use alacritty when legacy gpu when install omarchy

* Inline legacy GPU detection, install Alacritty only when needed
2026-01-12 12:24:16 +01:00
David Heinemeier Hansson
cd995319bf Add img2jpg-medium 2026-01-12 11:50:07 +01:00
David Heinemeier Hansson
281f0b86d2 Add new default wallpaper for Tokyo Night
Created by @Maxteabag
Closes #4221
2026-01-12 11:20:33 +01:00
David Heinemeier Hansson
55668f4c6d Use just a single capture menu instead 2026-01-12 10:59:55 +01:00
David Heinemeier Hansson
9c71962a16 Add Super + Ctrl + P (and friends) as alternative keybinds for captures on keyboards without a printscr key
Closes #4051
2026-01-12 10:57:04 +01:00
Ryan Hughes
7d77500c33 Eliminate rdp check causing black screen 2026-01-10 22:39:01 -05:00
Ryan Hughes
fb1d9ccfa3 Merge pull request #4217 from arcangelo7/fix/windows-vm-clipboard-sharing
Enable clipboard sharing for Windows VM
2026-01-10 22:38:54 -05:00
Ryan Hughes
2f75e9c7ec Merge pull request #3958 from felixzsh/fix-windows-vm-lauch-sleep
fix: dynamic Windows VM boot synchronization for RDP
2026-01-10 22:17:10 -05:00
felixzsh
b22ed8448a fix: dynamic windows-vm boot detection
The current 5-second sleep is not enough for all hardware. On my PC (and
likely many others), Windows takes longer to initialize. If the script
tries to connect via RDP before Windows is fully ready, the connection
fails or hangs.

I replaced the fixed sleep with a dynamic loop that checks the Docker
logs for the "Windows started successfully" message. This ensures the
RDP client only starts once Windows has confirmed it's ready, making the
launch process much more reliable across different hardware specs.

Fixes #2599
2026-01-10 22:14:19 -05:00
David Heinemeier Hansson
a0d2f007fd Specialize waybar to match the backgrounds better 2026-01-10 21:08:57 +01:00
Arcangelo Massari
955844cb5d feat(windows-vm): enable clipboard sharing in RDP session
Add /clipboard flag to xfreerdp3 command to enable bidirectional
clipboard sharing between Windows VM and Omarchy.
2026-01-10 19:49:54 +01:00
David Heinemeier Hansson
295c7c91fc Fix concatenation 2026-01-10 14:33:36 +01:00
Will Hampson
bc1a531534 fix: skill name must match case of skill directory exactly (#4162) 2026-01-09 15:40:56 +01:00
Dominik
4cec214a53 Replace yq with pure bash for TOML parsing (#4171)
* Replace yq with pure bash for TOML parsing

The yq-based parsing only worked with jq/yq v3 and broke with go-yq v4.
This change removes the yq and uses bash for parsing. Some additional improvments:
- Handles single and double quoted values
- Strips inline comments (e.g. "#hex" #comment)

* Remove the no-longer-needed yq packages

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-01-09 15:39:07 +01:00
David Heinemeier Hansson
0b5ba427b2 Merge branch 'master' into dev 2026-01-09 15:32:56 +01:00
David Heinemeier Hansson
53b8fc4257 Ensure we reset the DBs with the Omarchy versions 2026-01-09 14:34:38 +01:00
David Heinemeier Hansson
dcb9527770 Ensure we reset the DBs with the Omarchy versions 2026-01-09 14:34:29 +01:00
Ryan Hughes
6c35e840f5 Version bump 2026-01-08 22:27:03 -05:00
Ryan Hughes
da984ce243 Fix infinite waiting 2026-01-08 22:26:52 -05:00
Ryan Hughes
65bafa4f3b Bump 2026-01-08 19:33:06 -05:00
Ryan Hughes
f5a35a1afe Bump 2026-01-08 19:32:32 -05:00
Ryan Hughes
c9b3e13df8 Merge pull request #4174 from basecamp/dev
v3.3.3
2026-01-08 18:51:48 -05:00
Ryan Hughes
9775b01070 Don't update gcc14 2026-01-08 18:49:41 -05:00
Ryan Hughes
b42dcf098b Merge pull request #4170 from basecamp/dev
v3.3.2
2026-01-08 17:18:41 -05:00
Ryan Hughes
6ae31aedae Update message 2026-01-08 17:17:32 -05:00
Ryan Hughes
63b0cd64bd Add update logger w/ analysis 2026-01-08 16:52:49 -05:00
Ryan Hughes
bf779a6bbc Add additional hardening for missing headers 2026-01-08 15:28:56 -05:00
Ryan Hughes
774b4700ef Extra hardening the driver swap 2026-01-08 13:44:34 -05:00
Ryan Hughes
400a87955e Use omarchy-pkg-add 2026-01-08 13:41:20 -05:00
David Heinemeier Hansson
fe48a16a90 Correct the accent color 2026-01-08 15:02:05 +01:00
David Heinemeier Hansson
78ef351269 Merge pull request #4148 from basecamp/dev
Omarchy 3.3.1
2026-01-08 13:51:47 +01:00
David Heinemeier Hansson
558cd68810 Bump version 2026-01-08 13:44:54 +01:00
David Heinemeier Hansson
067ec2bd71 Fix migration for when current theme is a directory, not a symlink
Closes #4147
2026-01-08 13:41:26 +01:00
David Heinemeier Hansson
ec4cd81e63 Fix the singletonlock issue properly 2026-01-08 13:18:55 +01:00
David Heinemeier Hansson
7c0a05cc70 Remove the SingletonLock that's present for some reason on new ISO installs
Closes #4149
2026-01-08 13:15:16 +01:00
David Heinemeier Hansson
70bdbfe545 Fix kitty cursor shape to match alacritty + ghostty 2026-01-08 10:49:44 +01:00
David Heinemeier Hansson
72b3b930c7 Drop the needless active_border_color/active_tab_background settings in favor of just using accent
Closes #4121
2026-01-08 10:32:21 +01:00
David Heinemeier Hansson
e08301dee2 Remove opencode binding (prefer c alias in terminal)
Closes #4124
2026-01-08 10:26:07 +01:00
David Heinemeier Hansson
9fc65dd2de Simplify the VSCode/derivatives theme setting 2026-01-08 10:22:10 +01:00
David Heinemeier Hansson
5603fb50fd Dramatically simplify omarchy-theme-set-obsidian
The cost is that only themes with a colors.toml file will get Obsidian
themeing.
2026-01-08 10:16:14 +01:00
David Heinemeier Hansson
037f034ece Merge pull request #4141 from timohubois/fix-migration-1767138576
fix(migrations-1767138576): split sed commands in scrolltouchpad migration
2026-01-08 10:00:19 +01:00
David Heinemeier Hansson
e95f8f2847 Merge pull request #4138 from Nm1ss/patch-1
Fix NVIDIA Legacy Driver for Older Professional/Workstation GPUs
2026-01-08 09:58:43 +01:00
Timo Hubois
8826aa10ca fix(migrations-1767138576): split sed commands in scrolltouchpad migration
The sed expression for converting scrolltouchpad syntax to Hyprland 0.53
format was broken across two lines, causing the second substitution
pattern to fail silently. Split into separate sed commands to ensure
both class:(pattern) and class:pattern formats are migrated correctly.
2026-01-08 09:34:38 +01:00
David Heinemeier Hansson
2851687bbb Fix use of accent colors 2026-01-08 09:18:22 +01:00
George
e25a00a38c Update NVIDIA GPU detection for legacy support on professional/workstation cards 2026-01-08 07:53:11 +01:00
David Heinemeier Hansson
7d9858a013 Run the gcc14 removal as early as possible 2026-01-07 23:51:08 +01:00
David Heinemeier Hansson
95bfb16cd4 Hotfix to remove gcc14 AUR package that would take eons to update 2026-01-07 22:05:54 +01:00
David Heinemeier Hansson
8873f03cb1 Merge pull request #4111 from basecamp/dev
Omarchy 3.3.0
2026-01-07 21:36:27 +01:00
David Heinemeier Hansson
a5f8ab3194 Bump version 2026-01-07 21:16:11 +01:00
David Heinemeier Hansson
17968cb2d3 Offer to reboot after reinstall 2026-01-07 20:58:57 +01:00
David Heinemeier Hansson
6cbca7825b Excess CR 2026-01-07 20:51:40 +01:00
David Heinemeier Hansson
eb8bd24d83 Now hosted on OPR 2026-01-07 20:03:41 +01:00
David Heinemeier Hansson
4bb8bfc44c Do not allow hibernation to be setup if its not supported 2026-01-07 19:51:00 +01:00
David Heinemeier Hansson
f3b9a90120 Fix conditional 2026-01-07 19:46:23 +01:00
David Heinemeier Hansson
2855712158 Ensure mirror and pkgs channels are always kept in sync as stable or edge 2026-01-07 19:45:00 +01:00
David Heinemeier Hansson
3489bf5ceb Fix perms 2026-01-07 19:34:56 +01:00
David Heinemeier Hansson
bc198c7270 Export the ref so we can refer to it during install 2026-01-07 19:31:42 +01:00
David Heinemeier Hansson
2063680c82 Move to correct location 2026-01-07 19:27:19 +01:00
David Heinemeier Hansson
d20e8351fc Don't show the voxtype icon when not recording/transcribing 2026-01-07 19:24:46 +01:00
David Heinemeier Hansson
cd8a6430e2 Use edge mirror for dev online installs 2026-01-07 19:14:32 +01:00
David Heinemeier Hansson
cfded08b94 Use OPR version of voxtype-bin 2026-01-07 19:05:57 +01:00
LunarLollipop
76b3e68c97 Fix hyprctl crash when screensaver is terminated (#4045)
Redirect hyprctl output in exit_screensaver() to prevent SIGABRT crash
when the screensaver window is closed externally (via keybind or lock screen).

The crash occurs because hyprctl's std::println() throws when writing to
a broken stdout after the terminal is killed.
2026-01-07 18:52:52 +01:00
David Heinemeier Hansson
f7f28bb655 Fix idle icon 2026-01-07 18:49:58 +01:00
David Heinemeier Hansson
ab5544ad61 Revise description 2026-01-07 18:41:14 +01:00
David Heinemeier Hansson
96479adbcd Get ready for opencode 1.1.6 2026-01-07 17:53:03 +01:00
Ryan Hughes
d207d505f5 Add initial omarchy skill for OpenCode (and friends) (#4090) 2026-01-07 17:19:53 +01:00
David Heinemeier Hansson
ed935bedef Correct download estimate 2026-01-07 13:50:14 +01:00
Rizky Fauzi Ilmi
1409cd7831 fix(fingerprint): Refactor fingerprint hardware check to use fprintd-list for device detection (#3948) 2026-01-07 13:46:08 +01:00
Pete Jackson
5800a0f4a1 Suppress generic post-install instructions in voxtype setup (#4106)
Voxtype v0.4.9 adds a --no-post-install flag that suppresses the
"Next steps" instructions after downloading the model. Since Omarchy
handles systemd setup, hotkey configuration, and displays its own
success notification, these generic instructions are redundant and
potentially confusing to users.

The flag still shows download progress, just suppresses the
post-download instructions.
2026-01-07 07:41:36 +01:00
Pierre Olivier Martel
eb904062f5 Add icons for additional audio profiles in Waybar (#4100)
* Add icons for additional audio profiles in Waybar

* Only keep the headphone icon
2026-01-07 07:39:00 +01:00
David Heinemeier Hansson
4a88ec876b Disable Copy-on-Write for the swap subvolume per best practices 2026-01-06 22:58:24 +01:00
David Heinemeier Hansson
59a7153d02 Make system sleep setup more prominent 2026-01-06 22:53:43 +01:00
David Heinemeier Hansson
7cafdfcef3 Fix OMARCHY_PATH 2026-01-06 22:51:25 +01:00
David Heinemeier Hansson
9c4a0c2abd Add sleep-then-hibernate after 30 minutes
Taken from
https://hacktheplanet.be/spells/Linux/4-suspend-then-hibernate-in-omarchy/
2026-01-06 22:49:32 +01:00
David Heinemeier Hansson
68ca8d8083 Add Super + Shift + Ctrl + L to lock system 2026-01-06 22:43:05 +01:00
David Heinemeier Hansson
a01ce9b563 Suspend example doesn't work any more 2026-01-06 22:40:19 +01:00
David Heinemeier Hansson
3dbebd7a4d Add option to enable/disable hibernation (#4103)
* Add option to enable/disable hibernation

* Actually do it

* Match hibernation toggle words

* Both enable and disable

* Match the tense

* Match options

* Remove excess CR
2026-01-06 22:36:40 +01:00
Reno
3a4536059a fix : typo (Nautilius -> Nautilus) (#4098) 2026-01-06 16:50:16 +01:00
David Heinemeier Hansson
9ae225a15a Add tweak to bring back suspend option to system menu 2026-01-06 16:45:12 +01:00
David Heinemeier Hansson
0b8bbdf01d Fix old tag:terminal style input config too 2026-01-06 14:01:17 +01:00
David Heinemeier Hansson
df3d07e41f Fix timeout correction 2026-01-06 13:55:52 +01:00
David Heinemeier Hansson
3da77ffc36 Don't need this piping 2026-01-06 13:31:46 +01:00
David Heinemeier Hansson
e08ef5866a Ensure it only matches the module activation 2026-01-06 13:26:37 +01:00
David Heinemeier Hansson
41c6048758 Patch is too brittle 2026-01-06 13:20:34 +01:00
David Heinemeier Hansson
ebc8a9ef62 Make patching more resilient 2026-01-06 13:09:51 +01:00
David Heinemeier Hansson
0d42f1bafe Add voice dictation with voxtype (#4088)
* Try with voxtype

* Update delay to prevent skipped characters

* Add removal of voxtype

* Use -bin package

* Fix for yay

* Nerdicons!

* Use new, subtle nerdfont glyphs instead of standard icons

* Do this in the waybar config instead

* Make voxtype a permanent fixture so it is not lost on waybar resets

* Record purpose

* Add Dictation hotkeys

* Tweak wording and point to config

* Reuse the same help

* Better communication

* Anticipate moving the package to OPR

* Clarify where the packages are coming from

* input group not needed when using hyprland hotkey

* Explain hotkey off

* Allow for changing of the model on right click

* Allow config on right click

* Be more specific

* Focus on config editing with waybar clicks

---------

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2026-01-06 13:00:19 +01:00
Ryan Hughes
e3cd567f6f Move to themed and add sample 2026-01-05 16:32:46 -05:00
Ryan Hughes
103fc09dcf Add user-defined theme templates 2026-01-05 16:19:53 -05:00
David Heinemeier Hansson
3da8c2a023 Extract (almost) all chromium.theme files to use a template based on the background color 2026-01-05 21:47:23 +01:00
Ryan Hughes
ee37be1124 Merge pull request #4089 from basecamp/improve-rdp-ready-check
Improve RDP readiness check before launching VM
2026-01-05 15:27:50 -05:00
Ryan Hughes
7118ef6b19 Correct message 2026-01-05 15:27:44 -05:00
Ryan Hughes
e8880b5154 Simplify 2026-01-05 15:27:44 -05:00
David Heinemeier Hansson
a41cb03ac5 Always add user to input group to prevent restarts needed for dictation or xbox controllers 2026-01-05 17:38:45 +01:00
David Heinemeier Hansson
09f696aea4 Bring back the removal of conflicting limine.confs 2026-01-05 16:14:58 +01:00
David Heinemeier Hansson
54e5be18ea Fix use of stable mirror list when doing an online installation 2026-01-05 15:57:37 +01:00
David Heinemeier Hansson
503e4c765c Arrange a few more keybindings 2026-01-05 15:54:19 +01:00
David Heinemeier Hansson
37c37c0a87 Fix perms 2026-01-05 15:44:33 +01:00
David Heinemeier Hansson
40028a7fa9 Reload the opencode config when changing themes 2026-01-05 15:22:52 +01:00
David Heinemeier Hansson
8533d7ff3b Match new syntax 2026-01-05 15:16:27 +01:00
David Heinemeier Hansson
923d5fb0cd Extract the duplicated limine confs into distinct files (#4084)
* Extract the duplicated limine.conf into its own file

* Extract the /etc/limine/default config as well
2026-01-05 15:07:25 +01:00
David Heinemeier Hansson
88603ea9d6 Ensure the opencode directory is present 2026-01-05 13:30:08 +01:00
David Wales
b9b5de4751 Add example to enable touchpad while typing (#4075)
Useful for games!
2026-01-05 12:17:43 +01:00
Tsurgcom
1a5fdbc294 Make manifest version from 4 to 3 (#4080) 2026-01-05 12:17:18 +01:00
David Heinemeier Hansson
78b05bcc54 Just downgrade packages instead 2026-01-05 11:04:30 +01:00
David Heinemeier Hansson
3631695a7f Reinstall packages too when switching back to the stable branch 2026-01-05 11:03:29 +01:00
David Heinemeier Hansson
11d2d2f70e Extract the rest of the reinstall flow into separate parts 2026-01-05 11:00:56 +01:00
David Heinemeier Hansson
24a557ac7f Documentation 2026-01-05 10:53:24 +01:00
David Heinemeier Hansson
2fcaf4b6ff Extract all restart commands in consistent wrappers 2026-01-05 10:49:38 +01:00
David Heinemeier Hansson
13149f5fc9 Adapt to new theme setup 2026-01-05 10:47:19 +01:00
David Heinemeier Hansson
59b83b3585 Quiet config changes 2026-01-05 10:46:48 +01:00
David Heinemeier Hansson
f8f3dcb3ef Quiet hyprctl reload 2026-01-05 10:46:01 +01:00
David Heinemeier Hansson
3ed8e8e3c4 Quiet the normal execution 2026-01-05 10:45:50 +01:00
David Heinemeier Hansson
e2573b41c1 Silence running checks 2026-01-05 10:44:06 +01:00
David Heinemeier Hansson
2dca78cd83 Trigger the extracted new subcommand 2026-01-05 10:37:19 +01:00
David Heinemeier Hansson
60b7e4900f noconfirm 2026-01-05 10:36:12 +01:00
David Heinemeier Hansson
df3b1cbb82 Add a subcommand for reinstalling packages from the stable repository 2026-01-05 10:33:47 +01:00
David Heinemeier Hansson
ca40676657 Add documentation to Omarchy commands 2026-01-05 10:17:32 +01:00
David Heinemeier Hansson
3801e0e633 Move walker.desktop into default config directory
No need for a top-level directory just for this.
2026-01-05 09:13:38 +01:00
David Heinemeier Hansson
f4def40181 Ensure it doesn't race the screensaver 2026-01-04 21:08:04 +01:00
David Heinemeier Hansson
e8d063ef27 Ensure omarchy-cmd-shutdown can also be run from a terminal that'll be closed 2026-01-04 20:50:35 +01:00
David Heinemeier Hansson
4d81a8aaa7 Need a fully disowned schedule 2026-01-04 20:48:22 +01:00
David Heinemeier Hansson
e02925f257 Ensure the reboot can be triggered from a terminal that itself will be closed 2026-01-04 20:45:58 +01:00
Ryan Hughes
ef4ecdbfcf Add --no-edit option 2026-01-03 23:45:19 -05:00
David Heinemeier Hansson
7bf1c38937 Add extensions/menu.sh example 2026-01-03 18:28:46 -08:00
David Heinemeier Hansson
4a07b94cb6 Use theme config templates with singular color definition (#4053)
* Attempt to templaterize the theme specific files

* Cleanup

* Slim down

* Combine render into -set

* Pull out the dynamic template rendering again, but simpler

* Fix vars

* Variables are lowercase

* Better presentation

* Fix missing colors

* Provide stripped values too

* Fix colors for regular hex format

* Bring back explicit btop themes

They're too involved to derive from a basic color set

* Make an atomic swap of the theme directories

* No longer used by walker to cancel

* Explain why

* Remove redundant const

* Consistent const naming

* No longe have $THEMES_DIR

* Correct the blue

* Set opencode colors too

* Fix colors for readability

* Move the templates together with the others in default

* Split user themes and default themes

* Fix paths

* Look for both user themes and default themes

Plus speed things up

* Migrate to the new setup where default themes live inside omarchy

* Explicitly store the name of the current theme

* Cleanup

* No longer need omarchy-theme-next since themes are now fully rendered, not symlinks

* Get current theme name from the new theme.name file

* Look for user background images in dedicated directory

* Need yq for toml

* Need yq to parse colors.toml

* Look for backgrounds matching the new theme.name

We no longer have symlinks

* Migrate existing user backgrounds to the new proper location

* Install user backgrounds in the correct path

* Fix quoting

* Just rely on the system theme for opencode and get ready for USRSIG2 being available to live reload

* Fix template generation for rgb colors
2026-01-03 18:22:14 -08:00
David Heinemeier Hansson
de2757466b Add opencode (#4071) 2026-01-03 16:50:10 -08:00
David Heinemeier Hansson
6dfa5f0807 This would trigger before screensaver/hyprlock
So need a different way to deal with resetting of the idle timer
2026-01-03 16:21:22 -08:00
David Heinemeier Hansson
4e802d8058 No longer used either 2026-01-03 14:18:07 -08:00
David Heinemeier Hansson
5e75c2d3a9 Never did use pinning
Better served with our stable setup
2026-01-03 14:16:22 -08:00
David Heinemeier Hansson
d20ad9032f Label hyprwhspr as Dictation and launch setup post install 2026-01-03 14:02:38 -08:00
David Heinemeier Hansson
9e2ff7be1d Allow menu extensions to be set by the user
Closes #4012
Co-authored-by: @DarrenVictoriano
2026-01-03 13:57:26 -08:00
Ryan Hughes
e1b3a88126 Add hyprwhspr to AI install menu 2026-01-03 16:34:53 -05:00
Ryan Hughes
16a9bc295c Add --no-sudo and --print to debug 2026-01-03 16:34:53 -05:00
David Heinemeier Hansson
fdee76e2d2 Fix windowrule sizing changes 2026-01-03 13:31:50 -08:00
Justin Mißmahl
941e1c2dd8 omarchy remove dev (#4065)
Co-authored-by: JustinMissmahl <github@emeruslabs.com~>
2026-01-03 13:23:43 -08:00
David Heinemeier Hansson
c723411049 Comply with changed layerrule syntax in Hyprland 0.53 2026-01-03 13:10:43 -08:00
Ryan Hughes
c82b1bfb7e Add --print option to output keybindings to terminal 2026-01-03 13:34:30 -05:00
David Heinemeier Hansson
36095c1ac8 Fix with variable 2026-01-02 21:20:52 -08:00
David Heinemeier Hansson
57bbe425df Unused variable 2026-01-02 21:20:44 -08:00
Vaibhav Verma
d90bc6d3f3 Add theming support for VSCodium (#2519) 2026-01-02 21:09:17 -08:00
Omar Skalli
dbc3c006dd Make sure to re-install chromium google accounts when refreshing config (#1737) 2026-01-02 20:58:42 -08:00
David Heinemeier Hansson
807c74d405 The idle counter is reset between each listener
Re: #641
Co-authored-by: @marcinczenko
2026-01-02 20:31:16 -08:00
David Heinemeier Hansson
a9cea21463 Add missing up/down for moving workspaces to other monitors
Closes #844
Co-authored-by: @erdostom
2026-01-02 20:14:17 -08:00
Jeff Nunn
c832b7dc75 Skip "press any key" message when user cancels TUI or Web App install (#3866)
with Ctrl+C
2026-01-02 20:03:54 -08:00
David Heinemeier Hansson
b08b419bfc Use encapsulated reboot command 2026-01-02 19:49:52 -08:00
Pierre Olivier Martel
2643967424 Use omarchy-launch-audio stub in waybar and menu (#4043)
* Use omarchy-launch-audio in waybar

* Use omarchy-launch-audio in omarchy-menu
2025-12-31 18:13:12 -07:00
Derek Wierson
64f254653f Fix windowrule syntax change for kanagawa theme (#4032) 2025-12-31 17:12:09 -07:00
Lázaro Nixon
687ac4567e Add github-copilot-cli to the AI install menu (#4041)
* Add github-copilot-cli to the AI install menu

* Mark the copilot package as coming from AUR

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-12-31 17:06:22 -07:00
Pierre Olivier Martel
72cecc600d Move btop binding to Control Panels utilities (#4042)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-12-31 17:03:23 -07:00
Marco Troisi
7fbc139cb5 Google Maps as a default webapp (#4028)
* Google Maps as a default webapp

* Using icon from DashboardIcons
2025-12-30 16:27:01 -08:00
me
7c213db46d add fresh to omarchy-launch-editor (#4015)
fixes #4014
2025-12-30 16:22:41 -08:00
LunarLollipop
5dd4bec68a Fix Hyprland 0.53 windowrule syntax breaking changes (#4025)
* Fix Hyprland 0.53 windowrule syntax breaking changes

Hyprland 0.53 introduced breaking changes to windowrule syntax:

- Props now use `match:` prefix: `class:pattern` → `match:class pattern`
- Boolean effects require `on` suffix: `float` → `float on`
- Snake_case naming: `nofocus` → `no_focus`, `stayfocused` → `stay_focused`
- `noborder` replaced with `border_size 0`
- `noanim` replaced with `animation none`
- layerrule syntax: `noanim, X` → `animation none, match:namespace X`
- `misc:new_window_takes_over_fullscreen` → `misc:on_focus_under_fullscreen`

See: https://github.com/hyprwm/hyprland-wiki/pull/1278

* Correct for the new style

* Migrate the scrolltouchpad setting in userland too

* Need a reboot to pair with new Hyprland

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-12-30 16:21:59 -08:00
David Heinemeier Hansson
4311a00ca4 Just install latest node 2025-12-30 15:40:02 -08:00
Ryan Hughes
cd224e7ecd Merge pull request #3956 from ashddev/fix/nvidia-legacy-driver-for-older-gpus
fix(nvidia): install legacy NVIDIA driver on older GPUs
2025-12-28 13:42:13 -05:00
Ryan Hughes
7e12473f80 Don't continue if we don't have a GPU 2025-12-28 13:27:52 -05:00
Ryan Hughes
2c7480135a Add migration 2025-12-28 13:27:33 -05:00
Ryan Hughes
df0a019c6a Add migration 2025-12-28 12:34:13 -05:00
Jack Blakely
083715c8c6 Fix omarchy-update failing outside Hyprland session (#4002) 2025-12-28 08:46:44 -08:00
Ryan Hughes
d0aabc162a Add packages to others 2025-12-27 22:20:44 -05:00
Ryan Hughes
e416988d4e Rearrange and don't hard-fail 2025-12-27 22:20:38 -05:00
Ryan Hughes
314abce4e8 We know what we're doing 2025-12-27 21:47:17 -05:00
Ryan Hughes
fe8927b351 Simplify further 2025-12-27 21:46:43 -05:00
Ryan Hughes
13390441a9 Don't need to run this 2025-12-27 21:42:35 -05:00
Ryan Hughes
65a238d805 Simplify 2025-12-27 21:42:26 -05:00
Ryan Hughes
c535b19235 These already get installed or are dependencies 2025-12-27 21:06:04 -05:00
Ryan Hughes
9c8c789453 Simplify this check 2025-12-27 21:05:45 -05:00
Jan L. Große
2bc88ebf25 Update PostgresSQL version in installation script from 17 to 18 (#3990)
Bumping PostgresSQL DB from 17 to 18.
2025-12-26 21:11:03 +01:00
David Heinemeier Hansson
2573da8f5e Make impressionism the default 2025-12-24 22:40:19 +01:00
David Heinemeier Hansson
e44e937284 Ensure that noidle is turned off after update is complete
Closees #3982
Co-authored-by: @sgruendel
2025-12-24 19:25:18 +01:00
David Heinemeier Hansson
fd952c2323 Add The Backwater as a second Gruvbox background image 2025-12-24 18:27:49 +01:00
Ash Daly
4e09523127 fix(nvidia): do not install nvidia-580xx-dkms for GPUs older than Maxwell 2025-12-23 11:19:11 +00:00
Fredrik Mikal Wold
643cf35448 fix: stop paging git diff output when running omarchy-update (#3959)
* fix: stop paging git diff output when running omarchy-update

* Keep option list similar between the two

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-12-22 13:56:02 -08:00
Ash Daly
1fd1b65cd0 chore: add noconfirm to yay command 2025-12-21 16:13:53 +00:00
Ash Daly
9a704fdadb chore: edit comment 2025-12-21 16:12:06 +00:00
Ash Daly
a252a42772 fix(nvidia): install legacy driver on older GPUs 2025-12-21 16:11:05 +00:00
David Heinemeier Hansson
c59089e9f3 Use omarchy-launch-* stubs for all control panels 2025-12-18 16:24:55 -08:00
David Heinemeier Hansson
ca8f25fba1 Switch to our bluetooth launcher 2025-12-18 13:54:27 -08:00
David Heinemeier Hansson
dae89574dd Add Super + Ctrl + A/B for Audio and Bluetooth controls
Also, move waybar-less information notifications to Super + Ctrl + Alt +
T/B to make room. These are very specialized and probably not broadly
used.

Closes #3909
Co-authored-by: @ddVital
2025-12-18 09:19:38 -08:00
SantiagoH10
49a9ce14b8 fix: unquoted variable expansion was breaking omarchy-launch-about (#3933) 2025-12-18 09:08:13 -08:00
David Heinemeier Hansson
d2ea6ad183 Canceling the screensaver on mouse movement doesn't work with bluetooth mice
Could not get it to stop existing with a Logitech MX4 when connected via
bluetooth.
2025-12-17 15:04:10 -08:00
David Heinemeier Hansson
d5066561ca Got lost on a bad merge
Closes #3853
Co-authored-by: @nirabyte
2025-12-16 09:24:38 -08:00
Diogo Ferreira
fe9493bd86 openai-codex-bin -> openai-codex in menus (#3894)
This was done in a migration in 0588cc8e5b but the menu entry was never updated. So, installs after the migration will get the outdated version.

Added a new migration as well for those that installed after the
previous one.
2025-12-16 07:50:45 -08:00
David Heinemeier Hansson
f578880bc8 Guard against crash bug when scrolling over expand icon in tray
Closes #3892
2025-12-16 07:49:17 -08:00
David Heinemeier Hansson
7ce838565c Add missing dotnet-runtime-9.0 needed for Pinta
Closes #3859
2025-12-16 07:41:52 -08:00
Ryan Hughes
aacc40c954 Alert user if unable to restart 2025-12-15 19:58:59 -05:00
Ryan Hughes
f3b9ca2149 Prevent error if service doesn't exist 2025-12-15 18:47:13 -05:00
David Heinemeier Hansson
ee8f62d967 Only run update if limine-update is available
It won't be on grub
2025-12-15 14:48:44 -08:00
David Heinemeier Hansson
32592e2e28 Merge pull request #3852 from basecamp/dev
Omarchy 3.2.3
2025-12-15 14:09:38 -08:00
David Heinemeier Hansson
adf7fba2b3 Prepare for release 2025-12-15 10:20:44 -08:00
David Heinemeier Hansson
021d66f9b6 Channel changes should prompt a full update 2025-12-15 10:04:00 -08:00
David Heinemeier Hansson
1a34be257c Add backdoor to start alacritty
Will help folks who have trouble with ghostty to still get a terminal
going
2025-12-15 09:58:08 -08:00
David Heinemeier Hansson
1f4c50eddf Pull noidle setting out into its own step 2025-12-15 09:55:09 -08:00
Ryan Hughes
92af9f41f2 Reorder 2025-12-15 12:38:28 -05:00
Ryan Hughes
8ed20d0524 And create the folder 2025-12-15 12:35:47 -05:00
Ryan Hughes
2d00b2a02f Actually add the config in the migration 2025-12-15 12:35:05 -05:00
David Heinemeier Hansson
97396f5fb2 Fix excessive size for Fizzy 2025-12-15 08:28:28 -08:00
Wolfgang Woehl
46c85e49a3 Quit Walker before screensaver launch (#3873)
Screensaver launch is broken when Walker is open: It will fail to go fullscreen and exits right after input read's first iteration, due to the screensaver_in_focus() check. See https://github.com/basecamp/omarchy/issues/2992 for an example report.

This addition will silently quit an opened Walker menu before launching the screensaver terminal. It is mildly intrusive, alas, as a return from screensaver will not present the pre-screensaver state exactly.
2025-12-15 08:24:31 -08:00
David Heinemeier Hansson
8357dd3da2 Use the traffic light metaphor for channel setting 2025-12-14 12:40:12 -08:00
David Heinemeier Hansson
860624d3f4 Add channel setting menu 2025-12-14 12:34:20 -08:00
Ryan Hughes
a15d3740a9 Increase faillock to 10 2025-12-14 15:32:40 -05:00
Ryan Hughes
7b05dcfe0c Merge pull request #1894 from sgruendel/mkinitcpio_module_thunderbolt
Add thunderbolt module in omarchy hook.
2025-12-14 15:25:55 -05:00
Ryan Hughes
df8b69bf27 Add portal restart to pickup changes 2025-12-14 15:24:48 -05:00
David Heinemeier Hansson
f39c2a91a5 Run the migration after switching channel 2025-12-14 12:24:20 -08:00
Ryan Hughes
906baa8fee Rework migration 2025-12-14 15:19:35 -05:00
Ryan Hughes
457b954db5 Move module to a separate file 2025-12-14 15:19:25 -05:00
Ryan Hughes
9b78e3c571 Enable btrfs quota to allow space-aware algorithms to work
Co-authored-by: Raul Salinas <nacapulque@gmail.com>

Replaces #3858

Fixes #3850
Fixes #3055
2025-12-14 14:23:28 -05:00
Ryan Hughes
88e9c9db49 Tell the user what we're doing 2025-12-14 14:19:37 -05:00
Ryan Hughes
64a8d7bb04 Add new default limine location for archinstall
Co-authored-by: madhurdhama <madhurdhama@gmail.com>
2025-12-14 13:06:43 -05:00
Ryan Hughes
c11a1c7989 Merge pull request #3492 from SoAp9035/fix-limine-uki-path
fix the UKI directory checks in omarchy-refresh-limine
2025-12-14 12:51:46 -05:00
Ryan Hughes
c37ef6d78c Update limine logic to check all .conf locations
Co-authored-by: Tjalve Aarflot <tjalve.github@proton.me>
2025-12-14 12:47:21 -05:00
Ryan Hughes
4d5dab3e32 Add walker emergency mode entry 2025-12-14 11:33:43 -05:00
Ryan Hughes
133d54f600 Refresh daemon if we change it 2025-12-14 11:32:39 -05:00
Ryan Hughes
4194c649a1 Restarts handled via systemd now 2025-12-14 11:09:16 -05:00
Ryan Hughes
33eabb0c88 Change to non-git version 2025-12-13 20:29:31 -05:00
Ryan Hughes
573cbd8ec3 Prevent idle while updating 2025-12-13 19:12:25 -05:00
Ryan Hughes
fec0731c17 Merge pull request #3857 from basecamp/share-picker
Add better portal share picker
2025-12-13 00:50:27 -05:00
Ryan Hughes
abffb0abfe Add hyprland-preview-share-picker 2025-12-13 00:44:24 -05:00
Ryan Hughes
5789c0a1fb Add themes for share pickers 2025-12-13 00:44:24 -05:00
Søren H Johansen
4e37a766ac Remove deprecated and unsupported Kitty settings (#3849)
The following options are no longer recognized by Kitty and caused warnings during startup:

window_padding_height

show_window_resize_notification

single_instance

They have been removed to keep the configuration compatible with current Kitty versions.
2025-12-12 10:21:45 +01:00
David Heinemeier Hansson
ccc147229e Force an update of the index DBs
This will prevent folks from ending up with index DBs that are out of
sync with their channel
2025-12-11 15:33:36 +01:00
David Heinemeier Hansson
6bd9d510d6 Add back alacritty as a default install to deal with machines that can't run Ghostty
Alacritty is more broadly supported
2025-12-11 15:30:25 +01:00
Alessandro Scalzulli
a22668fe17 fix(mako): show notifications over fullscreen apps (#3838)
Added line  layer=overlay to core.ini config
2025-12-11 15:23:48 +01:00
Ahum Maitra
1c59f1ae62 enhancement : Fixed the messy and long command (#3842) 2025-12-11 15:22:46 +01:00
David Heinemeier Hansson
c67856b9b6 Clarify purpose 2025-12-08 10:59:25 +01:00
Timo Hubois
12cba29e2e feat(bitwarden): Use float by default (#3734)
- Similar to current 1Password configuration
2025-12-08 10:54:24 +01:00
David Heinemeier Hansson
20fde4d71a Add new Ethereal background image
Closes #3741
Co-authored-by: @s-pra1ham
2025-12-08 10:53:19 +01:00
jazzzooo
8780db4bf0 feat: support mullvad-browser private window launch (#3756) 2025-12-08 10:41:06 +01:00
David Heinemeier Hansson
b2bd95197a Include webapps in omarchy-refresh-applications 2025-12-08 10:38:13 +01:00
Dakota Chambers
c90e93b5fc Add Fizzy webapp (#3759)
* Add Fizzy webapp

* Replace icon
2025-12-08 10:34:17 +01:00
Lennart Ochel
3af42f6be1 Fix omarchy-launch-browser for microsoft-edge (#3763) 2025-12-08 10:30:57 +01:00
robergd83
03f04386ec Enable independent screensaver effects on multi-monitor setups (#3781)
Updated the `omarchy-cmd-screensaver` script to allow screensaver effects to run independently on each monitor in multi-display configurations.

Previously, the effect loop waited for all animations on all monitors to finish before starting the next effect. With this change, each monitor handles its own effect cycle independently, improving smoothness and responsiveness in multi-monitor setups.
2025-12-08 10:27:07 +01:00
Dimitrie Hoekstra
9dc8e0c051 Enable tiny-dfr and t2fanrd services on T2 Macs (#3792) 2025-12-08 10:24:07 +01:00
David Wales
c5ebad0b67 Add example to enable three-finger drag in input configuration (#3798)
* Add example to enable three-finger drag

* Clarify comment

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-12-08 10:22:09 +01:00
Miras Mustimov
9691e638b2 fix: avoid layout shift on screensaver close (#3804) 2025-12-08 10:18:46 +01:00
Lennart Breede
fef12b6c0e Added Iosevka to font menu (#3811) 2025-12-08 10:14:25 +01:00
David Heinemeier Hansson
fc04525f03 Suspend is not properly supported on a lot of computers
Can't suggest an option that doesn't work much of the time
2025-12-08 10:10:28 +01:00
David Heinemeier Hansson
cfbfb2ffed Offer reboot if kernel was changed during channel change
Closes #3787
2025-12-08 09:50:48 +01:00
Wolfgang Woehl
ddf0d1e8e0 Exit screensaver when mouse moves or clicks (#3723)
Turns out there are control codes for tracking mouse actions in xterm-compatible terminal emulators (mind blown).

This patch adds mouse action awareness to our beloved screensaver setup:

- on setup it sends the respective control codes for movement and click detection
- in the main loop it opens up the input reader to read raw bytes and, thus, enable to detect even so much as a mouse's squeak

Personally, I love swiping my trackpad to exit screensaver. But the explicit pressing-a-key to exit is nice, also.

And I don't know if many people have jitter issues with their mouses or trackpads. Reckon, if they had they wouldn't get to see the glory that TTE is anyway, ever :)

This is tested and working in Ghostty. Sorry for the low-effort testing.
2025-12-02 12:09:02 +01:00
David Heinemeier Hansson
029000abb0 Overloading doesn't work when you have two tiling groups next to each other 2025-12-01 15:51:50 +01:00
Stefan Gründel
0a9e7205c3 add bolt to omarchy base packages 2025-12-01 13:34:24 +01:00
Stefan Gründel
a810b8058b Merge branch 'dev' into mkinitcpio_module_thunderbolt 2025-12-01 13:29:23 +01:00
David Heinemeier Hansson
b9792f7ba1 Don't submit empty passwords on lock screen 2025-12-01 11:10:21 +01:00
Stefan Gründel
9450ac868e fix expand icon in post install message (#3691) 2025-11-30 21:01:35 +01:00
Ahmed Abdelhafiez
add215c464 fix: restore last notification command typo (#3694) 2025-11-30 21:01:21 +01:00
David Heinemeier Hansson
306714f825 Ensure Walker service is started automatically on boot for new installations
Ref: #1684
2025-11-30 20:51:19 +01:00
Ryan Hughes
8a37f3dce7 Merge pull request #3683 from basecamp/dev
Omarchy 3.2.2
2025-11-28 20:13:08 -05:00
David Heinemeier Hansson
03be87b42c Bump for upcoming release 2025-11-28 16:50:09 -08:00
David Heinemeier Hansson
d6aa65d03c Rely on new TTE 0.14.1 settings 2025-11-28 16:45:36 -08:00
David Heinemeier Hansson
1514e4e501 Merge branch 'master' into dev 2025-11-28 07:15:24 -08:00
Gary Allan Howard
91cf593b76 feat: Silently move active workspace to another workspace. (#3546)
* feat: silently move active window to target workspace

Adds a quality-of-life keybind:

  SUPER + ALT + SHIFT + [1-9, 0]

This silently moves the active window from the active workspace to the
chosen destination workspace. The destination workspace re-tiles
correctly upon receiving the window.

The currently active workspace remains active, and the moved window
retains focus throughout the operation (no workspace switch, no
animation, no extra UI noise).

Why:
- Provides fast, silent window reshuffling during multitasking.
- Avoids disruptive workspace switching.
- Matches Omarchy’s focus on efficient Hyprland ergonomics.
- Keeps the user anchored to their current workflow while reorganizing.

Testing:
1. Open multiple windows across several workspaces.
2. Focus a window on the active workspace.
3. Press SUPER + ALT + [1–9, 0].
4. Verify the window appears on the target workspace and re-tiles.
5. Confirm the **source workspace stays active**.
6. Confirm **focus remains on the moved window**.
7. Repeat with multiple applications and workspace combinations.

* We've frozen this old tiling config

* Put on Super + Shift + Alt

This is an alternative version of an existing move

* Fix description

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-28 07:14:51 -08:00
Raymond46
7327f95aa1 feat: restore the last notification keybinding (#3580)
* feat: restore the last notification.

* Stick with comma

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-28 07:09:04 -08:00
Alexander
a8b8eb6f5e Reset keyboard layout to default first one on the lock screen (#3541) 2025-11-28 07:06:54 -08:00
Jeff Nunn
16d0133037 Remove theme menu now sorts themes alphabetically (like list themes does) (#3635) 2025-11-28 07:05:08 -08:00
Patrick Lenz
68c3917386 Fix usage message in omarchy-branch-set script (#3634) 2025-11-28 06:58:18 -08:00
Jeff Nunn
2cfc3b0f9e Fixes Ristretto cursor visibility in Ghostty/neovim (#3620) 2025-11-28 06:57:44 -08:00
David Heinemeier Hansson
96f140b93f Do the update too 2025-11-28 05:03:44 -08:00
David Heinemeier Hansson
c97995b9ea Can just do it in one go 2025-11-28 05:03:04 -08:00
David Heinemeier Hansson
8d61c73465 Fix channel updating for edge 2025-11-28 05:00:34 -08:00
David Heinemeier Hansson
2b3c48b725 Fix issue with package DBs being wrong when switching to stable channel 2025-11-28 04:59:25 -08:00
David Heinemeier Hansson
e15b2ae78c Fix emoji picker would use a 3-column design and that it would bleed into other menus
Closes #3604
2025-11-28 13:41:05 +01:00
David Heinemeier Hansson
30a5f5846c Tweaks 2025-11-28 13:15:15 +01:00
Nathan Willson
7e44ab33ac feat: show link to changelog in update confirm window (#3651)
* Update version

* feat: show link to changelog in update confirm window

* Link to scrollable changelog

You may be updating more than one version at the time.

---------

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-28 13:13:16 +01:00
David Heinemeier Hansson
6a181adf0d Reset all package DBs when changing channel 2025-11-28 13:03:55 +01:00
Ahmet Burhan Kayalı
930246aee5 Merge branch 'basecamp:master' into fix-limine-uki-path 2025-11-26 10:22:13 +03:00
Ryan Hughes
d7841e30b5 Update version 2025-11-26 02:07:16 -05:00
Ryan Hughes
bc54b97117 Merge pull request #3588 from basecamp/dev
Omarchy 3.2.1
2025-11-26 02:06:11 -05:00
David Heinemeier Hansson
a8106085aa Setup helpers to change branch and channel 2025-11-25 15:43:32 +01:00
David Heinemeier Hansson
a996438eaf Add explicit reboot + shutdown scripts that close all windows first (and allow a second to save state) 2025-11-25 15:07:20 +01:00
David Heinemeier Hansson
9524259765 Ensure lockout limit is reset on restart 2025-11-25 15:03:41 +01:00
David Heinemeier Hansson
77fd86ae93 Fix lack of quotes for multi-line batches
Closes #3597
2025-11-25 11:52:43 +01:00
David Heinemeier Hansson
8cca056b90 Use Bluetooth off icon in the waybar when BlueTUI has turned off the adapter
Closes #3599
2025-11-25 11:46:59 +01:00
David Heinemeier Hansson
a522a47f70 Ensure walker is set to autostart and that elephant is running as a service after running omarchy-refresh-walker
Closes #3609
2025-11-25 11:37:48 +01:00
Lukasz Gut
97382274f6 Add copy-url support for Brave browser (#3017)
* Add copy-url support for Brave browser

* Add required migration

* Excess CR

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-24 17:05:31 +01:00
Miras Mustimov
55692e0893 Exclude long new screensaver effect (#3553)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-24 11:00:25 +01:00
David Heinemeier Hansson
aa98e9307c Now included in the omarchy-refresh-pacman script 2025-11-24 09:53:49 +01:00
David Heinemeier Hansson
14b1ee317f Remove noconfirm from Zed install so user can pick correct vulkan backend
Related #1441
2025-11-24 09:48:27 +01:00
David Heinemeier Hansson
8f3f89fdfd Make sure the user gets a chance to actually pick the graphics options
Closes #3585
2025-11-24 09:30:10 +01:00
David Heinemeier Hansson
3765417d9a Wording 2025-11-24 09:25:28 +01:00
David Heinemeier Hansson
a6c2576a3c Start PDF viewing as float as well 2025-11-23 11:46:33 +01:00
Gerrit Dolderer
0d7fbbce02 Because TUI Apps are now saved with Exec=xdg-terminal-exec and not (#3552)
Exec=$TERMINAL the omarchy-tui-remove wont find newly created TUI-Apps. This fixes it and ensures backwards compability.

Co-authored-by: Gerrit Dolderer <gerrit.dolderer@hey.com>
2025-11-23 11:32:18 +01:00
Felix Sanchez
602d60d3d9 feat: fullscreen for ghostty/kitty screensaver (#3510)
* feat: fullscreen for ghostty/kitty screensaver

* feat: add ghostty screensaver config

* Remove the extra two bottom lines as well

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-22 14:44:03 +01:00
David Heinemeier Hansson
e3b8016e26 Bump for beta version 2025-11-22 11:39:36 +01:00
David Heinemeier Hansson
c86614039e Take backups of existing pacman.conf + mirrorlist before refreshing
Closes #3479
2025-11-22 11:05:45 +01:00
Felix Sanchez
aadb4fae08 fix: tte screensaver fullscreen (#3499)
to go tte full screen on 0.13, the option --reuse-canvas is needed
2025-11-22 10:59:37 +01:00
David Heinemeier Hansson
e864c2da43 Add marker for when packages were last updated 2025-11-22 10:54:40 +01:00
David Heinemeier Hansson
88a1141301 Simplify mirror/pkgs to just channel 2025-11-22 10:50:23 +01:00
David Heinemeier Hansson
f6cd5e076d Simplify switching between edge and stable channels 2025-11-22 10:41:30 +01:00
David Heinemeier Hansson
49f33169c1 Add mirror + pkgs channel to About menu 2025-11-22 10:37:49 +01:00
David Heinemeier Hansson
04d2f10840 Merge pull request #3295 from basecamp/dev
Omarchy 3.2.0
2025-11-21 14:34:01 -05:00
David Heinemeier Hansson
45e3272e25 No confirm 2025-11-21 20:21:55 +01:00
David Heinemeier Hansson
934b22d4c2 Do the full pacman reset and then update 2025-11-21 20:19:27 +01:00
David Heinemeier Hansson
ba7ffc39ad Ensure upgrades are sorted for later versions too 2025-11-21 20:05:23 +01:00
Ryan Hughes
cb8d42ba26 Adjust screensaver for tte v13 2025-11-21 13:46:51 -05:00
dec05eba
d725058d33 Make the screenrecord hotkey and menu stop recording if already recording 2025-11-21 13:46:51 -05:00
dec05eba
128a6125a9 Redesign screen capture option
Use desktop portal capture option which allows capturing monitors
connected to external gpus (common on laptops with dedicated gpus)
and supports capturing properly when hdr is enabled.

Desktop portal capture allows selecting capture of a window, monitor
or screen region.

Add -fallback-cpu-encoding yes to use cpu encoding if the system
doesn't support gpu encoding. Ideally omarchy should install vaapi
drivers which would fix this issue for most users, but some users
have a gpu that dont support gpu encoding at all so this option is still
needed.

Use pgrep with ^ as is done in waybar indicator screen-recording.sh
to only grep for gpu-screen-recorder program.

Update omarchy-menu to reflect not selecting region/display capture
and instead allow capturing only desktop audio or desktop + microphone
audio.

Fixes #3367 and #3303
2025-11-21 13:46:51 -05:00
David Heinemeier Hansson
cb869457c4 Use the safe-if-not-there form 2025-11-21 19:34:20 +01:00
David Heinemeier Hansson
a606b53cd9 Collapse the walker migrations to the one that does 2.0 2025-11-21 19:32:40 +01:00
David Heinemeier Hansson
f968f2012a Just refresh the whole pacman config 2025-11-21 19:28:50 +01:00
David Heinemeier Hansson
033afbbc00 Remove other slow builders that will be dropped anyway 2025-11-21 19:28:36 +01:00
David Heinemeier Hansson
4fae366a5b Explain the migration 2025-11-21 19:22:04 +01:00
David Heinemeier Hansson
63df15c967 Stick to stable 2025-11-21 19:15:25 +01:00
David Heinemeier Hansson
6385b966e8 No longer using eza themeing 2025-11-21 19:09:50 +01:00
David Heinemeier Hansson
70fa03dbb3 We don't change the font config, but rely on general monospace 2025-11-21 19:09:04 +01:00
David Heinemeier Hansson
06de54559d Update indexes 2025-11-21 19:04:48 +01:00
David Heinemeier Hansson
2bdf3fd450 Do all the upgrade work in that initial migration for old installations 2025-11-21 19:02:19 +01:00
David Heinemeier Hansson
d87f0aaa19 Improve the update for old installs 2025-11-21 18:49:34 +01:00
David Heinemeier Hansson
3e91190e50 Make sure we use stable for this too 2025-11-21 18:35:16 +01:00
David Heinemeier Hansson
fc7feda70f Link the visual menu config at install too 2025-11-21 18:27:00 +01:00
David Heinemeier Hansson
8007e38d88 Bump version for new release 2025-11-21 18:17:12 +01:00
David Heinemeier Hansson
292ac8318f Remove this from the initial config too 2025-11-21 18:14:10 +01:00
David Heinemeier Hansson
597fcb8db8 Rely on a later restart of waybar
So we don't do it over and over again on a regular upgrade
2025-11-21 18:12:53 +01:00
David Heinemeier Hansson
db7070f9d6 Ensure elephant is setup on first run 2025-11-21 18:02:04 +01:00
David Heinemeier Hansson
385df32daa Refresh Walker config to ensure compatibility with latest version 2025-11-21 17:54:55 +01:00
Ryan Hughes
50ec3cec42 Merge pull request #3451 from abenz1267/walkerlayout
fix(walker): update for breaking changes in latest version
2025-11-21 11:49:15 -05:00
David Heinemeier Hansson
8b6fd9eed9 Update to match current colors 2025-11-21 16:09:38 +01:00
David Heinemeier Hansson
328c26efa2 Stick to the lighter Everforest colors we have in Alacritty 2025-11-21 14:35:03 +01:00
David Heinemeier Hansson
2c4a9275d1 Revert "Reapply "feat: don't screenshare notifications (#3482)""
This reverts commit 7ebe9fd7ab.
2025-11-21 12:36:35 +01:00
David Heinemeier Hansson
4efdcc62c6 Also default to float for video playback 2025-11-21 11:20:48 +01:00
bjarneo
62665abd0e Remove Aether nvim dependency (#3485)
This nvim theme is now standalone
2025-11-21 09:22:38 +01:00
SoAp9035
f9450e1fb7 Fix limine UKI cleanup path 2025-11-21 10:59:08 +03:00
David Heinemeier Hansson
7ebe9fd7ab Reapply "feat: don't screenshare notifications (#3482)"
This reverts commit cf6a8476c5.
2025-11-20 21:04:56 +01:00
David Heinemeier Hansson
cf6a8476c5 Revert "feat: don't screenshare notifications (#3482)"
This reverts commit bdb97195d8.
2025-11-20 18:01:10 +01:00
Maxime Mangel
bdb97195d8 feat: don't screenshare notifications (#3482) 2025-11-20 17:22:13 +01:00
David Heinemeier Hansson
a5ceb3f860 We never ended up using this
Its very hard to properly ignore packages. So better we just double down
on the stable repo and keeping them out of general rotation.
2025-11-20 17:06:02 +01:00
David Heinemeier Hansson
9d8961915e Fix the style update too 2025-11-20 16:59:28 +01:00
David Heinemeier Hansson
661e4f5add Add migration 2025-11-20 16:52:10 +01:00
brink-lab
f6786e4c23 Update Waybar tray icon (#3479)
* Update style.css

Fixes the uneven spacing between icons on waybar by updating styling.css with Propo font family.
However, Propo introduces a small issue as the volume icons don't have the same with. As a consequence, icons left of volume will move based on the displayed volume icon. To solve this, I added a non-Propo font to the pipewire module as well - this way the volume icons have fixed length but eats a bit into the spacing towards the CPU icon. But I see this as the best trade-off.

* Update waybar config.jsonc

* Update tray spacing in waybar config

* Modify margins in style.css

Adjusted margins for various elements.

* Update waybar css for even spacing

* Update Waybar config tray spacing

* Change expand-icon format character

* Adjust margin-right for custom-expand-icon
2025-11-20 16:51:42 +01:00
David Heinemeier Hansson
9626408259 Remove the menus from the general provider so themes don't show up in the app launcher 2025-11-20 14:25:24 +01:00
David Heinemeier Hansson
4c8ee6cc1a There could have been another format-no-controller actually 2025-11-20 14:21:29 +01:00
David Heinemeier Hansson
37e5ed0d9d Restart waybar not walker 2025-11-20 14:19:40 +01:00
David Heinemeier Hansson
ec59388634 Make sure we just match exact 2025-11-20 13:58:39 +01:00
David Heinemeier Hansson
b5002b1f1d Need to have fuzzy match to work with the web apps for matching 2025-11-20 13:57:00 +01:00
Darren
4c414f8dc2 updated omarchy-hyprland-window-pop to have an optional parameters (#3456)
* added optional argument for floating a window

* added sample comment

* Style

* This file isn't meant to be changed so not a good place for commented out recommendations

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-20 13:38:29 +01:00
David Heinemeier Hansson
5ea1ae260e Explain why -Sy is ok
Closes #3467
2025-11-20 13:20:08 +01:00
David Heinemeier Hansson
4dbaf5e35f Use connected bluetooth icon when appropriate
Closes #3274
Co-authored-by: @vander00
2025-11-20 13:14:24 +01:00
David Heinemeier Hansson
0fc901d4fc Add 100-line split moves to Ghostty config
Using Super + Ctrl + Shift + Alt + Arrows
2025-11-20 11:21:39 +01:00
David Heinemeier Hansson
fef7efc841 Blue fits better imo 2025-11-20 11:08:27 +01:00
bjarneo
cd2a4e416b Add theme ethereal (#3464)
* Add theme Ethereal

* Update to follow the Omarchy hot reload

* Add aether to all themes

* Add a vscode theme

* Revert "Add aether to all themes"

This reverts commit 421f467e21.

* Format the kitty file

* Make available to all via migration

* Fix

* Add hot reload

* Change the background image to something of higher quality

This looks a lot better on a 6K monitor

* Highlight border color should be brighter than inactive color

* Add preview.png for new visual theme selector

* Add the ethereal nvim variant of aehter

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-20 11:05:07 +01:00
David Heinemeier Hansson
c298823af4 This conflicts with Chromium when both are installed 2025-11-20 11:00:59 +01:00
bjarneo
a1b1eb5920 Add a new theme called Hackerman (#3317)
* Add a new theme called hackerman

* Update to follow the Omarchy hot reload

* Add high res wallpapers

* Add an initial vscode color scheme

* Excess CR

* Set the colorscheme name to aether

* Change the nvim plugin name back to aether

* Add hot reload

* Use a variant of aether

* Swap the starting background

* Add migration

* Add preview.png

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-20 10:54:17 +01:00
David Heinemeier Hansson
08143c5cbc No longer need these variables 2025-11-20 10:08:55 +01:00
David Heinemeier Hansson
261a7dcc1f Don't suggest invalid scale 2025-11-20 09:59:31 +01:00
David Heinemeier Hansson
44b37dafce Allow optional arguments to img transcoding functions and prevent overwrites 2025-11-20 09:37:44 +01:00
David Heinemeier Hansson
20a3c469ed Float imv by default 2025-11-20 09:16:08 +01:00
David Heinemeier Hansson
8c4bf65727 Start using the stable pkg server by default 2025-11-19 20:59:12 +01:00
David Heinemeier Hansson
3e4421a37f Ensure we are using the new stable mirror before updating 2025-11-19 15:09:56 +01:00
David Heinemeier Hansson
f77f107b7e Hide Bluetooth module in waybar if there's no BT controller 2025-11-19 15:03:20 +01:00
David Heinemeier Hansson
da8c3d9c64 Add bash as well 2025-11-19 14:49:21 +01:00
David Heinemeier Hansson
8f19806742 Make existing alacritty installations compatible with X-TerminalArg 2025-11-19 14:45:44 +01:00
David Heinemeier Hansson
8fe1d627f4 End good 2025-11-19 14:27:08 +01:00
David Heinemeier Hansson
1b7fca5fa4 Simplify with a launch or focus variaty for tui 2025-11-19 14:15:22 +01:00
David Heinemeier Hansson
6e83c4f661 The restart is coming later when we switch to systemd 2025-11-19 12:06:38 +01:00
David Heinemeier Hansson
8174dc7df9 Let btop float by default to match all other system terminal windows 2025-11-19 12:04:35 +01:00
David Heinemeier Hansson
f8dcc7e190 Later migration does the refresh 2025-11-19 11:57:48 +01:00
David Heinemeier Hansson
13c3973c7a Spelling! 2025-11-19 11:56:45 +01:00
David Heinemeier Hansson
489ddc7fb0 Fix escaping 2025-11-19 11:52:57 +01:00
David Heinemeier Hansson
2c1a761b88 Walker is not run as a systemd service 2025-11-19 11:42:01 +01:00
David Heinemeier Hansson
c50003a996 Make sure to stop and start in the new fashion 2025-11-19 11:36:15 +01:00
David Heinemeier Hansson
e4a3d5e3ad Synchronize with new stable mirror 2025-11-19 11:08:44 +01:00
Andrey Sologub
9af41afd06 Feature: Add bluetui integration and migration (#3207)
* Add bluetui integration and launch script

- Add omarchy-launch-bluetooth script to launch bluetui TUI
- Create migration scripts for bluetui installation
- Update omarchy-menu and waybar configuration for bluetui support
- Add bluetui to base packages

* Move unblock into launchers and reuse existing launch or focus setup

* Fix installer to remove blueberry and be more surgical with waybar changes

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-19 09:41:12 +01:00
Eric Jimenez-Chung
335845bd26 Add install options for xpadneo driver under gaming (#2009)
* Add optional xpadneo driver prompt to Steam installer

Prompts users during Steam installation to optionally install the xpadneo driver, which fixes common Xbox/Bluetooth controller issues including detection problems and missing rumble support.

* Install xpadneo controller driver by default

* Add idempotency checks and relaunch state

* Remove Steam launch since relaunch required

* Extract xbox controller installer into separate step

* Bring back launch

* Force reinstall

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-19 09:20:59 +01:00
Patrick Roza
eec075bdf9 improve: uniquely identify terminal apps for window rules and focus. Unify waybar behaviour to use launch-or-focus (#3389)
* improve: uniquely identify btop when launched from waybar.

* align btop app id

* add migration to uniquely identify btop

* also add unique app ids to lazydocker and terminal editor

* introduce new omarchy-launch-tui that sets class.

* align all the tuis and behaviour in waybar

* update migration accordingly

* fixes

* separate terminal from tui

* fix: double setsid uswm-app --

* Standardize namespace on org.omarchy and lowercase

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-19 08:54:17 +01:00
Taha
438fa96291 Add preview images to the themes menu (#3444)
* Add new script for themes menu

* remove icons from the themes menu

* Make theme titles human readable and add spacing at the end

* Migrate to using a link for the new menu generator

* Retain consistent width

But we still do have movement when filtering the menu down to a
shorter-than-longest name. Should try to stabilize that.

* Update all previews to 2K resolution and same dimensions

* Update script to use first bg file if theme preview file doesn't exist

* Add padding to preview box instead of spaces to theme name

* Consistent formatting/indenting

* Prevent height jump

* Revert padding change and remove background color

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-19 08:30:24 +01:00
Michal Landsman
42e181054a fix: disable mouse focus for JetBrains (#3336)
* disable mouse focus for jetbrains

* Match existing style

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-19 08:26:30 +01:00
Larry Dewey
c1fca69de5 hypr: Adding xdph token default of true (#3404)
* hypr: Adding xdph token default of true

The `allow_token_by_default` configuration option under `screencopy` within
`xdg-dektop-portal-hyprland` (xdph) enables the "Allow restore token" checkbox
by default in the screen sharing section dialog. Enabling it to `true` ensures
the checkbox is pre-ticked, which can help avoid repeated selection prompts
during screen sharing sessions, such as those reported with Slack, Google Meet,
Zoom, etc. on Hyprland.

Signed-off-by: Larry Dewey <larry.j.dewey@gmail.com>

* Enable the XDPH config on existing installations

---------

Signed-off-by: Larry Dewey <larry.j.dewey@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-18 16:20:08 +01:00
Andrej Benz
367eb5b871 fix(walker): update for breaking changes in latest version 2025-11-18 16:05:36 +01:00
David Heinemeier Hansson
5ab2a69722 Add migration to add the 10th workspace back to waybar config 2025-11-18 16:02:13 +01:00
Vilém Jelen
854b14029c add back workspace 10 (#3447)
Co-authored-by: jelenv <jelenv@users.noreply.github.com>
2025-11-18 15:53:33 +01:00
David Wales
72dc352c1a Add exfatprogs to base packages (#3448)
Complements 279259d547
2025-11-18 09:27:43 +01:00
David Heinemeier Hansson
83a8740fc8 Match to Ghostty Mocha too 2025-11-17 17:40:36 +01:00
David Heinemeier Hansson
b2b65d55a7 Match Everforest Dark Hard from Ghostty
We should standardize this so it looks the same everywhere though!
2025-11-17 17:36:39 +01:00
Christopher Lewis
1ec9ccd1b1 overload lateral window navigation for grouped windows (#3325)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-17 10:17:13 +01:00
Andrej Benz
c17bd85c38 fix: start elephant as systemd service (#3405) 2025-11-17 09:51:12 +01:00
David Wales
e1745d7ff9 Avoid invalid terminal working directory (#3428)
Don't use the working directory of the last child of the active window
when opening a new terminal with Super+Enter.

Fixes #3427.
2025-11-17 09:18:56 +01:00
David Heinemeier Hansson
88684b6dd0 Merge branch 'master' into dev 2025-11-16 21:00:10 +01:00
Tony Messias
d833b45e8b Update terminal binding to use --dir option (#3339)
In basecamp@4c97a31, a migration was added to fix this option on
existing installs, but I think the default config was never updated with
the new option.
2025-11-16 20:59:33 +01:00
David Heinemeier Hansson
4b2ff4f329 Revert "improve: add image/video share and run share commands silently" (#3434)
* Revert "improve: add image/video share and run share commands silently (#3330)"

This reverts commit 03cbbd2f7f.

* Refactor share menu to remove terminal command
2025-11-16 20:58:54 +01:00
David Heinemeier Hansson
279259d547 Change format-disk to use exfat for better cross-platform compatibility 2025-11-16 15:53:08 +01:00
ctarx
9b849fc824 feat: add custom imv keybindings for delete and rotate currently opened image (#3312)
* feat: add custom imv keybindings for delete and rotate

* Update imv config and migration script

* Simplify this

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-11 16:05:45 +01:00
Nicolas Dorier
bea57919b6 Fix: Jetbrains popup dialog would not get focus automatically (#3326)
* Fix: Jetbrains popup dialog would not get focus automatically

The config shipped with omarchy misbehaves with popups. Opening a popup
would not shift the focus automatically to it, requiring manual click on
it to start typing into it.

You can reproduce with by trying to open any popup dialog (for example
CTRL+T on Rider, or CTRL+SHIFT+F)

This config with `-Dawt.toolkit.name=WLToolkit` in the custom VM options
fixes all the issues I have with jetbrains. I am also making a dedicated
workspace which float all windows just for jetbrains.

* Use existing formatting conventions

* More tweaks

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-11 15:54:25 +01:00
Dante897
03cbbd2f7f improve: add image/video share and run share commands silently (#3330)
* improve: add image/video share and run share commands silently

- Added 'image' and 'video' modes to omarchy-cmd-share to quickly send
  the most recent screenshot or video without selecting manually.
- Updated show_share_menu to run share commands in the background using
  'nohup' to avoid opening a terminal window.
- Comments added to explain each section for clarity and maintainability.

* Match names with folders

* Correct here too

* Don't need to keep this around

* Fix these up for what's needed only

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-11 15:48:02 +01:00
David Heinemeier Hansson
8840af8df9 Don't waste time creating ri docs by default 2025-11-11 14:20:55 +01:00
David Heinemeier Hansson
a54ec3a9cb Exact matching is now part of omarchy-launch-or-focus 2025-11-11 09:16:47 +01:00
David Heinemeier Hansson
42f47195ea Match exact not partial window pattern 2025-11-11 09:16:27 +01:00
David Heinemeier Hansson
89b1029588 Can't use the blur on walker until we can run the whole thing as a single process 2025-11-11 08:45:36 +01:00
David Heinemeier Hansson
29aae9a93e Tweak blur settings and apply it to walker
Settings by @tobi ✌️
2025-11-10 21:29:41 +01:00
David Heinemeier Hansson
a6d49196d0 Make sure the ruby is added separately from just try
So we always have a system Ruby available
2025-11-10 15:22:06 +01:00
David Heinemeier Hansson
b7989ac89b Ensure the system always has a base ruby even if one is not installed via mise 2025-11-10 15:21:15 +01:00
David Heinemeier Hansson
3c19e4e12c Add @tobi's try as a default install 2025-11-10 15:20:17 +01:00
Mislav Pukljak
94f29f3cba small fix in input.conf (#3298) 2025-11-10 15:18:00 +01:00
David Heinemeier Hansson
2fcc4e9c47 More 2025-11-10 14:38:27 +01:00
David Heinemeier Hansson
d81f6de211 Make Work/tries ready too 2025-11-10 14:37:46 +01:00
David Heinemeier Hansson
e97ae0d842 Activate try when it is available 2025-11-10 14:36:44 +01:00
David Heinemeier Hansson
2290152fb9 Fit height better for JetBrainsMono 2025-11-10 11:47:07 +01:00
David Heinemeier Hansson
f364ee1167 Move everyone over to the stable mirror by default 2025-11-10 11:35:32 +01:00
David Heinemeier Hansson
6e1f1cae1b Slowdown the ghostty scrolling a tad 2025-11-10 11:33:35 +01:00
David Heinemeier Hansson
e354df3143 Use a slower mouse scroll 2025-11-10 11:27:22 +01:00
David Heinemeier Hansson
c981dda55a Change default font to JetBrainsMono Nerd Font
Caskaydia Mono doesn't look quite right in Ghostty
2025-11-10 10:57:16 +01:00
David Heinemeier Hansson
b6ba588fa3 Switch to Ghostty as the default terminal 2025-11-10 10:54:41 +01:00
David Heinemeier Hansson
bf3a5b0a36 Style 2025-11-10 10:49:46 +01:00
David Heinemeier Hansson
9e1a70488b Fix killing of screensaver running in any terminal 2025-11-10 10:46:18 +01:00
David Heinemeier Hansson
a43d090596 We've been using fresh 2025-11-10 10:36:31 +01:00
David Heinemeier Hansson
fceb7106d9 Package only exists on AUR
Not sure why what would be using this, @ryanrhughes?
2025-11-10 10:28:14 +01:00
David Heinemeier Hansson
d2aeb520fc Prevent the conflict asking for rust v rustup 2025-11-10 10:23:10 +01:00
David Heinemeier Hansson
61678986fc Use packages that exist 2025-11-10 10:19:36 +01:00
David Heinemeier Hansson
2425f4d3e0 Default to the new stable mirror 2025-11-10 10:12:24 +01:00
David Heinemeier Hansson
c6918e637b Make screensaver capable of running in any of the terminal options 2025-11-10 10:02:02 +01:00
David Heinemeier Hansson
6f334868d6 Fix match and make 1password float by default 2025-11-10 09:15:27 +01:00
David Heinemeier Hansson
79207160e6 Add migration 2025-11-10 08:57:43 +01:00
Jan Costandius
a9d6a77ee6 Add usage to base packages (#3280)
The usage CLI is required for mise tab completions to work.
2025-11-10 08:57:27 +01:00
Mitch Lombardi
a304b32cc1 Dynamically set hyprlock font and placeholder text (#3281) 2025-11-10 08:51:49 +01:00
David Heinemeier Hansson
3a744e0f78 Still need the setsid 2025-11-10 08:48:32 +01:00
David Heinemeier Hansson
88b13e6899 Launch or focus wifi settings
Closes #3288
Co-authored-by: @AdamMusa
2025-11-10 08:39:18 +01:00
David Heinemeier Hansson
70d15921b9 Add Super + Shift + Alt + Left/Right to move workspaces between monitors
Closes #1373, #3010
Co-authored-by: @jheuing
2025-11-09 11:37:43 +01:00
David Heinemeier Hansson
283a41c494 Add Super + Alt + PageUp/Down for tiling groups to mimic browser
More ergonomic to press than tab, but we will keep tab so not to confuse
folks who already adopted that.
2025-11-09 11:36:41 +01:00
David Heinemeier Hansson
3d10b38054 Ensure we can wake screen on both mouse and keyboard
Closes #2146
Co-authored-by: @nicoestrada
2025-11-09 11:14:32 +01:00
David Heinemeier Hansson
d33e947b99 We were already doing this! 2025-11-09 09:25:35 +01:00
David Heinemeier Hansson
79d48b4d8a Notify user that font changes require a Ghostty restart 2025-11-09 09:25:00 +01:00
David Heinemeier Hansson
4d3c02c69d Only restart if they are running 2025-11-09 09:22:48 +01:00
Dylan
e96bd085a5 Improve contrast on volume notification for Matte Black theme (#3212) 2025-11-09 08:10:12 +01:00
Rob Zolkos
64e581e5aa Use AAC audio codec for screen recordings (#3220)
AAC provides better cross-platform compatibility compared to Opus when
using MP4 containers. While Opus is supported in MP4, compatibility
varies across different media players and platforms.

In testing, screen recordings with Opus codec sent to Windows users
played without audio in Windows Media Player, while recordings with
AAC codec worked immediately without issues. AAC ensures recordings
are playable out-of-the-box across all platforms without requiring
users to install additional codecs or use alternative media players.
2025-11-09 08:08:23 +01:00
Chris Roth
694c83f518 Add binding to invoke last mako notification (#3232)
This additional bind lets the user follow the default action of a notification with a keystroke in the same position `,` as the other notification binds.
2025-11-09 08:07:09 +01:00
MatyiFKBT
49308eb12a Update Helium browser in omarchy-launch-webapp (#3225)
* Update Helium browser in omarchy-launch-webapp

see https://github.com/basecamp/omarchy/pull/1945#discussion_r2401957283

* Fix browser pattern matching in launch script for helium

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-09 08:06:23 +01:00
Adam
26d37ca2e0 Fix: hard-coded binding for changegroupactive (#3233)
Changed default bindings for switching to a window in a group. The original values did not respect different keyboard layouts.
2025-11-09 08:02:35 +01:00
Miguel P
c92362937a Use xdg-terminal-exec in TUI installer for terminal compatibility (#3237)
Replace hardcoded --class flag with xdg-terminal-exec --app-id to properly
support kitty and other terminals. This aligns with the rest of the codebase
and ensures floating window rules work correctly across different terminals.
2025-11-09 08:01:37 +01:00
Dmytro Budnyk
7a0fa07454 Update icon URL placeholder to accept SVG format (#3253)
SVGs work just fine, changing misleading caption
2025-11-09 07:50:36 +01:00
David Heinemeier Hansson
917279bff7 Merge branch 'master' into dev 2025-11-09 07:45:37 +01:00
David Heinemeier Hansson
8350b84eee This has been swapped 2025-11-09 07:17:38 +01:00
Ryan Hughes
d9acd35ef4 Version bump 2025-11-09 00:54:44 -05:00
Ryan Hughes
044e826bb7 Merge pull request #3258 from sk4rrjin/patch-1
Update pip.conf, fix Invalid rule/parameter errors after hyprland update
2025-11-09 00:43:25 -05:00
karr
57e726f0c5 Update pip.conf, fix Invalid rule/parameter errors after hyprland update
Updated hyprland throws Invalid rule / Invalid parameter on the pip windowrule
2025-11-08 23:37:30 +01:00
David Heinemeier Hansson
06fc4db4db Merge branch 'master' into dev 2025-11-07 21:54:13 +01:00
Ryan Hughes
15b5ee92d7 Merge pull request #3234 from basecamp/hotfix-limine-conf-location
Hotfix limine.conf order sourcing causing boot errors
2025-11-07 15:50:55 -05:00
Ryan Hughes
f6aa97350e Update to prevent error 2025-11-07 15:48:45 -05:00
David Heinemeier Hansson
5192c9b687 Ensure successful ending of migration 2025-11-07 21:35:41 +01:00
Ryan Hughes
e263b5d00a Only run for Limine installs 2025-11-07 15:09:34 -05:00
Ryan Hughes
26821c9b34 Cleanup on install 2025-11-07 15:04:23 -05:00
Ryan Hughes
7cd5661f89 Bump version 2025-11-07 14:57:19 -05:00
Ryan Hughes
6cdf4a3790 Remove any alternative limine.conf files 2025-11-07 14:46:29 -05:00
Ryan Hughes
c92a7eab81 Revert "Kill the actual screensaver command"
This reverts commit 33dde26902.
2025-11-06 11:32:19 -05:00
Ryan Hughes
8aa2d295e5 Revert "Make screensaver work with xdg-terminal-exec"
This reverts commit fc8e4c0400.
2025-11-06 11:32:10 -05:00
Ryan Hughes
5fb29c199a Revert "Update screensaver with 2x version"
This reverts commit b1b6e5d2a7.
2025-11-06 11:30:02 -05:00
David Heinemeier Hansson
962aca303d Change order and let it live forever 2025-11-06 09:14:33 +01:00
David Heinemeier Hansson
870356ecc3 Fix max_results to live under [providers]
Re #3175
2025-11-06 08:32:07 +01:00
David Heinemeier Hansson
cb03d7d84b Raise walker max_entries to 256
The default is only 50

Closes #3175
2025-11-05 17:29:10 +01:00
y0no
7a0bdaafa4 Scale with the right monitor (#3174) 2025-11-05 16:08:25 +01:00
David Heinemeier Hansson
638e35fcac Hyprland envs are superseeded by uwsm/env 2025-11-05 15:15:01 +01:00
David Heinemeier Hansson
904d253b4d Restart terminal (reload config) when changing font as well
This doesn't work for Ghostty (yet?) but it does work for Kitty
2025-11-05 11:59:51 +01:00
innerviewer
a40ff463c9 (Hypr) Added 'stayfocused' window rule for DaVinci Resolve dialog windows. (#3064) 2025-11-05 11:44:30 +01:00
Patrick Roza
8e210088c1 Fix class name for Microsoft Edge in browser.conf (#3145) 2025-11-05 11:20:28 +01:00
David Heinemeier Hansson
bf26366be4 Setting PS1 is not necessary when we have starship 2025-11-05 11:13:49 +01:00
David Heinemeier Hansson
4391df6853 Fix declining an update 2025-11-04 08:47:17 +01:00
David Heinemeier Hansson
2498216a4f Merge branch 'master' into dev 2025-11-04 08:35:27 +01:00
Ryan Hughes
33dde26902 Kill the actual screensaver command 2025-11-03 21:37:51 -05:00
Ryan Hughes
b1b6e5d2a7 Update screensaver with 2x version 2025-11-03 21:34:22 -05:00
Ryan Hughes
fc8e4c0400 Make screensaver work with xdg-terminal-exec 2025-11-03 21:34:22 -05:00
Ryan Hughes
f9557177dc Merge pull request #2648 from wolfgangw/patch-1
TTE go fullscreen: --no-eol (tte 0.12.2/0.13.0)
2025-11-03 21:33:06 -05:00
Ryan Hughes
3065ca9f2a Fix --dir 2025-11-03 15:37:46 -05:00
Ryan Hughes
ba5343ca11 Bump version 2025-11-03 15:37:27 -05:00
Ryan Hughes
7f9ee95e1a Merge pull request #3084 from basecamp/dev
Omarchy 3.1.5
2025-11-03 12:13:01 -05:00
David Heinemeier Hansson
e369d68fe1 Take the rounding back a notch 2025-11-03 17:46:31 +01:00
Ryan Hughes
661abc89a6 Add omarchy-walker meta package 2025-11-03 11:37:20 -05:00
David Heinemeier Hansson
28ba448020 Merge branch 'master' into dev 2025-11-03 10:51:19 +01:00
David Heinemeier Hansson
4b15fe9a52 More wordsmithing 2025-11-03 10:50:54 +01:00
David Heinemeier Hansson
886a9f6f2c More wordsmithing 2025-11-03 10:49:35 +01:00
David Heinemeier Hansson
54795a2f55 Direct enhancements and ideas to discussions 2025-11-03 10:48:24 +01:00
Miha Rekar
d528393df6 Do not create eza theme symlink (#3092) 2025-11-03 10:19:54 +01:00
Ryan Hughes
4c97a31c98 Switch to xdg-terminal-exec
Solves the issue from ae10133b5e the right
way using the actual xdg-terminal-exec package and provides resillient
fallbacks no matter what the user might do.

This also removes the need to restart after changing terminals at all.

fixes #2198
fixes #2329
fixes #2673
fixes #1754
2025-11-03 01:11:09 -05:00
Ryan Hughes
66b5f7eab8 Move a few more to OPR 2025-11-02 22:50:25 -05:00
Ryan Hughes
9e971e3e56 Fix not working with alacritty 2025-11-02 18:58:11 -05:00
Ryan Hughes
ae10133b5e Fix neovim launching from files
Because of [hardcoded terminals in
glib](https://gitlab.gnome.org/GNOME/glib/-/blob/main/gio/gdesktopappinfo.c#L2755)
the previous fix still doesn't work well with Alacritty and Kitty.

Using our `omarchy-launch-terminal` aliased to `xdg-terminal-exec` does
the trick and doesn't introduce any new dependencies or rely on a lib
that isn't stable.
2025-11-02 17:57:25 -05:00
David Heinemeier Hansson
0f64a11f4e Follow naming convention from other hyprland scripts 2025-11-02 20:36:42 +01:00
Ryan Robitaille
b738c77acf Feature (hypr): add “Pop window” (float+pin) on SUPER+O (#2954)
* Feature (hypr): add “Pop window” (float+pin) on SUPER+L

* fix: changed default keybinding to SUPER+O
2025-11-02 20:36:28 +01:00
killeik
f76ba69f70 Make omarchy-launch-editor check that setted $EDITOR exists (#3072) 2025-11-02 20:28:41 +01:00
David Heinemeier Hansson
bfeb3a1e65 Gemini is now on extra/gemini-cli
Closes #3040
Co-authored-by: @maromalo
2025-11-02 20:12:08 +01:00
Wojciech Wnętrzak
3c89acadc1 Further instructions for auto nightlight (#3082)
Follow up to https://github.com/basecamp/omarchy/pull/2446l

I noticed that it did not work because the process was not running by default, vide d9efaac906
2025-11-02 20:04:53 +01:00
David Heinemeier Hansson
58ecda3b80 Make Yes the default 2025-10-31 14:34:08 +01:00
David Heinemeier Hansson
dd3b64ef7f Extract the confirmation into its own file 2025-10-31 14:33:54 +01:00
Brian Blakely
fc0983624e VS Code: Apply Omarchy theme during install (#2983)
* Apply Omarchy theme; Install Neovim extension (automatically scoops up LazyVim config).

* Just set the Omarchy theme

Removed installation of Neovim extension from script.

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-31 14:22:30 +01:00
David Heinemeier Hansson
fb3271f3af Fix phantom recording indicator
Closes #2656
Co-authored-by: @davidszp
2025-10-31 14:09:51 +01:00
Ryan Hughes
3344f33104 Use xdg-mime to set nvim as default
As @abenz1267 pointed out, the previous solution wasn't the greatest.
This is the proper solution.
2025-10-29 13:25:48 -04:00
David Heinemeier Hansson
407d283cb7 Rephrase 2025-10-29 10:58:24 +01:00
Joshua Fouch
ac8073fc81 Fix: Low Battery notification returning empty value on reboot (#2949)
* Fix: Low Battery notification returning empty value on reboot

* Simplify the check

* Double paste

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-29 10:58:06 +01:00
David Heinemeier Hansson
7770f49c1a Looks better without margin 2025-10-28 18:20:39 +01:00
David Heinemeier Hansson
9490e714c3 Moved 2025-10-28 18:19:28 +01:00
David Heinemeier Hansson
d3a54dc32e Show keybindings notice right away and vary update based on internet or not 2025-10-28 18:19:17 +01:00
David Heinemeier Hansson
d7cd1950ce Bump for the next version 2025-10-28 16:56:07 +01:00
David Heinemeier Hansson
e58569b947 Merge pull request #2862 from basecamp/dev
Omarchy 3.1.4
2025-10-28 16:18:13 +01:00
David Heinemeier Hansson
6243c82251 Turn off the trigger keys instead 2025-10-28 16:06:12 +01:00
David Heinemeier Hansson
928910773c Make sure to restart fxitc5 after making config changes 2025-10-28 15:38:50 +01:00
David Heinemeier Hansson
a48001b8cc Turn off fcitx5 clipboard hotkeys that are interferring with other apps
Co-authored-by: @cairin
Ref: #2795
2025-10-28 11:30:27 +01:00
David Heinemeier Hansson
c17e4f57ff No need for this either 2025-10-28 08:59:37 +01:00
AdamMusa
62cdece33a Allow interaction with first Android Studio dialog ("Send usage statistics") by adjusting JetBrains window rules (#2899)
* fix(jetbrains.conf): allow focus for Android Studio’s first dialog by unsetting nofocus rules for empty-title windows

* Refactor window rules for JetBrains apps

Updated window rules for JetBrains applications to allow focus and interaction with dialogs.

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-28 08:38:09 +01:00
Jordan Kicklighter
45d4b41749 Include all shell-integration-features options together (#2915)
Ghostty will only use the last `shell-integration-features` line found
in the config, so multiple options need to be presented as a
comma-separated list. Including them on separate lines meant that only
the `ssh-env` option was getting set, causing the `no-cursor` option to
be ignored. This prevented the cursor from going into the `block` style.
2025-10-28 08:37:11 +01:00
David Heinemeier Hansson
d64a178635 No need to ask 2025-10-28 08:34:22 +01:00
David Heinemeier Hansson
d493e0536a Make it update-time instead of reset-time and use before doing an update 2025-10-28 08:30:54 +01:00
Ryan Hughes
0e5c22ac38 Add the keyring for manual installs 2025-10-28 02:33:54 -04:00
Ryan Hughes
d5a8f1b06b Move update-keyring to the beginning 2025-10-28 01:43:25 -04:00
Ryan Hughes
f3c816fe85 Set version 2025-10-28 01:08:05 -04:00
Ryan Hughes
ba348a6a15 Remove nvim.desktop in favor of symlink
Moving to symlink fixes the following issues:
- App removes from launchers if you uninstall Nvim
- Nvim launches in the correct terminal without invalid desktop entry

Symlink setup moved to omarchy-nvim-setup (Ref:
bb7a0f4c1f)
2025-10-27 23:48:58 -04:00
Ryan Hughes
ef0a9464a2 Back to default colors here 2025-10-27 19:05:01 -04:00
Ryan Hughes
d9a077d5b6 Style gum confirm using ANSI colors so they match 2025-10-27 19:02:56 -04:00
Ryan Hughes
b75e70fb9b Add an update confirmation
Will prevent some users from accidentally clicking the update icon only
to terminate and wind up in a broken state.
2025-10-27 18:12:35 -04:00
Ryan Hughes
4bb626bc4e Add omarchy-keyring for existing installs 2025-10-27 17:50:08 -04:00
Ryan Hughes
b3e7ff2b60 Update install method for openai-codex 2025-10-27 14:20:46 -04:00
Ryan Hughes
4bd29207c6 Add migration for news alerts box 2025-10-27 13:29:09 -04:00
Anton Lindholm
a39ecf41bc config/uwsm/env: remove extra trailing / in path (#2907) 2025-10-27 18:03:52 +01:00
David Heinemeier Hansson
048fdea87a Ensure nvim always opens nvim not $EDITOR
Closes #2900
2025-10-27 17:57:52 +01:00
Alex Six
d8f97b8d02 Fix auto-generated everforest obsidian theme readability issues (#2752)
* Fix auto-generated everforest obsidian theme

* Update `--text-muted` and `--text-faint` to be readable against
background color

* Add contrast detection and color correction logic

* Remove dedicated Obsidian CSS file

* Add dedicated text color variables to obsidian theme generation

* Replace closest color logic with generated color for code bg in Obsidian

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-27 17:50:37 +01:00
Ryan Hughes
556e474942 Add setting systemd vars to prevent slow app launches 2025-10-27 12:46:55 -04:00
David Heinemeier Hansson
9d9f362c7a Just use the basics in case there is a problem with path 2025-10-27 17:32:16 +01:00
ctarx
1060a54c1a Remove default SSH allow rule from UFW (#2887)
* UFW: limit LocalSend (53317) to LAN and remove default SSH (22) rule

* Revert LocalSend change and drop SSH allow rule
2025-10-27 15:43:48 +01:00
David Heinemeier Hansson
06389d0422 Bump checking for new version from 1 to 6 hours
Lessen the stampede going forward
2025-10-27 15:36:07 +01:00
ctarx
e0e71a34fe imv: add default Ctrl+P binding to print current image via CUPS (#2872)
* imv: add default Ctrl+P binding to print current image via CUPS

* Add imv config migration with backup

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-27 14:55:14 +01:00
David Heinemeier Hansson
d128833e7b Already in mise-work 2025-10-27 14:51:52 +01:00
David Heinemeier Hansson
bba2ade78f Ensure node is installed for use by treesitter in neovim
cc @ryanrhughes
2025-10-27 09:55:54 +01:00
Zacharias Knudsen
e4f2cc2175 Use better git defaults (#1601) 2025-10-27 09:42:04 +01:00
David Heinemeier Hansson
e0f9beda7a Reposition scratchpad keybindings in cheatsheet 2025-10-27 09:02:54 +01:00
Fredrik Storm
79267da5f2 Add bindings for scratchpad support (#2669)
* Add bindings for scratchpad support

This is great for hiding windows temporarily and bringing them up when
needed in an overlay, I'm using it to hide away my webcam control in
meetings. ;)

* Change shortcut to move window to scratchpad

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-27 09:00:35 +01:00
Wiehann
cc5c842f9f Fix ls when not using eza (#2607)
* Fix ls when not using eza

* Make use of omarchy-cmd-present
2025-10-27 08:56:27 +01:00
Wiehann
9b37d8549f Fix cd command if zoxide is missing (#2609)
* Fix cd command if zoxide is missing

* Make use of omarchy-cmd-present
2025-10-27 08:55:38 +01:00
neimadTL
75eb059779 Remove after install usb installer message (#2888)
Since in almost all cases, the EFI entries will get positioned
above the USB, this notice is not needed.
2025-10-27 08:47:50 +01:00
Rishabh Sarang
7a7881b176 Update windowrule for xdg-desktop-portal-gtk class (#2876) 2025-10-26 20:45:59 +01:00
David Heinemeier Hansson
2586cec7a0 Merge branch 'master' into dev 2025-10-26 13:16:45 +01:00
Ryan Hughes
fc30a25842 Merge pull request #2516 from ZorudaRinku/master
Clarify error message when no web apps have been selected in the WebApp Remove menu
2025-10-25 20:04:26 -04:00
Andrej Benz
1d29406910 fix: cleanup default walker config values (#2560) 2025-10-25 21:47:23 +02:00
David Heinemeier Hansson
249318b398 Ensure that elephant is started before walker
Because if not, we get the dreaded "Waiting for elephant" message. CC:
@abenz1267
2025-10-25 21:46:31 +02:00
Manuel
9b798c3c0f Add the keybinding for the copy url extension in the SUPER+K Menu (#2801)
* init

* go with a hardcoded list

* revert manifest modification

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-25 21:38:13 +02:00
Ryan Hughes
14f803857c Update issue templates 2025-10-25 12:58:21 -04:00
David Heinemeier Hansson
b92beef294 Ensure Wayland IME is turned on when starting Typora from hotkey too 2025-10-25 14:25:06 +02:00
Rishabh Sarang
6fce5e28c9 fix(portal): match additional 'Choose Export Directory' dialogs (#2839)
Some applications (e.g. Aether) use xdg-desktop-portal-gtk to open folder chooser dialogs titled "Choose Export Directory" or similar. These were not matched by the previous floating-window regex, causing them to tile instead of float.

This change expands the title regex to include "Choose …" patterns, ensuring these dialogs float and center properly in Hyprland
2025-10-25 13:16:16 +02:00
Brennan Coslett
7b02895962 Surface: enable built-in keyboard at LUKS (#2621)
Derives the list of required modules for the installer from Chris
McLeod's manual installation steps. His instructions say to use the
surface-linux kernel however the default kernel has the right set
of modules already (as noted by the fact that the right modules are
loaded for the keyboard to work during the install and after the LUKS
unlock screen).

I only have a Surface Laptop 3 to test this on but based on the guide
where Chris is using a newer laptop and the only difference is the
pinctrl module which I attempt to autodetect I think it should "just"
work for others but definitely "use at your own risk".
2025-10-25 08:18:23 +02:00
Nikhil Jain
9a90afb6e8 New window replaces the current fullscreen or maximized window (#2821)
* New window replaces the current fullscreen or maximized window

Currently if we are in fullscreen or full-width mode and either

start a new application OR
create a new window of an existing application. Like an incognito window
Then those new windows/apps start in the background. There is no indication that something new has been created.

IMHO, if I am opening an application then I want to switch to it. I cannot think of any common use case for having new applications open in the background.

This change will cause new application to replace current application as the fullscreen / fullwidth window

Please see docs: https://wiki.hypr.land/Configuring/Variables/#misc

Option:
new_window_takes_over_fullscreen

Desc:
if there is a fullscreen or maximized window, decide whether a new tiled window opened should replace it, stay behind or disable the fullscreen/maximized state. 0 - behind, 1 - takes over, 2 - unfullscreen/unmaxize [0/1/2]

Type:
int

Default:
0

* fix the setting name
2025-10-24 12:55:14 -07:00
David Heinemeier Hansson
37518c222c Control border size instead so it works if default is 0 2025-10-24 07:16:36 -07:00
David Heinemeier Hansson
6f0958aa67 Suggest entirely fullscreen view option 2025-10-24 07:13:01 -07:00
David Heinemeier Hansson
475e831391 Merge branch 'master' into dev 2025-10-24 06:45:33 -07:00
Rishabh Sarang
69c2195c10 fix(hyprland): match Brave portal dialogs in floating-window rule (#2788)
* fix(hyprland): match Brave portal dialogs in floating-window rule

Brave on Wayland uses xdg-desktop-portal-gtk for permission and file dialogs.
These windows use website-based titles (e.g. "chatgpt.com wants to open")
instead of "Open File" or "Save File", so they were not matched by the
floating-window rule. This commit expands the title regex to include those
patterns, ensuring Brave dialogs float properly.

* Shrink scope

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-24 06:35:30 -07:00
David Heinemeier Hansson
795bfdd969 Include all workspace movements together 2025-10-24 06:30:47 -07:00
David Heinemeier Hansson
eac7ea8a49 Few more tweaks to the keybindings 2025-10-24 06:26:46 -07:00
David Heinemeier Hansson
de2b32d77f Sort keybindings on SUPER + K
Easier to learn when presented in order
2025-10-24 06:06:34 -07:00
Ryan Hughes
63d4482e8c Hotfix: Prevent error when no orphans exist 2025-10-24 04:01:07 -04:00
Ryan Hughes
efdea50053 Update issue templates 2025-10-24 03:43:52 -04:00
Ryan Hughes
15c22d5e75 Merge pull request #2770 from basecamp/dev
Omarchy v3.1.2
2025-10-24 03:01:34 -04:00
Ryan Hughes
1776981ebf Set version for release 2025-10-24 02:55:42 -04:00
Ryan Hughes
cff15363c9 Add asdcontrol 2025-10-24 02:37:17 -04:00
Ryan Hughes
d2efdcede4 Revert "Add wayfreeze"
This reverts commit be24e38ea2.
2025-10-24 02:33:29 -04:00
Ryan Hughes
be24e38ea2 Add wayfreeze 2025-10-24 02:29:21 -04:00
Ryan Hughes
717a015537 Migrate to non-bin again 2025-10-24 02:26:38 -04:00
Ryan Hughes
a37495e3d1 Add migration to add node if it's missing 2025-10-23 23:03:00 -04:00
Ryan Hughes
7882893a23 Add right-click for emergency terminal 2025-10-23 22:32:43 -04:00
Ryan Hughes
7437c73113 Add launch terminal 2025-10-23 22:26:46 -04:00
Ryan Hughes
413d292f2a Improve update error catching 2025-10-23 21:33:23 -04:00
Ryan Hughes
50e68f466e Just kidding 2025-10-23 20:29:07 -04:00
Ryan Hughes
d106cd9284 Don't run as root and add missing pieces 2025-10-23 20:28:51 -04:00
Ryan Hughes
62b6802641 Don't run as root 2025-10-23 20:28:23 -04:00
Ryan Hughes
4f2f7b41e7 Add branch 2025-10-23 20:17:58 -04:00
Ryan Hughes
74473f5650 Add omarchy-refresh-limine 2025-10-23 17:23:05 -04:00
3x3cut0r
a7d76bfc24 Merge pull request #1 from 3x3cut0r/codex/refactor-omarchy-windows-vm-rdp-initialization
Improve Windows VM launch to verify RDP readiness
2025-10-23 23:20:05 +02:00
Ryan Hughes
b6eb76d3ea Add omarchy-debug 2025-10-23 17:15:57 -04:00
3x3cut0r
f5d0c16f85 Improve RDP readiness check before launching VM 2025-10-23 22:50:10 +02:00
David Heinemeier Hansson
ba2018087c Provide time and battery notifications for when you're running without the waybar 2025-10-23 13:40:41 -07:00
David Heinemeier Hansson
9f00d5a3a0 Extract omarchy-battery-remaining command 2025-10-23 13:40:18 -07:00
David Heinemeier Hansson
260d586343 Revert "Use our OPR version"
This reverts commit d29e5777e0.
2025-10-23 12:26:09 -07:00
David Heinemeier Hansson
027825cbad Add way to update time with latest sync 2025-10-23 12:18:14 -07:00
David Heinemeier Hansson
d29e5777e0 Use our OPR version 2025-10-23 12:15:50 -07:00
David Heinemeier Hansson
5d756de561 Just do the missing ones 2025-10-23 12:10:48 -07:00
David Heinemeier Hansson
6529472cad No output 2025-10-23 11:58:49 -07:00
David Heinemeier Hansson
2310569eae Fix path 2025-10-23 11:56:55 -07:00
David Heinemeier Hansson
70f69c7fc6 Also ensure we are resetting the Omarchy repository 2025-10-23 11:39:10 -07:00
David Heinemeier Hansson
c7f851cc57 More work needed 2025-10-23 11:32:00 -07:00
David Heinemeier Hansson
56f1c82b7d Add omarchy-reinstall command to bring back screwed up systems 2025-10-23 11:31:29 -07:00
David Heinemeier Hansson
83beedabab Remove branch selector
It should not be so easy to get yourself into trouble with the dev
branch
2025-10-23 11:08:43 -07:00
Ryan Hughes
76209ee33e Only clean if we see the entry 2025-10-23 14:06:28 -04:00
Ryan Hughes
7c7d472e39 Don't scan to prevent prompting users 2025-10-23 13:57:25 -04:00
Ryan Hughes
9b4a42cc03 Remove setting UKI as primary boot from default 2025-10-23 13:51:31 -04:00
Ryan Hughes
385020cbb0 Cleanup after having moved to omarch_linux.efi 2025-10-23 13:51:31 -04:00
David Heinemeier Hansson
6fbb3d4464 Don't start in fullscreen 2025-10-23 10:48:07 -07:00
David Heinemeier Hansson
5171475836 Shine up notification to set expectations 2025-10-23 10:48:07 -07:00
Ryan Hughes
9ddcfbe466 Move to pinned version of wayfreeze 2025-10-23 13:44:53 -04:00
David Heinemeier Hansson
9d7c9e7344 Wait a little longer
We need something better here though
2025-10-23 10:34:08 -07:00
David Heinemeier Hansson
101c29f3b1 Merge branch 'master' into dev 2025-10-23 08:22:59 -07:00
David Heinemeier Hansson
c84d98a80b Document defaults better 2025-10-23 08:12:41 -07:00
David Heinemeier Hansson
88011f5d11 Ensure we always return successfully even if waybar isn't running 2025-10-23 07:50:56 -07:00
David Heinemeier Hansson
832ca69ba2 Simplify
Updated project description to be more concise and focused.
2025-10-23 07:34:11 -07:00
Vu Hoang Nam
786ae66154 Enable AVC444 graphics for RDP connection (#2722) 2025-10-23 06:26:05 -07:00
hans
7dca096807 Fix typo in bindings.conf comment (#2754)
Corrected a typo and fixed grammar in the comment regarding web app URLs.  (changed hyperland to hyprland and fixed grammar in the same line)

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-10-23 06:17:19 -07:00
Pedro Adame
2fa7d64d77 Differentiate clipboard screenshot keybinding in utilities.conf (#2757)
* Differentiate clipboard screenshot keybinding in utilities.conf

* Change screenshot binding description

Updated screenshot binding description for clarity.

---------

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-23 06:12:21 -07:00
Ryan Hughes
83d4349ea1 Add non-interactive check back 2025-10-22 20:59:26 -04:00
David Heinemeier Hansson
bddccf30cb Add bindings for Typora and Google Photos 2025-10-21 18:16:32 -07:00
David Heinemeier Hansson
910c23f539 Only update extra themes that are git repositories
Fixes #2688
2025-10-21 17:52:25 -07:00
Taha
33baf59cef Add preview image file for Flexoki-light theme (#2670) 2025-10-21 17:11:07 -07:00
David Heinemeier Hansson
e9c40445dd Give hyprland commands their own namespace 2025-10-21 17:06:02 -07:00
David Heinemeier Hansson
e2b56720ac Add binding to toggle workspace gaps on SUPER + SHIFT + BACKSPACE 2025-10-21 16:58:33 -07:00
Christopher Newman
54bcc68490 Enable sound and microphone in RDP connection (#2676)
adding /sound and /microphone to omarchy-windows-vm

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-21 15:39:02 -07:00
David Heinemeier Hansson
c3b86c602e No need to add .local/bin 2025-10-21 07:25:18 -07:00
Demis Bellot
61e0fa27e2 Add mouse scroll bindings for window group navigation (#2653)
Added mouse scroll bindings for navigating grouped windows.
2025-10-21 07:14:03 -07:00
David Heinemeier Hansson
ea985fd471 Fix migration to work with both uwsm-app and uwsm app
Closes #2666
Co-authored-by: @sedubois
2025-10-21 07:11:42 -07:00
John Zetterman
dfa689f4ea Updated logic to find Obsidian vault regardless of location (#2668)
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-10-21 07:01:58 -07:00
Alex R Teal
530577e8fe Add /dynamic-resolution flag to be reactive to window size changes (#2647)
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-10-21 06:58:19 -07:00
Wolfgang Woehl
1388a2558a Screensaver go fullscreen: --no-eol (tte 0.12.2/0.13.0) and --canvas-height 0 2025-10-21 02:44:41 +02:00
Stefan Gründel
42a5b3bf22 disable update checks in VS Code on install, now creating target dir first (#2636)
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-10-20 14:21:44 -07:00
Ryan Hughes
f0f319ed92 Move version forward 2025-10-20 12:30:20 -04:00
Ryan Hughes
38f5a00ad6 Merge pull request #2622 from basecamp/dev
v3.1.1
2025-10-20 11:42:26 -04:00
Ryan Hughes
12f9beab86 Update version 2025-10-20 11:23:14 -04:00
Ryan Hughes
572bbf823b Update walker migration to run for everyone 2025-10-20 10:52:03 -04:00
Bruno Martins
f297ad1e99 fix: universal RAM detection (locale-independent) (#2566)
* fix: make RAM detection compatible with all locales (free output in any language)

* Look at total RAM, not just free

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-20 07:01:44 -07:00
Jon Kinney
c4f93787d6 Error fallback if terminal was not installed successfully (#2611) 2025-10-20 06:55:28 -07:00
Timo Hubois
730cba2e2a feat(clipboard.conf): add descriptions (#2615) 2025-10-20 06:54:38 -07:00
David Heinemeier Hansson
d70d84af71 Fix changing workspace with mousescroll
Fixes #2586
2025-10-20 06:53:14 -07:00
Brian Blakely
d11d30ac31 Add binding for tiled full screen toggle (#2598)
This seems niche, but you might like it. Binds Super + Ctrl + F to force-tile a fullscreen app. It works nice for things including running games in a tile or watching YouTube in a pip tile without needing to configure these apps specifically to do so.
2025-10-20 05:27:49 -07:00
David Heinemeier Hansson
ef52bb5f93 Move version forward 2025-10-19 09:29:44 +02:00
David Heinemeier Hansson
73036988ed Update version 2025-10-19 09:29:04 +02:00
David Heinemeier Hansson
6ee6dbaf2a Merge pull request #2417 from basecamp/dev
Omarchy 3.1.0
2025-10-19 09:27:33 +02:00
David Heinemeier Hansson
be697860aa Stick with existing name inside theme 2025-10-19 09:25:39 +02:00
Ryan Hughes
f64d73c24c Ensure consistent size 2025-10-19 02:30:28 -04:00
Ryan Hughes
880e779cf2 Make border easier to override 2025-10-19 02:30:20 -04:00
Ryan Hughes
a1e80e1cab Add migration for misc. items since 3.1.0-RC 2025-10-18 17:44:06 -04:00
Ryan Hughes
bd761379a7 Add nfs support 2025-10-18 17:01:02 -04:00
David Heinemeier Hansson
cc2523ff89 Use 3 blur passes by default
Co-authored-by: @vyrx-dev
2025-10-18 21:51:57 +02:00
David Heinemeier Hansson
d421b63873 Revert "Walker now needs a default qalculate/qalc.cfg to work out of the box"
This reverts commit bc99b8ce96.
2025-10-18 21:38:27 +02:00
Ryan Hughes
5cf56f31e6 Update wayfreeze to -git 2025-10-18 15:19:43 -04:00
Ryan Hughes
636416bbd2 Revert "Remove wayfreeze until we have the AUR pkg built in OPR"
This reverts commit ea30329522.
2025-10-18 15:19:09 -04:00
David Heinemeier Hansson
40312523e3 Suggest that this is a fine spot for custom Hyprland configs 2025-10-18 21:17:06 +02:00
David Heinemeier Hansson
735fc2d263 Fix indention 2025-10-18 21:09:02 +02:00
David Heinemeier Hansson
dc00227f0a Fix all themes active border for groups to match regular active border 2025-10-18 21:09:02 +02:00
Ryan Hughes
5028e241c5 Install Node by default 2025-10-18 14:27:09 -04:00
David Heinemeier Hansson
fc4cf86487 We can no longer just relaunch hyprland
So restart it is
2025-10-18 20:08:42 +02:00
David Heinemeier Hansson
3bf7c15906 Relaunching Hyprland is not compatible with sddm
But it is also no longer necessary since ENVs are dynamically reloaded
2025-10-18 20:05:01 +02:00
David Heinemeier Hansson
bc99b8ce96 Walker now needs a default qalculate/qalc.cfg to work out of the box 2025-10-18 16:23:27 +02:00
Hendrik Bergunde
53336e21b1 Fix google-chrome opacity in hyprland (#2526)
Google Chrome reports itself as google-chrome in `hyprctl clients` but
the matching for the windowrule did not work, probably because since
hyprland 0.46.0 the regex matching needs to span the entire string.

This change makes "google-chrome" get recognized so that windows of that
browser receive the chromium-based-browser tag, which in turn provides
better opacity settings for Chrome windows. Since "chrome" was matched
by the regex before, this fix now should restore the originally intended
behavior for Google Chrome.

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-18 16:17:23 +02:00
David Heinemeier Hansson
24e76a3b90 Add hooks for theme set, font set, and post update (#2527)
Ala git hooks
2025-10-18 16:11:49 +02:00
David Heinemeier Hansson
63e3b3e32f Hide yet another fcitx5 filler app 2025-10-18 15:34:40 +02:00
David Heinemeier Hansson
6790cfc1f5 Fix spacing for waybar icons for all 2025-10-18 13:40:23 +02:00
brink-lab
920b1a983f Fix spacing between icons on Waybar (#1411)
* Update style.css

Fixes the uneven spacing between icons on waybar by updating styling.css with Propo font family.
However, Propo introduces a small issue as the volume icons don't have the same with. As a consequence, icons left of volume will move based on the displayed volume icon. To solve this, I added a non-Propo font to the pipewire module as well - this way the volume icons have fixed length but eats a bit into the spacing towards the CPU icon. But I see this as the best trade-off.

* Update waybar config.jsonc

* Update tray spacing in waybar config

* Modify margins in style.css

Adjusted margins for various elements.

* Update waybar css for even spacing

* Update Waybar config tray spacing
2025-10-18 13:32:38 +02:00
David Heinemeier Hansson
80907fcf4f Ensure we use 644 for all configs and migrations 2025-10-18 13:30:19 +02:00
Vaibhav Verma
c401c877a3 Fix theming for Brave and add theming support for helium (#2518)
* Fix theeming for Brave and add theeming support for helium

* bugfix: syntax
2025-10-18 12:18:01 +02:00
Vaibhav Verma
e03193eea4 Fix omarchy-theme-set-vscode to only remove theme instead of the complete line (#2523) 2025-10-18 12:16:27 +02:00
Miha Rekar
c24c1f1c5a Update clipboard manager shortcut in the migration warning (#2524) 2025-10-18 12:15:55 +02:00
David Heinemeier Hansson
ef2bfb37ad Correct the clipboard manager hotkey 2025-10-18 12:11:50 +02:00
David Heinemeier Hansson
ea30329522 Remove wayfreeze until we have the AUR pkg built in OPR
CC @ryanrhughes
2025-10-18 12:00:07 +02:00
ZorudaRinku
8b896b60a9 Clarify error message when no web apps have been selected in the WebApp Remove menu 2025-10-17 19:30:29 -06:00
David Heinemeier Hansson
9ea990b88c Add missing CR 2025-10-17 23:51:25 +02:00
David Heinemeier Hansson
5a2a49c999 Note that accepting will change existing bindings but make a backup 2025-10-17 23:48:20 +02:00
David Heinemeier Hansson
5a10222dc9 No longer needed
We are moving all the bindings together
2025-10-17 23:45:38 +02:00
David Heinemeier Hansson
cad71169c2 Add Aether to existing installations as well 2025-10-17 23:38:16 +02:00
Ryan Hughes
0588cc8e5b openai-codex-bin -> openai-codex due to being outdated 2025-10-17 15:44:13 -04:00
Ryan Hughes
0b1875e2b9 Include Aether by default 2025-10-17 14:15:31 -04:00
Ryan Hughes
648551f98a Add shift+insert keybind 2025-10-17 14:00:51 -04:00
David Heinemeier Hansson
1a1c736936 Make setting timezone an explicit act
Since we can't always rely on geo guessing everywhere and it is slow
2025-10-17 12:50:02 +03:00
Claudio Benvenuti
a874f6f8a6 Fix: include symlinked backgrounds in theme rotation (#2355) 2025-10-17 12:27:02 +03:00
Darcy Brown
4174ff7b13 Dynamic Color Match Obsidian theme to current Omarchy theme (#791)
* feat: obsidian theme to tie into Omarchy theme

* better color matching for search result matches

* feat: simplify install flow

* Removed install/remove scripts and flow
* First `omarchy-theme-set-obsidian` run will look for vaults in
Documents and Dropbox folders and add them to
`/.local/state/omarchy/obsidian-vaults`
  * Point of this is such that we assume a couple locations to look for
vaults but allow people to add vaults to the file for custom locations.
Subsequent theme-set invocations aren't impacted by find/search on large
systems
* Each `omarchy-theme-set` invocation will install the themes on all
found/registered vaults if missing and update the live theme
* Added an option of `omarchy-theme-set-obsidian --reset` to wipe out
themes in registered vaults and remove the registry file. This would be
the option to re-run to the automatic vault registration.
* Added migration to trigger install immediately in Obisdian, note that
you still need to pick Omarchy theme.
2025-10-17 12:22:38 +03:00
David Heinemeier Hansson
f607ba51ff Include Super + X for cut
This won't work in terminal, but still better to have it consistent
2025-10-17 12:11:30 +03:00
Ryan Hughes
06827c8ee6 Add smart region selection to omarchy-cmd-snapshot (#1714)
* Add smart snapshot selection

* Add wayfreeze

* Update to only include current workspace in rectangles

* Fix if there are no windows on screen

* Add option to sidestep slurp and copy straight to clipboard

* Update capture menu

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-17 11:58:40 +03:00
Stefan Gründel
dcac313bb2 disable update checks in VS Code on install (#1730)
* Add ssh-agent configuration and enable service on user install

* add migration

* install SSH Agent via service menu

* Delete install/config/all.sh

* Delete migrations/1757524404.sh

* Delete install/config/ssh-agent.sh

* Update envs.conf

* Revert "Delete install/config/all.sh"

This reverts commit 579fb835ad.

* revert all.sh changes

* disable update checks in VS Code on install

* Delete bin/omarchy-install-ssh-agent

* Update omarchy-menu

revert changes from wrong branch

* add migration script

* Merge back

* Fixup

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-17 11:42:59 +03:00
David Heinemeier Hansson
48feb5d404 Need to grab the last not first pid now
Not entirely sure why!
2025-10-17 11:39:25 +03:00
David Heinemeier Hansson
a8a6cde199 Remove eza theming in favor of just sticking with ansi
Ended up not liking the themes better than what ansi gives us
2025-10-17 11:03:54 +03:00
Ryan Hughes
ccde212644 Add Windows VM (#2462)
* adding TUI for starting up windows VM

* updating to use docker-compose

* adding possibility to set windows product-key

* ram and cpu settings

* first time run notes

* add two needed pacman packages

* key and package install

* Revert "add two needed pacman packages"

This reverts commit 04dc96cee0.

* add install and remove scripts

* install icon

* rename scripts and menu to Windows VM

* rename also launch script to windows vm

* update nameing

* remove quotes

* fix paramter and quiting after installation

* fix launch script

* update

* certificate acceptance and remove of desktop app

* move desktop app

* rename app from "Windows VM" to "Windows"

* add example of sharing local share with Windows

* merge 'dev' into windows-docker-vm

* exchange rdesktop with freerdc

* accept certificates automatically so user don't fail first try

* remove certi during normal launch (handled in install process)

* remove volumes and orphans to have clean state (avoids hang on login)

* /cert option still needed

* Simplify package installs

* Fix icon + desktop to prevent creation on initial install

* omarchy-windows-vm in working form

* Don't need this anymore

* Fix commands

* Always use uwsm-app

* We are generating it instead

* Make omarchy-pkg-add quiet when the packages are already there

* Improve the questionnaire

* Show where you change resource usage

* Add default Windows share

---------

Co-authored-by: sspaeti <simon@ssp.sh>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-17 10:07:08 +03:00
Ryan Hughes
ea38e43fe6 Add calc to refresh 2025-10-17 00:41:19 -04:00
Ryan Hughes
a672f6350a Don't need this 2025-10-17 00:41:13 -04:00
Ryan Hughes
2789454183 Don't need to relaunch anymore 2025-10-16 20:52:57 -04:00
Ryan Hughes
a7a075d898 Prevent calculating flash 2025-10-16 12:26:35 -04:00
Ryan Hughes
c6b598ba91 Rename nvim setup 2025-10-16 11:44:02 -04:00
Ryan Hughes
ad3bc03653 Rename nvim setup 2025-10-16 11:41:30 -04:00
Ryan Hughes
96eed35b51 Kickstart Walker service if it goes down 2025-10-16 11:27:14 -04:00
Ryan Hughes
f81f9dd181 Disable actions 2025-10-16 10:55:06 -04:00
Ryan Hughes
d50e4a6814 Add elephant config to refresh 2025-10-16 10:55:06 -04:00
David Heinemeier Hansson
6b1b73b87c Use uwsm-app instead of uwsm app consistently 2025-10-16 13:59:08 +03:00
David Heinemeier Hansson
94aac3777c Expose screenrecording with webcam 2025-10-16 13:52:36 +03:00
David Heinemeier Hansson
8bc0980bc5 Always reload every terminal
So you can use it even if you mix and match
2025-10-16 13:47:20 +03:00
Carl-Johan Landin
9c145b91d7 Fix typo in everforest theme ghostty.conf (#2471)
Co-authored-by: Carl-Johan Landin <carl-johan@teenage.engineering>
2025-10-16 13:44:09 +03:00
Johannes Normann Jensen
dff61f0748 feat: add mssql-server to omarchy-install-docker-dbs (#2474) 2025-10-16 10:24:21 +03:00
David Heinemeier Hansson
fecf83d07b Hookup keybindings notification to actual keybindings menu 2025-10-15 22:04:06 +03:00
David Heinemeier Hansson
f0bba6c6e8 Fix the terminal fixer 2025-10-15 19:21:43 +03:00
David Heinemeier Hansson
f6330054fd Drop localsend-bin if it was already there 2025-10-15 19:11:26 +03:00
David Heinemeier Hansson
6247712205 Keep terminal on SUPER + RETURN 2025-10-15 19:09:08 +03:00
David Heinemeier Hansson
44231e43b7 Ensure clock is up to date 2025-10-15 18:55:09 +03:00
David Heinemeier Hansson
ac0ffa42dd Kick off the new migration from within itself 2025-10-15 18:36:57 +03:00
David Heinemeier Hansson
e080f62de0 Simplify the initial setup to just the PATH 2025-10-15 18:28:28 +03:00
David Heinemeier Hansson
c0dc0a0e47 Revert "Update packages as the very first thing"
This reverts commit 351d8ac938.
2025-10-15 18:25:05 +03:00
David Heinemeier Hansson
351d8ac938 Update packages as the very first thing 2025-10-15 18:22:03 +03:00
Ryan Hughes
4100ebba47 Merge pull request #2425 from sa-dd/dev
fix: make bcm43xx driver script vendor agnostic
2025-10-15 10:53:43 -04:00
Ryan Hughes
a67391b3ea Clarify Broadcom chip support comments 2025-10-15 10:53:29 -04:00
David Heinemeier Hansson
06668cf20f Reveal main keybindings on welcome 2025-10-15 17:48:17 +03:00
Ryan Hughes
385f846fff Re-add ristretto color fixes 2025-10-15 10:47:25 -04:00
Ryan Hughes
d3048b56bd Consolidate migrations for wl-screenrec + wf-recorder 2025-10-15 10:35:13 -04:00
David Heinemeier Hansson
1a4d1d675c Ensure all packages are up to date
Needed for versions prior to when we do this before applying migrations
2025-10-15 13:51:41 +03:00
David Heinemeier Hansson
d06708d56e No longer needed 2025-10-15 13:48:16 +03:00
David Heinemeier Hansson
2d788dec21 wl-clip-hist is buggy and feels like its a cure worse than the disease 2025-10-15 13:42:26 +03:00
David Heinemeier Hansson
de1e47d2f7 New version 2025-10-15 13:33:42 +03:00
David Heinemeier Hansson
1eecf0b8e7 Copy over updated app icons that work with light mode 2025-10-15 12:46:21 +03:00
Ryan Hughes
bd52f8ae52 Fix some missing bindings 2025-10-14 21:54:56 -04:00
Ryan Hughes
d625178a9b Remove test garbage 2025-10-14 16:09:29 -04:00
Ryan Hughes
bb943ae24f Update restart to prevent dbus error 2025-10-14 16:03:17 -04:00
David Heinemeier Hansson
e4d24ca637 Use SUPER + G for grouping 2025-10-14 22:43:29 +03:00
David Heinemeier Hansson
fd9a6f48b3 Can't add this if we are using SUPER + G 2025-10-14 22:43:29 +03:00
Alexander Zaytsev
1d2d6740dd Update application icons (#2450)
* Update icons

* Optimize images
2025-10-14 22:42:51 +03:00
Steve Lamotte
102f952c55 Fix UFW autostart issue (#2453)
* Improve theme-set-vscode to support jsonc and respect symlinks (#1756)

* Ghostty needs a very different scrollfactor than Alacritty and Kitty

cc @mitchellh

* Hide hyperland cursor while typing (#1812)

* Fix Matte Black theme ghostty and vscode configs (#1801)

* Update Matte Black ghostty.conf with more color settings

* Rename theme from 'MatteBlack' to 'Matte Black'

* Catch obsidian vault dialog too

* Add Update > Hardware > Audio for restarting pipewire service

* Give output on what's intended to happen

* Ensure libyaml is available for installs made before that was on the ISO

* Limit pattern to prevent incorrect matches

* fix: ghostty config typos

* No longer used

Closes #1815

* Revert "Ensure libyaml is available for installs made before that was on the ISO"

This reverts commit ad01082a86.

* Add Helium browser to supported browsers list in omarchy-launch-webapp

* Fix Helium browser detection in launch script

* feat: Added MacBook10,1 to the fix-apple-spi-keyboard.sh

* Suggest how to have a smaller-than-max-width single window aspect ratio

* Add more Mac models to SPI keyboard support

Added:

MacBook 8,1
MacBook 9,1

MacBook 8,1 uses slightly different moduels from what I can tell, so I’ve added a case statment.  Please tweak as needed.

* Fix conflict + rearrange

* Added fix for ealy 2013 macbook pro's using an older chipset, BCM4331

* Tried with a different approach for cleaner code

* Clean up

Tested the logic on the MacBook. It worked and the install of the
drivers are reenabled.

* Combine ifs

* Update install script name

* Fix for '(null)' display on AirPod source selection

* Use output display or region geometry to record

The previous code did not identify the output display correctly,
leading to wf-recorder asking the user to select the region when the
user requested the display output to be selected.

With this change the bash script will use slurp with the -o flag to
identify the display output.

This has not been tested with wl-screenrec as no change has been made to
its call signature in omarchy-cmd-screenrecord and the wl-screenrec
binary is not included in the default omarchy installation.

* Fix TUI install script

- $TERMINAL should remain variable

* Add migration to fix Docker and Disk Usage TUIs

* Replace "--class" with "--class="

* Revert "Fix for '(null)' display on AirPod source selection"

* Typo

* Fix comment

* Change up firewall setup

* Enable ufw

* Disable ufw-docker (isolation test)

* Add some reboot on done debugging

* Debug firewall install/config

* Add first-run logging

* Don't suppress output from apparently-failing systemctl reboot command

* Fix logging

* Use old reboot. Still chrooted so probably won't work.

* Allow systemctl on first run

* Revert logging and other changes

---------

Co-authored-by: Omar Skalli <omar.skalli7@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Johan Sørensen <johan@johansorensen.com>
Co-authored-by: Taha <paprikataha@gmail.com>
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: Che-Wei Lin <linton.tw@gmail.com>
Co-authored-by: Patrick Byrne <pby.software@byrne.dk>
Co-authored-by: Eduardo Mínguez <e.minguez@gmail.com>
Co-authored-by: Joel Gaff, Jr <joelga@hey.com>
Co-authored-by: Michael Larsen <michaelarsen@gmail.com>
Co-authored-by: Shawn Yeager <shawn@shawnyeager.com>
Co-authored-by: observable <hello@observable.art>
Co-authored-by: Djordje Kovacevic <djordjek65@gmail.com>
2025-10-14 22:41:26 +03:00
David Heinemeier Hansson
3d335a5278 Add migration for new hotkeys 2025-10-14 22:26:54 +03:00
David Heinemeier Hansson
fcae2e9809 Switch to new hotkeys
Make room for unified super + c/v and put all app launches on super +
shift + [letter]
2025-10-14 22:26:48 +03:00
Ryan Hughes
671194dfa9 Nvim is self-contained now 2025-10-14 13:17:40 -04:00
Ryan Hughes
ab3b65a2b1 Move to omarchy-nvim 2025-10-14 12:56:31 -04:00
Ryan Hughes
7c273f4944 Don't use chrootable here 2025-10-14 12:37:45 -04:00
David Heinemeier Hansson
3b8fce1c2d Consistent ordering with other themes 2025-10-14 12:41:35 +03:00
Wojciech Wnętrzak
154cd066ee Add auto nightlight example config (#2446)
By commenting out this config one can have nightlight applied automatically
2025-10-14 12:37:57 +03:00
David Heinemeier Hansson
90536dff3f Fix screenrecording menu and reveal it as the only hotkey 2025-10-14 12:35:06 +03:00
David Heinemeier Hansson
9c8dad9054 Not needed and distracting when themes are not available for Cursor 2025-10-14 12:15:10 +03:00
David Heinemeier Hansson
491e980dd9 Style 2025-10-14 12:02:27 +03:00
David Heinemeier Hansson
313dcd4468 Fix referencing existing extension 2025-10-14 12:02:18 +03:00
Alexandre Perreault
d615d2f9b5 fix: mute output when hiding cursor in screensaver (#2419) 2025-10-14 11:51:55 +03:00
Derek
800962b18f fix: prevent Chromium crash when moving windows between monitors (#2394)
* fix: prevent Chromium crash when moving windows between monitors

Adds --disable-features=WaylandWpColorManagerV1 to Chromium and Brave
flag configs to prevent crashes when moving windows between monitors or
workspaces on Hyprland. This is a workaround for a Chromium/Wayland
color management conflict.

Upstream Chromium fix exists but won't reach stable for ~a month. This
provides a temporary bridge until the fix lands in stable releases.

Fixes #2384
Refs #2184
Refs: https://github.com/hyprwm/Hyprland/issues/11957
Refs: https://github.com/hyprwm/Hyprland/discussions/11961
Refs: https://issues.chromium.org/issues/40263183
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/7003036

* Add migration to update existing Chromium/Brave configs with crash fix

Adds migration script to append --disable-features=WaylandWpColorManagerV1
to existing users' chromium-flags.conf and brave-flags.conf files.

The script:
- Checks if config files exist before attempting to modify them
- Uses grep to verify the flag isn't already present
- Only adds the flag and explanatory comment if needed
- Handles both Chromium and Brave configurations

This ensures existing Omarchy users get the Hyprland crash workaround
without needing to manually update their configs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix warnings and make conditional explicit

---------

Co-authored-by: Derek Castillo <d-cas@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-14 11:44:55 +03:00
Luke Hsiao
87d7bd966b Fix typo in omarchy-update-firmware (#2442)
Signed-off-by: Luke Hsiao <luke@hsiao.dev>
2025-10-14 10:43:57 +03:00
Luke Hsiao
ff3d65993e Fix font menu by using --width parameter for walker (#2444)
When we call `omarchy-launch-walker` with `-w`, we get the following
error.

    echo -e $'Adwaita Mono\nBerkeley Mono\nBerkeley Mono Variable\nCaskaydiaMono Nerd Font\nCaskaydiaMono Nerd Font Mono\niA Writer Mono S\nIosevka Fixed\nJetBrainsMono Nerd Font\nJetBrainsMono Nerd Font Mono\nJetBrainsMonoNL Nerd Font\nJetBrainsMonoNL Nerd Font Mono\nLiberation Mono\nNimbus Mono PS' | omarchy-launch-walker --dmenu --width 295 --minheight 1 --maxheight 600 -p Font… -w 350 -c 3
    Error parsing option -w

Instead, we now pass `--width`, to properly override the default
`--width 295` for fonts.

Closes: https://github.com/basecamp/omarchy/issues/2404

Signed-off-by: Luke Hsiao <luke@hsiao.dev>
2025-10-14 10:43:20 +03:00
sadd al
5b8ee60cc4 fix: make bcm43xx driver script vendor agnostic 2025-10-13 14:27:30 +05:00
Ryan Hughes
80b37f229b Merge pull request #2422 from abenz1267/walkerfix
fix: broken walker keybinding
2025-10-13 01:52:00 -04:00
Ryan Hughes
5057101bbd Use chrootabl_systemctl_enable 2025-10-13 01:09:12 -04:00
Ryan Hughes
c6627f0e67 Cleanup 2025-10-13 01:06:56 -04:00
Ryan Hughes
9783b4b782 Exit hyprland for now 2025-10-13 01:01:57 -04:00
Ryan Hughes
2213589e6e Remove restart sddm 2025-10-13 01:01:57 -04:00
Ryan Hughes
10e8fe581b Prompt if they have a keyring 2025-10-13 01:01:57 -04:00
Andrej Benz
7e7b37095f fix: broken walker keybinding 2025-10-13 05:34:50 +02:00
David Heinemeier Hansson
6c2c85d2b9 Couldn't install them like this without having them appear as corporate managed 2025-10-12 21:13:01 -04:00
David Heinemeier Hansson
9d8d4bc5c1 Include flexoki as new default theme 2025-10-12 21:09:14 -04:00
David Heinemeier Hansson
00b3983f8a Fix ctrl+insert keybindings in kitty and ghostty too
So we can use it for super+c
2025-10-12 20:34:52 -04:00
Wey Gu
fa029c54fb macbook 12' fixes on login keyboard & suspend wake up (#1959)
* macbook 12' fixes on login keyboard & suspend wake up

- apple spi keyboard production_name pattern fixed:

Macbook 12' are MacBook8,1 9,1 and 10,1 for 2015, 2016 and 2017 models
The MacBookPro12,1 is not a thing.

ref: https://everymac.com/ultimate-mac-lookup/?identify=MacBook10%2C1

- add fix-apple-suspend-nvme.sh to fix MacBooks with NVMe cannot wake up

ref: https://github.com/Dunedan/mbp-2016-linux?tab=readme-ov-file#suspend--hibernation

* fix escapes in file path

* add invocation in all.sh and migration script

* Fix paths

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-12 20:19:10 -04:00
Martin Mose Facondini
56e690b861 feat: enable vim keys for btop (#1581)
* feat: enable vim keys for btop

* feat: add migration for btop vim keys

* Cleanup

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-12 20:13:45 -04:00
Qasim
cac8b03821 alacritty.toml with proper bg and fg (#1851)
* alacritty.toml wity proper bg and fg

background = "#1e1e2e"
foreground = "#cdd6f4"

are the proper colors for terminal bg and fg when themeing with Catppuccin

* Update alacritty.toml with proper Catppuccin Mocha colors

* vscode.json to use Proper Catppuccin Mocha
2025-10-12 20:06:43 -04:00
Jarek
adad20b6a1 Fix Tailscale split DNS compatibility by removing [!UNAVAIL=return] (#1884)
Removes [!UNAVAIL=return] from nsswitch.conf configuration to resolve
Tailscale split DNS issues while maintaining mDNS printer discovery.

- Updated printer setup script
- Updated existing Avahi migration
- Added migration for existing users

Addresses: https://github.com/basecamp/omarchy/pull/1021#issuecomment-3318650490
2025-10-12 19:59:04 -04:00
Miha Rekar
55604e43f5 Show overlay when changing display brightness (#2348) 2025-10-12 19:57:52 -04:00
Celso Benedetti
9f8db77a24 tweak(omarchy-theme-set): only restart waybar if already running (#2416) 2025-10-12 19:52:09 -04:00
Ryan Hughes
a20835f835 Add copy bind as well 2025-10-12 19:25:35 -04:00
David Heinemeier Hansson
c70e018571 Add the default keyring to existing systems
cc @ryanrhughes
2025-10-12 17:38:27 -04:00
David Heinemeier Hansson
ab7feeac6d Unnecessary 2025-10-12 17:36:03 -04:00
David Heinemeier Hansson
7ef30f69b8 Match the other themes 2025-10-12 17:30:27 -04:00
David Heinemeier Hansson
ebcb489621 No need for the empty opts 2025-10-12 17:25:04 -04:00
David Heinemeier Hansson
d72e948e03 We DID need two lines to prevent the ugly jitter between effects 2025-10-12 17:17:55 -04:00
David Heinemeier Hansson
6cab5d3e14 Fix light mode live switching for chromium 2025-10-12 17:06:32 -04:00
David Heinemeier Hansson
0df4dc1a1d Add Flexoki Light as new default theme 2025-10-12 16:43:17 -04:00
Ofir Miller
35cc9937ff feat(update): Add firmware update script to update process (#2014)
* Add firmware update script and include in update process

* typo

* type 2

* add sudo

* Add firmware update option to update menu

* Remove firmware update command from update process

* Lazy-install firmware updater

* Move option down and change icon

* Only lazy install if missing

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-12 16:34:50 -04:00
Mitch Lombardi
268b48644c Fix placeholder position and adjust fail text on lock screen (#2124)
* Fix placeholder position and adjust fail text on lock screen

* Expand input field to fully fit fingerprint authentication failure message

* Better explain what's happening

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-12 16:22:49 -04:00
Artem Popov
360a2ed943 Add LogLevelMax to battery monitor service (#2373) 2025-10-12 16:06:00 -04:00
Ryan Hughes
01a1e43b25 Fix command description
Co-authored-by: Daniel Pavone <danielpavone@gmail.com>
2025-10-11 18:58:52 -04:00
Shawn Yeager
04fa3fd32e Fix for '(null)' display on AirPod source selection 2025-10-11 02:08:06 -04:00
Ryan Hughes
a42ba3dcbf Merge pull request #2365 from basecamp/fix-omarchy-screenrecord
Fix Omarchy Screenrecord
2025-10-11 02:00:23 -04:00
Ryan Hughes
63aff7cd71 Cleanup 2025-10-11 01:36:51 -04:00
Ryan Hughes
a6aec518a5 Remove wl-screenrec 2025-10-11 01:33:45 -04:00
Ryan Hughes
a7a6ac1d21 Add error explanation if we have to kill 2025-10-11 01:25:44 -04:00
Ryan Hughes
af564ed07d Fix webcam to select 16:9 on FW13 and others 2025-10-10 21:37:57 -04:00
Ryan Hughes
eb74a97a0c Fix scaling for non 16:9 2025-10-10 21:23:42 -04:00
Ryan Hughes
883cb66f99 Migrate to gpu-screen-recorder 2025-10-10 21:11:25 -04:00
Ryan Hughes
2c74696735 Update packages 2025-10-10 21:11:05 -04:00
Ryan Hughes
a54044ea30 Change screenrecorder to gpu-screen-recorder 2025-10-10 21:07:20 -04:00
David Heinemeier Hansson
651025e3e8 Add Walker clipboard manager on Super + Ctrl + V 2025-10-10 10:20:25 -04:00
Samuel Péchèr
44de66dd2a Create migration to symlink systemd-resolved (#2313)
* Backup file if modified since system birth
* Symlink /etc/resolv.conf -> systemd-resolve's stub resolver
2025-10-10 10:18:38 -04:00
Damian Ignaczak
6b3fc34361 Add background for matte black theme (#2288) 2025-10-10 10:05:05 -04:00
Andrej Benz
cc1acc10b8 Walker: migrate to 2.0.0 (#1005)
* fix: remove theme-flag

* migration: walker 1.0.0-beta

* Fixups

* Add elephant and walker

* Update for new layout.xml

* Clean up some styling

* add unicode and todo providers

* remove default quick activate keybinds

* Update keybinds and remove defaults to prevent conflict

* Fix menu option

* Fixes

* Remove

* Update height

* Add elephant service

* Remove from hyprland

* Restart service now

* Trim

* Update height

* Fix keybindings style

* Fix install location

* Add walker restart

* Fix indention

* Fix indention

* Fix indention

* Fix indention

* Advance to present

* Need to refresh to bring over the new config

* style adjustments

* Correct the installation of the 1pw policy installer

* Skip the prebuilt for a second while we test

* Need libyaml to build ruby

* No longer needed, gcc-15 compatibility has been added

* Let's just stick to the official path

* GCC15 compatibility for Ruby has been achieved

* No longer necessary

The other mise option is set on Ruby on Rails install

* Added ZLS - Zig's Language Server when installing Zig (#1718)

* style adjustments

* styling changes

* add only_search_title

* css adjustments to fix broken styles

* Be tall again

* Remove for future variable height menu

* Update height / width params

* fix: remove theme-flag

* Fix spacing..again

* Remove service and add launch util

* Fix

* fix: wrong emojis flag

* remove flag, its dmenu only

* set min content width to prevent flickering if the item list contains shorter items

* Remove unused service

* Megakill needed

* Remove any old themes too

* Remove min-width

* Style adjustments

* changes for walker/elephant updates

* Match current width

* Add a little more space between icon and text

* fix: bluetooth find bind

* remove archlinux provider, fix migration with missing providers

* fix: css import

* Fix theme path

* fix: add new error label to layout

* Fix migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: DoKoB0512 <123281216+DoKoB0512@users.noreply.github.com>
2025-10-10 10:01:02 -04:00
missing person
b063c7f5f3 fix comment: wrong path for base packages script (#2325)
* Fix comment

* fix comment: wrong path for base package script

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-10 09:19:43 -04:00
David Heinemeier Hansson
8871c829c5 Merge branch 'master' into dev 2025-10-10 09:19:12 -04:00
Mitch Lombardi
41b09c29f8 Disable wall messages on shutdown/reboot (#2341) 2025-10-10 09:18:36 -04:00
David Heinemeier Hansson
d7d8f525e3 Control icon size still 2025-10-09 07:52:32 -04:00
David Heinemeier Hansson
a544e78107 Add Ctrl + Super + Ins as Copy
So we can hook it up to super + C/V
2025-10-09 07:16:13 -04:00
Miguel P
c541faff7d chore: better contrast for ristretto kitty conf (#2297)
* Fix comment

* chore: better contrast for ristretto kitty conf

* better looking tab background

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-09 07:04:26 -04:00
David Heinemeier Hansson
8caf6dbe2c Remove settings that made it awkward for single line notifications 2025-10-09 07:02:39 -04:00
Ryan Hughes
779fd5a9f5 Prevent polkit error on reboot (fixes #2175) 2025-10-08 20:40:53 -04:00
Ryan Hughes
d3f70a0c22 Make keyring dir 2025-10-08 19:21:26 -04:00
Ryan Hughes
39541b4876 Fix package name 2025-10-08 18:08:45 -04:00
Ryan Hughes
edbafe7a13 Add SUPER + C / V 2025-10-08 14:11:25 -04:00
Ryan Hughes
b97cba39af Login and UKI updates (#2242)
* Change DM to SDDM

* Move to custom named UKI

* Skip creation on Mac

* Add entry to make sure VSCode uses gnome keyring

* Fix order for UKI generation

* Limine only

* BTRFS only

* Add checks for possible issues

* Remove

* Add verification to omarchy-pkg-add and speed up installs

* Use omarchy-pkg-add

* Update files to include dirs

* Fix relaunch
2025-10-08 10:47:26 +02:00
Yashraj Maher
6d20a13076 Added Cursor CLI in Install > AI (#2153)
* Fix comment

* Added Cursor CLI in Install > AI

* Using AUR Package Instead of Installer Script

Co-authored-by: Aidan Timson <aidan@timmo.dev>

* Mark cursor cli as an AUR package

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Aidan Timson <aidan@timmo.dev>
2025-10-08 10:41:02 +02:00
David Heinemeier Hansson
bf4fb40877 Rollback flatpak fix
Since it broke direct launch of browser with arguments
2025-10-08 09:12:22 +02:00
Ryan Hughes
4365a52a08 Make shift + insert paste from clipboard in ghostty 2025-10-08 00:18:11 -04:00
Ryan Hughes
f701cf7c6d Merge pull request #989 from bvdwalt/alacritty-default-to-system-clipboard
Make shift+insert paste from clipboard in Alacritty
2025-10-08 00:16:43 -04:00
Jonathan Cammisuli
9c5cf01410 add helix in omarchy-launch-editor (#1740)
* use helix instead of hx in omarchy-launch-editor

fixes #1739

* add both hx and helix

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-07 22:25:05 +02:00
ctarx
6ea9c9311e fix(bindings): anchor Obsidian class to avoid false matches (#1838)
Prevent false positives when another window title contains 'Obsidian'.
The helper script matches with a case-insensitive regex against class+title,
so anchoring to '^obsidian$' ensures we only target the Obsidian window class.

Before: SUPER+O could focus a YouTube webapp/FreeTube titled 'Obsidian is great!'.
After: SUPER+O focuses Obsidian or launches it if not running.
2025-10-07 22:18:07 +02:00
Greg Kurts
66abd7dc2e Float org.gnome.Calculator (#1747)
* Float and size Calculator

* just use float

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-07 22:14:22 +02:00
Dylan Bridgman
819da32ebb Add .editorconfig (#946) 2025-10-07 18:17:47 +02:00
Reza
5b062cddce Configure grouping functionality (#656)
* Configure grouping functionality

* Change google message shortcut to CTRL + SUPER, fix typo

* Standardize all group hotkeys around SUPER ALT

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-07 17:58:15 +02:00
David Heinemeier Hansson
e9ab1d9bcc Cleanup the code a bit 2025-10-07 15:37:29 +02:00
Matt Harrison
f956233ecf fix current working directory if readlink doesn't return a valid directory (#1940) 2025-10-07 15:36:17 +02:00
Samuel Péchèr
e6d1a2f754 Use systemd-resolved's stub resolver (#2150)
* Fix comment

* Use systemd-resolved's stub resolver

On first run, symlink systemd-resolved's resolver into /etc/resolv.conf

Matches migration 1754984623

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-07 14:27:01 +02:00
w3ntry
dfd133df87 Fix browser launching for flatpak (#2187)
* Fix comment

* Fix browser launching for flatpak

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-07 13:42:29 +02:00
Alexander Zaytsev
2326018341 Group mako settings and adjust notification styles (#2273)
* Move common mako settings to `core.ini`

* Use monospace font, set font size in px

* Increase line height

* Adjust paddings

* Add 10px width so the Welcome notification fits on one line

* Remove extra whitespace

* Remove extra whitespace, adjust wording

* Improve text-to-bg contrast in Tokyo Night

* Follow the system font

* Use sans-serif font

* Restore width and extra space characters

* Adjust vertical paddings

* Remove `omarchy-restart-mako` (no longer needed)
2025-10-07 13:14:48 +02:00
David Heinemeier Hansson
011174699c Expand all the guard conditionals to be as readable as possible 2025-10-07 13:04:44 +02:00
David Heinemeier Hansson
1ffed127db Invert the logic to only fail when we know for sure secure boot is on 2025-10-07 13:01:24 +02:00
Mirza Pasic
a38d80ee9f Add SSH session integration for Ghostty (#1950)
* Add SSH session integration for Ghostty

* Set only ssh-env for Ghosty integration feature
2025-10-07 08:38:29 +02:00
David Heinemeier Hansson
a401c74083 Add migration for new nvim.desktop 2025-10-06 22:29:16 +02:00
Dharma
5faa2c8d49 Fixes the nvim desktop entry exec command (#1892)
* fixes nvim desktop entry exec command

* switched to `omarchy-launch-editor` so it opens in nautilus, walker and a keybind
2025-10-06 22:27:39 +02:00
David Heinemeier Hansson
3f25fcbd98 Revert "Fix Neovim .desktop file to open files from GUI file manager (#2233)"
This reverts commit 479f20d294.
2025-10-06 22:25:35 +02:00
Justin Lowry
14b020dcfb fix: update legibility with bright green color (#1895)
Bright green color was hard to read on dark backgrounds. Adjusted color value for alacritty, ghostty, and kitty.
2025-10-06 22:22:21 +02:00
David Heinemeier Hansson
c91c75a5e6 Add even cleaner ghostty tabs as default
Via @Thundernirmal
Ref #1956
2025-10-06 22:09:47 +02:00
Simon Cossar
e3658556ea Add window theme to Ghostty config (#1956) 2025-10-06 22:05:31 +02:00
Andreas Krüger
2971a25a4f fix: change uwsm app to uwsm-app for performance (#1960)
* fix: change uwsm app to uwsm-app for performance

* Do not run uwsm-app in parallel as it's not supported

* Fix comment

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-06 22:03:16 +02:00
Meir Dick
2c14252d7d Fix: Allow passing flags/arguments to omarchy-launch-webapp in launch-or-focus-webapp script (#1980)
This resolves the issue where extra arguments like Chromium's --profile-directory were ignored when launching a web app via omarchy-launch-or-focus-webapp.

The script now uses 'shift' to isolate the window pattern ($1) and passes all remaining arguments ($@), which include the URL and flags, to the omarchy-launch-webapp function.

Closes #1977
2025-10-06 21:53:37 +02:00
Vladyslav
b0ee5d2e79 Fix lock screen killing ghostty screensaver instance instead of alacritty (#1979) 2025-10-06 21:51:30 +02:00
Lucas Goossen
7a7266aed0 Theme support for Cursor (#2015)
* Imitating VSCode omarchy-theme-set

* Changed VSCode theme setter take arguments to Cursor theme setter could call it.

* All omarchy commands are in path

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: @adelplace
2025-10-06 21:49:44 +02:00
Damian Ignaczak
6892304277 fix(presentation-terminal): Ensure consistent ASCII logo alignment (#2260)
* Fix comment

* fix(presentation-terminal): Ensure consistent ASCII logo alignment

The presentation terminal's ASCII logo, displayed by 'omarchy-show-logo',
would misalign if the user had a non-default font size set in their
global Alacritty configuration.

This change fixes the issue by explicitly setting the font size to 9
for this specific terminal instance using the  flag.

This approach guarantees correct rendering of the logo without overriding
the user's personal font preferences for their regular terminal sessions.

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-06 21:28:57 +02:00
Jeff Mancilla
6aac67a1d5 Fix comment typos in bindings.conf (#2261)
* Fix comment

* Fix comment typos in bindings.conf

Fixing some comment typos.

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-06 14:27:49 -05:00
killeik
5aa39c9261 Simple check to prevent secure boot issues (#2145) 2025-10-05 22:13:16 +02:00
Wojciech Wnętrzak
5da10be63e Adjust database installation message to only one (#2192)
* Fix comment

* Adjust database installation message to only one

Follow up to e260d28f43

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 22:02:22 +02:00
David Heinemeier Hansson
2316c2f365 Hide OpenJDK apps from app launcher 2025-10-05 21:59:41 +02:00
IngridMorstrad
ea7d98e6b7 Fix typo in comments in input.conf (#2180)
* Fix comment

* Fix typo in comments in input.conf

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 21:56:03 +02:00
Stefan Gründel
443173e29d Hide electron36 and electron37 from walker menu (#2183)
* Hide electron36 and electron37 from walker menu

* Add migration scriptt

* Simplify migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 21:54:36 +02:00
Gustave Denis
164fc5ceb1 fix(eza): added correct light theme for rosé pine (#2214)
correct light theme for rosé pine is rose-pine-dawn

Co-authored-by: Gustave Denis <gustavetdenis@gmail.com>
2025-10-05 21:47:27 +02:00
Pastilhas
9c24150e69 added gnome-disk-utility to base-packages (#2230)
* Fix comment

* added gnome-disk-utility next to nautilus in install/omarchy-base-packages

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 21:46:23 +02:00
CHINMOY SAIKIA
479f20d294 Fix Neovim .desktop file to open files from GUI file manager (#2233)
* Fix comment

* Update Exec command to use shell execution for Nvim

Fix Neovim .desktop file to allow opening files from GUI file manager.

* Add migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 21:40:31 +02:00
Stefan Gründel
bb4df39bbd Remove background process from walker service in autostart configuration (#2235) 2025-10-05 21:36:49 +02:00
David Heinemeier Hansson
d4fddd7c75 Interesting idea, but then we should do it across everything
And update omarchy-dev-add-migration
2025-10-05 21:19:27 +02:00
David Heinemeier Hansson
3cb52c0b38 Correct bad path for sudoless Apple Display controls 2025-10-05 21:18:34 +02:00
David Heinemeier Hansson
cab70bbe4f Revert "Login and UKI updates (#1860)"
This reverts commit f2021a95a4.
2025-10-05 21:10:13 +02:00
David Heinemeier Hansson
5f2013a482 Correct the path for asdcontrol on new installations 2025-10-05 21:09:56 +02:00
Ryan Hughes
f2021a95a4 Login and UKI updates (#1860)
* Change DM to SDDM

* Move to custom named UKI

* Skip creation on Mac

* Add entry to make sure VSCode uses gnome keyring

* Fix order for UKI generation

* Limine only

* BTRFS only
2025-10-05 18:30:43 +02:00
Ryan Hughes
2e0064943b Update version reporting (#1724) 2025-10-05 18:23:26 +02:00
Ryan Hughes
c7aa0f570a Make HEY the default mailto handler (#1822) 2025-10-05 18:18:22 +02:00
Ryan Hughes
a079af948b Change default shutdown timeout to 5sec (#1886)
* Shutdown faster

* Add migration

* Reduce shutdown timeout from 10s to 5s

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 18:14:11 +02:00
Ryan Hughes
6544d1b970 Add auto-changing colors for Neovim (#1712)
* Add MVP variant of nvim switcher

* Update nvim configs

* Remove config

* Add migration for the new live themeing

* Fix plugin

* Remove theme

* Update to actually work

* Make it faster

* Fix quirks

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-05 17:18:40 +02:00
David Heinemeier Hansson
bbe4461c05 Only give one line to avoid the jitter 2025-10-05 10:54:45 +02:00
David Heinemeier Hansson
bba224e9a5 Speedup keybindings show by using caching
Co-authored-by: @davidwinter
2025-10-04 17:55:38 +02:00
Lucas Goossen
4283533858 Made keybindings menu a little more human readable (#1824)
Co-authored-by: Lucas Goossen <lucas.goossen@hey.com>
2025-10-04 17:53:55 +02:00
David Heinemeier Hansson
e0f16b9098 Reduce timeout for hung applications to more like 5-6s 2025-10-04 17:41:06 +02:00
David Heinemeier Hansson
7819ae354e Go back to using -set-theme-color until the policy coloring is fixed 2025-10-02 20:04:19 +02:00
David Heinemeier Hansson
1e859d37cb Fix comment 2025-10-01 23:27:11 +02:00
David Heinemeier Hansson
058b233da8 Merge branch 'master' into dev 2025-09-30 18:51:30 +02:00
Ulf Köther
1ac8e96df3 Alter input.conf kb_options to take non-us keyboards into account (#2086)
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-09-30 12:29:02 +02:00
Kye Davey
977103011e fix removal of webapps that use additional handler (#2096)
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-09-30 12:27:41 +02:00
David Heinemeier Hansson
9903a9b333 Increase the delay before the "window is not responding" notice is shown
Closes #2098
Co-authored-by: @CaffeinatedTech
2025-09-30 12:24:21 +02:00
Aislan Dener Souza Vicentini
a51011fbb8 add suport fingerprint from FPC - Thinkpad E14 Gen 6 (#2023) 2025-09-29 18:32:53 +02:00
Alexandre Perreault
1022734a67 feat: clear states when relaunching or rebooting from the system menu (#2053) 2025-09-29 18:18:20 +02:00
Fransiscus Rolanda Malau
67011160b2 hypr: add Helium to chromium-based browser tagging (follow-up to #1945) (#2056) 2025-09-29 18:14:53 +02:00
Ryan Hughes
f634bfeeb6 Merge pull request #2048 from basecamp/dev
Omarchy 3.0.2
2025-09-28 17:10:27 -04:00
Ryan Hughes
ea6b6c6b7f Typo 2025-09-28 17:08:08 -04:00
Ryan Hughes
499e7383c2 Merge branch 'master' into dev 2025-09-28 15:25:11 -04:00
Ryan Hughes
9b8819d9b9 Merge pull request #2051 from shawnyeager/audio-switch-fix
Fix for '(null)' display on AirPod source selection
2025-09-28 15:22:17 -04:00
Ryan Hughes
a8f76783e3 Merge pull request #2050 from basecamp/revert-1859-audio-switch-fix
Revert "Fix for '(null)' display on AirPod source selection"
2025-09-28 15:20:09 -04:00
Ryan Hughes
796ef67ede Revert "Fix for '(null)' display on AirPod source selection" 2025-09-28 15:18:25 -04:00
Ryan Hughes
0eccf22921 Merge pull request #1766 from mrlarsendk/master
Add support for Broadcom BCM4331 chipset alongside BCM4360
2025-09-28 15:04:13 -04:00
Ryan Hughes
971422b757 Update install script name 2025-09-28 15:02:54 -04:00
Ryan Hughes
076da663f5 Merge pull request #1845 from djordje/fix-omarchy-tui-install
Fix omarchy-tui-install
2025-09-28 15:01:17 -04:00
Ryan Hughes
b92ebff29b Merge pull request #1859 from shawnyeager/audio-switch-fix
Fix for '(null)' display on AirPod source selection
2025-09-28 14:56:47 -04:00
Ryan Hughes
8e5b59995a Merge pull request #1920 from iamobservable/iamobservable/bug/screen-recording-no-longer-works-after-updating
Use output display or region geometry to record
2025-09-28 14:55:55 -04:00
Ryan Hughes
dc49358a81 Merge pull request #1957 from joelgaff/mac-keyboard-fixes-again
Add more Mac models to SPI keyboard support
2025-09-28 14:54:28 -04:00
Ryan Hughes
cd39bbf692 Fix conflict + rearrange 2025-09-28 14:53:25 -04:00
Joel Gaff, Jr
fba17b7da4 Add more Mac models to SPI keyboard support
Added:

MacBook 8,1
MacBook 9,1

MacBook 8,1 uses slightly different moduels from what I can tell, so I’ve added a case statment.  Please tweak as needed.
2025-09-28 14:53:25 -04:00
Stefan Gründel
d6dc1c7b86 add bolt to omarchy base packages 2025-09-27 13:55:46 +02:00
David Heinemeier Hansson
25df782e2f Suggest how to have a smaller-than-max-width single window aspect ratio 2025-09-26 18:52:27 +02:00
observable
d4b0ba5d94 Use output display or region geometry to record
The previous code did not identify the output display correctly,
leading to wf-recorder asking the user to select the region when the
user requested the display output to be selected.

With this change the bash script will use slurp with the -o flag to
identify the display output.

This has not been tested with wl-screenrec as no change has been made to
its call signature in omarchy-cmd-screenrecord and the wl-screenrec
binary is not included in the default omarchy installation.
2025-09-25 19:37:18 -05:00
Ryan Hughes
a74b426c9f Merge pull request #1947 from e-minguez/macbook10,1-spi-fix
feat: Added MacBook10,1 to the fix-apple-spi-keyboard.sh
2025-09-25 20:07:15 -04:00
Ryan Hughes
e0a50f12a7 Merge pull request #1945 from Furyfree/master
Add Helium browser to supported browsers list in omarchy-launch-webapp
2025-09-25 20:05:01 -04:00
Eduardo Mínguez
96b64189a6 feat: Added MacBook10,1 to the fix-apple-spi-keyboard.sh 2025-09-25 22:58:55 +02:00
Patrick Byrne
3376838dfb Fix Helium browser detection in launch script 2025-09-25 21:59:37 +02:00
Patrick Byrne
0f3e6f5101 Add Helium browser to supported browsers list in omarchy-launch-webapp 2025-09-25 21:54:07 +02:00
Djordje Kovacevic
4d9f932e6c Replace "--class" with "--class=" 2025-09-23 22:52:58 +02:00
Stefan Gruendel
e39269f9f0 add migration script 2025-09-23 20:52:17 +02:00
Stefan Gruendel
74f2900db1 Add thunderbolt module in omarchy hook. 2025-09-23 06:40:56 +02:00
Ryan Hughes
607915a5d1 Combine ifs 2025-09-21 18:12:21 -04:00
Shawn Yeager
38d536ba9d Fix for '(null)' display on AirPod source selection 2025-09-21 16:18:12 -05:00
David Heinemeier Hansson
c4d8ef6a15 Merge branch 'master' into dev 2025-09-21 07:57:07 -04:00
Kostas
2df8c5f7e0 Install libyaml before attempting to install ruby (#1835)
* Install libyaml before attempting to install ruby

* Use omarchy helper

And unsafe -Sy

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-21 07:56:56 -04:00
David Heinemeier Hansson
a820b72da9 Revert "Ensure libyaml is available for installs made before that was on the ISO"
This reverts commit ad01082a86.
2025-09-21 07:55:52 -04:00
David Heinemeier Hansson
39c27939f3 No longer used
Closes #1815
2025-09-21 07:51:04 -04:00
Ryan Hughes
0123cf7917 Merge pull request #1774 from John-Lin/patch-1
fix: ghostty config typos
2025-09-21 03:39:27 -04:00
Djordje Kovacevic
441ee10d70 Add migration to fix Docker and Disk Usage TUIs 2025-09-21 09:29:44 +02:00
Djordje Kovacevic
45465d3e7c Fix TUI install script
- $TERMINAL should remain variable
2025-09-21 08:40:48 +02:00
Ryan Hughes
a746812504 Limit pattern to prevent incorrect matches 2025-09-19 20:39:20 -04:00
David Heinemeier Hansson
ad01082a86 Ensure libyaml is available for installs made before that was on the ISO 2025-09-19 18:44:36 -04:00
David Heinemeier Hansson
ba743c623d Give output on what's intended to happen 2025-09-19 17:44:13 -04:00
David Heinemeier Hansson
779c1b9ecc Add Update > Hardware > Audio for restarting pipewire service 2025-09-19 17:44:03 -04:00
David Heinemeier Hansson
e4ab5bee14 Catch obsidian vault dialog too 2025-09-19 17:31:20 -04:00
Taha
f60b9d1cb4 Fix Matte Black theme ghostty and vscode configs (#1801)
* Update Matte Black ghostty.conf with more color settings

* Rename theme from 'MatteBlack' to 'Matte Black'
2025-09-19 15:41:52 -04:00
Johan Sørensen
70661d5d5b Hide hyperland cursor while typing (#1812) 2025-09-19 15:40:54 -04:00
David Heinemeier Hansson
ad155b2545 Ghostty needs a very different scrollfactor than Alacritty and Kitty
cc @mitchellh
2025-09-19 05:32:47 -05:00
Omar Skalli
206930def8 Improve theme-set-vscode to support jsonc and respect symlinks (#1756) 2025-09-18 16:43:01 -05:00
Che-Wei Lin
a965a333ea fix: ghostty config typos 2025-09-18 23:18:51 +08:00
Michael Larsen
4d50c8bd33 Clean up
Tested the logic on the MacBook. It worked and the install of the
drivers are reenabled.
2025-09-18 15:16:24 +02:00
Michael Larsen
ad30ef6339 Tried with a different approach for cleaner code 2025-09-18 14:53:04 +02:00
Michael Larsen
19d1ee2b00 Added fix for ealy 2013 macbook pro's using an older chipset, BCM4331 2025-09-18 13:01:26 +02:00
David Heinemeier Hansson
ed3b723c7f Merge branch 'master' into dev 2025-09-17 23:02:32 +02:00
David Heinemeier Hansson
83ab85799b Fix permissions 2025-09-17 23:02:23 +02:00
David Heinemeier Hansson
ffe7cd5099 Fix osaka jade theme for ghostty 2025-09-17 21:03:52 +02:00
David Heinemeier Hansson
28c4814f5a Fix osaka jade theme for ghostty 2025-09-17 21:03:44 +02:00
David Heinemeier Hansson
cf41ecaaa5 Merge pull request #1568 from basecamp/dev
Omarchy 3.0
2025-09-17 20:47:41 +02:00
David Heinemeier Hansson
9aef0ffab6 Use conditional theme file instead and send correct signal 2025-09-17 20:45:02 +02:00
David Heinemeier Hansson
f6383fd3e9 Now it is opt-in 2025-09-17 16:40:38 +02:00
David Heinemeier Hansson
e81994f182 Dont let the update system notification expire 2025-09-17 16:36:11 +02:00
David Heinemeier Hansson
7ca60bd590 We no longer need gcc14 for Ruby 2025-09-17 16:16:32 +02:00
David Heinemeier Hansson
dac34aa5e0 Move adding Google Account into Install > Service > Chromium Account
Otherwise it'll prompt on first start for everyone.
2025-09-17 16:13:49 +02:00
David Heinemeier Hansson
81165f1947 This made it seem like the extension couldn't be removed by the user (#1722) 2025-09-17 16:07:48 +02:00
David Heinemeier Hansson
fc3d1a4af5 Less isn't installed if the packages are the ones failing 2025-09-17 16:02:09 +02:00
David Heinemeier Hansson
020a4659ec Output something if we don't have timing 2025-09-17 15:56:58 +02:00
David Heinemeier Hansson
d66909de14 Include the browser policies 2025-09-17 15:53:46 +02:00
David Heinemeier Hansson
0e17c419be Bring back the walker service for now even with the known memory leak
The move to Walker 1.0 is going to take a little longer. We will fix
this in Omarchy 3.1.
2025-09-17 15:31:22 +02:00
David Heinemeier Hansson
75f035ddb6 Ensure a default theme is used if none exist 2025-09-17 15:12:25 +02:00
DoKoB0512
a039a0fdae Added ZLS - Zig's Language Server when installing Zig (#1718) 2025-09-17 14:40:01 +02:00
David Heinemeier Hansson
9a24ca8a36 No longer necessary
The other mise option is set on Ruby on Rails install
2025-09-17 14:18:03 +02:00
David Heinemeier Hansson
0b8540e663 GCC15 compatibility for Ruby has been achieved 2025-09-17 14:16:33 +02:00
David Heinemeier Hansson
ebb12f187e Let's just stick to the official path 2025-09-17 14:15:04 +02:00
David Heinemeier Hansson
1669832693 No longer needed, gcc-15 compatibility has been added 2025-09-17 14:14:56 +02:00
David Heinemeier Hansson
80bd5e5979 Need libyaml to build ruby 2025-09-17 14:13:21 +02:00
David Heinemeier Hansson
832a33eb93 Skip the prebuilt for a second while we test 2025-09-17 13:51:53 +02:00
David Heinemeier Hansson
a15ccdd1ed Correct the installation of the 1pw policy installer 2025-09-17 13:40:31 +02:00
David Heinemeier Hansson
6d9ae608e5 Move learn back, it was better before 2025-09-17 12:31:21 +02:00
David Heinemeier Hansson
f6df59c9ed Ensure powerprofilesctl always use system python to prevent conflicts with mise 2025-09-17 12:30:35 +02:00
David Heinemeier Hansson
1514c5c633 Fix references 2025-09-17 12:16:41 +02:00
David Heinemeier Hansson
d92e13143f Updates 2025-09-17 10:43:52 +02:00
David Heinemeier Hansson
e14d58fe54 Allow changing Omarchy branches from the menu 2025-09-17 10:28:20 +02:00
David Heinemeier Hansson
f592bca968 Fix download with proper path 2025-09-17 10:12:15 +02:00
Helmut Januschka
b5b4dea4ff Add 1Password extension policy configuration (#1708)
* Add 1Password extension policy configuration for Chromium and Brave

- Added policy files in config/chromium/policies/managed/ and config/brave/policies/managed/
- Created migration to copy policies to system directories /etc/chromium and /etc/brave

* I don't want to push it into existing installations at the moment

We just leave it for new installs

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-17 09:53:57 +02:00
Taha
4cda82bc98 Rename theme and update extension identifier (#1711) 2025-09-17 08:19:21 +02:00
David Heinemeier Hansson
69ec570aad Make sure binding starts $TERMINAL 2025-09-16 22:33:40 +02:00
David Heinemeier Hansson
a51c58c20c Ensure directories are present 2025-09-16 22:14:40 +02:00
David Heinemeier Hansson
761a51fac0 Add ALT + F11 to go full width on a window
Closes #1679
Co-authored-by: @c4software
2025-09-16 21:57:16 +02:00
Simon Dawson
654723aa7f Looser GUI editor handling in omarchy-launch-editor script (#1702)
* fix: Default to nvim if $EDITOR not set in omarchy-launch-editor

Refs: https://github.com/basecamp/omarchy/pull/1697/files#r2352727184

* fix: Handle $EDITOR as GUI application by default

If we do not definitively handle $EDITOR as a known TUI editor,
assume a GUI editor and launch without using the terminal.

Refs: https://github.com/basecamp/omarchy/pull/1697/files#r2352727184
2025-09-16 21:53:51 +02:00
David Heinemeier Hansson
b9dfbb8f4c Correct default configs 2025-09-16 21:50:23 +02:00
David Heinemeier Hansson
eec51b1fb5 Add a migration to ensure that ghostty and kitty configs are available if someone switches over 2025-09-16 21:46:06 +02:00
Amit
a1228dac6b add kitty.conf for each theme; config switches with theme (#1296)
* add kitty.conf for each theme; config switches with theme

* Revise default config

* Correct restart location

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-16 21:40:07 +02:00
David Heinemeier Hansson
432ffb508c Themeing for ghostty (#1701)
* Themeing for ghostty

* Fix theme name

* Set font for ghostty too if its on the system

* Use correct class for ghostty styling

* Uniformity

* Need to keep this alacritty until we have it fully working for other terminals

* Stick to alacritty so we can control font size

* Stick with alacritty for system terminals

* Add menu to install different terminal

* Use taha approved colors
2025-09-16 21:31:40 +02:00
David Heinemeier Hansson
bf0c2cc9a5 Allow custom editor, like we do custom terminal (#1697) 2025-09-16 15:14:29 +02:00
Ofir Miller
7e1c88b932 update to use $TERMINAL instead of alacitty (#1648)
* update to use $TERMINAL instead of alacitty

* revert

* move env to hyprconfig

* Only set if we have alacritty

* Add launcher for wifi settings so it can be used in mako config

* Set system terminal in config/uwsm/env to ensure its available everywhere

* Ensure that $TERMINAL is available after update

* Didn't work to have the TERMINAL env in Hyprland

* Configure terminal settings against a full set of options

* Make About usable with any terminal

* One more alacritty-specific setting

* Use the new wifi launcher bin

* Only require the update/relaunch if TERMINAL isn't already set in config/uwsm/env

* More alacritty usage converted to $TERMINAL

* Use new launcher

* Change scrolltouchpad input rule to apply to all terminals

* Its a singular match

* Take current font from waybar, in case we don't have alacritty

* Only set font for alacritty if its being used

* Get ready to be terminal agnostic on the refresh of config too

* Use new launcher

* Note the last reliance we have on alacritty

* Make theme setting for terminals generic and include kitty

* Set font_family for kitty as well

* Quiet grep

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-16 14:32:40 +02:00
David Heinemeier Hansson
c8fa96f382 Revert "Feed the image folder to the Image Viewer so the next/previous image navigation works (#1444)"
This reverts commit 55bf2457d4.
2025-09-16 10:31:55 +02:00
Gustavo Nascimento
2e4c9d0de8 fix: correct ANSI escape sequence in boot branch message (#1689)
The branch message had an incomplete ANSI escape sequence that was
  cutting off the first character and breaking the display formatting.

  Before: \eUsing branch: master (displayed as 'sing branch: master')
  After: \e[32mUsing branch: master\e[0m (displayed as 'Using branch: master' in green)

  This fix ensures the complete message is displayed with proper green coloring.
2025-09-16 08:39:45 +02:00
Manuel
facae82630 Bugfix screensaver not exiting (#1687)
* exit if screensaver not in focus

* Extract explaining function

* Consistent function style

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-15 22:46:15 +02:00
David Heinemeier Hansson
2719db01f9 Separate out the bulk of omarchy-update so we can get any changes from git to it first
Also run migrate after we have updated system packages
2025-09-15 21:58:11 +02:00
David Heinemeier Hansson
461f8186f6 Reliably dismiss notification based on a summary match 2025-09-15 20:30:57 +02:00
David Heinemeier Hansson
c5d04e8e9c Fix new references 2025-09-15 19:04:11 +02:00
Stefan Gründel
c072715ebe add themes from https://github.com/eza-community/eza-themes (#1242)
* add themes from https://github.com/eza-community/eza-themes

* init eza theme during install

* add migration

* refactor migration script to only link eza theme if it exists for current theme

* only link to eza theme if current theme supports it

* only link to eza theme if current theme supports it

* Cleanup

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-15 19:02:57 +02:00
David Heinemeier Hansson
55911ebf7d Cleanup and extract theme setting 2025-09-15 18:56:49 +02:00
Omar Skalli
d3304c4a88 Automatically change VS Code theme along with Omarchy themes (#800)
* Automatically change VS Code theme along with Omarchy themes

* Create a way to skip vscode auto-theming

* Make theme setting resilient to different states of the settings.json

* Improve setting and removing theme and notify when waiting on install

* Explain what we're doing

* Extract dedicated bin for vscode theme change

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-15 18:20:02 +02:00
Guilherme Nandi Tiscoski
f401c72ea2 Add omarchy-cmd-share script/menu (#884)
* add: omarchy-cmd-share-files script

* add: call script from main menu

* add: hyprland binding for sharing files

* fix: dispatcher syntax

* fix: make script executable

* fix: script name on main menu

* fix: show share menu call

* fix: dispatcher order

* fix: script call via shorcut

* fix: share shortcut and share class for alacritty

* add parameters to share files, folders and clipboard content

* do not clean tmp files in clipboard mode

* make tmp file txts for clipboard sharing

* add menu options for folder and clipboard sharing

* rename script

* shortcut opens walker share menu

* fix spacing in share menu

* fix: share menu calls

* Files with spaces in the path were breaking 'send' action

* Add Trigger menu to house capture/share/toggle

* Style

* Fix going straight to share menu on Ctrl + Super + S

* Combine

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-15 16:39:13 +02:00
David Heinemeier Hansson
3986afd0c5 Quote for multi word 2025-09-15 15:22:07 +02:00
Ofir Levitan
415896605e revert: Fix screen recording on Intel graphics #669 (#1559)
* remove intel

* remove accidental paste

* Update omarchy-cmd-screenrecord
2025-09-15 12:23:46 +02:00
Jankees van Woezik
1e6ddf55ce Copy URL to clipboard from Chromium apps (#1458)
* Copy current URL to clipboard with browser extension

In Omarchy web apps it's impossible to get the curent URL to share it in
another applications. This commit adds a browser extension which is
included by default via the chromium-flags.conf config. With this
extension you can get the current URL via a keyboard shortcut.

The default shortcut for getting the current URL is `Ctrl+Shift+L`, this
shortcut can be changed via this page: chrome://extensions/shortcuts.

* Change the shortcut to Alt+Shift+L

In my testing and research I found out that not all shortcuts
are available as suggested_key. We still want to use L because
that's easy to remember because we associate it with the location bar.

* Improve notification language

* Move it to just Alt + L since that's not used

Better mirrors Ctrl + L as well

* Move this under default/chromium

* Fix symlink

* It didn't like Alt+L alone after all

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-15 12:22:28 +02:00
David Heinemeier Hansson
5582c51676 Add invitation to update the system to the latest 2025-09-15 11:36:07 +02:00
David Heinemeier Hansson
5f56f4ccc7 Expose Hyprland styling directly
Closes #660
Co-authored-by: @med502
2025-09-14 22:14:29 +02:00
v-oleg
e4ca98301b Add focus or launch script (#925)
* Add focus or launch script

* Replace eval with exec

* Use eval so it properly expands the variables

* Apply to the apps where it makes most sense

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 21:58:08 +02:00
David Heinemeier Hansson
e228a987a8 Add migration to ensure Obsidian binding is using wayland-ime 2025-09-14 21:16:04 +02:00
David Heinemeier Hansson
f9edbfe10c Enable wayland IME to cure compatibility with fcitx5 and other languages
Closes #1036
Co-authored-by: @ashutoshbw
2025-09-14 21:12:03 +02:00
David Heinemeier Hansson
2cb285c267 Add Super + Ctrl + Tab to go to former workspace
Closes #1218
Co-authored-by: @zaborowskimichal
2025-09-14 20:47:57 +02:00
Ryan Hughes
5be0e4de44 Skip adding UKI EFI entry for Apple 2025-09-14 14:28:57 -04:00
Luis Daniel Casais
5f92574586 Add option to show PKGBUILD in omarchy-pkg-aur-install (#1146)
* Add option to show PKGBUILD in omarchy-pkg-aur-install

* Fix extra parenthesis

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 20:08:59 +02:00
Ryan Hughes
772a75376e Add T2 MacBook support (#1657)
* First swing at t2 support

* Remove unnecessary enables

* Trim up

* Trim

* Need to use official mirror until we have our own setup

* Use GitHub mirror for now

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 19:49:43 +02:00
Helmut Januschka
d5314cecb7 Enable Google Signin / sync (#1365)
* Enable Google Signin / sync

* Add migration to add the flags

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 19:45:02 +02:00
David Heinemeier Hansson
c16766c8b1 Deal with not-available sinks on audio switcher
Closes #1603
Co-authored-by: @elpritchos
2025-09-14 19:38:17 +02:00
Helmut Januschka
f8ff57e2af Add Chrome and Brave browser policy support for theme colors (#1251)
* Add Chrome and Brave browser policy support for theme colors

Replace chromium --set-theme-color commands with managed policies
- Add RGB to hex conversion function
- Create /etc/chromium/policies/managed/color.json for Chrome
- Create /etc/brave/policies/managed/color.json for Brave
- Remove deprecated chromium command line theme setting

* force reload

* remove sudo

* renamed flag due to code review on google side

* Add the required directories

* Cleanup

* Slim down

* Unnecessary

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 19:30:41 +02:00
David Boot
8e4487ca41 Add private browser key binding (#1324)
* Add private browser key binding

* Include other Firefox-based browsers

* Simplify implementation

* Add migration to add the hotkey

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 18:18:57 +02:00
brink-lab
b422281840 Update waybar config with proper sized mute icon and wifi-off icon in matching style (#1386)
* Update waybar config with proper sized mute icon

Update waybar config with proper sized mute icon - same size as the two volume indicators. Current mute icon is smaller.

* Update config.jsonc
2025-09-14 17:47:47 +02:00
David Heinemeier Hansson
2e41b2c400 Add blurred theme background to the lock screen 2025-09-14 17:33:08 +02:00
Bogdan Tanase
55bf2457d4 Feed the image folder to the Image Viewer so the next/previous image navigation works (#1444)
* Feed the image folder to the Image Viewer so the next/previous image navigation works

When double clicking an image in Nautilus, my expectation is that I can navigate to the other images in the folder with the arrow keys.

This doesn't happen currently because the imv command receives only the filename as a parameter.

However, if we use:

`imv -n /myfolder/image.jpg /myfolder`

works becasue we're opening  the folder starting at the image given by the -n parameter.

* add migration for imv.desktop update

* Simplify migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 16:51:24 +02:00
Taha
a77264ae99 Add preview images to system theme folders (#1662)
* add preview images to theme folders

* fix image sizes for previews

* rename all preview images to preview.png
2025-09-14 16:28:15 +02:00
Alex R Teal
13349180b6 Better Zoom Webapp Support for meeting links (#1542)
* Support for exec and mime types. Zoom integration

In order to better support webapp zoom:
  - Added optional params for omarchy-webapp-install
    - exec, defaults to omarchy-launch-webapp
    - mimetypes, defaults blank
  - added zoom webapp launcher that parses meeting links and transforms
them and calls launch webapp to join meeting links
  - migration to convert existing zoom installs to the new custom
handler
  - updated the base installer to call new zoom handler and set
mimetypes

* default should be in the else

* Add new line at end of file

* Missed new line on migration

* Updated conditionals to be a little more clean

* This is a rare setup so let's just save it for the direct CLI

* Use new bash conditionals

* Rename to fit under the existing namespace of cmds

* Fix after merge

* Use new syntax and add missing segment comments

* Cleanup a bit

* Use local icon for zoom with migration

* Fix regexp

* Refer to raw local icon references

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 16:20:08 +02:00
David Heinemeier Hansson
445ccdebbf Give feedback while time + tz is updating
Closes #1546
2025-09-14 15:33:23 +02:00
David Heinemeier Hansson
27f020af4d Add SUPER + BACKSPACE to toggle transparency on/off for a window
Useful for video sites etc
2025-09-14 14:55:32 +02:00
Samrudh Nelli
8920c95586 Bind calculator key with gnome-calculator (#1585) 2025-09-14 14:36:14 +02:00
Ryan Hughes
52680f4b3e Create ~/Work with ./bin in the path for contained projects (#1654)
* Create ~/Work with ./bin in the path for contained projects

* Split out the mise work setup as its own configurator

* Fixup the migration to reuse config logic

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 14:32:07 +02:00
David Heinemeier Hansson
d96322e58a Freeze seems to not be reliable in practice 2025-09-14 13:32:40 +02:00
David Heinemeier Hansson
0f09febf4d Tweak the welcome 2025-09-14 13:29:06 +02:00
David Heinemeier Hansson
d58fe8b4a0 Lower timeout test
Network should be up and runn
2025-09-14 11:41:42 +02:00
David Heinemeier Hansson
4a4ff04741 It was the icon update that was hanging things 2025-09-14 11:40:13 +02:00
David Heinemeier Hansson
a0e3d86c12 Explicitly wait until notifications are available 2025-09-14 10:59:00 +02:00
David Heinemeier Hansson
2132c684ff Try to delay until mako is ready 2025-09-14 10:34:13 +02:00
David Heinemeier Hansson
47bdbec9f1 Wording 2025-09-14 10:17:45 +02:00
David Heinemeier Hansson
5b0deb90ba Add a basic welcome inviting you to start with the Omarchy Menu 2025-09-14 10:13:04 +02:00
David Heinemeier Hansson
3e1e466938 Invite new installations to setup wifi 2025-09-14 10:07:37 +02:00
Joel Gaff, Jr.
e018692e5e Macbook: enable internal keyboard at LUKS (#1313)
* macbook: enable internal keyboard at LUKS by loading applespi in initramfs

- Detect T1 models (MacBookPro13,2/13,3 and 14,2/14,3)
- Add mkinitcpio drop-in: MODULES+=(applespi intel_lpss_pci spi_pxa2xx_platform)
- Add HOOKS+=(keyboard) for early input
- Prefer in-kernel applespi; fallback to DKMS via AUR helper if needed

* macbook: expand SPI keyboard support to include 12-inch MacBook

- Add support for MacBook12,1 (12-inch MacBook 2015-2017) with SPI keyboards
- Rename configuration from T1-specific to SPI-keyboard-specific terminology
- Update mkinitcpio drop-in filename: omarchy-macbook-t1.conf -> omarchy-macbook-spi.conf
- Clarify that this fix targets SPI keyboard interface, not just T1 chip models
- Improved detection: covers all models with SPI keyboards needing applespi
- Update comments and messages to reflect broader hardware support scope

* Integrate MacBook SPI keyboard detection into limine-snapper.sh

- Move MacBook detection from separate hardware script into limine-snapper.sh
- Add comprehensive error handling with systemd journal logging
- Ensure persistent MacBook SPI module loading for every boot
- Remove redundant separate macbook-keyboard.sh file
- Consolidate terminal and log output using tee with process substitution

* Add support for MacbookPro13,1 and 14,1 models

* change log tags

from “omarchy” to “macbook” which is more appropriate.

* Slim down and rearrange code

* Unrelated change

* More specific naming and make sure its actually run

---------

Co-authored-by: Ryan Hughes <1630358+ryanrhughes@users.noreply.github.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-14 09:47:42 +02:00
David Heinemeier Hansson
123f970b20 Match logo elsewhere pushed down one line 2025-09-13 21:26:27 +02:00
David Heinemeier Hansson
9de375648e Still need proper set of $TERMINAL 2025-09-13 21:25:17 +02:00
David Heinemeier Hansson
115fcb786d Ensure we detach when starting terminal for impala 2025-09-13 21:24:37 +02:00
David Heinemeier Hansson
23d9b3ae71 Use 644 to match with ISO 2025-09-13 21:18:33 +02:00
David Heinemeier Hansson
6bffd1be8e We already have the logo 2025-09-13 21:00:14 +02:00
David Heinemeier Hansson
a9fe693ed9 Open Impala on first run if we don't have internet already 2025-09-13 20:29:51 +02:00
David Heinemeier Hansson
57bb63b5a3 Match spacing from ISO installer 2025-09-13 19:42:54 +02:00
David Heinemeier Hansson
6b3d1d5dc7 Excessive wrappers 2025-09-13 19:33:17 +02:00
David Heinemeier Hansson
759003eed9 Revert "Add extra packages that were needed from archinstall"
This reverts commit beb2e6b865.
2025-09-13 19:29:23 +02:00
David Heinemeier Hansson
2684322975 Revert "Include all packages needed from the ISO"
This reverts commit f14f63b9e6.
2025-09-13 19:29:05 +02:00
David Heinemeier Hansson
51607f1978 Switch to a simple boolean 2025-09-13 19:19:52 +02:00
David Heinemeier Hansson
beb2e6b865 Add extra packages that were needed from archinstall 2025-09-13 19:02:08 +02:00
David Heinemeier Hansson
f14f63b9e6 Include all packages needed from the ISO 2025-09-13 18:56:23 +02:00
David Heinemeier Hansson
01ce4bb4dd One character too far 2025-09-13 18:48:45 +02:00
David Heinemeier Hansson
02fbe0f305 Further design tweaks 2025-09-13 18:29:58 +02:00
David Heinemeier Hansson
2601311b62 Nix extra padding 2025-09-13 18:26:03 +02:00
David Heinemeier Hansson
dc53c34b6a No help and better centering 2025-09-13 18:16:59 +02:00
David Heinemeier Hansson
418159bd31 Use uniform echo style 2025-09-13 18:08:24 +02:00
David Heinemeier Hansson
10f909fdfc Correct path 2025-09-13 18:02:07 +02:00
David Heinemeier Hansson
5372393211 Remove interdependencies and ordering issues 2025-09-13 17:40:19 +02:00
David Heinemeier Hansson
6bf32a082e Need layout defined first to use it in logo and gum 2025-09-13 17:23:43 +02:00
David Heinemeier Hansson
49ca5ee249 Quote them 2025-09-13 17:13:29 +02:00
David Heinemeier Hansson
8651f6d8b0 Let each segment declare its all 2025-09-13 17:12:43 +02:00
Ryan Hughes
cfbc71c117 Add modifications to support Offline ISO (#1621)
* Change lazyvim and asdcontrol to packages

* Remove asdcontrol and lazyvim

* Add lazyvim setup

* Don't trigger rebuild. We already rebuild later.

* Add new pacman.conf after install

* Update config to keep mirrors in mirrorlist

* Add lazyvim setup back

* Make webapp installer work with local images

* Update tuis to work offline

* Update pacman config situation

* Extract the reboot segment into its own file

* Explainer

* Can't return in executed scripts

* Add post-install

* Extract the reboot segment into its own file

* Fix rebase doubling up

* Add run wrapper function for feedback

* Redirect output to log

* Move gnome updates to first-run

* Add theme to first-run

* Updat to try to get logging working

* Create the file and give permissions

* Test gsettings

* Revert "Test gsettings"

This reverts commit 49c27d319407f6c95fcbb4c5a2646e54b50c9ab4.

* Stop logging

* Add time outputs to end of logs

* Rearrange some scripts to cleanup

* Cleanup

* Add timing to run script

* Don't enable multilib for offline

* Add prebuild ruby

* Try spinner setup

* Prevent exit 1 due to grep not matching

* Update limine config to work for USB installs as well

* Add offline install to env report

* Fix grep pipefailure

* Update logs exports to work with subshells

* Fix backward logic

* Attempt to fix logging again

* Export chrootable for subshells

* Clean up outputs

* Move chrootable up

* Source chroot instead

* Changes for logging

* Center up reboot notice

* Update fixed paths

* Update trap

* Revert reverting precompiled ruby due to issues

* Revert "Revert reverting precompiled ruby due to issues"

This reverts commit c159e7dc51cfdd2fb750c49c66bc4468e1208446.

* Remove junk to cleanup fixed paths now that we have relative

* Add git branch check to transition beta to main

* Log output

* Add time output on summary screen

* We don't need sudo here

* Add ansi helpers to make code cleaner

* Add dry-run helpers for testing

* Split out some common / reused items

* Add log output function

* Use gum log to output cleaner

* Cleanup

* Update trap with options

* Fix reboot and pad it

* Cleanup

* Add dry-run for testing

* Use default $PADDING for gum

* More styles

* Styles and really exit

* Update to new format

* Add ansi vars

* Update log output to prevent flickering

* Fix logo exporting

* Trap updates

* Add exit handler

* Prevent double-trapping

* Update traps

* Consolidate logic

* Update reboot to work in chroot

* Eliminate double-guard

* Attempt to speed up by removing mkinitcpio hooks

* Add multilib for nvidia users

* Add back wireless-regdom

* Remove dryrun items

* Fix to be offline

* Set fonts for plymouth to solve freetype2 issue

* Required -y to run

* Update omarchy-refresh-plymouth to account for limine changes

* Update omarchy-refresh-plymouth to account for limine changes (#1575)

* Required -y to run

* Update omarchy-refresh-plymouth to account for limine changes

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Update modes

* Remove direct executions of .sh files

* Add variable safety

* Add omarchy-upload-log

* Add broadcome fix for MBP

* Prevent printing on screen when rebooting

* Make packages list universal

* Rename

* Remove retry message

* Fix packages target

* Add system info to upload

* Update variable name

* Remove unnecessary executable statuses

* Remove gesture default

* Add bcm4360 fix to install

* Add useful debug info

* Add OMARCHY_PATH

* Only look locally offline

* Rename / rearrange files

* Export so they're available to subshells

* Update for alternate

* Rearrange

* Log install time if no arch

* Add limine to packages list

* Update comments

* Update sizing method

* Update mode switcher

* Move icons to be embedded in installer

* Set install mode to online

* shebang and sudo

* Remove deleted branch check

* Elim banners

* Elim verbosity

* Rename LOG_FILE

* Multilib on by default

* Flip to positive

* Switch to gnome-theme.sh for first run

* Elim ansi-codes helper

* Move guard up to be the first thing that's hit

* Extract a couple of functions

* Trim

* Trim

* Move back to trap

* Update to single gum file

* Just show total

* Pulled function to a helper

* Extract explaining function

* Use complete conditional flows where possible

* Reference variable close to its use

* Use modern bash conditional syntax

* Comment before function

* Use a simpler shared exit headline

Doesn't matter how we stopped, just that we did

* CRs

* Keep constants together

* Style on comment

* Explain QR Code

* Modern bash conditional and use lowercase for all local variables

* Use bash calculation syntax for numbers

* Use calculation syntax where possible

* cleanup was not intention revealing enough imo

* Spacing

* Retry won't produce something different in offline mode

* Not needed

* Use modern bash conditional style

* String-wrapping not needed in [[ ]]

* Might as well use constants for all of these

* Don't need the wrapping

* Move the output saving into where we're working with it

* Not needed as long as we just source this

* Gum is a helper

* Slim down logging setup

* Reflect broader scope of work

* Everything should live in file

* Simpler

* Ordering

* Style

* Better separation of concerns

* Stop pretending these are meant to run directly

* Move all packaging execution together

* No longer used in an offline centric setup

* None of these are directly executable any more either

* Modern bash conditional

* Better name

* Explain what's going on

* Use modern bash conditional

* Use modern bash styule

* No need for bashing

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: DoppioJP <jakub@doppio.jp>
2025-09-13 16:42:00 +02:00
David Heinemeier Hansson
fc58a79ea5 Merge branch 'master' into dev 2025-09-13 15:09:24 +02:00
David Heinemeier Hansson
87469f5f43 Hide cursor during screensaver
Closes #1644
Co-authored-by: @alexperreault
2025-09-13 08:04:19 +02:00
David Heinemeier Hansson
5157932947 Add clue on how to turn on touchpad gestures
Closes #1618
2025-09-12 21:25:46 +02:00
Thomas Klein
6599a6eb70 Move nightlight reset closer to morning (#1638) 2025-09-12 21:20:53 +02:00
Brosseau Valentin
d09b6aa42a Change condition for exiting back_to function (#1582) 2025-09-12 15:23:09 +02:00
Brosseau Valentin
e9754b5460 Change condition for exiting back_to function (#1582) 2025-09-12 15:22:48 +02:00
David Heinemeier Hansson
8356358097 Hyprland 0.51 yanked workspace_swipe!
There's now more advanced features we have to look into.
2025-09-11 21:54:09 +02:00
David Heinemeier Hansson
e57026a067 Hyprland 0.51 yanked workspace_swipe!
There's now more advanced features we have to look into.
2025-09-11 21:53:59 +02:00
Ryan Hughes
f5cd7a4237 Merge pull request #1596 from denisu14/master
delete deprecated workspace_swipe
2025-09-11 00:51:39 -04:00
denisu
381e43d124 delete deprecated workspace_swipe 2025-09-10 23:35:12 -04:00
David Heinemeier Hansson
844091341c Add config/hypr/looknfeel.conf to suggest ways to make common style tweaks to Hyprland 2025-09-10 22:10:24 +02:00
Ryan Hughes
bdcd78484b Update omarchy-refresh-plymouth to account for limine changes (#1575)
* Required -y to run

* Update omarchy-refresh-plymouth to account for limine changes

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-10 19:13:24 +02:00
Ryan Hughes
8c3c93eed1 Update omarchy-refresh-plymouth to account for limine changes (#1575)
* Required -y to run

* Update omarchy-refresh-plymouth to account for limine changes

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-10 19:08:42 +02:00
David Heinemeier Hansson
19d85a7710 Required -y to run 2025-09-10 18:08:13 +02:00
David Heinemeier Hansson
1f5a86ba8e Required -y to run 2025-09-10 18:07:54 +02:00
David Heinemeier Hansson
a9d9faef24 Merge branch 'master' into dev 2025-09-10 17:42:49 +02:00
Ryan Hughes
16460b5203 Set fixed fonts for Plymouth to solve freetype2 issue (#1572)
* Set fonts for plymouth to solve freetype2 issue

* Fix typo in plymouth theme update message

Clarified the reason for the plymouth theme update.

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-10 17:11:27 +02:00
Ryan Hughes
bf07883e82 Set fixed fonts for Plymouth to solve freetype2 issue (#1572)
* Set fonts for plymouth to solve freetype2 issue

* Fix typo in plymouth theme update message

Clarified the reason for the plymouth theme update.

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-10 17:05:13 +02:00
David Heinemeier Hansson
a66e8ebebd Stop restarting waybar entirely on updates
This had problems and like this we also won't have an ugly flash
2025-09-10 16:00:14 +02:00
Ofir Levitan
a57060ee31 feat(waybar): add recording indicator (#1561)
* init

* remove comment
format

* add pulse animation

* change to signals

* Move file to an internal location, match signal with what's being sent

* Need to sleep a second to ensure that the recording has either started or stopped before we render config

* Put it in a more prominent place

* Use OMARCHY_PATH

* Sharpen icons and add on-click to stop

* Drop animation but reserve space

* Lean entirely on waybar indicator rather than notification when starting

* Use an explaining function instead of comments

* Give time to ensure the process is dead before updating the indicator

* No longer needed

* Don't need to repeat the on-click

* Don't need a full second

* Naming

* SIRGTMIN shouldn't be here

* Don't need any of this that isn't seen or used

* Explain the sleep

* Mirror start/stop functions

* Go all-in on explaining functions

* Inline audio toggle

* Better just to move the clock rather than have it be permanently offset

* Fix all parameters and name them

* Add migration

* There is now a later omarchy-refresh-waybar offer

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-10 15:48:55 +02:00
David Heinemeier Hansson
9ca2081742 No confirm install only 2025-09-10 14:43:26 +02:00
David Heinemeier Hansson
c9bacbe318 Make gum available as early as possible 2025-09-10 14:38:46 +02:00
David Heinemeier Hansson
a0674703f8 Can't set gsettings this early so move to first-run 2025-09-10 09:08:06 +02:00
elpritchos
627b5f4ead Update audio switch script to filter available sinks (#1555)
Filter audio sinks to include only available ports.
2025-09-10 08:51:28 +02:00
David Heinemeier Hansson
80767e8686 Add 6Ghz Wi-Fi + Intel graphics acceleration for existing installations 2025-09-10 07:58:27 +02:00
David Heinemeier Hansson
e260d28f43 The mulit-selector is just too confusing for people 2025-09-10 07:49:38 +02:00
David Heinemeier Hansson
8af2d3257f Correct spacing 2025-09-09 21:52:02 +02:00
David Heinemeier Hansson
477ec351e7 Merge pull request #1540 from basecamp/dev
Omarchy 2.1.1
2025-09-09 21:36:14 +02:00
Jarek
6824ce0d0f Enable full mDNS resolution for .local domains (#1021)
* Enable full mDNS resolution for .local domains

* Add migration to enable mDNS resolution for existing users
2025-09-09 21:01:22 +02:00
Adam Michaels
70c0f70940 fix: implement proper hierarchical menu navigation (#1100)
* fix: implement proper hierarchical menu navigation

Add intelligent exit behavior that respects menu hierarchy and direct access:

**Direct Access Behavior:**
- When menus are accessed via command line arguments or keybindings
- Pressing Escape/Cancel exits the application completely
- Example: `omarchy-menu theme` → Escape → exits completely

**Hierarchical Navigation:**
- When navigating through menu system (Main → Style → Theme)
- Pressing Escape/Cancel returns to parent menu
- Examples:
  - Theme menu → Style menu (not main menu)
  - Font menu → Style menu (not main menu)
  - Power menu → Setup menu (not main menu)
  - Update Process/Config menus → Update menu (not main menu)

**Implementation:**
- `DIRECT_ACCESS` global variable tracks access method
- `handle_exit(parent_menu)` provides consistent behavior
- Applied to theme, font, power, and update submenus
- Maintains backward compatibility for all existing navigation

* Naming and add to system menu too

* Naming

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-09 20:43:26 +02:00
Joe Dang
251997cf54 fix: keybinding menu size (#1152) 2025-09-09 20:19:52 +02:00
Nirav Patel
e79cfa76a8 Include wireless-regdb to resolve #1083 (#1279)
* Add wireless-regdb alongside iwd

Needed for regulatory compliance for Wi-Fi and enabling some bands on some chipsets

* Add wireless-regdb

* Changed location of wireless-regdb install

* configure the wireless-regdom during install

* remove extra newline

* don't unset the variable too early

* also set the region as part of the script

* writing to wireless-regdom requires root

* need to use tee

* changing logic since this is brought in as source

* handle timezones that start with country code already

---------

Co-authored-by: Nirav Patel <eclecticc@users.noreply.github.com>
2025-09-09 20:13:14 +02:00
Nirav Patel
a8a907791b Install video acceleration for intel GPUs (#1368)
* install the needed packages for intel GPUs

* keep forgetting that this is included by source

---------

Co-authored-by: Nirav Patel <eclecticc@users.noreply.github.com>
2025-09-09 20:04:22 +02:00
cluah
0dbb81ee9b add visual feedback for super + mute + fix (#1474)
* add visual feedback for super + mute

- show visual feedback (device name and volume icon) when super+mute is pressed
- avoid reassigning the sink when only one is available, since this prevents devices (e.g. headphones) from regaining audio after reconnect

* cleanup

* changes needed

* fix: remove hardcoded channel reference
2025-09-09 18:43:34 +02:00
rez1coder
9ecf59dd60 chore: add waybar clock locale migration (#1498) 2025-09-09 18:40:55 +02:00
David Heinemeier Hansson
78b2f926c8 Add screen recording with audio to menu 2025-09-09 18:27:16 +02:00
Patrick van de Glind
40d7d074a9 Added Clojure to the Development Omarchy Menu & implementation (#1238)
* Added Clojure to the Development Omarchy Menu

also implemented it in omarchy-install-dev-env

* Update the icon to use the Clojure logo from Nerd Fonts

Thanks to @Sgierek106

* Use omarchy-pkg-add

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-09 17:28:30 +02:00
Ali Ismayilov
8a83234298 Provide postgres 17 (#1524) 2025-09-09 16:30:47 +02:00
Jarek
88c7c4c748 Fix VPN DNS resolution in DHCP mode (#1514)
Empty DNS= and FallbackDNS= in resolved.conf were blocking VPN DNS
servers when VPN clients replaced /etc/resolv.conf.

Removing these empty values allows systemd-resolved to:
- Use DHCP DNS from network interfaces (existing behavior)
- Fall back to system defaults when needed
- Switch to 'foreign' mode for VPN DNS override

Fixes #1509
2025-09-09 16:24:49 +02:00
David Heinemeier Hansson
ddef52c192 We don't need this to run every time 2025-09-09 14:54:42 +02:00
David Heinemeier Hansson
57ca3d74e5 Revert "Onlt run updatedb if the install worked"
This reverts commit 8e67e717a0.
2025-09-09 14:54:08 +02:00
David Heinemeier Hansson
8e67e717a0 Onlt run updatedb if the install worked 2025-09-09 14:51:27 +02:00
David Heinemeier Hansson
d5ae9ffa05 Don't stop execution on a failure or the script will exit before we get to omarchy-show-done
Which in turn means you can't see error messages on failed installs.

Closes #1521
2025-09-09 14:47:40 +02:00
robert stringer
1de4a49ab0 feat: Notification settings persist across theme changes (#1484)
* Added a core.ini file for setting persistent notification settings

* migration

* remove: max-icon-size from core.ini

* rearranging mako files

* moving core.ini mako config inside omarchy

* added core.ini to migration

* We don't actually need this

Mako is already loaded. The new config will get picked up automatically
on next reboot.

* Don't change

* No change required here

---------

Co-authored-by: robert stringer <bitmap+github@gmail.com>
Co-authored-by: xz <xz>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-09 14:41:41 +02:00
Keyfer Cisek
8493054cd0 Install Gemini CLI via AUR (#1517)
* Install Gemini CLI via AUR

* Update bin/omarchy-menu

Co-authored-by: Roberto Aguilar <roberto.aguilar.arrieta@gmail.com>

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Roberto Aguilar <roberto.aguilar.arrieta@gmail.com>
2025-09-09 14:24:10 +02:00
David Heinemeier Hansson
dbd67e6354 Add menu option for updating drive encryption and user passwords (#1535) 2025-09-09 14:10:42 +02:00
David Heinemeier Hansson
bc1eee1857 Add audio recording on SHIFT to the screenrecording options 2025-09-08 13:11:38 +02:00
David Heinemeier Hansson
9467ff2de3 Add audio recording on SHIFT to the screenrecording options 2025-09-08 13:10:26 +02:00
David Heinemeier Hansson
e5a1b99497 Add new default background for matte black 2025-09-08 11:49:30 +02:00
Árni Gunnarsson
2f6607c03d Add locale to the waybar clock (#1380)
Icelandic was not being picked up by the clock on waybar, this issue
contains more information.

https://github.com/Alexays/Waybar/issues/2694#issuecomment-1837118050
2025-09-07 21:14:48 +02:00
David Heinemeier Hansson
597c2f58eb Fix package reference to use the Omarchy package
Closes #1385
2025-09-07 21:11:42 +02:00
Roberto Aguilar
633b5da37e Install PHP Xdebug debugger (#1399)
While working in a non-trivial feature, debugging support was needed.
Since Xdebug is the official PHP debugger, is available in Arch's
official repositories, and is trivial to configure, it makes sense to
include it in the PHP development environment.

This addition improves the overall development experience for PHP
developers by enabling easier inspection and troubleshooting.

With this PR, the debugger now shows up an enabled extension:

```
$ php -v

PHP 8.4.12 (cli) (built: Aug 27 2025 06:23:40) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.12, Copyright (c) Zend Technologies
    with Xdebug v3.4.4, Copyright (c) 2002-2025, by Derick Rethans
```
2025-09-07 21:08:11 +02:00
David Heinemeier Hansson
816a660059 Merge pull request #1424 from roberto-aguilar/docker-dbs
Make the Docker DBs file scriptable
2025-09-07 21:01:03 +02:00
David Heinemeier Hansson
05d864c8b4 Merge pull request #1426 from ollymarkey/fix-make-character-under-cursor-readable-in-alacritty-ristretto-theme
fix: make character under cursor readable in alacritty ristretto theme
2025-09-07 20:59:56 +02:00
David Heinemeier Hansson
ca1ea6ccb8 Merge pull request #1427 from typeshaper/fix-firefox-class
change firefox class regex
2025-09-07 20:58:48 +02:00
David Heinemeier Hansson
8e601e1fca Improves screensharing compatibility
Closes #1438
Co-authored-by: @keithhubner
2025-09-07 20:55:41 +02:00
David Heinemeier Hansson
33ebce49b0 Merge pull request #1443 from bftanase/fix-numlock
Enable numlock by default in input configuration
2025-09-07 20:51:22 +02:00
David Heinemeier Hansson
3d075602cb Merge pull request #1429 from martinmose/fix/ufw
Fix UFW Persistence
2025-09-07 20:48:47 +02:00
David Heinemeier Hansson
c87c5e5a04 Merge pull request #1459 from Esteban-Bermudez/place-git-config-in-config-directory
Create git config file under `~/.config`
2025-09-07 20:36:03 +02:00
David Heinemeier Hansson
8088effe9f Update git.sh 2025-09-07 20:35:29 +02:00
David Heinemeier Hansson
653b389c9a Merge pull request #1471 from rsd/hyprshot-freeze
Add --freeze option to screenshot command for improved capture stability
2025-09-07 20:32:44 +02:00
David Heinemeier Hansson
7286bbb674 Merge pull request #1480 from mgbaron/master
Match youtube subdomains in opacity windowrule
2025-09-07 20:25:47 +02:00
David Heinemeier Hansson
20ef3c821d Merge branch 'master' into dev 2025-09-07 20:02:50 +02:00
David Heinemeier Hansson
05a5bfc9b4 Ensure btop and other alacritty-without-bash-subshell commands work with cwd 2025-09-07 20:02:14 +02:00
David Heinemeier Hansson
95336e730f Stick to what we offer 2025-09-07 19:52:55 +02:00
David Heinemeier Hansson
d5e445b743 Another template 2025-09-07 19:51:32 +02:00
David Heinemeier Hansson
00fe154e43 Singular 2025-09-07 19:47:03 +02:00
David Heinemeier Hansson
27742c8f43 Template for suggestions too 2025-09-07 19:46:12 +02:00
mgbaron
15c22fb05b Match youtube subdomains in opacity windowrule
Ensures that any browser apps opening youtube or its subdomains (e.g. tv.youtube.com) have no transparency.
2025-09-06 08:12:17 -06:00
David Heinemeier Hansson
0d5b41b83a Slim further 2025-09-06 10:02:39 +02:00
David Heinemeier Hansson
8065eb87d8 Slim down 2025-09-06 10:00:32 +02:00
David Heinemeier Hansson
bee90aa121 Try the yaml instead 2025-09-06 09:56:54 +02:00
David Heinemeier Hansson
29b1ed6c4e Add an issue template for bugs 2025-09-06 09:52:51 +02:00
Raul Dias
7fe02e7d68 Update screenshot command to include --freeze option for improved capture stability 2025-09-05 18:23:16 -03:00
esteban_ba
ec428bc05f Create git config file under ~/.config
This will help to keep our git config alongside our other configuration
files instead of in the home directory under `~/.gitconfig`
2025-09-04 16:16:04 -07:00
Bogdan Tanase
73bc6159ea Enable numlock by default in input configuration
I believe this is a sensible default for those that have keyboards with num pads. Whenever I want to enter a number I reach for the numpad, just to realize that numlock is off and it doesn't do what I expect it.
2025-09-04 07:20:23 +02:00
Martin Mose Facondini
136a2268ea refactor: pr feedback - ufw 2025-09-03 21:02:12 +02:00
Martin Mose Hansen
0723059fb3 fix: ensure that ufw is enabled 2025-09-03 17:08:09 +02:00
typeshaper
5e5b253dc6 change firefox class regex
It wouldn't recognize Firefox with this kind of regex so browser was
still transparent when it shouldn't
2025-09-03 16:48:30 +03:00
Olly
9cc185c82d Update alacritty.toml
The cursor and text color in the ristretto alactritty theme config are currently the same. This change sets the cursor text color to match the background color. This should be the expected behavior.
2025-09-03 20:41:54 +10:00
Roberto Aguilar
ba76610512 Make the Docker DBs file scriptable
I'm creating dotfiles that as soon as Omarchy is installed, allow me to
perform my own customizations to get the system up and running in no
time according to my own needs.

One of them for example runs:

    ~/.local/share/omarchy/bin/omarchy-install-dev-env laravel

However, something like that is not possible with the Docker databases
because it assumes interactivity via `gum`.

This PR fixes that by either taking the choices as arguments or
providing interactivity when that's not the case.

    ~/.local/share/omarchy/bin/omarchy-install-docker-dbs MySQL
2025-09-03 00:55:39 -06:00
David Heinemeier Hansson
787d0c75a2 Fix quoting for current path 2025-09-02 22:23:20 +02:00
David Heinemeier Hansson
b84e687262 Merge pull request #1376 from ncr/unify-top-bar-toggle
Unify top bar toggle: always pkill waybar
2025-09-01 11:58:31 +02:00
Jacek Becela
c499413812 Unify top bar toggle via keybinding 2025-09-01 11:22:17 +02:00
David Heinemeier Hansson
c82754d423 Merge pull request #1372 from roberto-aguilar/minecraft-launcher
Fix Minecraft installation
2025-09-01 09:36:17 +02:00
Roberto Aguilar
9ec006a1b2 Fix Minecraft installation
I tried to install `Minecraft` through Omarchy's menu, however it fails
with the following error message:

    error: target not found: minecraft-launcher

This occurs because, according to Arch's documentation, the package is
available through AUR rather than the official repositories.

Reference: https://wiki.archlinux.org/title/Minecraft#Installation
2025-08-31 22:29:10 -06:00
Barend van der Walt
2666e75666 Fix syntax error in alacritty.toml bindings 2025-08-31 20:03:01 +02:00
Barend van der Walt
d40c1ba454 Update alacritty.toml to remove clipboard setting, bind shift+insert to paste action
Removed selection settings to save to clipboard.
bind shift+insert to paste action
2025-08-31 20:00:44 +02:00
Ryan Hughes
8fd668fbb3 Fix multilib regex for steam installer 2025-08-31 20:04:35 +03:00
David Heinemeier Hansson
25d02e1f3f Merge pull request #1357 from basecamp/fix-multilib-sed-issue
Account for space between # and text for Nvidia multilib
2025-08-31 18:07:04 +02:00
Ryan Hughes
261e1aec08 Account for space between # and text 2025-08-31 18:56:13 +03:00
David Heinemeier Hansson
43206dba92 Revert "Temporarily yank ttf-ia-writer until bad cache expires"
This reverts commit 6f2f48b412.
2025-08-31 17:12:58 +02:00
David Heinemeier Hansson
6f2f48b412 Temporarily yank ttf-ia-writer until bad cache expires 2025-08-31 17:06:41 +02:00
David Heinemeier Hansson
ca7f6ebb3b Sublime is only on AUR 2025-08-31 16:51:28 +02:00
David Heinemeier Hansson
131f934f17 Fix JetBrains font setting 2025-08-31 16:50:22 +02:00
David Heinemeier Hansson
91177a6546 Needed for pre-migrations setups 2025-08-31 16:28:27 +02:00
David Heinemeier Hansson
57a9a1aed0 Merge pull request #1348 from basecamp/dev
Omarchy 2.1.0
2025-08-31 16:09:53 +02:00
David Heinemeier Hansson
4409f4478b We have to bail if the package couldn't be installed 2025-08-31 15:55:23 +02:00
David Heinemeier Hansson
6d832cba42 Reapply "Make fixing the F13 AMD audio input just a thing that happens"
This reverts commit a5814e0bfd.
2025-08-31 15:50:24 +02:00
David Heinemeier Hansson
8610f4f9da Explainer 2025-08-31 15:41:55 +02:00
David Heinemeier Hansson
4bdbb06cfc Extract the reboot segment into its own file 2025-08-31 15:41:32 +02:00
David Heinemeier Hansson
7a9499eb66 Always have the shebang 2025-08-31 15:41:18 +02:00
David Heinemeier Hansson
a5814e0bfd Revert "Make fixing the F13 AMD audio input just a thing that happens"
This reverts commit c6cd49a0aa.
2025-08-31 15:35:43 +02:00
David Heinemeier Hansson
434265cea2 Include multilib but commented out 2025-08-31 15:12:01 +02:00
David Heinemeier Hansson
6a5f98cb8e Slim even more 2025-08-31 15:09:31 +02:00
David Heinemeier Hansson
a4c4b3570c Ship our own pacman.conf 2025-08-31 15:07:36 +02:00
David Heinemeier Hansson
849628b288 Need fontconfig too 2025-08-31 14:57:42 +02:00
David Heinemeier Hansson
3ea45aa995 Convert most of the optional AUR dependencies over to OPR 2025-08-31 14:54:44 +02:00
David Heinemeier Hansson
37d59ca78e Use our own asdcontrol-git package now 2025-08-31 14:46:06 +02:00
David Heinemeier Hansson
c6cd49a0aa Make fixing the F13 AMD audio input just a thing that happens 2025-08-31 14:31:15 +02:00
David Heinemeier Hansson
05d5f07cca Add migration to fix the AMD F13 input audio problem 2025-08-31 14:19:30 +02:00
David Heinemeier Hansson
91c8ad36f2 Add hardware restart menu to unblock wifi/bluetooth/audio if stuck 2025-08-31 14:18:01 +02:00
David Heinemeier Hansson
521de9794a Glenn was right, 3 is better! 2025-08-31 14:02:08 +02:00
David Heinemeier Hansson
e15caaf713 Only do a gum offer if we have gum 2025-08-31 13:58:01 +02:00
David Heinemeier Hansson
219d2d43e7 Gets called too early to rely on the ENV 2025-08-31 13:56:40 +02:00
David Heinemeier Hansson
d68a757b7f Extract actual list to a file that's easier to maintain 2025-08-31 13:53:16 +02:00
David Heinemeier Hansson
8dd7c7a94e Make default ENVs available here and reuse 2025-08-31 13:53:06 +02:00
David Heinemeier Hansson
763cbcbc02 Use one consistent mirror list 2025-08-31 13:49:54 +02:00
David Heinemeier Hansson
db8d814071 Split conditionals 2025-08-31 13:46:54 +02:00
David Heinemeier Hansson
e621e41be2 Only try to update from AUR if there are any AUR packages installed 2025-08-31 13:45:47 +02:00
David Heinemeier Hansson
1099a44c77 Don't need this 2025-08-31 13:35:45 +02:00
David Heinemeier Hansson
3210ec44f5 Fix pkg-add 2025-08-31 13:35:28 +02:00
David Heinemeier Hansson
a44ea9c232 Ensure new mirrorlist is added as early as possible 2025-08-31 13:30:57 +02:00
David Heinemeier Hansson
f643d97211 Make sure we have the latest omarchy-chromium available 2025-08-31 13:27:23 +02:00
David Heinemeier Hansson
cc1f49519e Only fetch the ignored package list once and shout about it if necessary 2025-08-31 13:25:14 +02:00
David Heinemeier Hansson
c0c040f9c0 Just install iwd along with everything else so it is always there 2025-08-31 13:21:00 +02:00
David Heinemeier Hansson
5f94df198f Offer instant retry of the installation on failure 2025-08-31 13:09:45 +02:00
David Heinemeier Hansson
fe20e89e0e Set everything under the chromium guard 2025-08-31 13:08:40 +02:00
David Heinemeier Hansson
80341b296e Sort alphabetically 2025-08-31 12:43:09 +02:00
David Heinemeier Hansson
eeee49e702 QEMU should not be transparent 2025-08-31 12:42:57 +02:00
David Heinemeier Hansson
927abd86ba Be more specific
This is pacman land!
2025-08-31 12:41:33 +02:00
David Heinemeier Hansson
256a27ca8e Apply idle inhibitor just to fullscreen on stream and retroarch for gaming
#1303
2025-08-31 11:19:05 +02:00
Cristian Álvarez Belaustegui
64ec80fb7e Bitwarden installer and rule to avoid sharing it's window contents (#1044)
* Don't share Bitwarden windows content

* Install Bitwarden

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-31 10:51:03 +02:00
David Heinemeier Hansson
24b94fde54 Ensure qt5-wayland has been installed
Closes #596
Co-authored-by: @roelandmoors
2025-08-31 10:49:14 +02:00
David Heinemeier Hansson
3b0752820e Revert "Quick fix for lazyvim bufferline error when using catppuccin (#1084)" (#1346)
This reverts commit b6896bd58f.
2025-08-31 10:34:55 +02:00
Ramtin Javanmardi
b6896bd58f Quick fix for lazyvim bufferline error when using catppuccin (#1084)
* Quick fix for lazyvim bufferline error when using catppuccin

* This is a slightly better fix

* Adding the fix in theme, actually messed up the theme colors

* Adding the migration file

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-31 10:34:09 +02:00
robert stringer
2442f774e4 fix: cleans the output of upower, strips the percentage and decimals, prevents arithmetic syntax error (#1236)
Co-authored-by: xz <xz>
2025-08-31 10:24:54 +02:00
Oleg Luganskiy
0d62a03ae0 feat: add OpenAI Codex to AI installation menu (#1255)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-31 10:13:25 +02:00
David Heinemeier Hansson
7d2759b807 Don't need extra sleep 2025-08-31 10:11:42 +02:00
Rick
792f7827a6 Handle case when no databases are selected (#1259)
At least two users were asking for support in Discord due to not selecting DBs to install. This aims to prevent confusion in that scenario.
2025-08-31 10:11:23 +02:00
David Heinemeier Hansson
9293e2ed17 Add icons for OS Age and Uptime
Closes #1299
Co-authored-by: @theamit-969
2025-08-31 10:07:37 +02:00
Valberto Enoc
3d49ced97e Change Ollama install from AUR package to official website (#881)
* install ollama from the official website

* installing ollama-cuda if nvidia-smi exists

* add check for rocminfo installation for AMD GPUs

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-31 09:59:28 +02:00
Simon Dawson
35e169e3cc chore: Add Emacs to editor install menu (#1323)
As well as installing the `emacs-wayland` package, we enable and start
the `emacs` systemd service. A GUI Emacs client can then be started
using e.g. `emacsclient -c`.
2025-08-31 09:53:18 +02:00
David Heinemeier Hansson
4ee48dd238 Switch from returns to exit codes 2025-08-31 09:21:02 +02:00
David Heinemeier Hansson
9e5b4fc871 Turn pkg and cmd functions into bins to avoid PATH issues in subshells 2025-08-31 09:18:06 +02:00
robert stringer
94ad5d4d37 fix: symlinks to default icons to prevent text chevron fallbacks (#1114)
* fix: symlinks to default icons to prevent text chevron fallbacks

* consistent symlink syntax

* Needs sudo and had extra quotes

* Add migration

* added gtk-update-icon-cache for symlinked files

* pkill any running Files windows

* Cleanup and ensure successful exit so as not to halt migrations

* Excess CR

---------

Co-authored-by: xz <xz>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: robert stringer <bitmap+github@gmail.com>
2025-08-31 09:08:32 +02:00
Gary Rennie
0a3ce5c393 Allow failed migrations to be skipped (#1124)
* Allow failed migrations to be skipped

Failed migrations can be now be skipped by a prompt. This means that if
a migration is "stuck" then a user can opt to store it in a separate
skipped directory. Skipped migrations will be considered for the
purposes of running the pending migrations, however in future, we can
allow the user to run their skipped migrations with a flag.

To allow the script to continue and prompt for failed migrations, the
`set -e` has been removed. A manual check on the exit code is used
instead.

* Cleanup implementation a bit

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-31 09:03:25 +02:00
David Heinemeier Hansson
9f5975b717 Only configure Docker if it is present on the system 2025-08-31 08:50:32 +02:00
chan
29c2233399 Add gvfs-smb so GNOME Files (Nautilus) can handle smb:// URIs. (#1327)
* add gvfs-smb to packages

gvfs-smb and its dependencies (smbclient, samba, and cifs-utils) afford access to Samba servers in Nautilus/Files.

* Add migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-31 08:07:42 +02:00
David Heinemeier Hansson
98db40fd0d This is preventing Android Studio from working correctly
Closes #1300
2025-08-31 07:54:16 +02:00
Glenn Oppegard
a35055e562 Give the screensaver time to breathe (#1184)
Add a three second delay between screensaver effects

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-30 20:53:10 +02:00
David Heinemeier Hansson
3ce7849c89 Group git together 2025-08-30 11:48:32 +02:00
Jarek
59c70fdd46 Fix DNS migration to handle UseDNS=no in network files (#1314)
* Fix DNS migration to handle UseDNS=no in network files

Issue #1246: Migration 1755109182.sh only fixes resolved.conf but doesn't
remove UseDNS=no from network files. When UseDNS=no persists, it blocks
DHCP DNS and forces fallback to Cloudflare after reboot.

Fix: Remove UseDNS=no from all network files, matching omarchy-setup-dns DHCP behavior.

* Add new migration 1756491748.sh for existing users

Fixes DNS issue for users who already ran migration 1755109182.sh.
Removes UseDNS=no from network files to enable DHCP DNS.

* Apply requested changes

- Revert 1755109182.sh to original state
- Consolidate all fixes in new migration 1756491748.sh
- Follow migration style guidelines
2025-08-30 09:41:14 +02:00
David Heinemeier Hansson
effae1e7f2 Include nautilus dialogs as floating windows 2025-08-30 08:51:15 +02:00
David Heinemeier Hansson
a3c5e589f6 Extract pkg cmd abstractions and clean up all migrations (#1291)
* No using custom chromium.desktop any more

* Spacing

* Rely on $OMARCHY_PATH

* Add common pkg and cmd functions for use in migrations and elsewhere

* Simple pkg-adds

* Later migration does it

* Ensure running migrations on older installs have the new pkg/cmds available

* Spacing

* Use new abstractions

* Installed in later migration

* Needless comment

* Use new commands

* Fix package name from 'batt' to 'bat'
2025-08-30 07:41:05 +02:00
Ankur Kotwal
4f6f92b2cc Use ttf-jetbrains-mono-nerd font instead of the non-nerd variant. (#1308)
* Use ttf-jetbrains-mono-nerd font instead of the non-nerd variant.

* Update font installation script for JetBrains Mono

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-30 07:37:25 +02:00
Cosmin Popovici
b388d95d4b Fix comment formatting for key unbinding example (#1245)
`unbind = SUPER, Space` will not work, but `unbind = SUPER, SPACE` will
2025-08-29 21:46:39 +02:00
Jordan King
ed3e1f901b Set hypridle exception for fullscreen apps (#1303) 2025-08-29 21:43:26 +02:00
David Heinemeier Hansson
07c072cf21 Spacing 2025-08-29 21:42:02 +02:00
Alexandre Perreault
3266a18897 fix screensaver exit behavior on multiple monitors (#1249) 2025-08-29 21:38:46 +02:00
David Heinemeier Hansson
94eeba4849 Just tweak Alacritty 2025-08-29 21:24:31 +02:00
David Heinemeier Hansson
d755de4042 Tweak Kanagawa opacity to more closely match the other themes in appearance 2025-08-29 21:22:17 +02:00
David Heinemeier Hansson
ace0fb1cd5 Migrate away the alacritty default override of opacity so Hyprland has full control 2025-08-29 21:19:12 +02:00
David Heinemeier Hansson
2647ea7745 Let Hyprland control the opacity
And reduce it a bit this way
2025-08-29 21:16:38 +02:00
David Heinemeier Hansson
defe63a91c No trailing slash 2025-08-29 19:44:07 +02:00
Charles Ji
4e8afd7ad6 fix: remove extra slash (#1141) 2025-08-29 19:43:07 +02:00
David Heinemeier Hansson
37699e80e4 Bring back ttf-ia-writer now that it is safe 2025-08-28 22:23:38 +02:00
David Heinemeier Hansson
0b276c4f49 Improve readability here too 2025-08-28 22:11:05 +02:00
David Heinemeier Hansson
8350355a20 Easier to read 2025-08-28 22:09:21 +02:00
David Heinemeier Hansson
c5fffc2f1d Use new Omarchy mirror as primary mirror 2025-08-28 22:04:32 +02:00
David Heinemeier Hansson
d9c69b8d02 Silence errors if they are missing 2025-08-28 22:02:13 +02:00
David Heinemeier Hansson
3e29949745 Only remove the key if it exists 2025-08-28 22:00:41 +02:00
David Heinemeier Hansson
bb9fbceca2 Only update AUR packages in the AUR step 2025-08-28 21:59:10 +02:00
David Heinemeier Hansson
615aa64f01 Remove lingering Chaotic-AUR packages 2025-08-28 21:55:52 +02:00
David Heinemeier Hansson
a21ace2ee7 Drop Chaotic-AUR repository now that we have OPR (#1264)
* Drop Chaotic AUR repo

Now that we have the AUR packages we need on the OPR, we don't need this
as a default.

* Fix escape issue and rename so it will run again
2025-08-28 21:50:49 +02:00
David Heinemeier Hansson
f16908d701 Busted 2025-08-28 21:46:14 +02:00
David Heinemeier Hansson
1fd5966bd9 Merge branch 'master' into dev 2025-08-28 21:41:19 +02:00
David Heinemeier Hansson
94006b5bb1 Duplicate 2025-08-28 21:38:59 +02:00
David Heinemeier Hansson
bc94bb2d6c We should not be pinning this 2025-08-28 21:37:50 +02:00
David Heinemeier Hansson
305e799581 Was a consequence of the escaping bug 2025-08-28 21:35:55 +02:00
David Heinemeier Hansson
43ee2cf4e0 Fix escaping bug as hotfix 2025-08-28 21:34:31 +02:00
David Heinemeier Hansson
48e5aa5e91 Include Open Folder from VSCode 2025-08-28 18:47:58 +02:00
David Heinemeier Hansson
c5290ee970 Add Omarchy mirror first 2025-08-28 15:53:56 +02:00
David Heinemeier Hansson
ba4f1f20fc Upgrade the system after the potentially missing omarchy repo has been added 2025-08-28 15:40:45 +02:00
David Heinemeier Hansson
005d286f92 Pull borked package as a hotfix 2025-08-28 15:16:32 +02:00
David Heinemeier Hansson
cd378a55a2 Merge pull request #1232 from basecamp/dev
Omarchy 2.0.5
2025-08-28 11:14:58 +02:00
Ryan Hughes
4480b3638f Merge pull request #1160 from michielryvers/snapper-existing-configs
Don't hardcode snapper configs, read the config list first
2025-08-28 12:12:15 +03:00
Ryan Hughes
5f2b6566f1 Add missing configs if user already had snapper 2025-08-28 12:11:26 +03:00
David Heinemeier Hansson
b4d76cecdf Stop restarting waybar on unlock to see if we have solved the stacking problem for good 2025-08-28 10:58:39 +02:00
michielryvers
52dcf01987 Merge branch 'dev' into snapper-existing-configs 2025-08-28 10:54:20 +02:00
David Heinemeier Hansson
91dadc905d Let user know why we are asking for sudo 2025-08-28 10:50:20 +02:00
David Heinemeier Hansson
69f5c62f8f pacman actually does this itself 2025-08-28 10:42:41 +02:00
David Heinemeier Hansson
e3df85ba8c Switch to the new Font Awesome 7.0 package 2025-08-28 10:41:05 +02:00
David Heinemeier Hansson
3f2e282c46 Ensure walker doesn't walk off into the night
Closes #1226
2025-08-28 10:29:36 +02:00
David Heinemeier Hansson
06b15257e2 Fix repo setup 2025-08-28 09:21:47 +02:00
David Heinemeier Hansson
33d6d38332 Include Omarchy branch in About (#1231) 2025-08-28 09:05:26 +02:00
David Heinemeier Hansson
30ad634349 Move OPR behind Arch default repos (#1229)
* Move OPR behind Arch default repos

* No longer first
2025-08-28 08:47:42 +02:00
Roberto Aguilar
6e3d023fee Install node as part of Laravel's dev env (#1201)
When running `laravel new`, if a starter kit like `React` or `Vue` are
selected, the installer will ask:

```
Would you like to run npm install and npm run build?
```

And in order for it to work, `npm` should be available.

Having this installed will definitively smooth out the experience from
install to up-and-running!
2025-08-28 07:55:51 +02:00
David Heinemeier Hansson
950f1f0adc Merge pull request #1223 from basecamp/dev
Omarchy v2.0.4
2025-08-28 07:10:37 +02:00
David Heinemeier Hansson
126131daa1 Merge branch 'master' into dev 2025-08-28 07:08:55 +02:00
David Heinemeier Hansson
4e7aa33868 Don't need to start immediately 2025-08-28 07:05:03 +02:00
David Heinemeier Hansson
a34b7bd131 Remove entirely 2025-08-28 06:58:10 +02:00
David Heinemeier Hansson
2c751a0920 Stop pinning 2025-08-28 06:47:32 +02:00
David Heinemeier Hansson
42f7f5f558 Hopefully no longer needed 2025-08-28 06:38:48 +02:00
David Heinemeier Hansson
c56c192b89 Set keyboard layout in the correct default file 2025-08-27 21:15:48 +02:00
David Heinemeier Hansson
203dcce898 Order of appearance 2025-08-27 21:05:38 +02:00
David Heinemeier Hansson
e337c0bbdc Merge pull request #1178 from cstrickjacke/waybar-power-menu
make clicking on the battery icon open the power menu
2025-08-27 21:04:17 +02:00
David Heinemeier Hansson
512df06f36 Don't need output for success 2025-08-27 20:49:34 +02:00
David Heinemeier Hansson
71fe2cbafd Merge pull request #1188 from bastnic/patch-1
Fix keyboard layout at install
2025-08-27 20:24:48 +02:00
Bastien Jaillot
37d10feba3 Update Hyprland config path for keyboard layout
Keyboard is wrongly set after install, this is because the config moved to a dedicated input.conf and so no substitution is done.
2025-08-27 18:14:27 +02:00
David Heinemeier Hansson
d94715d59e Merge pull request #1174 from basecamp/dev
Omarchy 2.0.3
2025-08-27 16:11:01 +02:00
Cai Strickland
393767cbec make clicking on the battery open the power menu
Bothered me that the power profile setting was so hidden away, so I made it pop up by clicking the battery icon. :)
2025-08-27 15:49:33 +02:00
David Heinemeier Hansson
e9d2a3d3f7 Revert "Confirm whether issue is still present with proper use of pacman -Syu"
This reverts commit 3882fbf21c.
2025-08-27 15:46:59 +02:00
David Heinemeier Hansson
2832c59970 Always --noconfirm 2025-08-27 15:40:48 +02:00
David Heinemeier Hansson
3882fbf21c Confirm whether issue is still present with proper use of pacman -Syu 2025-08-27 15:29:48 +02:00
David Heinemeier Hansson
5fec87d324 Get rid of -Sy and -Syy (#1175)
* Get rid of -Sy and -Syy

* Get rid of all naked -Sy usage

* Don't need a full system update for this

* Combine

* Does not need a full system update

* Need to refresh even just for Omarchy repository

* Does not warrant a full system update

* No longer need the sudoless pacman runs

* We have already added the Omarchy repo before getting to here

So fine to just do a straight install
2025-08-27 15:24:18 +02:00
David Heinemeier Hansson
e5927fc1b2 Fix ghostty compatibility here too 2025-08-27 14:38:14 +02:00
David Heinemeier Hansson
175066ecba Fix migration not to add working-directory if already there
And make command line compatible with Ghostty too
2025-08-27 14:38:00 +02:00
David Heinemeier Hansson
cf4e1c0eb7 Better resilience for fetching the tags 2025-08-27 14:26:30 +02:00
David Heinemeier Hansson
b264c6540a Use floating terminal 2025-08-27 14:19:07 +02:00
David Heinemeier Hansson
90cdbd5504 Run the omarchy-update in a terminal process not owned by waybar so it'll survive being restarted 2025-08-27 14:14:03 +02:00
David Heinemeier Hansson
147242cbba Same permissions as everything 2025-08-27 14:13:23 +02:00
David Heinemeier Hansson
c09ac13f90 Add refresh fastfetch config 2025-08-27 12:59:31 +02:00
David Heinemeier Hansson
ec85068c67 Use omarchy-version 2025-08-27 12:59:21 +02:00
David Heinemeier Hansson
8cbd6be687 Merge pull request #1166 from basecamp/dev
Omarchy v2.0.2
2025-08-27 12:50:36 +02:00
David Heinemeier Hansson
aef9a3dc0f Merge branch 'master' into dev 2025-08-27 12:49:31 +02:00
David Heinemeier Hansson
2294393d71 Just force it for now 2025-08-27 12:39:36 +02:00
David Heinemeier Hansson
2b0d2e4751 Should be exe 2025-08-27 12:35:48 +02:00
David Heinemeier Hansson
0f8a94aa50 Pin at the end 2025-08-27 12:26:03 +02:00
David Heinemeier Hansson
4eb2fab33d Ignore for yay too 2025-08-27 12:21:25 +02:00
David Heinemeier Hansson
a43edcde7d Quote it 2025-08-27 12:14:03 +02:00
David Heinemeier Hansson
742e601baf Pinning packages when one goes bad (#1162)
* Don't update system packages to prevent issues from something too new at the wrong time

* Add system to pin and ignore bad packages

To deal with the abseil-cpp issue
2025-08-27 12:06:08 +02:00
Michiel Ryvers
613f4a473d Don't hardcode snapper configs, read the config list first 2025-08-27 11:08:16 +02:00
David Heinemeier Hansson
710bb023cd Don't update system packages to prevent issues from something too new at the wrong time 2025-08-27 10:54:23 +02:00
David Heinemeier Hansson
a7df6c0941 Move updatedb into its own config file with better explanation 2025-08-27 10:53:47 +02:00
David Heinemeier Hansson
2d12085eb1 Merge pull request #1119 from tahayvr/fastfetch-config
Update Fastfetch config
2025-08-26 15:51:54 +02:00
Taha
9a2cdc2bc4 Update fastfetch info 2025-08-26 06:28:25 -07:00
David Heinemeier Hansson
66818266ff Force font size 9 for the about screen
We had this but lost it
2025-08-26 12:46:19 +02:00
David Heinemeier Hansson
3affd55a90 Merge pull request #1113 from basecamp/dev
Omarchy 2.0.1
2025-08-26 12:31:45 +02:00
David Heinemeier Hansson
a7322fe7ae Remove apps we don't use any more 2025-08-26 12:27:35 +02:00
David Heinemeier Hansson
5e3d8e5f22 Treat all the major browsers the same 2025-08-26 12:16:23 +02:00
Josh LeBlanc
128e090165 include more chromium browsers in chromium rules (#1090)
* include more chromium browsers in chromium rules

* Use tag to avoid declaring the match twice

* Fix the match to actual browser class names as reported by hyprctl clients

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-26 12:10:24 +02:00
John Schmidt
13f2cd9641 fix multiple word app names (#1087)
* fix multiple word app names

* fix multiple words string handling

* upstream selector and tui-remove multi-select

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-26 11:57:39 +02:00
David Heinemeier Hansson
334aa214ba Merge branch 'master' into dev 2025-08-26 11:53:04 +02:00
Ryan Hughes
27c4b74e90 Don't add EFI entry for AMI until we figure out their bug (#1109) 2025-08-26 11:52:50 +02:00
Adi Yeroslav
44c9be7958 Fix emoji picker description (#1091) 2025-08-26 09:19:34 +02:00
Oleg Luganskiy
23c9229fdd fix(hypr): convert TAB workspace bindings from bind to bindd (#1098) 2025-08-26 09:17:09 +02:00
William Tio
f22755df4f Remove Omarchy from the list of selectable fonts (#1101) 2025-08-26 09:15:46 +02:00
David Heinemeier Hansson
ee9ae96414 Merge branch 'master' into dev 2025-08-26 09:15:13 +02:00
David Heinemeier Hansson
d5a340f6b7 Merge pull request #1103 from meerzulee/master
fix: typo at waybar/config.jsonc
2025-08-26 09:14:42 +02:00
David Heinemeier Hansson
0e88962e4f Bring multi-select and custom X remover to TUI 2025-08-26 09:14:14 +02:00
David Heinemeier Hansson
7e2d266a9a Don't think the selector looks quite right, but the remover does 2025-08-26 09:13:22 +02:00
David Heinemeier Hansson
7bf65360f9 Merge pull request #1104 from hipsterusername/remove-selection-ux
UX: Change webapp removal selection icons
2025-08-26 09:12:23 +02:00
David Heinemeier Hansson
1c486a037b Merge pull request #1106 from tahayvr/icon-in-menu
Update Omarchy icon in unified menu
2025-08-26 09:11:39 +02:00
Taha
ea21d0a7b7 Update omarchy icon in unified menu 2025-08-25 23:56:50 -07:00
Kent Keirsey
51830d5ce1 Change removal selection icons 2025-08-26 00:08:10 -04:00
Meerzulee
f0a12463a6 fixing typo at config.jsonc
Fixing `nospacing` to `spacing`. 

There is no such a config as `nospacing` in Waybar source code.
2025-08-26 10:01:24 +06:00
David Heinemeier Hansson
a8965dd271 Merge pull request #1076 from manofcolombia/omarchy-launch-nix
Check for apps.desktop in ~/.nix-profile - omarchy-launch-*
2025-08-25 20:16:29 +02:00
Zak Lantz
c2fee1b7fa check for desktop apps in ~/.nix-profile 2025-08-25 12:17:16 -04:00
David Heinemeier Hansson
acc1e2f757 Merge pull request #1064 from basecamp/dev
Omarchy 2.0
2025-08-25 16:10:15 +02:00
David Heinemeier Hansson
51f877ca1f Left over styles from status indicators 2025-08-25 15:26:35 +02:00
David Heinemeier Hansson
8167633824 Left-over from the status indicators removal 2025-08-25 15:25:29 +02:00
David Heinemeier Hansson
922acfd706 Claude is only on AUR 2025-08-25 14:11:43 +02:00
David Heinemeier Hansson
b136cc5653 Remember remember 2025-08-25 14:04:49 +02:00
David Heinemeier Hansson
52d1ac215d No sudo with yay 2025-08-25 14:03:31 +02:00
David Heinemeier Hansson
838d0ca27b Dropbox elements are on AUR
Let's fix that
2025-08-25 14:02:53 +02:00
David Heinemeier Hansson
f4ea58bdd0 Doesn't work with yay 2025-08-25 13:55:01 +02:00
David Heinemeier Hansson
6c656766f8 Fix migration too 2025-08-25 13:53:33 +02:00
David Heinemeier Hansson
06e3cb4e71 Also allow yay updates without sudo 2025-08-25 13:52:53 +02:00
David Heinemeier Hansson
1506b98fe1 Fix path 2025-08-25 13:51:24 +02:00
David Heinemeier Hansson
2a8155cc68 Revert "Tweak colors"
This reverts commit 0eda27a3bc.
2025-08-25 13:49:33 +02:00
David Heinemeier Hansson
35b7f44c7e Revert "Another color tweak"
This reverts commit 4b70705252.
2025-08-25 13:49:07 +02:00
David Heinemeier Hansson
4b70705252 Another color tweak 2025-08-25 13:46:41 +02:00
David Heinemeier Hansson
0eda27a3bc Tweak colors 2025-08-25 13:44:27 +02:00
David Heinemeier Hansson
c48f370924 Allow multi select to remove webapps
Closes #1052
2025-08-25 13:33:39 +02:00
David Heinemeier Hansson
dcfbd7a2e5 Suddenly the status indicators were busted on new installations (#1061)
Don't have time to debug this now, so will have to wait until next
release
2025-08-25 13:28:54 +02:00
Luca Pattocchio
dde702a4c3 Use Omarchy as head of new block in FastFetch (#1056) 2025-08-25 13:02:23 +02:00
David Heinemeier Hansson
9e0c638b84 Flipped abort message
Co-authored-by: @nbw
Closes #1058
2025-08-25 13:00:50 +02:00
David Heinemeier Hansson
4e389007f1 Ensure time is updated before we sync this for the first time 2025-08-25 12:37:58 +02:00
David Heinemeier Hansson
258b151935 Refresh them here 2025-08-25 12:31:15 +02:00
David Heinemeier Hansson
b80e4ce908 Combine these 2025-08-25 12:26:28 +02:00
David Heinemeier Hansson
31dbf49a1f Didn't need that here 2025-08-25 12:24:51 +02:00
David Heinemeier Hansson
185807b771 Just the flakiness part now 2025-08-25 12:18:33 +02:00
David Heinemeier Hansson
d8ddc5046f Not using the service for now 2025-08-25 12:17:37 +02:00
David Heinemeier Hansson
5c6c880b0b Fix path here too 2025-08-25 12:17:03 +02:00
David Heinemeier Hansson
122bdd7837 Fix path (again!) 2025-08-25 12:16:21 +02:00
David Heinemeier Hansson
59088800ad Fix path and dependencies 2025-08-25 12:15:37 +02:00
David Heinemeier Hansson
561ffcfb56 Fix path 2025-08-25 12:13:46 +02:00
David Heinemeier Hansson
b44661a0ad Wording 2025-08-25 12:10:41 +02:00
David Heinemeier Hansson
a50041721c Just sync time together with timezone 2025-08-25 12:09:49 +02:00
David Heinemeier Hansson
88303d81fd New kernel detection is flaky, yank 2025-08-25 12:07:08 +02:00
David Heinemeier Hansson
e99bab272f Manually remove yay-bin-debug too 2025-08-25 12:05:37 +02:00
David Heinemeier Hansson
b5ced14972 In case one package doesn't want to go, do it yourself 2025-08-25 12:02:38 +02:00
David Heinemeier Hansson
e3bda8a970 Ensure time has been synced before updating so we don't get SSL errors 2025-08-25 11:58:19 +02:00
David Heinemeier Hansson
d031237b42 Sync clock before doing an update 2025-08-25 11:57:01 +02:00
David Heinemeier Hansson
0b48f08674 Replace AUR yay with OPR yay 2025-08-25 11:54:58 +02:00
David Heinemeier Hansson
63081e141a Replace buggy Zoom native app with webapp 2025-08-25 11:54:10 +02:00
David Heinemeier Hansson
249612bf67 Take it down to add the rule 2025-08-25 11:49:24 +02:00
David Heinemeier Hansson
468a84b5cc Ensure directory is there 2025-08-25 11:45:30 +02:00
David Heinemeier Hansson
42ee87ad65 Correct path 2025-08-25 11:44:41 +02:00
David Heinemeier Hansson
f2844964c4 Sync the db too 2025-08-25 11:42:14 +02:00
David Heinemeier Hansson
b38e864f08 Fix path 2025-08-25 11:41:36 +02:00
David Heinemeier Hansson
b4f6bbda4d No longer used 2025-08-25 11:40:25 +02:00
David Heinemeier Hansson
e806080c4d Start in dark mode 2025-08-25 11:28:12 +02:00
David Heinemeier Hansson
fe2dd66f91 Separate packages that need AUR and call those out 2025-08-25 11:22:27 +02:00
David Heinemeier Hansson
062c6b3dce Tweaks 2025-08-25 11:11:08 +02:00
David Heinemeier Hansson
68a51c18a8 Start splitting up the big config folder 2025-08-25 11:09:15 +02:00
David Heinemeier Hansson
5a98771e5b Will switch to Walker 1.0 before this is back 2025-08-25 11:06:02 +02:00
David Heinemeier Hansson
77863a4c12 Try again 2025-08-25 11:05:35 +02:00
David Heinemeier Hansson
5b59aee51e Reduce number of concepts 2025-08-25 11:04:28 +02:00
David Heinemeier Hansson
fdaa126aee Fix sudo access permission 2025-08-25 10:57:29 +02:00
David Heinemeier Hansson
4f0dfcc865 Fix hanging 2025-08-25 10:52:42 +02:00
David Heinemeier Hansson
2635534778 Correct autostart command 2025-08-25 10:24:42 +02:00
David Heinemeier Hansson
5bb7b66dee Bring back tte celebration at the end 2025-08-25 09:49:45 +02:00
David Heinemeier Hansson
b8f4a10056 Time of install critical here 2025-08-25 09:45:05 +02:00
David Heinemeier Hansson
86b03357d0 yay is no longer special 2025-08-25 09:43:16 +02:00
David Heinemeier Hansson
186912ca1d Last yays 2025-08-25 09:39:24 +02:00
David Heinemeier Hansson
c7d9581d7b Correct setting of server 2025-08-25 09:39:20 +02:00
David Heinemeier Hansson
03503364cc Doesn't belong here 2025-08-25 09:33:09 +02:00
David Heinemeier Hansson
44529a7a25 No yay 2025-08-25 09:33:05 +02:00
David Heinemeier Hansson
705b6858dc Order 2025-08-25 09:31:07 +02:00
David Heinemeier Hansson
b9758a9c8c Part of repository setup 2025-08-25 09:30:36 +02:00
David Heinemeier Hansson
0a0843c7ec Follow convention 2025-08-25 09:30:28 +02:00
David Heinemeier Hansson
ec0af90c98 Not needed for build 2025-08-25 09:24:56 +02:00
David Heinemeier Hansson
37f0c18b78 All packages in one place 2025-08-25 09:22:55 +02:00
David Heinemeier Hansson
1ec6ba61dc Fix paths for first-run permissions removal 2025-08-25 09:20:04 +02:00
David Heinemeier Hansson
066ec7ffff Fix file path 2025-08-25 09:11:32 +02:00
David Heinemeier Hansson
c73c1c90bf Extra all packages into a single master manifest 2025-08-25 09:04:13 +02:00
David Heinemeier Hansson
256a49ee53 Fix conditional 2025-08-25 08:47:27 +02:00
David Heinemeier Hansson
39e0cf3a37 Fix path 2025-08-25 08:38:07 +02:00
David Heinemeier Hansson
e8f932b0f6 Make sure we don't get stuck in a loop 2025-08-25 08:36:37 +02:00
David Heinemeier Hansson
55daa135a7 Allow pacman -Sy without sudo to easier installs 2025-08-25 08:34:41 +02:00
David Heinemeier Hansson
a428208077 Wrong exit code 2025-08-25 08:26:08 +02:00
David Heinemeier Hansson
2d848338e6 More restrictive sudoless setup for first-run 2025-08-25 07:49:16 +02:00
David Heinemeier Hansson
925a2906e5 Explain purposes 2025-08-25 07:43:07 +02:00
David Heinemeier Hansson
f98899e4e2 Setup real first-run install 2025-08-25 07:37:46 +02:00
David Heinemeier Hansson
e565768bed Make all the install files executable 2025-08-25 07:37:34 +02:00
David Heinemeier Hansson
661eed2640 Prepare for firewall to be setup on first run 2025-08-25 07:28:59 +02:00
David Heinemeier Hansson
28ba0bff7a Prepare for battery monitor to be installed on first run 2025-08-25 07:26:25 +02:00
David Heinemeier Hansson
bdfc0fad5d Explain purpose 2025-08-25 07:26:12 +02:00
David Heinemeier Hansson
ec17b3f012 We should always have the firewall commands available 2025-08-25 07:20:07 +02:00
David Heinemeier Hansson
9cd70e9aff No need to maintain this separately 2025-08-25 07:17:12 +02:00
David Heinemeier Hansson
51f5bed286 Tighten up 2025-08-25 07:15:49 +02:00
David Heinemeier Hansson
9a98782342 Run first so app directory is there 2025-08-25 07:15:45 +02:00
David Heinemeier Hansson
c0a091e293 Move over to where it belongs 2025-08-25 07:14:20 +02:00
David Heinemeier Hansson
d7fa8181fa Reinstall all the old AUR packages from OPR 2025-08-25 07:09:51 +02:00
David Heinemeier Hansson
dfda4f895a Rip out the last remnants of AUR 2025-08-25 07:04:43 +02:00
David Heinemeier Hansson
a67fc717c1 One fewer package we don't need to get from AUR 2025-08-24 22:36:43 +02:00
David Heinemeier Hansson
599b58f9a1 Prepare for tte's imminent return! 2025-08-24 22:24:42 +02:00
David Heinemeier Hansson
f14810e80d We will have tte back in a iffy so let's not bother with this 2025-08-24 22:23:12 +02:00
David Heinemeier Hansson
3bf51d30ff 1password has moved to the OPR 2025-08-24 22:22:11 +02:00
David Heinemeier Hansson
39dccccb1a Bare mode is dead in 2.0
Uninstall whatever you want yourself now that we have multi-tab
uninstalls
2025-08-24 22:21:25 +02:00
David Heinemeier Hansson
46f8b522f1 Can't set that this early 2025-08-24 21:53:25 +02:00
David Heinemeier Hansson
1576c4e5c6 Update Hypridle to prevent flash of unlocked screen after sleep 2025-08-24 21:14:29 +02:00
Mathias Remshardt
f39dc9a269 fix: delay supsend until screen is locked (#1041) 2025-08-24 21:13:28 +02:00
David Heinemeier Hansson
ff6802830c Correct the path 2025-08-24 21:04:52 +02:00
David Heinemeier Hansson
af9ab9069f Only remove orphans if there are any 2025-08-24 20:53:24 +02:00
David Heinemeier Hansson
3363fe0544 Just remove orphans 2025-08-24 20:50:53 +02:00
David Heinemeier Hansson
1577620344 Migrate AUR packages to new OPR or Arch official repos 2025-08-24 20:50:30 +02:00
David Heinemeier Hansson
d183daff1a Wrong flip! 2025-08-24 20:36:51 +02:00
David Heinemeier Hansson
5ed08ef5b9 Attempt to set chromium theme before first launch 2025-08-24 20:34:53 +02:00
David Heinemeier Hansson
ae8c76f582 Refresh chaotic-AUR 2025-08-24 20:24:52 +02:00
Jarek
93ef034a5c Use Quad9 as fallback DNS for better privacy (#1046)
Replace Google DNS fallback with Quad9 (9.9.9.9, 149.112.112.112)
for better privacy consistency. Users choosing Cloudflare likely
value privacy, so Quad9 is a more appropriate fallback than Google.

As discussed in #752 and approved by @dhh in #1043.
2025-08-24 20:22:54 +02:00
David Heinemeier Hansson
fc43706190 Add chaotic aur despite getting yay from OPR 2025-08-24 20:19:26 +02:00
David Heinemeier Hansson
fc853ffe96 Combine repository setups 2025-08-24 20:10:43 +02:00
David Heinemeier Hansson
a8c3d1a2bd Right now we are just built for online installer 2025-08-24 20:10:03 +02:00
David Heinemeier Hansson
b09c625ac0 Make it green! 2025-08-24 20:09:18 +02:00
David Heinemeier Hansson
4d28721682 omarchy-chromium is now on the OPR 2025-08-24 20:05:13 +02:00
David Heinemeier Hansson
5ad441e539 Refresh indexes before taking a look at what's there 2025-08-24 20:03:37 +02:00
David Heinemeier Hansson
78e81d7534 Don't need to show anything 2025-08-24 19:39:53 +02:00
David Heinemeier Hansson
00ce49a4ac Don't use yay here 2025-08-24 19:35:36 +02:00
David Heinemeier Hansson
78719b0552 Now coming from OPR 2025-08-24 19:34:57 +02:00
David Heinemeier Hansson
8a5bca3807 No longer needed from AUR 2025-08-24 19:33:52 +02:00
David Heinemeier Hansson
78aeb91e5f Use OPR walker 2025-08-24 19:32:31 +02:00
David Heinemeier Hansson
83b67d0d6b Now we have walker-bin in OPR 2025-08-24 19:32:26 +02:00
David Heinemeier Hansson
ed9edab8ed Add OPR as early as possible 2025-08-24 19:32:19 +02:00
David Heinemeier Hansson
115e9c5af8 Add Omarchy repository first 2025-08-24 19:28:02 +02:00
David Heinemeier Hansson
00cc8315a6 Separate installing packages from AUR 2025-08-24 19:15:12 +02:00
David Heinemeier Hansson
1d915c6583 Use consistent naming scheme for backgrounds 2025-08-24 19:05:29 +02:00
David Heinemeier Hansson
dd493b0cdf Also apply light/dark via new chromium flags 2025-08-24 19:03:07 +02:00
Guilherme Nandi Tiscoski
1f4723ae33 Add more backgrounds to rose-pine (#1023)
* Add more backgrounds to rose-pine

* Reduce sizes

* Reduce sizes to be < 2mb
2025-08-24 18:58:01 +02:00
David Heinemeier Hansson
478b166ae7 Can't use tte at the moment here 2025-08-24 18:37:54 +02:00
Jarek
c0770fc7a3 Ensure network interfaces respect DNS configuration (#1043)
Implements DHH's requirement to ensure wlan0 and ethernet interfaces
respect the DNS configuration while excluding docker/loop interfaces.

When using Cloudflare or Custom DNS:
- Sets UseDNS=no in DHCPv4 sections
- Sets UseDNS=no in IPv6AcceptRA sections
- Only configures primary interfaces (en*, eth*, wl*)
- Restarts both systemd-networkd and systemd-resolved

When using DHCP:
- Removes UseDNS=no to allow DHCP provided DNS
- Restores default behavior for all interfaces

Script size increased from 58 to 89 lines to properly handle all
network interfaces as requested.
2025-08-24 18:33:32 +02:00
David Heinemeier Hansson
846b2e2595 Need walker-bin here for a moment until we self-host 2025-08-24 18:30:50 +02:00
David Heinemeier Hansson
d8a4640010 jq test failing 2025-08-24 18:11:59 +02:00
David Heinemeier Hansson
ee5f4eb925 I think these are the last spots 2025-08-24 18:08:17 +02:00
David Heinemeier Hansson
cb22afdb93 Another quarantine 2025-08-24 18:03:18 +02:00
David Heinemeier Hansson
d2bd1b47b6 This doesn't need yay 2025-08-24 18:02:09 +02:00
David Heinemeier Hansson
02134df8ee Quarantine AUR installs 2025-08-24 18:01:39 +02:00
David Heinemeier Hansson
cd39a145e8 More pacman 2025-08-24 18:00:28 +02:00
David Heinemeier Hansson
a0c3a435fc Protect from AUR outage 2025-08-24 18:00:23 +02:00
David Heinemeier Hansson
f0a77e65cd More pacman swaps 2025-08-24 17:53:42 +02:00
David Heinemeier Hansson
4de9f5fda3 Extra resilience for on-demand installation 2025-08-24 17:53:33 +02:00
David Heinemeier Hansson
1efe4a819f More pacman 2025-08-24 17:49:31 +02:00
David Heinemeier Hansson
a29237e070 More resilience here too 2025-08-24 17:49:26 +02:00
David Heinemeier Hansson
9834a40796 Fix bad replace 2025-08-24 17:46:48 +02:00
David Heinemeier Hansson
edf0bb3128 Give it a few tries 2025-08-24 17:46:01 +02:00
David Heinemeier Hansson
960cbbd591 We have those from the pacman runner 2025-08-24 17:44:01 +02:00
David Heinemeier Hansson
c974c3dbc4 Language 2025-08-24 17:42:41 +02:00
David Heinemeier Hansson
f1af28f10d Simplify guard against an unavailable AUR 2025-08-24 17:41:41 +02:00
David Heinemeier Hansson
673cea1644 Also on removes 2025-08-24 17:36:02 +02:00
David Heinemeier Hansson
9d739faf2b Switch to pacman to make it clear when we are not depending on AUR 2025-08-24 17:35:24 +02:00
David Heinemeier Hansson
69afedf380 Separate out AUR installs with yay 2025-08-24 17:28:22 +02:00
David Heinemeier Hansson
57e14afca3 No yay 2025-08-24 17:28:12 +02:00
David Heinemeier Hansson
38d9961622 Install AUR packages if its available 2025-08-24 17:25:45 +02:00
David Heinemeier Hansson
57b1180c67 Remove orphan system packages after omarchy-update
Co-authored-by: @abenz1267
2025-08-24 17:22:45 +02:00
David Heinemeier Hansson
664fb7c51a Separate pacman setup from aur and make aur optional 2025-08-24 17:20:13 +02:00
David Heinemeier Hansson
09a90e3cf2 Keep AUR separate 2025-08-24 17:15:37 +02:00
David Heinemeier Hansson
6dd95e71bf No AUR stuff allowed in xtras 2025-08-24 17:15:29 +02:00
David Heinemeier Hansson
22769caa8c Will install chromium by default and then bring our fork in through other means 2025-08-24 17:15:14 +02:00
David Heinemeier Hansson
448be1317f Move tte to AUR quarantine install 2025-08-24 17:15:00 +02:00
David Heinemeier Hansson
7bd1d56399 Remove AUR font 2025-08-24 17:14:13 +02:00
David Heinemeier Hansson
b094557a97 Poor man's screensaver without tte 2025-08-24 17:13:55 +02:00
David Heinemeier Hansson
3f895969c7 Allow screensaver to display logo if tte is not there 2025-08-24 17:07:28 +02:00
David Heinemeier Hansson
da7222f510 Move it inside where it is used 2025-08-24 16:57:41 +02:00
David Heinemeier Hansson
9d355091b5 No AUR dependency for wl-screenrec 2025-08-24 16:52:21 +02:00
David Heinemeier Hansson
a391b64e61 Install wl-screenrec as a just-in-time dependence 2025-08-24 16:51:20 +02:00
David Heinemeier Hansson
028c07d016 Install tzupdate on demand 2025-08-24 16:36:10 +02:00
David Heinemeier Hansson
4fd6a110ea Use non-AUR versions 2025-08-24 16:35:59 +02:00
David Heinemeier Hansson
92a491fd47 Need to install jq for the pkg-repos-accessible to work 2025-08-24 16:00:22 +02:00
Andreas Nigg
8b192c30e1 Fix installation command for ufw-docker (#1035) 2025-08-24 15:58:02 +02:00
David Heinemeier Hansson
6826cad95b Simplify it 2025-08-24 15:55:18 +02:00
David Heinemeier Hansson
1e46882fd8 Fix repo accessible check 2025-08-24 15:53:54 +02:00
Ryan Hughes
b0acd0b5e8 Update efibootmgr regex to match nvme + sata + vdisk 2025-08-24 15:50:50 +02:00
David Heinemeier Hansson
24682aea8c Add progressive backoffs to the repo retrying 2025-08-24 14:02:43 +02:00
Ryan Hughes
bb43d719e6 Fix fido2 and fprint auth flow (#635)
* Restructure fido2 / fprint to add to sudo and polkit

* Add migration

* Fix migration
2025-08-24 13:41:11 +02:00
Jarek
c4b32c047a Add omarchy-setup-cloudflare-dns script (#752)
* Add omarchy-setup-cloudflare-dns script

Addresses issue #745 by providing user choice for DNS configuration.

Features:
- Makes Cloudflare DNS opt-in instead of forced default
- Preserves local development environments with DHCP option
- Includes custom DNS configuration support
- Provides backup/restore functionality
- Follows Omarchy naming conventions

Fixes #745

* Address DHH feedback on DNS configuration script

Changes based on maintainer review:
- Rename script to omarchy-setup-dns (more generic name)
- Remove /usr/local/bin installation (use PATH instead)
- Add migration to reset automatic Cloudflare DNS to DHCP
- Force DNS on physical interfaces only using systemd-networkd
- Exclude docker/virtual interfaces from forced DNS

Fixes local development environment issues while making Cloudflare DNS opt-in.

* Use timestamped backups and remove restore function

Follow Omarchy backup standards by using timestamped backup files
instead of fixed names. Remove restore function since backups now
have unpredictable names - users can manually restore if needed.

This matches the pattern used in omarchy-refresh-config.

* Add DNS over TLS support for enhanced security

Enable opportunistic DNS over TLS when using Cloudflare DNS. This
encrypts DNS queries when possible while falling back to regular DNS
if TLS isn't available, providing security without breaking compatibility.

Thanks to the suggestion in #696 for highlighting this improvement.

* Add certificate validation for DNS over TLS

The DNS servers now include their proper hostnames for certificate
validation (cloudflare-dns.com and dns.google). This ensures we're
actually talking to the real DNS servers when using encrypted DNS,
not some imposter.

Completes the implementation suggested in #696.

* Prevent backup file accumulation

Clean up old backup files before creating new ones to prevent the
accumulation of .bak.* files over time. Keeps only the most recent
backup while maintaining the timestamped naming pattern.

This ensures the system doesn't get cluttered with countless backup
files from repeated script runs.

* Simplify DNS setup script per review feedback

Reduced script complexity from 227 to 58 lines while maintaining core functionality.
Removed unnecessary backup system and systemd-networkd configuration.
Kept essential features: Cloudflare DNS with TLS, DHCP mode, and custom DNS option.
Script now follows established Omarchy conventions for simplicity and size.

* Allow setup from omarchy-menu

* Integrate into Omarchy Menu

* Align parameter

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-24 13:34:04 +02:00
David Heinemeier Hansson
f4ef8eca65 If it's going to be a while 2025-08-24 13:02:48 +02:00
Manuel
1d6d21e7b7 Changed Keybindings for resize active window to code syntax (#1029) 2025-08-24 12:52:24 +02:00
David Heinemeier Hansson
04fff555b8 Fixup the firewall install 2025-08-24 12:41:13 +02:00
David Heinemeier Hansson
aa32b147ad Ensure package repositories are available before installing or doing updates 2025-08-24 12:10:07 +02:00
David Heinemeier Hansson
6b3b93ded1 Add both arch mirror and AUR guard 2025-08-24 12:00:26 +02:00
David Heinemeier Hansson
9dbef029f6 Stronger AUR available guard 2025-08-24 11:57:23 +02:00
David Heinemeier Hansson
aaefc4f208 Add an availability shield for AUR 2025-08-24 11:54:19 +02:00
David Heinemeier Hansson
ccf13e5902 Don't need this update 2025-08-24 11:49:49 +02:00
David Heinemeier Hansson
9ed755b445 This will have to wait 2025-08-24 11:23:44 +02:00
David Heinemeier Hansson
42432ae462 Ensure we always unblock wifi/bluetooth when going to setup 2025-08-24 11:13:49 +02:00
David Heinemeier Hansson
438156e36f More protections 2025-08-24 11:10:06 +02:00
David Heinemeier Hansson
574d213c34 Ensure better trap behavior 2025-08-24 11:05:11 +02:00
David Heinemeier Hansson
7d61c19f69 Remove output for existing setups 2025-08-24 11:03:43 +02:00
David Heinemeier Hansson
69fe4ae997 Remove screen recording status until it is stable (#1032) 2025-08-24 11:00:30 +02:00
Richard Macklin
c3af4b9469 Default OMARCHY_REF to master in boot.sh (#1030)
This will allow us to change GitHub's default branch to `dev`, so that
PRs will target the correct branch by default, but new installations
will still default to using the stable `master` branch.
2025-08-24 10:40:47 +02:00
David Heinemeier Hansson
ffe8997fad Pinta install seems to work fine now 2025-08-24 09:31:42 +02:00
David Heinemeier Hansson
e2611d9bc4 Rearrange options 2025-08-24 09:28:08 +02:00
David Heinemeier Hansson
266767df5f Show dust disk usage in reverse 2025-08-24 09:26:06 +02:00
David Heinemeier Hansson
eb4172a486 We now have audio settings in the setup menu 2025-08-24 09:24:00 +02:00
David Heinemeier Hansson
ca115b9061 Can't install firewall in chroot, so move it into its own service for now 2025-08-24 09:12:51 +02:00
David Heinemeier Hansson
ab09446971 Can't use chroot trap 2025-08-24 09:06:24 +02:00
David Heinemeier Hansson
af0f459a1a Try skipping this efibootmgr munging for a second 2025-08-24 08:46:34 +02:00
David Heinemeier Hansson
fbf9a19574 Show installation env for debugging 2025-08-24 07:40:16 +02:00
David Heinemeier Hansson
95139164a3 Skip all of powerprofilectl setup during CHROOT 2025-08-24 07:26:24 +02:00
David Heinemeier Hansson
2ae973108d Extract error trapping to its own file 2025-08-24 07:21:49 +02:00
David Heinemeier Hansson
aa0b44b7f4 Missing shebang 2025-08-24 07:20:45 +02:00
David Heinemeier Hansson
d9424b2bff Document what's missing 2025-08-24 07:09:45 +02:00
David Heinemeier Hansson
36a30dd01d Skip the battery monitor during chroot install for now 2025-08-24 07:09:08 +02:00
Ryan Hughes
82467892a3 Merge pull request #1020 from ryanrhughes/limine-fixes
Minor Limine / Snapper Tweaks and Fixes
2025-08-24 01:09:02 +02:00
Ryan Hughes
e138f7e8eb Set config files first 2025-08-24 00:18:10 +02:00
Ryan Hughes
0a75644f2d Less aggressive check 2025-08-24 00:01:36 +02:00
Ryan Hughes
3725f2d3b6 Everyone can have UKI 2025-08-24 00:01:23 +02:00
Ryan Hughes
0ebd62a32e Define boot path 2025-08-23 23:25:33 +02:00
Taha
31d97335fc Add Omarchy icon to waybar (#1017)
* Add Omarchy icon to waybar

* Add step to fonts.sh to install omarchy icon font

* Style and fixup

* Fixup installation of the omarchy font

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 23:22:50 +02:00
David Heinemeier Hansson
41a1fe6b21 Switch Zoom from shitty native app to better webapp
Have to compromise on 1080p but seems better than dealing with that
trash app.
2025-08-23 23:03:54 +02:00
David Heinemeier Hansson
91e686f1b2 Can't have nice things during arch-chroot for some reason! 2025-08-23 22:57:47 +02:00
David Heinemeier Hansson
75ac6910d4 Add back fastfetch which we lost when removing logging 2025-08-23 22:40:36 +02:00
David Heinemeier Hansson
b4b8788c14 Use something safe in the arch-chroot 2025-08-23 22:36:38 +02:00
David Heinemeier Hansson
76c94e2604 Breakup the omnibus config install 2025-08-23 22:31:42 +02:00
David Heinemeier Hansson
e59a98fb0b Don't fail if there 2025-08-23 22:21:56 +02:00
David Heinemeier Hansson
dee7e3e4a7 Ensure .config is there
Strange that this should be necessary for arch-chroot, but let's give it
a try
2025-08-23 22:21:28 +02:00
David Heinemeier Hansson
5a7b9292c8 Shorter 2025-08-23 21:41:15 +02:00
David Heinemeier Hansson
31ce6f689e Merge branch 'master' into dev 2025-08-23 21:29:49 +02:00
David Heinemeier Hansson
210481d758 Style 2025-08-23 21:21:00 +02:00
David Heinemeier Hansson
3bac37b21b Use the same state directory for status as everthing else 2025-08-23 21:21:00 +02:00
Ryan Hughes
1edbe89191 Merge pull request #1012 from ryanrhughes/limine-bios-support
Add Limine support for BIOS environments
2025-08-23 20:32:02 +02:00
Ryan Hughes
617e96234b Merge pull request #1010 from ryanrhughes/update-omarchy-snapshot
Make omarchy-snapshot exit if you don't have Snapper but continue update
2025-08-23 20:31:51 +02:00
Ryan Hughes
5873980703 Add efi checks 2025-08-23 20:25:46 +02:00
Ryan Hughes
b8cc8d8bc3 Move update up in case something goes wrong 2025-08-23 20:25:04 +02:00
David Heinemeier Hansson
455fe890ec Just rely on the ISO autostart to set it instead of detecting it 2025-08-23 20:23:08 +02:00
David Heinemeier Hansson
ccc8aa87d0 Improve presentation of failed command 2025-08-23 19:42:31 +02:00
Ryan Hughes
193797393f Exit if you don't have snapper but continue update 2025-08-23 19:16:47 +02:00
David Heinemeier Hansson
7056a3903a No longer need gum or tte as preflights
No more identification up front, no toast during initial install
2025-08-23 19:04:20 +02:00
David Heinemeier Hansson
3880c49469 Logging is having issues, so let's skip until sorted (#1009) 2025-08-23 18:50:32 +02:00
David Heinemeier Hansson
87467579f7 Use a simpler version that is not going to have potential color issues on some displays 2025-08-23 18:39:52 +02:00
David Heinemeier Hansson
6147b634e7 No longer need the toast here now that we're running straight through everything
If we have a toast, it should be in the configurator
2025-08-23 18:37:08 +02:00
David Heinemeier Hansson
9bb5832646 Turn logging back on 2025-08-23 18:33:49 +02:00
David Heinemeier Hansson
07bf9b838a Fix file name to what it was 2025-08-23 18:32:43 +02:00
David Heinemeier Hansson
332c8d5abb Add same shebang as everything else 2025-08-23 18:26:00 +02:00
David Heinemeier Hansson
022b591986 Fix bash references
Stay consistent with everything
2025-08-23 18:25:52 +02:00
David Heinemeier Hansson
7713534693 Fix end to fi 2025-08-23 18:24:31 +02:00
David Heinemeier Hansson
bf72d80ac6 The ISO configurator will now take care of identification
And removing it here helps deal with the fact that gum doesn't play nice
with the new logging feature.
2025-08-23 18:23:44 +02:00
David Heinemeier Hansson
d0092f00c8 More smithing 2025-08-23 18:12:30 +02:00
David Heinemeier Hansson
75cd9fefa5 Wordsmith 2025-08-23 18:11:12 +02:00
David Heinemeier Hansson
07ad23b303 Turn off logging 2025-08-23 18:09:36 +02:00
David Heinemeier Hansson
098c9157d8 Need to bail immediately again 2025-08-23 18:05:06 +02:00
Ankur Kotwal
5e3d0d89a5 Reflect default browser changes in bindings and webapps (#871)
* Abstract default browser to omarchy-browser (a wrapper)

* Fix the omarchy-browser command as it used to loop. Extract info from the browser .desktop files.

* Clean up and fix bugs

* Cleanup unused change

* Fix indentation

* Separate out omarchy-browser from omarchy-webapp so that we don't break webapps for browsers other than Chromium or Google Chrome.

* Fix incorrect function call

* Add a migration script

* Migration script fixes

* Simplify the browser and webapp commands. Rename commands to align with launch terminology.

* Add support for Microsoft Edge, Opera and Vivaldi

* Fix errors

* Remove --name and --class -- They're not respected when --app is defined

* We don't ship with Chrome

* Simplify launchers

* Use launch commands everywhere

---------

Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
2025-08-23 17:28:45 +02:00
Ryan Hughes
d4403051cf Add Limine + Snapper support (#998)
* Persist urgent notifications

* Create omarchy-snapshot

* Create snapshot before pulling

* Extract alternative bootloader configs

* Add limine-snapper config

* Fix check

* Update login scripts

* Make chroot friendly

* Extract cmdline instead of using blkid due to error

* Add restore command

* Export $TERMINAL so we get clickable restore notifications

* Remove sync -- causes errors...we have nothing to sync yet

* Executable

* Minor cleanup and compatibility for non-ISO

* Give login its own section

* Give no-arg guard and inline commands

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 16:52:25 +02:00
Shawn Yeager
cc80782160 Add two new background images to theme catppuccin (#1008)
* add two new backgrounds with background color #181824

* replace 3rd background image
2025-08-23 16:50:49 +02:00
Alan Sikora
318a6e23cf Add status indicator cluster for waybar (#570)
* feat: Add notification status indicator to waybar

Adds a visual indicator in the waybar to show when notifications are silenced (do-not-disturb mode).

- Shows a red dot when notifications are disabled
- Shows a dimmed dot when notifications are enabled
- Clicking the indicator toggles do-not-disturb mode
- Syncs with the existing SUPER+CTRL+, keyboard shortcut

This provides immediate visual feedback about notification status, making it easier for users to know when they've silenced notifications.

* feat: Convert to unified status cluster that only shows active states

- Only displays indicators when states are actually active
- Supports multiple status types: DND, night light, screen recording, idle lock
- Uses distinct symbols: • for DND, ◐ for night light, ● for recording, ◯ for idle lock
- Completely hides module when no states are active (no visual clutter)
- Extensible design for future status indicators
- Improved performance with better error handling

* Implement lightweight hybrid status monitoring

* Enhance notification status cluster with modular design

* Add waybar configuration for status cluster

* Add recording click handler and fix process detection

- Add wl-screenrec detection for non-nvidia systems
- Add click handler to start/stop recording
- Fix idle lock toggle functionality

* minor alignment tweaks

* improved recording detection to be more specific

* Rely on Omarchy bin in PATH and lower interval to feel more snappy

* Seperate out screencording stop so it doesn't start when trying to stop OBS

* Add migration to add the status notifications

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 08:26:31 +02:00
Eamon Burns
a4119ce43e fix: add quotes around font names in omarchy-font-set (#1001) 2025-08-23 07:44:21 +02:00
oricol
cc4d41bdaa Include VerbosePkgLists for better pacman -Syu (#1003)
* Include VerbosePkgLists for better pacman -Syu

* Add migration for the verbose package lists

* Amend comment

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 07:43:12 +02:00
Taha
b2a2d0fde3 Add new Omarchy icon for fastfetch (#996)
* Add omarchy icon to fastfetch config

* Add migration file for fastfetch update

* Use consistent branding placement for spots you can change

* Allow editing the about icon

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 07:37:47 +02:00
David Heinemeier Hansson
2cb7f61108 This should tile not float 2025-08-22 22:29:54 +02:00
David Heinemeier Hansson
acca058d4c No longer needed in the app launcher
We have them in the menus
2025-08-22 22:28:08 +02:00
David Heinemeier Hansson
29ea8af5e1 Move Docker .desktop to TUI install 2025-08-22 22:27:44 +02:00
David Heinemeier Hansson
3381bcca59 No longer needed now that we use .config/chromium-flags.conf 2025-08-22 22:27:28 +02:00
David Heinemeier Hansson
0f2479f3f6 Move to the right place 2025-08-22 22:27:15 +02:00
Ryan Hughes
b8bd1d1d6c Add tsui to Tailscale installer (#604) 2025-08-22 22:22:29 +02:00
David Heinemeier Hansson
85f9fb486e Use terminal directly to avoid any issue about About.desktop not being present
Closes #847
2025-08-22 21:31:45 +02:00
David Heinemeier Hansson
04aa3cca0d Just use the same system dialog size for everything
Will give more room to avoid clipping Omarchy logo too
2025-08-22 21:28:48 +02:00
Christopher
8c1fd76a37 Add SUPER + MUTE for audio output switching (#941)
* Add SUPER + MUTE for audio output switching

* Fix migration bc stupidness

* Simplify implementation and ensure the new sink is not muted

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 20:43:46 +02:00
Greg Helding
7c4156fc9d Add additional backgrounds to ristretto theme. (#761) 2025-08-22 20:01:47 +02:00
David Heinemeier Hansson
78b1238f40 Add nested Elixir menu to also allow for a Phoenix install 2025-08-22 18:13:56 +02:00
David Heinemeier Hansson
9ecac600e7 Same comments as the other options 2025-08-22 18:10:41 +02:00
Johannes Erhardt
74096d5f6c Add Phoenix Framework install option. (#676) 2025-08-22 18:09:50 +02:00
David Heinemeier Hansson
6366dc1118 Add migration to add firewall opening for docker DNS and fix comment 2025-08-22 18:08:18 +02:00
Samuel Péchèr
e7ea45a802 Update firewall.sh for other docker bridge networks (#679)
Allow 172.16/12 prefix IPs for docker DNS as bridge networks will create another interface than docker0 within this CIDR prefix.
2025-08-22 18:05:17 +02:00
David Heinemeier Hansson
8074694ac8 Stop setting DNS for all on new systems pending that we move to something like #752 2025-08-22 17:58:01 +02:00
Domingo Edwards
b3d24a1b13 fix: Avoid fcitx5 override of xcb keyboard layout (#760)
* fix: Avoid fcitx5 override of xcb keyboard layout

* Clean up migration

* Comment says what the command says

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 17:54:29 +02:00
David Heinemeier Hansson
cab64fa9de CTRL + ALT + DEL closes all windows
Co-authored-by: @chriopter
Closes #980
2025-08-22 17:40:01 +02:00
rez1coder
b09ba8d6d3 chore(omarchy-menu): update Omarchy manual URL to learn.omacom.io (#990) 2025-08-22 17:33:56 +02:00
David Heinemeier Hansson
9f49f869a3 Fix to protect it for the first launch 2025-08-22 17:31:21 +02:00
Denis Koleda
c3b58bc773 Use power button to open omarchy-menu system (#769)
* Use power button to open omarchy-menu system

* Added migration script

* setsid so it doesn't exit with the terminal

* Spacing

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 17:31:17 +02:00
RaphaelKimmig
58d6b5ba7f fix: improve black contrast in ristretto alacritty theme (#770) 2025-08-22 17:14:37 +02:00
David Heinemeier Hansson
13166960a1 Add a clue on how to deal with hashes in webapps
Co-authored-by: @clauzf
Closes #778
2025-08-22 17:12:18 +02:00
Barend van der Walt
648832dcc6 Add alacritty save_to_clipboard config for not copying to the PRIMARY clipboard 2025-08-22 17:09:27 +02:00
David Heinemeier Hansson
e33219f611 Swap it around a bit 2025-08-22 17:04:26 +02:00
David Heinemeier Hansson
44d6314929 Subtle tweaks 2025-08-22 17:01:52 +02:00
Luigi Finetti
450403e48a Add QR code for discord link (#795) 2025-08-22 16:59:58 +02:00
vaibhav-mattoo
fbc60d9ec3 run omarchy lazyvim install if nvim present without any config (#807) 2025-08-22 16:52:10 +02:00
David Heinemeier Hansson
7d427faad0 It's not reliable enough yet 2025-08-22 16:39:07 +02:00
Lowe Schmidt
5d155b712a fix: usage didn't match script name (#820) 2025-08-22 15:57:22 +02:00
David Heinemeier Hansson
2cca02699a Start new terminals with a working directory based on current active terminal
Co-authored-by: @halilozercan
Closes #835
2025-08-22 15:55:48 +02:00
Jarek
4a1888af8f Fix multi-package removal in package uninstaller (#822)
* Fix multi-package removal in omarchy-pkg-remove

The script already had multi-selection enabled with --multi flag,
but wasn't handling multiple selections correctly. When users
selected multiple packages with Tab, they wouldn't all get removed.

Fixed by using xargs to properly convert newline-separated package
names from fzf into individual arguments for yay.

Fixes #805

* Add multi-select explainer

* Fix multi install like we did for remove

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 15:40:33 +02:00
Viktor
53217c4c83 Add safeguard to prevent omarchy-update from beginning an update during an AUR outage/DDOS (#823)
* Add safeguard to prevent omarchy-update from beginning an update during an AUR ddos

* Fix spacing

* Update omarchy-update

Return a non-zero error code when failing to reach AUR

* Add user-agent string 

Good courtesy that makes it easier for the AUR folks to interpret the HEAD requests and tell us if there is an issue.

* Ensure entire icon will fit

* Migration to fit entire icon for update-available in waybar

* feat: add precise media control shortcut

* Fix a handful of typos

* Add state based app restarts for migrations (#637)

* Look for app restart state files and restart them after update

* Convert existing migrations to set states

* Revert "Convert existing migrations to set states"

This reverts commit 1eb8a56b07.

* Fix waybar update icon spacing (#672)

* Fix waybar update icon spacing

Remove clock from margin rule and add custom-update to prevent horizontal cutoff and reduce excessive spacing between clock and update icon.

* making the update icon smaller, looks better in the center

* Fixed this in CSS instead

* We now have a global $OMARCHY_PATH

* Fix screen recording on Intel graphics (#669)

* Fix screen recording on Intel graphics

Use wf-recorder for Intel graphics instead of wl-screenrec due to VAAPI compatibility issues that prevent recording from starting.

* combining greps for nvidia and intel graphics

* Update omarchy-cmd-screenrecord

* Force working version of uwsm until we get the fixed one from upstream

* Split upgrading system packages into two steps

* uwsm was already fixed upstream with 0.23.2

* Add burst limit to login to prevent endless retries (#690)

* Fix kernel update detection for alternative kernel variants (#585)

* Fix omarchy-update kernel update message to support alternative kernel variants

* fix: omarchy-update-restart kernel update message to support alternative kernel variants

* Add elan to the keywords used to detect if a fingerprint reader exists (#692)

* fix pgrep and pkill (#687)

* Make a function to create a smaller webshare version

* Set sudo max tries to 10, binary for easy lockout reset (#686)

* set sudo max fail count to 10, bin for easy reset

* Slim down

Let the failure just fail in the shell

* Rename to be more descriptive

* No need for the 00- prefix

* Add migration to raise sudo try limit

---------

Co-authored-by: Manuel <manuel.ramsaier@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Install `gum` prior to the preflight guard (#684)

* Use `read` instead of `gum` in the preflight guard

* Revert "Use `read` instead of `gum` in the preflight guard"

This reverts commit 759dbb70454dccc27b78b198bf077e076750fefc.

* Install `gum`, if required, at the beginning of `install.sh`

* `gum` is already installed by the `presentation.sh` stage

* Use existing structure

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Always install `base-devel` in case `yay` needs to build a package (#710)

* chore: Enable Walker list cycling (#709)

Enable the `cycle` behaviour for Walker lists; this allows one to
quickly jump from the default-selected first item in a list, to the
last item, simply by pressing the "up" arrow key (or other key
sequence bound to "previous").

Refs: https://github.com/abenz1267/walker/wiki/Basic-Configuration

* Add one wallpaper for nord (#707)

* Use `pacman` instead of `yay` to install `gum` (#705)

* Direct access to Walker clipboard + emojis with hotkey

* Turn off the walker service until the memory leak is fixed

See https://github.com/basecamp/omarchy/issues/698

* Can't use clipboard module when Walker is not running as a service

See https://github.com/basecamp/omarchy/issues/698

* pacman needs sudo

* Add disable chaotic aur env flag (#746)

* Add missing modifier combinations to omarchy-menu-keybindings (#715)

While these aren't currently used directly in the Omarchy code, when the
user adds custom bindings they are not properly displayed by the
omarchy-menu-keybindings script.

Co-authored-by: Chris Miller <chris@diddado.com>

* Make this resilient to file already being removed

* Use omarchy-chromium-bin to give live theme changes

* Transcoding is really from any image format

* Include Brave in the same opacity treatment as chromium

* Only ask for the identification if it has not already been provided

* Need to make the new disk writeable too

* Stop using tte until package is fixed

* Use host's DNS resolver in Docker containers (#812)

* Symlink /etc/resolve.conf to systemd-resolved's stub

Since systemd-resolved is managing the DNS configuration, ensure that
/etc/resolv.conf uses it.

* Use systemd-resolved from Docker containers

* No longer needed now that we have .config/chromium-flags.conf

* Add brave-flags.conf as a new default to ensure that anyone using Brave as their browser runs it under wayland

* Must restart waybar when timezone is changed to have it reflect immediately

* Add migration for adding .config/brave-flags.conf

* Only do system package updates if there is a network connection

This prepares us for offline ISO install

* Catch both cases of brave-browser identification

* Skip pinta until we can resolve the certificate issue on manual build

cc @Torxed

* Add dust to reveal used space

Co-authored-by: @tobi

* Add minimal starship prompt to terminal

Co-authored-by: @tobi

* Always noconfirm

* If NOT starship, install it

* Add `--force` when enabling ufw to bypass prompt (#794)

* Add current theme to fastfetch config (#889)

* Turn off tte until the package is fixed

* Turn off auto-launching screensaver until tte is fixed

* Add current theme to fastfetch config

fastfetch has a module for displaying colors, which is often used by
default. It shows the current colors in use by the terminal. Given that
themes are core to Omarchy, I thought it made sense to show the current
theme in fastfetch. I've also added a compressed version of the palette
(similar to the circle config of the colors module).

* Add migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Don't fail in case chromium package is not there

In case another package has been used to provide chromium

* No prefix needed

* Lines up better with the new starship prompt

* fix: missing python-poetry-core make Omarchy install fail (#862)

* fix: missing python-poetry-core

* added migration

* Flesh out migration to fix all tte issues

* Turn TTE back on

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Add color to install / remove to differentiate (#858)

* Add color to install / remove to differentiate

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Ensure Zoom is not made transparent

* Ensure the directory is present

* No double logo

* fix: add python-object to make installation  of Omarchy work (#806)

* Explicitly add python-object to make powerprofile work

* added migration

* Explain the why, not the how

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Turn screensaver back on now that we have fixed the tte install

* Add migration to turn on screensaver again

* Even more minimal and theme matching

* Use italic instead of bold for git branch

* Minimal git status too

* Correct spacing

* Less aggressive untracked icon

* Consistent color before the >

* Stick to color

* Really just stick to one color everywhere

* Force the link

* Make resilient towards it already being the same file

* Offer install scripts a way to know if they're in chroot

* Different iwd needed on chroot install

* Address installation inside a chroot

* Can't reuse when needing to set for user

* Simplify

No other args

* Get the latest indexes if online

* Now available as an official package instead of AUR

* Add single server for mirrorlist for now

* Try a different mirror for testing and need to use pacman for pkg update before we have yay

* Use same shebang as everywhere

* Let it roll for testing

* Add debug to failure

* Force wifi to unblock when we go to set it up

Wifi can sometimes get turned off by computers when running on low power
or in some sleep modes

* Fix positive exit

* Put chroot provision into its own preflight

* Restore to the global mirror

* Clean up after ISO install without sudo

* Reduce ceremony -- a start and an end is enough

* If we installed from the installer, we should remind user to unplug USB

* Extra CR not needed

* Bring uwsm out of the doghouse

* Ensure latest uwsm is installed now that we have lifted the lock

* Fix JetBrains IDEs flickering and focus issues in Hyprland (#888)

* Fix JetBrains IDEs flickering and focus issues in Hyprland

Add window rules to prevent tooltip and tab dragging flickering issues
in JetBrains IDEs when running under Hyprland compositor.

* Fix JetBrains IDEs flickering and focus issues in Hyprland

Add window rules to prevent tooltip and tab dragging flickering issues
in JetBrains IDEs when running under Hyprland compositor.

Uses the new windowrule syntax (Hyprland v0.48.0+) instead of deprecated windowrulev2.

# Conflicts:
#	default/hypr/apps/jetbrains.conf

* Fix JetBrains floating popup size issue in Hyprland

* Style

---------

Co-authored-by: Mike Veerman <mike@nonect.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Don't need wget, since curl is already part of arch

* This is still a problem

* Feature/screensaver toggle instead of launch (#784)

* sceensaver-toggle and run if enabled using state file

* replace commands in menu and hyperidle

* migration file

* sed corrections

* added backup of changed files in migration

* review comments implemented

* hypridle config restore

* Use normal path style

* Use nerdfont icon for notification

* Make executable

* Allow a force start of screensaver so it can run even when disabled when manually triggered

* Add screensaver to system menu now that the toggle actually means toggle

* Known path without expansion spaces

* It should be an error return when it doesn't start

---------

Co-authored-by: Manuel <manuel.ramsaier@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Add 60 second inactivity timeout to Walker launcher (#701)

* Add 60 second timeout to Walker launcher

This will close the launcher after 60 seconds of inactivity.

* Update 1754929737.sh

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* adding mongodb docker install (#972)

* Add suggestion for eu keyboard layout for iso

Closes #937
Co-authored-by: @chriopter

* Add Super + Tab to go forward through workspaces and Super + Shift + Tab to go backwards

Co-authored-by: @rafaelbernard
Closes #652

* move import to bottom (#917)

* Add missing package for Intel Graphics Card based device (#910)

* Add missing package for Intel Graphics Card based device

* Add migration to add the missing package

* Fix USB autosuspend causing peripheral disconnection issues (#906)

* Fix USB autosuspend causing peripheral disconnection issues

Add configuration to disable USB autosuspend by setting usbcore.autosuspend=-1
in modprobe.d configuration. This prevents USB devices from being automatically
suspended which can cause keyboards, mice, and other peripherals to disconnect
unexpectedly.

* Add migration to apply autosuspend to existing systems

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* retry cmd on failed install should take into consideration bare mode (#904)

* retry cmd on failed install should take into consideration bare mode

* A little duplication beats too much indirection

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Switch from lazydocker-bin to lazydocker

It's now in the official repo as a compiled version!

* add reverse window cycling with cycleprev (#874)

* add reverse window cycling with cycleprev

* Include the bringactivetotop fix

---------

Co-authored-by: observable <x@observable.art>
Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Stop using SIGUSR1 with Waybar to prevent stacking

Closes #873

* Omarchy install - capture install log (#868)

* Omarchy install log

* Slim down the logging setup a bit, put it in a known directory, tell user about it

* Stick to what was

* Not needed here

* Prefer the duplication

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Allow customizing the screensaver logo (#863)

* check for custom screensaver logo or fall back to default

* move logo location to omarchy config folder

* fix missed location check

* add menu item to copy logo.txt and open in editor

* move to setup menu

* Just always use a user-editable screensaver.txt file

* No longer needed

* Be clearer

---------

Co-authored-by: Christopher Moore <cmoore@yozu.co.uk>
Co-authored-by: David Heinemeier Hansson <david@hey.com>

* Visual improvements for pkg-install and pkg-remove (#852)

* Shorten it up a bit

* Extract precondition into its own file and use it for the package installer too

* But don't actually fail unless it is down!

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Michal Zaborowski <zaborowskimchl@gmail.com>
Co-authored-by: Richard Macklin <code@rmacklin.dev>
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: Alan Sikora <alansikora@gmail.com>
Co-authored-by: Eric Swanson <960576+ericrswanny@users.noreply.github.com>
Co-authored-by: not-NEK0 <86556080+not-NEK0@users.noreply.github.com>
Co-authored-by: Maximiliano Guzenski <maxguzenski@gmail.com>
Co-authored-by: Manuel <manuel.ramsaier89@gmail.com>
Co-authored-by: Manuel <manuel.ramsaier@gmail.com>
Co-authored-by: Dylan Bridgman <light@ether.org.za>
Co-authored-by: Simon Dawson <spdawson@gmail.com>
Co-authored-by: Swarnim <134050970+Swarnim114@users.noreply.github.com>
Co-authored-by: Bruce <hi+gh@bruceroettgers.eu>
Co-authored-by: Chris Miller <github@reaperville.com>
Co-authored-by: Chris Miller <chris@diddado.com>
Co-authored-by: Kevin McConnell <kevin.mcconnell@gmail.com>
Co-authored-by: Gary Rennie <gazler@gmail.com>
Co-authored-by: Shigeto Kumagai <shk@all.daynight.jp>
Co-authored-by: David Anderson <kataqatsi@gmail.com>
Co-authored-by: MikeVeerman <mike.veerman@gmail.com>
Co-authored-by: Mike Veerman <mike@nonect.com>
Co-authored-by: Rob Zolkos <rob@zolkos.com>
Co-authored-by: Valberto Enoc <valbertoenoc@gmail.com>
Co-authored-by: Saeed Vaziry <61919774+saeedvaziry@users.noreply.github.com>
Co-authored-by: Brosseau Valentin <c4software@gmail.com>
Co-authored-by: jw <jw@codasite.ai>
Co-authored-by: michaldziurowski <mdziurowski@gmail.com>
Co-authored-by: Observable Art <123117871+iamobservable@users.noreply.github.com>
Co-authored-by: observable <x@observable.art>
Co-authored-by: Chris24680 <moore12321@gmail.com>
Co-authored-by: Christopher Moore <cmoore@yozu.co.uk>
Co-authored-by: Luis Daniel Casais <71148501+rajayonin@users.noreply.github.com>
2025-08-22 15:27:58 +02:00
Luis Daniel Casais
7665ac4fde Visual improvements for pkg-install and pkg-remove (#852) 2025-08-22 15:13:28 +02:00
Chris24680
0246468403 Allow customizing the screensaver logo (#863)
* check for custom screensaver logo or fall back to default

* move logo location to omarchy config folder

* fix missed location check

* add menu item to copy logo.txt and open in editor

* move to setup menu

* Just always use a user-editable screensaver.txt file

* No longer needed

* Be clearer

---------

Co-authored-by: Christopher Moore <cmoore@yozu.co.uk>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 15:11:02 +02:00
Shigeto Kumagai
3a0bb502b6 Omarchy install - capture install log (#868)
* Omarchy install log

* Slim down the logging setup a bit, put it in a known directory, tell user about it

* Stick to what was

* Not needed here

* Prefer the duplication

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 14:58:33 +02:00
David Heinemeier Hansson
b2161f1f31 Stop using SIGUSR1 with Waybar to prevent stacking
Closes #873
2025-08-22 14:37:33 +02:00
Observable Art
cf556b2da2 add reverse window cycling with cycleprev (#874)
* add reverse window cycling with cycleprev

* Include the bringactivetotop fix

---------

Co-authored-by: observable <x@observable.art>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 14:34:17 +02:00
David Heinemeier Hansson
8e557b2ae5 Switch from lazydocker-bin to lazydocker
It's now in the official repo as a compiled version!
2025-08-22 14:26:32 +02:00
michaldziurowski
041c787b56 retry cmd on failed install should take into consideration bare mode (#904)
* retry cmd on failed install should take into consideration bare mode

* A little duplication beats too much indirection

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 14:18:28 +02:00
jw
16b0919418 Fix USB autosuspend causing peripheral disconnection issues (#906)
* Fix USB autosuspend causing peripheral disconnection issues

Add configuration to disable USB autosuspend by setting usbcore.autosuspend=-1
in modprobe.d configuration. This prevents USB devices from being automatically
suspended which can cause keyboards, mice, and other peripherals to disconnect
unexpectedly.

* Add migration to apply autosuspend to existing systems

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 14:14:46 +02:00
Brosseau Valentin
1942ac68dc Add missing package for Intel Graphics Card based device (#910)
* Add missing package for Intel Graphics Card based device

* Add migration to add the missing package
2025-08-22 14:10:55 +02:00
Saeed Vaziry
9375dfca21 move import to bottom (#917) 2025-08-22 14:08:03 +02:00
David Heinemeier Hansson
04f89061ac Add Super + Tab to go forward through workspaces and Super + Shift + Tab to go backwards
Co-authored-by: @rafaelbernard
Closes #652
2025-08-22 13:58:04 +02:00
David Heinemeier Hansson
e7b00295ec Add suggestion for eu keyboard layout for iso
Closes #937
Co-authored-by: @chriopter
2025-08-22 13:50:30 +02:00
Valberto Enoc
3e7509071b adding mongodb docker install (#972) 2025-08-22 13:34:37 +02:00
Rob Zolkos
322fa8421e Add 60 second inactivity timeout to Walker launcher (#701)
* Add 60 second timeout to Walker launcher

This will close the launcher after 60 seconds of inactivity.

* Update 1754929737.sh

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 13:19:50 +02:00
Manuel
5381185121 Feature/screensaver toggle instead of launch (#784)
* sceensaver-toggle and run if enabled using state file

* replace commands in menu and hyperidle

* migration file

* sed corrections

* added backup of changed files in migration

* review comments implemented

* hypridle config restore

* Use normal path style

* Use nerdfont icon for notification

* Make executable

* Allow a force start of screensaver so it can run even when disabled when manually triggered

* Add screensaver to system menu now that the toggle actually means toggle

* Known path without expansion spaces

* It should be an error return when it doesn't start

---------

Co-authored-by: Manuel <manuel.ramsaier@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 13:10:01 +02:00
David Heinemeier Hansson
2a840ea085 This is still a problem 2025-08-22 12:22:43 +02:00
David Heinemeier Hansson
bac5710707 Don't need wget, since curl is already part of arch 2025-08-22 12:12:39 +02:00
MikeVeerman
3f921ef4f8 Fix JetBrains IDEs flickering and focus issues in Hyprland (#888)
* Fix JetBrains IDEs flickering and focus issues in Hyprland

Add window rules to prevent tooltip and tab dragging flickering issues
in JetBrains IDEs when running under Hyprland compositor.

* Fix JetBrains IDEs flickering and focus issues in Hyprland

Add window rules to prevent tooltip and tab dragging flickering issues
in JetBrains IDEs when running under Hyprland compositor.

Uses the new windowrule syntax (Hyprland v0.48.0+) instead of deprecated windowrulev2.

# Conflicts:
#	default/hypr/apps/jetbrains.conf

* Fix JetBrains floating popup size issue in Hyprland

* Style

---------

Co-authored-by: Mike Veerman <mike@nonect.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 08:50:10 +02:00
David Heinemeier Hansson
bc08c47157 Revert "Turn off auto-launching screensaver until tte is fixed"
This reverts commit bd2eddbab4.
2025-08-22 08:41:28 +02:00
David Heinemeier Hansson
a60bcaf7a1 Revert "Turn off tte until the package is fixed"
This reverts commit f456e21cab.
2025-08-22 08:41:19 +02:00
David Heinemeier Hansson
8a78566248 Merge branch 'master' into dev 2025-08-22 08:40:31 +02:00
David Heinemeier Hansson
5534e33dc0 Ensure latest uwsm is installed now that we have lifted the lock 2025-08-21 18:59:35 +02:00
David Heinemeier Hansson
bf31373840 Bring uwsm out of the doghouse 2025-08-21 18:57:30 +02:00
David Heinemeier Hansson
40e10b1594 Extra CR not needed 2025-08-21 14:55:47 +02:00
David Heinemeier Hansson
9bf1edac9f If we installed from the installer, we should remind user to unplug USB 2025-08-21 14:20:37 +02:00
David Heinemeier Hansson
d4fa028cf3 Reduce ceremony -- a start and an end is enough 2025-08-20 20:02:39 +02:00
David Heinemeier Hansson
0a13ad8ef8 Clean up after ISO install without sudo 2025-08-20 16:41:16 +02:00
David Heinemeier Hansson
4e12e796f2 Restore to the global mirror 2025-08-20 16:31:13 +02:00
David Heinemeier Hansson
76082b945d Put chroot provision into its own preflight 2025-08-19 21:19:23 +02:00
David Heinemeier Hansson
65636b0ba8 Fix positive exit 2025-08-19 21:12:20 +02:00
David Heinemeier Hansson
41677ad7e1 Force wifi to unblock when we go to set it up
Wifi can sometimes get turned off by computers when running on low power
or in some sleep modes
2025-08-19 20:13:34 +02:00
David Heinemeier Hansson
8e4baa6cd1 Add debug to failure 2025-08-19 18:49:16 +02:00
David Heinemeier Hansson
a1cd10c0a2 Let it roll for testing 2025-08-19 16:23:09 +02:00
David Heinemeier Hansson
7e6854124c Use same shebang as everywhere 2025-08-19 16:21:51 +02:00
David Heinemeier Hansson
020d1309b0 Try a different mirror for testing and need to use pacman for pkg update before we have yay 2025-08-19 16:08:32 +02:00
David Heinemeier Hansson
7721a0efca Add single server for mirrorlist for now 2025-08-19 15:44:33 +02:00
David Heinemeier Hansson
87045ef128 Now available as an official package instead of AUR 2025-08-19 15:22:52 +02:00
David Heinemeier Hansson
b1a5facd42 Get the latest indexes if online 2025-08-19 14:57:11 +02:00
David Heinemeier Hansson
cedf20eb36 Simplify
No other args
2025-08-19 14:45:34 +02:00
David Heinemeier Hansson
84420db026 Can't reuse when needing to set for user 2025-08-19 14:39:51 +02:00
David Heinemeier Hansson
092b2ba51c Address installation inside a chroot 2025-08-19 14:34:34 +02:00
David Heinemeier Hansson
21f60a960b Different iwd needed on chroot install 2025-08-19 14:18:13 +02:00
David Heinemeier Hansson
6de4591a28 Offer install scripts a way to know if they're in chroot 2025-08-19 14:17:04 +02:00
David Heinemeier Hansson
ee1ee526d7 Make resilient towards it already being the same file 2025-08-19 13:51:29 +02:00
David Heinemeier Hansson
12ab446715 Force the link 2025-08-19 10:31:04 +02:00
David Heinemeier Hansson
d00160464f Really just stick to one color everywhere 2025-08-18 17:35:49 +02:00
David Heinemeier Hansson
9e4078d7da Stick to color 2025-08-18 17:24:45 +02:00
David Heinemeier Hansson
7b93bace81 Consistent color before the > 2025-08-18 17:16:18 +02:00
David Heinemeier Hansson
07a2423298 Less aggressive untracked icon 2025-08-18 17:14:32 +02:00
David Heinemeier Hansson
81cac3bbb7 Correct spacing 2025-08-18 17:09:47 +02:00
David Heinemeier Hansson
79104373bd Minimal git status too 2025-08-18 17:08:57 +02:00
David Heinemeier Hansson
bfa91b8917 Use italic instead of bold for git branch 2025-08-18 16:58:35 +02:00
David Heinemeier Hansson
8942b33d94 Even more minimal and theme matching 2025-08-18 16:44:35 +02:00
David Heinemeier Hansson
0e4b9ee6f9 Add migration to turn on screensaver again 2025-08-18 16:27:50 +02:00
David Heinemeier Hansson
de28805881 Turn screensaver back on now that we have fixed the tte install 2025-08-18 16:27:00 +02:00
Shigeto Kumagai
bc43377cc6 fix: add python-object to make installation of Omarchy work (#806)
* Explicitly add python-object to make powerprofile work

* added migration

* Explain the why, not the how

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-18 16:13:21 +02:00
David Heinemeier Hansson
e99dc3b67c No double logo 2025-08-18 15:50:58 +02:00
David Heinemeier Hansson
2a7a9b67aa Ensure the directory is present 2025-08-18 15:50:21 +02:00
David Heinemeier Hansson
5dec0daf4b Ensure Zoom is not made transparent 2025-08-18 15:49:24 +02:00
David Anderson
0eca37f3ff Add color to install / remove to differentiate (#858)
* Add color to install / remove to differentiate

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-18 13:59:28 +02:00
Shigeto Kumagai
ccf6afc36c fix: missing python-poetry-core make Omarchy install fail (#862)
* fix: missing python-poetry-core

* added migration

* Flesh out migration to fix all tte issues

* Turn TTE back on

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-18 12:39:46 +02:00
David Heinemeier Hansson
ce5178c285 Lines up better with the new starship prompt 2025-08-18 12:35:08 +02:00
David Heinemeier Hansson
2e071465a0 No prefix needed 2025-08-18 12:30:20 +02:00
David Heinemeier Hansson
7535e0ad0a Don't fail in case chromium package is not there
In case another package has been used to provide chromium
2025-08-18 12:28:55 +02:00
Gary Rennie
e6c1a52341 Add current theme to fastfetch config (#889)
* Turn off tte until the package is fixed

* Turn off auto-launching screensaver until tte is fixed

* Add current theme to fastfetch config

fastfetch has a module for displaying colors, which is often used by
default. It shows the current colors in use by the terminal. Given that
themes are core to Omarchy, I thought it made sense to show the current
theme in fastfetch. I've also added a compressed version of the palette
(similar to the circle config of the colors module).

* Add migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-18 12:27:55 +02:00
Dylan Bridgman
a712a0906a Add --force when enabling ufw to bypass prompt (#794) 2025-08-17 11:43:46 -04:00
David Heinemeier Hansson
40d850fdb3 If NOT starship, install it 2025-08-17 10:09:23 -04:00
David Heinemeier Hansson
50c5f742dd Always noconfirm 2025-08-17 10:08:21 -04:00
David Heinemeier Hansson
55330cce88 Add minimal starship prompt to terminal
Co-authored-by: @tobi
2025-08-17 09:59:44 -04:00
David Heinemeier Hansson
7ca72c598a Add dust to reveal used space
Co-authored-by: @tobi
2025-08-17 09:12:47 -04:00
David Heinemeier Hansson
787296edab Skip pinta until we can resolve the certificate issue on manual build
cc @Torxed
2025-08-17 07:20:07 -04:00
David Heinemeier Hansson
029a3a3d37 Catch both cases of brave-browser identification 2025-08-16 06:45:26 -04:00
David Heinemeier Hansson
d5ee754538 Only do system package updates if there is a network connection
This prepares us for offline ISO install
2025-08-16 05:40:10 -05:00
David Heinemeier Hansson
1b69700999 Add migration for adding .config/brave-flags.conf 2025-08-16 05:38:04 -05:00
David Heinemeier Hansson
accc7a903e Must restart waybar when timezone is changed to have it reflect immediately 2025-08-16 05:36:38 -05:00
David Heinemeier Hansson
377f3e6d83 Add brave-flags.conf as a new default to ensure that anyone using Brave as their browser runs it under wayland 2025-08-16 12:35:33 +02:00
David Heinemeier Hansson
f06b1801d5 No longer needed now that we have .config/chromium-flags.conf 2025-08-16 12:34:57 +02:00
Kevin McConnell
aca23ad834 Use host's DNS resolver in Docker containers (#812)
* Symlink /etc/resolve.conf to systemd-resolved's stub

Since systemd-resolved is managing the DNS configuration, ensure that
/etc/resolv.conf uses it.

* Use systemd-resolved from Docker containers
2025-08-15 15:29:25 +02:00
David Heinemeier Hansson
2db5e730a7 Turn off auto-launching screensaver until tte is fixed 2025-08-15 09:52:52 +02:00
David Heinemeier Hansson
bd2eddbab4 Turn off auto-launching screensaver until tte is fixed 2025-08-15 09:52:41 +02:00
David Heinemeier Hansson
f456e21cab Turn off tte until the package is fixed 2025-08-15 09:50:22 +02:00
David Heinemeier Hansson
5aa26eb9bd Stop using tte until package is fixed 2025-08-15 09:49:03 +02:00
David Heinemeier Hansson
589ffb21fe Need to make the new disk writeable too 2025-08-15 09:37:57 +02:00
David Heinemeier Hansson
5a809db2a8 Only ask for the identification if it has not already been provided 2025-08-15 09:28:24 +02:00
David Heinemeier Hansson
75a8b1fc83 Include Brave in the same opacity treatment as chromium 2025-08-14 21:05:21 +02:00
David Heinemeier Hansson
2847ed270f Transcoding is really from any image format 2025-08-14 21:04:38 +02:00
David Heinemeier Hansson
bf49a86e98 Use omarchy-chromium-bin to give live theme changes 2025-08-14 14:46:59 +02:00
David Heinemeier Hansson
a9d70e6879 Make this resilient to file already being removed 2025-08-14 11:35:05 +02:00
Chris Miller
1ecbd22fb3 Add missing modifier combinations to omarchy-menu-keybindings (#715)
While these aren't currently used directly in the Omarchy code, when the
user adds custom bindings they are not properly displayed by the
omarchy-menu-keybindings script.

Co-authored-by: Chris Miller <chris@diddado.com>
2025-08-13 20:35:29 +02:00
Bruce
8cee2d3a8b Add disable chaotic aur env flag (#746) 2025-08-13 20:13:40 +02:00
David Heinemeier Hansson
9b25a2fa13 pacman needs sudo 2025-08-13 13:50:27 +02:00
David Heinemeier Hansson
d4829bbc33 Can't use clipboard module when Walker is not running as a service
See https://github.com/basecamp/omarchy/issues/698
2025-08-13 13:49:05 +02:00
David Heinemeier Hansson
5e1a4da33d Turn off the walker service until the memory leak is fixed
See https://github.com/basecamp/omarchy/issues/698
2025-08-13 13:48:45 +02:00
David Heinemeier Hansson
b0e99fc865 Direct access to Walker clipboard + emojis with hotkey 2025-08-13 13:43:39 +02:00
Dylan Bridgman
1d483dac8b Use pacman instead of yay to install gum (#705) 2025-08-12 16:06:34 +02:00
Swarnim
8a9b841e92 Add one wallpaper for nord (#707) 2025-08-12 16:05:21 +02:00
Simon Dawson
59e4981df7 chore: Enable Walker list cycling (#709)
Enable the `cycle` behaviour for Walker lists; this allows one to
quickly jump from the default-selected first item in a list, to the
last item, simply by pressing the "up" arrow key (or other key
sequence bound to "previous").

Refs: https://github.com/abenz1267/walker/wiki/Basic-Configuration
2025-08-12 15:55:23 +02:00
Dylan Bridgman
f0f4569aa2 Always install base-devel in case yay needs to build a package (#710) 2025-08-12 15:54:29 +02:00
Dylan Bridgman
b15dde2dc9 Install gum prior to the preflight guard (#684)
* Use `read` instead of `gum` in the preflight guard

* Revert "Use `read` instead of `gum` in the preflight guard"

This reverts commit 759dbb70454dccc27b78b198bf077e076750fefc.

* Install `gum`, if required, at the beginning of `install.sh`

* `gum` is already installed by the `presentation.sh` stage

* Use existing structure

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-12 13:44:28 +02:00
Manuel
6634e28540 Set sudo max tries to 10, binary for easy lockout reset (#686)
* set sudo max fail count to 10, bin for easy reset

* Slim down

Let the failure just fail in the shell

* Rename to be more descriptive

* No need for the 00- prefix

* Add migration to raise sudo try limit

---------

Co-authored-by: Manuel <manuel.ramsaier@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-12 13:31:48 +02:00
David Heinemeier Hansson
f8482fdad7 Make a function to create a smaller webshare version 2025-08-12 13:05:38 +02:00
Maximiliano Guzenski
03c6b0af3d fix pgrep and pkill (#687) 2025-08-12 13:01:45 +02:00
not-NEK0
bc323ca267 Add elan to the keywords used to detect if a fingerprint reader exists (#692) 2025-08-12 12:18:56 +02:00
David Heinemeier Hansson
d26e3e368d Merge branch 'master' into dev 2025-08-12 09:43:52 +02:00
David Heinemeier Hansson
3d283eac18 Ignore uwsm here too 2025-08-12 09:43:43 +02:00
Eric Swanson
ac207720f8 Fix kernel update detection for alternative kernel variants (#585)
* Fix omarchy-update kernel update message to support alternative kernel variants

* fix: omarchy-update-restart kernel update message to support alternative kernel variants
2025-08-12 08:27:00 +02:00
David Heinemeier Hansson
07e3818b4f Merge branch 'master' into dev 2025-08-12 08:08:45 +02:00
David Heinemeier Hansson
9e7e5a1512 Pin uwsm to 0.23.0 to skip bad 0.23.1 while waiting for 0.23.2 (#697) 2025-08-12 08:07:13 +02:00
Ryan Hughes
171ca57908 Add burst limit to login to prevent endless retries (#690) 2025-08-12 07:55:50 +02:00
David Heinemeier Hansson
ae910df769 Merge branch 'master' into dev 2025-08-12 07:55:17 +02:00
David Heinemeier Hansson
78de5c24c9 uwsm was already fixed upstream with 0.23.2 2025-08-12 07:52:56 +02:00
David Heinemeier Hansson
04e9e4c21f Split upgrading system packages into two steps 2025-08-12 07:52:18 +02:00
David Heinemeier Hansson
fc3467a66e Don't update uwsm until there's a confirmed good version released 2025-08-12 07:39:11 +02:00
David Heinemeier Hansson
12b2950853 Force working version of uwsm until we get the fixed one from upstream 2025-08-12 07:35:09 +02:00
David Heinemeier Hansson
1e924d1794 It actually wasn't better to have the user defaults first 2025-08-11 22:11:13 +02:00
David Heinemeier Hansson
d0a2f63322 It actually wasn't better to have the user defaults first 2025-08-11 22:11:03 +02:00
Alan Sikora
ac37fb7ccd Fix screen recording on Intel graphics (#669)
* Fix screen recording on Intel graphics

Use wf-recorder for Intel graphics instead of wl-screenrec due to VAAPI compatibility issues that prevent recording from starting.

* combining greps for nvidia and intel graphics

* Update omarchy-cmd-screenrecord
2025-08-11 21:33:34 +02:00
David Heinemeier Hansson
4e136ded68 We now have a global $OMARCHY_PATH 2025-08-11 21:33:04 +02:00
David Heinemeier Hansson
add56181d7 Fixed this in CSS instead 2025-08-11 20:51:23 +02:00
Alan Sikora
a46f652487 Fix waybar update icon spacing (#672)
* Fix waybar update icon spacing

Remove clock from margin rule and add custom-update to prevent horizontal cutoff and reduce excessive spacing between clock and update icon.

* making the update icon smaller, looks better in the center
2025-08-11 20:46:02 +02:00
David Heinemeier Hansson
98332f624b Merge branch 'master' into dev 2025-08-11 20:37:01 +02:00
Florian Hammerschmidt
7e30335a2e Use correct casing for OCaml menu item (#675) 2025-08-11 20:36:48 +02:00
Ryan Hughes
4c4aafe670 Add state based app restarts for migrations (#637)
* Look for app restart state files and restart them after update

* Convert existing migrations to set states

* Revert "Convert existing migrations to set states"

This reverts commit 1eb8a56b07.
2025-08-11 20:26:36 +02:00
David Heinemeier Hansson
7893f803e0 Merge pull request #668 from rmacklin/fix-a-few-typos
Fix a handful of typos
2025-08-11 20:16:33 +02:00
David Heinemeier Hansson
c407c4c590 Merge pull request #670 from zaborowskimichal/feat-precise-media-control
Add precise volume/brightness controls with alt modifier
2025-08-11 20:15:50 +02:00
Michal Zaborowski
1e54f06570 feat: add precise media control shortcut 2025-08-11 19:47:34 +02:00
Richard Macklin
793b346d1d Fix a handful of typos 2025-08-11 10:13:44 -07:00
David Heinemeier Hansson
539eb240be Migration to fit entire icon for update-available in waybar 2025-08-11 18:52:33 +02:00
David Heinemeier Hansson
d75cac05c8 Ensure entire icon will fit 2025-08-11 18:50:02 +02:00
David Heinemeier Hansson
79bdb151d1 Merge pull request #661 from basecamp/dev
Omarchy v1.13.0
2025-08-11 18:28:57 +02:00
David Heinemeier Hansson
4be9053d68 Merge branch 'master' into dev 2025-08-11 18:28:03 +02:00
David Heinemeier Hansson
b933f1f4cd Autolaunch not working for Helix 2025-08-11 18:12:56 +02:00
David Heinemeier Hansson
cd8a6bb29a Fix app launch name for cursor 2025-08-11 18:07:42 +02:00
David Heinemeier Hansson
6f6c50c573 Fix icon for PHP vanilla install 2025-08-11 18:04:23 +02:00
David Heinemeier Hansson
6dd7829886 Still need success on exit 2025-08-11 17:52:01 +02:00
David Heinemeier Hansson
26e3cc0b8c Make the guard step by step 2025-08-11 17:49:21 +02:00
David Heinemeier Hansson
16c671adf0 Be explicit about success and skip all guards once user said proceed anyway 2025-08-11 17:29:18 +02:00
David Heinemeier Hansson
46fbe16dd4 Old habit 2025-08-11 17:25:10 +02:00
David Heinemeier Hansson
08982922eb Remove needless comment 2025-08-11 17:17:46 +02:00
David Heinemeier Hansson
31ab6b4952 Protect against running on something other than x86_64 too
Co-authored-by: @daltonbr
Closes #628
2025-08-11 17:15:38 +02:00
RaphaelKimmig
76c7956d15 fix: lock 1password right away, not after unlock (#644) 2025-08-11 17:10:52 +02:00
Alexandre Perreault
e6a253efaa Add noscreenshare windowrule to 1password to block accidental leaks (#663) 2025-08-11 17:09:02 +02:00
David Heinemeier Hansson
389f02e6ed No longer need to manually set $OMARCHY_PATH 2025-08-11 17:07:42 +02:00
Shigeto Kumagai
ccbe7c817b Omarchy-version command (#565)
* omarchy-version alias

* instead of alias, created command omarchy-version

* remove previously added alias, use omarchy-version command, instead

* set OMARCHY_PATH in the script

* updated OMARCHY_PATH
2025-08-11 17:07:17 +02:00
David Heinemeier Hansson
1dc3330480 And and 2025-08-11 17:06:20 +02:00
David Heinemeier Hansson
bc6fa48155 Allow a user to continue installing on their own accord and add check for root 2025-08-11 17:05:31 +02:00
David Heinemeier Hansson
06103d4258 Omarchy is exclusively for vanilla Arch without Gnome or KDE installed (#524) 2025-08-11 17:00:19 +02:00
David Heinemeier Hansson
e0edb8c660 Restart Waybar so update-available icon does not hang around
Co-authored-by: @LeonardoTrapani
Closes #541
2025-08-11 16:58:01 +02:00
David Heinemeier Hansson
30e7a323b8 Fix rm of protected file 2025-08-11 16:44:58 +02:00
Ryan Hughes
1c5a17f852 Disable systemd-networkd-wait-online (#645) 2025-08-11 16:43:38 +02:00
Ryan Hughes
c8e848530a Add mise to UWSM path (#654) 2025-08-11 16:40:08 +02:00
David Heinemeier Hansson
b6a1d7643d Add migration for replacing missing icon for Audio Settings 2025-08-11 16:35:09 +02:00
David Heinemeier Hansson
854a9e6427 Replace missing icon for wiremix 2025-08-11 16:33:25 +02:00
David Heinemeier Hansson
6c4571f2ca Have to touch manually since we are relaunching from migration directly 2025-08-11 16:07:51 +02:00
David Heinemeier Hansson
7a1976a659 Improve description. 2025-08-11 16:06:10 +02:00
David Heinemeier Hansson
99d3cc113e We unfortunately need to run the relaunch immediately 2025-08-11 16:04:26 +02:00
David Heinemeier Hansson
c5a91b1e0f Need to export OMARCHY_PATH too 2025-08-11 15:57:25 +02:00
David Heinemeier Hansson
6a26a37c48 Need to export first! 2025-08-11 15:56:30 +02:00
David Heinemeier Hansson
03a4223be9 Need to have the PATH change run as the first migration or all others will fail
It needs to include omarchy/bin by default too
2025-08-11 15:52:28 +02:00
David Heinemeier Hansson
d12b194227 Add migration to tweak the tooltip for the Omarchy Menu 2025-08-11 15:35:59 +02:00
David Heinemeier Hansson
ddf9498f0a Improve tooltip for Omarchy menu 2025-08-11 15:30:57 +02:00
David Heinemeier Hansson
ba40f6349e Set the path so we can always rely on it during install 2025-08-11 15:06:39 +02:00
David Heinemeier Hansson
0fd360e94f Group confs and runtimes together 2025-08-11 13:21:46 +02:00
David Heinemeier Hansson
199a9c805d Fix menus popping 2025-08-11 12:32:09 +02:00
David Heinemeier Hansson
34ccff4cf6 Better fit of windows 2025-08-11 12:30:02 +02:00
David Heinemeier Hansson
0aedef58c9 Ensure this isn't closed with the installing terminal 2025-08-11 12:26:30 +02:00
David Heinemeier Hansson
f67cb1dbff Reduce risk of wrapping logo 2025-08-11 12:17:28 +02:00
David Heinemeier Hansson
c61ef71653 Add dedicated Install > Gaming menu for Steam, RetroArch, and Minecraft 2025-08-11 12:13:57 +02:00
Brosseau Valentin
5be5dede6b Fix missing defaults PHP extensions to create Laravel Project (#630)
* Fix missing default PHP extensions to create laravel Project

* iconv is required for Symfony project

* Add PHP only installation

* Add PHP only option in the menu
2025-08-10 22:12:21 +02:00
David Heinemeier Hansson
7d3d7e264b Split out PHP into its own menu 2025-08-10 21:03:08 +02:00
David Heinemeier Hansson
7929988901 Slim down the verbiage 2025-08-10 21:02:57 +02:00
David Heinemeier Hansson
cb6134076f Style 2025-08-10 21:02:44 +02:00
David Heinemeier Hansson
0a3916011c Brand name is .NET 2025-08-10 20:46:00 +02:00
Brosseau Valentin
4b6e8962ca Better PHP dev-env init (#624)
* Extract logic to avoid adding composer in the path multiple times and add Symfony

* Add missing usage

* Use the official script to install Symfony installer

* Use AUR package

* Move PHP and Composer install in function to avoid duplication.

* Add explicit usage for symfony-cli

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-10 20:45:47 +02:00
David Heinemeier Hansson
1d2fe96916 Missing ;; 2025-08-10 20:41:13 +02:00
David Heinemeier Hansson
36013ec2d9 Add Zig and Dotnet 2025-08-10 20:40:24 +02:00
MACHO MAN
1104951d7a Update omarchy-install-dev-env with Zig (#595)
Added Zig because it uses "mise use" install so very easy to add-in

My first ever commit woohoo!

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-10 20:37:24 +02:00
David Heinemeier Hansson
eb604e3e54 Breakout JavaScript options into their own submenu 2025-08-10 20:35:49 +02:00
David Heinemeier Hansson
5049640cfe Style 2025-08-10 20:35:31 +02:00
David Heinemeier Hansson
ab43b036a1 Add Deno 2025-08-10 20:35:23 +02:00
David Heinemeier Hansson
86c967352b Rely on Omarchy bin being part of PATH everywhere 2025-08-10 20:30:39 +02:00
David Heinemeier Hansson
7e28038687 Now being set system wide 2025-08-10 20:25:28 +02:00
David Heinemeier Hansson
d9d847fd71 Break-out omarchy-update so we can update each step independently and have changes apply to the active update 2025-08-10 20:23:29 +02:00
David Heinemeier Hansson
a23a48594f Set OMARCHY_PATH systemwide as well 2025-08-10 20:23:02 +02:00
David Heinemeier Hansson
a5dacd5c1d We need relaunches or reboots 2025-08-10 20:14:41 +02:00
David Heinemeier Hansson
8d20626534 Better spacing 2025-08-10 20:12:20 +02:00
David Heinemeier Hansson
72a1d81d20 Validate preconditions together 2025-08-10 20:12:16 +02:00
David Heinemeier Hansson
610ec4a398 Fix indentation 2025-08-10 20:09:03 +02:00
David Heinemeier Hansson
7e4da388bf Be brief (then message will also fit in the window!) 2025-08-10 20:04:22 +02:00
Ryan Hughes
b2eb1b08a4 Add ~/.local/share/omarchy/bin to systemwide PATH (#602)
* Add omarchy to system path

* Remove unnecessary duplicate

* Remove path def since it's global now

* Migration for system-wide path

* Remove debug code

* Refresh after update

* Add common state script

* Restart on state detected

* Set state instead

* Export own path for menu
2025-08-10 19:58:44 +02:00
Ryan Hughes
94aa9b688f Reduce Walker config to overrides + adhere to system font (#620)
* Reduce to only have overrides

* Change font to pick up system font

* Add migration

* Add walker restart to pick up new font
2025-08-10 18:40:31 +02:00
David Heinemeier Hansson
dfe7ea24b3 Flip order of includes around so user settings take precedence over Omarchy defaults
Closes #588
2025-08-10 15:30:13 +02:00
devmobasa
41ba61b760 Add .NET installation option to the development environment script (#615)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-10 15:30:03 +02:00
Shigeto Kumagai
4fb0d59a82 About.desktop fixed font size (#566)
* instead of alias, created command omarchy-version

* Revert "instead of alias, created command omarchy-version"

This reverts commit 87e45db6d5.

wrong commit to dev

* Fix font size of About so it will stay in similar size
2025-08-10 15:25:02 +02:00
David Heinemeier Hansson
4c4792f36f Suggest something that doesn't conflict with the Omarchy Menu launching 2025-08-10 15:18:57 +02:00
Brosseau Valentin
e8d98c6418 Use system wide package manager to install a package and install Laravel for the current user. (#618) 2025-08-10 14:17:47 +02:00
David Heinemeier Hansson
af00a902cd Add extra Osaka Jade background image 2025-08-10 13:53:09 +02:00
Justin Lowry
38bf472dbd add new Osaka Jade background (#589)
Co-authored-by: Justin Lowry <j.lowry@hey.com>
2025-08-10 13:51:47 +02:00
David Heinemeier Hansson
d23ce0f914 Add Ocaml option to install dev menu 2025-08-10 13:42:51 +02:00
Florian Hammerschmidt
b40a5a9a9f Add OCaml (#598)
* Add OCaml

Add OCaml according to https://ocaml.org/install#linux_mac_bsd

I included also the development environment (LSP and some tools) as I figured this would be actually omakase but I can also remove it if we want to keep it clean.

* small fix
2025-08-10 13:41:06 +02:00
David Heinemeier Hansson
4237807bc1 Fix spelling and description 2025-08-10 10:17:22 +02:00
Florian Beer
4df374205f Add Laravel (#594) 2025-08-09 22:48:57 +02:00
David Heinemeier Hansson
2e6e1c5bca Add Rust and Java options too 2025-08-09 22:40:55 +02:00
David Heinemeier Hansson
616381833c Add Bun as an option too 2025-08-09 22:34:57 +02:00
David Heinemeier Hansson
06345c7e25 Add Install > Development for setting up Rails and other mise options 2025-08-09 22:27:47 +02:00
David Heinemeier Hansson
1484cbb7d7 Add Install > Service menu with Tailscale added 2025-08-09 21:30:26 +02:00
David Heinemeier Hansson
528ab6bfd7 Add Helix as an editor option 2025-08-09 21:15:58 +02:00
David Heinemeier Hansson
6015b9c6ef Add Discord as a default webapp
Co-authored-by: @robzolkos
Closes #567
2025-08-09 19:42:33 +02:00
Maximiliano Guzenski
f6d5df5a89 Package manager usability improvements (#569)
* better pkg manager with shotcuts

* removed ctrl-d, it conflict with terminal

* reveal keybinds to user

* We don't need yayf any more now we have full integration in Omarchy menu

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-09 19:34:01 +02:00
David Heinemeier Hansson
f06dd90429 Add Sublime Text as an Editor option
For @rosapolis and @jasonfried!
2025-08-09 18:02:36 +02:00
David Heinemeier Hansson
f63e777c9a Use tag picker for file picker apps
And include sublime_text, since it doesn't use xdg-desktop-portal-gtk
2025-08-09 17:56:57 +02:00
David Heinemeier Hansson
0b31f3139f Fix selection 2025-08-09 17:47:18 +02:00
David Heinemeier Hansson
90ba44f725 Fix opencode spelling to match proper branding
Sorry @thdxr!
2025-08-08 23:04:45 +02:00
David Heinemeier Hansson
abc0005893 Merge branch 'master' into dev 2025-08-08 21:12:20 +02:00
RaphaelKimmig
ba0666999e Lock 1password on screen lock (#564)
* feat: lock 1password on screen lock

* chore: add migration for omarchy-lock-screen
2025-08-08 21:11:35 +02:00
David Heinemeier Hansson
c07c5652cb Don't let chromium save dialogue get too big 2025-08-08 20:18:05 +02:00
David Heinemeier Hansson
9d561fe34d Use a headline to explain what is already up to date 2025-08-08 18:07:22 +02:00
David Heinemeier Hansson
4ab3ff8349 Set default DNS to Cloudflare (backup to Google) and tune MTU probing for more reliable SSH 2025-08-08 18:05:10 +02:00
David Heinemeier Hansson
9ae0af7b21 Solve common flakiness with SSH 2025-08-08 18:03:19 +02:00
David Heinemeier Hansson
61032ba4d0 Set Cloudflare as the default DNS with Google as backup
Solves a bunch of problems with shitty local DNS
2025-08-08 18:00:30 +02:00
David Heinemeier Hansson
32e091d2e5 Add a tooltip to the waybar update available block 2025-08-08 17:51:19 +02:00
David Heinemeier Hansson
4d94f02584 Merge pull request #559 from basecamp/dev
Omarchy 1.12.1
2025-08-08 17:35:06 +02:00
David Heinemeier Hansson
f23e844340 Waybar actually autodetects css changes 2025-08-08 17:34:03 +02:00
David Heinemeier Hansson
e567e9ee8a A bit more space 2025-08-08 17:31:28 +02:00
David Heinemeier Hansson
b0f48ca585 Update OS icon in About from Windows to Arch 2025-08-08 17:30:57 +02:00
David Heinemeier Hansson
375210f5c8 Give About more room to breathe 2025-08-08 17:27:48 +02:00
David Heinemeier Hansson
0c1419b725 This ain't windows, bro! 2025-08-08 17:13:39 +02:00
David Heinemeier Hansson
5624fc7e5e Highlight current font as well 2025-08-08 17:02:00 +02:00
David Heinemeier Hansson
eb589b012e Move together to other #item defintion 2025-08-08 17:01:51 +02:00
David Heinemeier Hansson
1b485efcf5 Highlight the current power profile too 2025-08-08 16:54:06 +02:00
David Heinemeier Hansson
c97de217b3 Use walker to highlight current selection 2025-08-08 15:56:16 +02:00
David Heinemeier Hansson
3566ecfc89 Merge pull request #561 from catlee/patch-1
Fix git usage in migration script
2025-08-08 15:36:00 +02:00
David Heinemeier Hansson
27607c1573 Use existing reloader 2025-08-08 15:28:56 +02:00
David Heinemeier Hansson
aa3195385d Correct plurality 2025-08-08 15:15:01 +02:00
David Heinemeier Hansson
3db8028315 Correct spelling 2025-08-08 15:13:46 +02:00
David Heinemeier Hansson
f4ff108038 Two more commands for presentation 2025-08-08 15:12:26 +02:00
David Heinemeier Hansson
f33d004bc9 More commands that should not present themselves 2025-08-08 15:10:51 +02:00
David Heinemeier Hansson
4f1a87c7e3 Add update/restart process menu 2025-08-08 15:08:42 +02:00
David Heinemeier Hansson
567b05c489 Use present_terminal in omarchy-menu to do fancy command presentation
Then the individual commands can be clean
2025-08-08 15:08:27 +02:00
David Heinemeier Hansson
3d489382e4 No need to clear and wait for key to remove instead of just doing it after 2 seconds 2025-08-08 15:05:38 +02:00
David Heinemeier Hansson
485805fab3 Try ignoring diff return value instead 2025-08-08 14:42:44 +02:00
David Heinemeier Hansson
cbb9cc22e5 Try to run this in a subshell instead 2025-08-08 14:39:56 +02:00
Chris AtLee
c7e5428df9 Fix git usage in migration script
A user may not have `co` aliased to `checkout` and then will have errors running the migration script.
2025-08-08 08:35:32 -04:00
David Heinemeier Hansson
67e0b6a4e0 Ensure this completes 2025-08-08 13:36:07 +02:00
David Heinemeier Hansson
631c2071b7 Migration to fix expand icon margin 2025-08-08 13:35:01 +02:00
David Heinemeier Hansson
a49bd12f44 Also just use the normal CaskaydiaMono Nerd Font
Then we are compatible with the new font switcher
2025-08-08 13:34:50 +02:00
David Heinemeier Hansson
4ab46ef687 Fix tray margin to match the others 2025-08-08 13:32:40 +02:00
David Heinemeier Hansson
9dc12c1d3e Fix missing comma for windowrule 2025-08-08 13:20:08 +02:00
David Heinemeier Hansson
af84d085f0 Rename omarchy-setup-* scripts that should have been omarchy-install-* 2025-08-08 13:04:58 +02:00
David Heinemeier Hansson
1cd6feed43 Add Install > AI and breakout Install > Style 2025-08-08 13:03:22 +02:00
David Heinemeier Hansson
39f8add864 Extract helper 2025-08-08 12:46:51 +02:00
David Heinemeier Hansson
fe92a78f21 Use full path for omarchy-update on waybar icon 2025-08-07 16:26:32 +02:00
David Heinemeier Hansson
6c75e705e8 Ensure Osaka Theme is checked out
To deal with the past bad migration
2025-08-07 14:10:12 +02:00
David Heinemeier Hansson
7bb9214c66 Fix the osaka jade theme migration 2025-08-07 13:58:48 +02:00
David Heinemeier Hansson
7eb661c9c8 Fix transcode-png2jpg 2025-08-07 13:38:01 +02:00
David Heinemeier Hansson
666dbd8f39 Merge pull request #528 from basecamp/dev
Omarchy 1.12.0
2025-08-07 13:12:01 +02:00
Johan Gyllenspetz
308033bd10 Allow selecting themes for deletion (#533)
Co-authored-by: Johan Gyllenspetz <gyllen@hey.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-07 13:05:18 +02:00
David Heinemeier Hansson
4a468041cb Fix comments and description 2025-08-07 13:03:50 +02:00
David Heinemeier Hansson
97e3902455 Merge branch 'master' into dev 2025-08-07 13:02:22 +02:00
David Heinemeier Hansson
b75065c4cf Ensure we are running the latest Walker and that its been restarted 2025-08-06 23:28:50 +02:00
David Heinemeier Hansson
8c8cf7aadb Add migration to fix that broken multicastdns issue for printer setups 2025-08-06 23:21:29 +02:00
David Heinemeier Hansson
722fa73bc8 No need to carry this 2025-08-06 23:16:12 +02:00
Manuel
6b8917450f Make Screensaver Background Color Black (#526)
* add sceensaver alacritty config file and changed screensaver cmd

* Move the screensaver config into defaults

Since its not meant to be user edited

---------

Co-authored-by: Manu <manuel.ramsaier@gmail.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-06 22:53:15 +02:00
David Heinemeier Hansson
26b09bb218 It is monospace 2025-08-06 22:02:46 +02:00
David Heinemeier Hansson
46d58ff0df Have Style > Font also set for Waybar, SwayOSD, and fontconfig 2025-08-06 22:01:23 +02:00
David Heinemeier Hansson
08bc9fcaea Better wording 2025-08-06 21:40:22 +02:00
David Heinemeier Hansson
81df3ce171 Add basic power profiles setup menu
Still need to be able to reveal which is the current profile
2025-08-06 21:36:07 +02:00
Glenn Oppegard
0fcda80630 Fix disabling of resolved Multicast DNS (#521) 2025-08-06 21:01:22 +02:00
Emmanuel Pastor
6348a0ad08 Fix wrong workspace numbers in description (#522) 2025-08-06 21:00:37 +02:00
David Heinemeier Hansson
43a31a10d0 Font menu needs to be wider 2025-08-06 20:28:48 +02:00
David Heinemeier Hansson
2737a76a85 Give the font cache 2 seconds to update before setting the font 2025-08-06 20:28:41 +02:00
David Heinemeier Hansson
ff0aedd0eb Add font installer menu with typical programmer fonts 2025-08-06 16:01:04 +02:00
David Heinemeier Hansson
bade5b0d34 Pull the font-menu into omarchy-menu 2025-08-06 15:50:51 +02:00
David Heinemeier Hansson
58fbda80ef Only attempt operation if a package name is selected 2025-08-06 15:19:53 +02:00
David Heinemeier Hansson
e3a3b98e0a Add dedicated section for installing popular programming editors 2025-08-06 14:59:07 +02:00
adcv
8002586392 small fix for theme-remove menu selection items (#505) 2025-08-06 13:49:46 +02:00
David Heinemeier Hansson
180dc7c9b5 Merge branch 'master' into dev 2025-08-06 13:44:34 +02:00
David Heinemeier Hansson
88969588c4 Add Osaka Jade as default theme 2025-08-06 13:44:21 +02:00
Justin Lowry
8281533b54 Add Osaka Jade theme to default theme set. (#514)
* Add Osaka Jade Theme

* Use jpg for bg for lower size with no quality difference

---------

Co-authored-by: Justin Lowry <j.lowry@hey.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-06 13:42:48 +02:00
David Heinemeier Hansson
d72f716c83 Add transcode functions 2025-08-06 13:34:19 +02:00
Justin Lowry
1d29c32fe5 Add Osaka Jade theme to default theme set. (#514)
* Add Osaka Jade Theme

* Use jpg for bg for lower size with no quality difference

---------

Co-authored-by: Justin Lowry <j.lowry@hey.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-06 13:28:08 +02:00
David Heinemeier Hansson
41249a271a Fit within the logo width 2025-08-06 08:44:53 +02:00
David Heinemeier Hansson
5ff0e82621 Do updatedb after installing a new package
So you can always find what's been installed via locate
2025-08-05 18:16:36 +02:00
David Heinemeier Hansson
1746c7556c Merge pull request #500 from basecamp/dev
Omarchy v1.11.0
2025-08-05 17:23:23 +02:00
David Heinemeier Hansson
a7798a57bc Make updating checking resilient against network being unavailable 2025-08-05 17:13:37 +02:00
David Heinemeier Hansson
9292c29640 Ensure we continue 2025-08-05 16:41:33 +02:00
David Heinemeier Hansson
db441e8813 Try to run this in a subshell to prevent the exit 2025-08-05 16:37:57 +02:00
David Heinemeier Hansson
137c24454f Ensure they can all run from Walker
Which does not have the bash-powered PATH
2025-08-05 16:35:28 +02:00
David Heinemeier Hansson
b6325ea810 No longer used 2025-08-05 16:30:34 +02:00
David Heinemeier Hansson
fc11ce61cc Add figma as a default web app 2025-08-05 16:28:58 +02:00
David Heinemeier Hansson
d9efaac906 Start hyprsunset on demand instead of needing it to run constantly 2025-08-05 16:25:08 +02:00
David Heinemeier Hansson
881af9b7d6 No longer need the functions 2025-08-05 15:58:53 +02:00
David Heinemeier Hansson
581937a204 Need the full path 2025-08-05 15:58:39 +02:00
David Heinemeier Hansson
d676f1a16f Link to the extra themes index 2025-08-05 15:44:58 +02:00
David Heinemeier Hansson
b4e9465970 Use the new omarchy-webapp-install command 2025-08-05 15:34:45 +02:00
David Heinemeier Hansson
bd26465912 Give you an easy way to install a new background image 2025-08-05 15:23:02 +02:00
David Heinemeier Hansson
1a4b2d9420 Somehow lost the bindd versions 2025-08-05 15:11:04 +02:00
David Heinemeier Hansson
59b1d690d0 We now have this in the About screen 2025-08-05 14:19:58 +02:00
David Heinemeier Hansson
1c4c42bf76 Make menu disappear after changing theme 2025-08-05 14:10:58 +02:00
David Heinemeier Hansson
8c46ff9303 Help people realize what they're editing 2025-08-05 13:55:10 +02:00
David Heinemeier Hansson
6d7cbf0d05 Setup configs menu with auto-restart 2025-08-05 13:54:17 +02:00
David Heinemeier Hansson
14d652b63d Use max volume 100 as default 2025-08-05 13:45:49 +02:00
David Heinemeier Hansson
e0e21b37d7 Don't like the SwayOSD overlay when max volume is above 100% 2025-08-05 13:45:37 +02:00
David Heinemeier Hansson
67d830cc39 Extract helper for nvim editing 2025-08-05 12:46:12 +02:00
David Heinemeier Hansson
a4bed3029e Offer to setup bindings and input if those files are split out 2025-08-05 12:40:59 +02:00
David Heinemeier Hansson
7e1ca837b8 Offer to reorganize hyprland.conf as is done in the new config 2025-08-05 12:35:06 +02:00
David Heinemeier Hansson
2c73e48172 Split up the default .config/hypr/hyprland.conf to be easier to tailor with less risk of overwritting 2025-08-05 12:17:37 +02:00
David Heinemeier Hansson
206dc44649 Correct use from cli 2025-08-05 12:08:30 +02:00
David Heinemeier Hansson
58bdc4c307 Avoid duplication 2025-08-05 12:02:38 +02:00
David Heinemeier Hansson
7e2676d565 Add neovim to learning
But would be nice with a better tutorial for newcomers
2025-08-05 11:53:45 +02:00
David Heinemeier Hansson
9bd2d6e0c1 Add monitor and hyprland config links too 2025-08-05 11:51:16 +02:00
David Heinemeier Hansson
678882810e Moved web app functions to full omarchy TUI commands 2025-08-05 11:40:35 +02:00
David Heinemeier Hansson
08ed9a5dff Add web app management to Omarchy menu 2025-08-05 11:39:57 +02:00
David Heinemeier Hansson
59fefd34b1 Match the other installer/removers 2025-08-05 11:39:46 +02:00
David Heinemeier Hansson
e31745e67d Don't leave lingering logo around 2025-08-05 11:36:33 +02:00
David Heinemeier Hansson
ae0e711e39 Give a hint for the hotkey 2025-08-05 10:50:13 +02:00
David Heinemeier Hansson
494c140859 Audio more common 2025-08-05 10:47:37 +02:00
David Heinemeier Hansson
d1b09e27a0 Add remove menu and tune up theme-remove script 2025-08-05 10:30:44 +02:00
David Heinemeier Hansson
2cd841a687 Explain what we are doing before asking for sudo 2025-08-05 09:42:25 +02:00
David Heinemeier Hansson
a75c9ef072 Add updating configs from defaults 2025-08-05 09:37:23 +02:00
David Heinemeier Hansson
8dc198c57f Use full path so they can safely be run from Walker menu 2025-08-05 09:32:35 +02:00
David Heinemeier Hansson
3a06b639c3 Add Bash learnings too 2025-08-05 09:18:51 +02:00
David Heinemeier Hansson
ea31b4a090 Add Arch wiki to learning list 2025-08-05 09:16:01 +02:00
David Heinemeier Hansson
ea0da160b8 Merge pull request #494 from DavidHoenisch/master
improved error handling in fido2 setup
2025-08-05 08:34:27 +02:00
DavidHoenisch
1b17a049ff improved error handling to exist on mistyped pin instead of failing silently 2025-08-04 22:03:42 -07:00
David Heinemeier Hansson
8170cb9ed4 Unified done showing and command style 2025-08-04 20:51:43 +02:00
David Heinemeier Hansson
82bcee5624 Fix grep 2025-08-04 20:42:20 +02:00
David Heinemeier Hansson
a8a8b017d6 Allow menu to install third party themes 2025-08-04 20:40:52 +02:00
David Heinemeier Hansson
e875a5d344 Old Omarchy TUI is gone! 2025-08-04 20:40:41 +02:00
David Heinemeier Hansson
4f8d758b07 Give it color 2025-08-04 20:30:00 +02:00
David Heinemeier Hansson
fc449efdb1 No longer needed 2025-08-04 20:28:44 +02:00
David Heinemeier Hansson
57443e74ad Show logo now that we are coming from the new menu 2025-08-04 20:26:33 +02:00
David Heinemeier Hansson
9c70a8e187 Just using omarchy-update now 2025-08-04 20:23:38 +02:00
David Heinemeier Hansson
fe396b305c Stray comment 2025-08-04 20:23:00 +02:00
David Heinemeier Hansson
2e117b57f0 Need to refresh waybar for the new Omarchy menu 2025-08-04 20:20:24 +02:00
David Heinemeier Hansson
eda03fcfe1 Try with Start instead 2025-08-04 20:18:49 +02:00
David Heinemeier Hansson
6dca3e1717 Renaming and order 2025-08-04 19:50:53 +02:00
David Heinemeier Hansson
9c4a45537a Reveal omarchy menu from waybar 2025-08-04 19:50:49 +02:00
David Heinemeier Hansson
b4a6550b29 Use new omarchy-menu for everything 2025-08-04 19:50:36 +02:00
David Heinemeier Hansson
d599a98a76 Allow updating themes 2025-08-04 19:50:03 +02:00
David Heinemeier Hansson
b2ab061e3c Rename function 2025-08-04 19:48:15 +02:00
David Heinemeier Hansson
7e84755c75 Extract theme-list and theme-set so they can be used more easily in any menu 2025-08-04 19:44:42 +02:00
David Heinemeier Hansson
552fbb47fe Overhaul the omarchy-menu 2025-08-04 18:33:38 +02:00
David Heinemeier Hansson
de1330cd9f Add standalone script for setting up the docker DBs
So we can use it via the new menu system
2025-08-04 18:27:04 +02:00
David Heinemeier Hansson
a9004662ca Make it easier to use the yay fzf installer/uninstaller via menu 2025-08-04 18:26:36 +02:00
David Heinemeier Hansson
62975f0a23 Prepare for use in the new menu system 2025-08-04 18:26:08 +02:00
David Heinemeier Hansson
29f4ee3524 Removed by mistake 2025-08-04 18:25:05 +02:00
David Heinemeier Hansson
3acb5c2a83 Add setting up fingerprint too 2025-08-04 16:49:28 +02:00
David Heinemeier Hansson
8e1beac707 Link to the manual from here too 2025-08-04 16:46:44 +02:00
David Heinemeier Hansson
15d4ed80a9 Add command to update timezone too 2025-08-04 16:40:48 +02:00
David Heinemeier Hansson
575368e8c4 Migration to restart walker to pick up menu selections 2025-08-04 12:59:12 +02:00
David Heinemeier Hansson
fb5a56474d Allow filtering on all the walker menus 2025-08-04 12:58:32 +02:00
David Heinemeier Hansson
45b6d96be0 Allow the wide menu to be filtered 2025-08-04 12:55:05 +02:00
David Heinemeier Hansson
256ce145ba Better ordering 2025-08-04 12:50:09 +02:00
David Heinemeier Hansson
4c0d38616e Better grouping 2025-08-04 12:50:05 +02:00
David Heinemeier Hansson
02043fa631 Turn screensaver binding into a full cmd menu 2025-08-04 12:44:19 +02:00
David Heinemeier Hansson
d16c178eb4 Excess CR 2025-08-04 12:43:21 +02:00
David Heinemeier Hansson
5e092c92ce Migration to update update-available icon in the waybar 2025-08-04 12:19:17 +02:00
David Heinemeier Hansson
93980e6138 No backup if user config doesn't already exist 2025-08-04 12:17:42 +02:00
David Heinemeier Hansson
f223bbcb98 Use more conventional icon for "updates available" 2025-08-04 12:08:43 +02:00
David Heinemeier Hansson
7540bddee1 Toggle instead of stack hyprpicker 2025-08-04 11:54:04 +02:00
David Heinemeier Hansson
b358990a70 Set default size 2025-08-04 11:42:04 +02:00
David Heinemeier Hansson
9855693eb1 Position picture-in-picture windows correctly (closes #260)
Co-authored-by: @ElFitaFlores
2025-08-04 11:33:00 +02:00
David Heinemeier Hansson
1b650c2503 Merge pull request #479 from ryanrhughes/add-touchpad-gestures
Add touchpad gestures for Chromium
2025-08-04 11:18:53 +02:00
David Heinemeier Hansson
d518557b6f Merge pull request #482 from ryanrhughes/add-theme-colors-to-tui
Add appropriate colors to TUI
2025-08-04 11:17:55 +02:00
Ryan Hughes
92e62ac26d Add appropriate colors to tui 2025-08-04 02:00:06 -04:00
Ryan Hughes
6478f8b9f8 Add migration 2025-08-03 20:03:31 -04:00
Ryan Hughes
43d1b7304a Add touchpad gestures 2025-08-03 19:57:33 -04:00
David Heinemeier Hansson
1306085102 Merge pull request #471 from rmacklin/fix-timeout
Fix hypridle timeout to actually be 2.5min
2025-08-03 20:12:13 +02:00
David Heinemeier Hansson
755633cd95 Documentation 2025-08-03 20:07:46 +02:00
David Heinemeier Hansson
63179c7d80 Add format-drive function to wipe drives 2025-08-03 19:59:25 +02:00
Richard Macklin
5a29322bf8 Fix hypridle timeout to actually be 2.5min
The intent was for this to be 2.5 minutes but 180s is 3 minutes.
2025-08-03 10:23:08 -07:00
David Heinemeier Hansson
fc911e16e6 Add script to update hyprland itself
Nice if you don't make any adjustments yourself
2025-08-03 16:57:53 +02:00
886 changed files with 12419 additions and 3695 deletions

9
.editorconfig Normal file
View File

@@ -0,0 +1,9 @@
root = true
[*]
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8

24
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Bug
description: Report a validated bug -- NOT FOR SUPPORT REQUESTS
labels: [bug]
body:
- type: markdown
attributes:
value: |
Remember: Omarchy is an open source gift, not a product you bought from a vendor
- type: input
id: system-details
attributes:
label: System details
placeholder: e.g. AMD 9950X, NVIDIA 5090, Omarchy 2.1.0
validations:
required: true
- type: textarea
id: steps
attributes:
label: What's wrong?
description: Describe the issue, include steps to recreate it if possible, and attach the output of `omarchy-debug` if possible
validations:
required: true

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Suggestion
url: https://github.com/basecamp/omarchy/discussions/categories/suggestions
about: Suggest a new feature, change to existing feature, or other ideas in Discussions.
- name: Support
url: https://omarchy.org/discord
about: Need help? Join our Discord community for support with any issues. GitHub issues should be used for verified bugs only.

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,10 +1,9 @@
# Omarchy
Turn a fresh Arch installation into a fully-configured, beautiful, and modern web development system based on Hyprland by running a single command. That's the one-line pitch for Omarchy (like it was for Omakub). No need to write bespoke configs for every essential tool just to get started or to be up on all the latest command-line tools. Omarchy is an opinionated take on what Linux can be at its best.
Omarchy is a beautiful, modern & opinionated Linux distribution by DHH.
Read more at [omarchy.org](https://omarchy.org).
## License
Omarchy is released under the [MIT License](https://opensource.org/licenses/MIT).

View File

@@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Name=About
Comment=System information from Fastfetch
Exec=alacritty --class=About --title=About -e bash -c 'fastfetch; read -n 1 -s'
Terminal=false
Type=Application
Icon=Arch
Categories=GTK;
StartupNotify=false

View File

@@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Activity
Comment=System activity from btop
Exec=alacritty --class=Activity --title=Activity -e btop
Terminal=false
Type=Application
Icon=Activity
Categories=GTK;
StartupNotify=false

View File

@@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Docker
Comment=Manage Docker containers with LazyDocker
Exec=alacritty --class=Docker --title=Docker -e lazydocker
Terminal=false
Type=Application
Icon=Docker
Categories=GTK;
StartupNotify=false

View File

@@ -1,221 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Chromium
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Web Browser
GenericName[ar]=متصفح الشبكة
GenericName[bg]=Уеб браузър
GenericName[ca]=Navegador web
GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[gu]=વેબ બ્રાઉઝર
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=वेब ब्राउज़र
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=ウェブブラウザ
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
GenericName[ko]=웹 브라우저
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]=വെബ് ബ്രൌസര്‍
GenericName[mr]=वेब ब्राऊजर
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер
GenericName[sl]=Spletni brskalnik
GenericName[sv]=Webbläsare
GenericName[ta]=இணைய உலாவி
GenericName[th]=เว็บเบราว์เซอร์
GenericName[tr]=Web Tarayıcı
GenericName[uk]=Навігатор Тенет
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器
# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[fil]=Web Browser
GenericName[hr]=Web preglednik
GenericName[id]=Browser Web
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
GenericName[sk]=WWW prehliadač
GenericName[sr]=Интернет прегледник
GenericName[te]=మహాతల అన్వేషి
GenericName[vi]=Bộ duyệt Web
# Gnome and KDE 3 uses Comment.
Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت
Comment[bg]=Достъп до интернет
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
Comment[ca]=Accedeix a Internet
Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_GB]=Access the Internet
Comment[es]=Accede a Internet.
Comment[et]=Pääs Internetti
Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet
Comment[fr]=Accéder à Internet
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
Comment[he]=גישה אל האינטרנט
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
Comment[hr]=Pristup Internetu
Comment[hu]=Internetelérés
Comment[id]=Akses Internet
Comment[it]=Accesso a Internet
Comment[ja]=インターネットにアクセス
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
Comment[ko]=인터넷 연결
Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam
Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
Comment[nb]=Gå til Internett
Comment[nl]=Verbinding maken met internet
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету
Comment[sv]=Gå ut på Internet
Comment[ta]=இணையத்தை அணுகுதல்
Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి
Comment[th]=เข้าถึงอินเทอร์เน็ต
Comment[tr]=İnternet'e erişin
Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cập Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=/usr/bin/chromium --ozone-platform=wayland %U
StartupNotify=true
Terminal=false
Icon=chromium
Type=Application
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Name[am]=አዲስ መስኮት
Name[ar]=نافذة جديدة
Name[bg]=Нов прозорец
Name[bn]=নতুন উইন্ডো
Name[ca]=Finestra nova
Name[cs]=Nové okno
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[el]=Νέο Παράθυρο
Name[en_GB]=New Window
Name[es]=Nueva ventana
Name[et]=Uus aken
Name[fa]=پنجره جدید
Name[fi]=Uusi ikkuna
Name[fil]=New Window
Name[fr]=Nouvelle fenêtre
Name[gu]=નવી વિંડો
Name[hi]=नई विंडो
Name[hr]=Novi prozor
Name[hu]=Új ablak
Name[id]=Jendela Baru
Name[it]=Nuova finestra
Name[iw]=חלון חדש
Name[ja]=新規ウインドウ
Name[kn]=ಹೊಸ ವಿಂಡೊ
Name[ko]=새 창
Name[lt]=Naujas langas
Name[lv]=Jauns logs
Name[ml]=പുതിയ വിന്‍ഡോ
Name[mr]=नवीन विंडो
Name[nl]=Nieuw venster
Name[no]=Nytt vindu
Name[pl]=Nowe okno
Name[pt]=Nova janela
Name[pt_BR]=Nova janela
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[sr]=Нови прозор
Name[sv]=Nytt fönster
Name[sw]=Dirisha Jipya
Name[ta]=புதிய சாளரம்
Name[te]=క్రొత్త విండో
Name[th]=หน้าต่างใหม่
Name[tr]=Yeni Pencere
Name[uk]=Нове вікно
Name[vi]=Cửa sổ Mới
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=/usr/bin/chromium --ozone-platform=wayland --new-window
[Desktop Action new-private-window]
Name=New Incognito Window
Name[ar]=نافذة جديدة للتصفح المتخفي
Name[bg]=Нов прозорец „инкогнито“
Name[bn]=নতুন ছদ্মবেশী উইন্ডো
Name[ca]=Finestra d'incògnit nova
Name[cs]=Nové anonymní okno
Name[da]=Nyt inkognitovindue
Name[de]=Neues Inkognito-Fenster
Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση
Name[en_GB]=New Incognito window
Name[es]=Nueva ventana de incógnito
Name[et]=Uus inkognito aken
Name[fa]=پنجره جدید حالت ناشناس
Name[fi]=Uusi incognito-ikkuna
Name[fil]=Bagong Incognito window
Name[fr]=Nouvelle fenêtre de navigation privée
Name[gu]=નવી છુપી વિંડો
Name[hi]=नई गुप्त विंडो
Name[hr]=Novi anoniman prozor
Name[hu]=Új Inkognitóablak
Name[id]=Jendela Penyamaran baru
Name[it]=Nuova finestra di navigazione in incognito
Name[iw]=חלון חדש לגלישה בסתר
Name[ja]=新しいシークレット ウィンドウ
Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ
Name[ko]=새 시크릿 창
Name[lt]=Naujas inkognito langas
Name[lv]=Jauns inkognito režīma logs
Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ
Name[mr]=नवीन गुप्त विंडो
Name[nl]=Nieuw incognitovenster
Name[no]=Nytt inkognitovindu
Name[pl]=Nowe okno incognito
Name[pt]=Nova janela de navegação anónima
Name[pt_BR]=Nova janela anônima
Name[ro]=Fereastră nouă incognito
Name[ru]=Новое окно в режиме инкогнито
Name[sk]=Nové okno inkognito
Name[sl]=Novo okno brez beleženja zgodovine
Name[sr]=Нови прозор за прегледање без архивирања
Name[sv]=Nytt inkognitofönster
Name[ta]=புதிய மறைநிலைச் சாளரம்
Name[te]=క్రొత్త అజ్ఞాత విండో
Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน
Name[tr]=Yeni Gizli pencere
Name[uk]=Нове вікно в режимі анонімного перегляду
Name[vi]=Cửa sổ ẩn danh mới
Name[zh_CN]=新建隐身窗口
Name[zh_TW]=新增無痕式視窗
Exec=/usr/bin/chromium --ozone-platform=wayland --new-window --incognito

View File

@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true

View File

@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true

View File

@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true

View File

@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true

View File

@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true

View File

@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
applications/icons/HEY.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
applications/icons/X.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
applications/icons/Zoom.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -1,12 +0,0 @@
[Desktop Entry]
Name=Neovim
GenericName=Text Editor
Comment=Edit text files
Exec=alacritty --class=nvim --title=nvim -e nvim -- %F
Terminal=false
Type=Application
Keywords=Text;editor;
Icon=nvim
Categories=Utility;TextEditor;
StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;

View File

@@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Omarchy
Comment=Omarchy TUI
Exec=alacritty --class=Omarchy --title=Omarchy -e bash -c '$HOME/.local/share/omarchy/bin/omarchy'
Icon=Arch
Terminal=false
Categories=System;Utility;
StartupNotify=false

View File

@@ -1,7 +0,0 @@
[Desktop Entry]
Name=Audio Settings
Comment=Using Wiremix
Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix
Icon=audio-card
Type=Application
Terminal=false

View File

@@ -1,12 +0,0 @@
[Desktop Entry]
Name=Zoom
Comment=Zoom Video Conference
Exec=env QT_SCALE_FACTOR=2 /usr/bin/zoom %U
Icon=Zoom
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
StartupWMClass=zoom
MimeType=x-scheme-handler/zoommtg;x-scheme-handler/zoomus;x-scheme-handler/tel;x-scheme-handler/callto;x-scheme-handler/zoomphonecall;x-scheme-handler/zoomphonesms;x-scheme-handler/zoomcontactcentercall;application/x-zoom
X-KDE-Protocols=zoommtg;zoomus;tel;callto;zoomphonecall;zoomphonesms;zoomcontactcentercall;

View File

@@ -1,132 +0,0 @@
#!/bin/bash
OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null)
PATH="$PATH:$HOME/.local/share/omarchy/bin"
show_ascii_art() {
clear
tte -i ~/.local/share/omarchy/logo.txt --frame-rate 640 --no-color expand
echo " $OMARCHY_VERSION"
}
main_menu() {
show_ascii_art
local options=("Theme" "Font" "Setup" "Update" "Manual" "Exit")
choice=$(printf "%s\n" "${options[@]}" | gum choose --header "") || exit 0
case "$choice" in
Theme) theme_menu ;;
Font)
omarchy-font-menu
ack_command
main_menu
;;
Update)
omarchy-update
main_menu
;;
Setup) setup_menu ;;
Manual) open_manual ;;
Exit) clear && exit 0 ;;
esac
}
theme_menu() {
show_ascii_art
local menu=("Pick" "Install" "Update" "Remove" "Back")
local commands=(
"omarchy-theme-menu"
"install_theme_prompt"
"omarchy-theme-update"
"remove_theme_prompt"
"main_menu"
)
local choice
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Theme") || main_menu
for i in "${!menu[@]}"; do
if [[ "${menu[$i]}" == "$choice" ]]; then
if [[ "$choice" == "Back" ]]; then
main_menu
else
eval "${commands[$i]}"
ack_command
main_menu
fi
break
fi
done
}
install_theme_prompt() {
local url
url=$(gum input --placeholder="Git repo URL for theme" --header="")
if [[ -n "$url" ]]; then
omarchy-theme-install "$url"
fi
theme_menu
}
remove_theme_prompt() {
local theme
theme=$(gum input --placeholder="Theme name" --header="")
if [[ -n "$theme" ]]; then
omarchy-theme-remove "$theme"
fi
theme_menu
}
setup_menu() {
show_ascii_art
local menu=("Dropbox" "Steam" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back")
local commands=(
"omarchy-setup-dropbox"
"omarchy-setup-steam"
"setup_docker_dbs"
"omarchy-setup-fingerprint"
"omarchy-setup-fido2"
"main_menu"
)
local choice
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Setup") || main_menu
for i in "${!menu[@]}"; do
if [[ "${menu[$i]}" == "$choice" ]]; then
if [[ "$choice" == "Back" ]]; then
main_menu
else
eval "${commands[$i]}"
ack_command
main_menu
fi
break
fi
done
}
setup_docker_dbs() {
options=("MariaDB" "MySQL" "Redis" "PostgreSQL")
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
if [[ -n "$choices" ]]; then
for db in $choices; do
case $db in
MySQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8.4 ;;
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres16 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:16 ;;
MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;;
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
esac
done
fi
main_menu
}
open_manual() {
setsid chromium --new-window --ozone-platform=wayland --app="https://manuals.omamix.org/2/the-omarchy-manual" >/dev/null 2>&1 &
clear
}
ack_command() {
gum spin --spinner "globe" --title "Done!" -- sleep 1
}
main_menu

View File

@@ -4,27 +4,20 @@
BATTERY_THRESHOLD=10
NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified"
get_battery_percentage() {
upower -i $(upower -e | grep 'BAT') | grep -E "percentage" | grep -o '[0-9]\+%' | sed 's/%//'
}
get_battery_state() {
upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}'
}
BATTERY_LEVEL=$(omarchy-battery-remaining)
BATTERY_STATE=$(upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}')
send_notification() {
notify-send -u critical "󱐋 Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000
}
BATTERY_LEVEL=$(get_battery_percentage)
BATTERY_STATE=$(get_battery_state)
if [[ "$BATTERY_STATE" == "discharging" && "$BATTERY_LEVEL" -le "$BATTERY_THRESHOLD" ]]; then
if [[ ! -f "$NOTIFICATION_FLAG" ]]; then
send_notification "$BATTERY_LEVEL"
touch "$NOTIFICATION_FLAG"
if [[ -n "$BATTERY_LEVEL" && "$BATTERY_LEVEL" =~ ^[0-9]+$ ]]; then
if [[ $BATTERY_STATE == "discharging" && $BATTERY_LEVEL -le $BATTERY_THRESHOLD ]]; then
if [[ ! -f $NOTIFICATION_FLAG ]]; then
send_notification $BATTERY_LEVEL
touch $NOTIFICATION_FLAG
fi
else
rm -f $NOTIFICATION_FLAG
fi
else
rm -f "$NOTIFICATION_FLAG"
fi

13
bin/omarchy-battery-present Executable file
View File

@@ -0,0 +1,13 @@
#!/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
[[ -r "$bat/present" ]] &&
[[ "$(cat "$bat/present")" == "1" ]] &&
[[ "$(cat "$bat/type")" == "Battery" ]] &&
exit 0
done
exit 1

12
bin/omarchy-battery-remaining Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Returns the battery percentage remaining as an integer.
# Used by the battery monitor and the Ctrl + Shift + Super + B hotkey.
upower -i $(upower -e | grep BAT) \
| awk -F: '/percentage/ {
gsub(/[%[:space:]]/, "", $2);
val=$2;
printf("%d\n", (val+0.5))
exit
}'

17
bin/omarchy-branch-set Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Set the branch for Omarchy's git repository.
if (($# == 0)); then
echo "Usage: omarchy-branch-set [master|rc|dev]"
exit 1
else
branch="$1"
fi
if [[ "$branch" != "master" && "$branch" != "rc" && "$branch" != "dev" ]]; then
echo "Error: Invalid branch '$branch'. Must be one of: master, rc, dev"
exit 1
fi
git -C $OMARCHY_PATH switch $branch

21
bin/omarchy-brightness-display Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
# Adjust brightness on the most likely display device.
# Usage: omarchy-brightness-display <step>
step="${1:-+5%}"
# Start with the first possible output, then refine to the most likely given an order heuristic.
device="$(ls -1 /sys/class/backlight 2>/dev/null | head -n1)"
for candidate in amdgpu_bl* intel_backlight acpi_video*; do
if [[ -e "/sys/class/backlight/$candidate" ]]; then
device="$candidate"
break
fi
done
# Set the actual brightness of the display device.
brightnessctl -d "$device" set "$step" >/dev/null
# Use SwayOSD to display the new brightness setting.
omarchy-swayosd-brightness "$(brightnessctl -d "$device" -m | cut -d',' -f4 | tr -d '%')"

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Adjust the brightness on Apple Studio Displays and Apple XDR Displays using asdcontrol.
if [[ $# -eq 0 ]]; then
echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)"
else
device="$(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1)"
sudo asdcontrol "$device" -- "$1" >/dev/null
value="$(sudo asdcontrol "$device" | awk -F= '/BRIGHTNESS=/{print $2+0}')"
omarchy-swayosd-brightness "$(( value * 100 / 60000 ))"
fi

40
bin/omarchy-brightness-keyboard Executable file
View File

@@ -0,0 +1,40 @@
#!/bin/bash
# Adjust keyboard backlight brightness using available steps.
# Usage: omarchy-brightness-keyboard <up|down>
direction="${1:-up}"
# Find keyboard backlight device (look for *kbd_backlight* pattern in leds class).
device=""
for candidate in /sys/class/leds/*kbd_backlight*; do
if [[ -e "$candidate" ]]; then
device="$(basename "$candidate")"
break
fi
done
if [[ -z "$device" ]]; then
echo "No keyboard backlight device found" >&2
exit 1
fi
# Get current and max brightness to determine step size.
max_brightness="$(brightnessctl -d "$device" max)"
current_brightness="$(brightnessctl -d "$device" get)"
# Calculate step as one unit (keyboards typically have discrete levels like 0-3).
if [[ "$direction" == "up" ]]; then
new_brightness=$((current_brightness + 1))
[[ $new_brightness -gt $max_brightness ]] && new_brightness=$max_brightness
else
new_brightness=$((current_brightness - 1))
[[ $new_brightness -lt 0 ]] && new_brightness=0
fi
# Set the new brightness.
brightnessctl -d "$device" set "$new_brightness" >/dev/null
# Use SwayOSD to display the new brightness setting.
percent=$((new_brightness * 100 / max_brightness))
omarchy-swayosd-brightness "$percent"

31
bin/omarchy-channel-set Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# Set the Omarchy channel, which dictates what git branch and package repository is used.
#
# Stable uses the master branch, which only sees updates on official releases, and
# the stable package repository, which typically lags the edge by a month to ensure
# better compatibility.
#
# Edge tracks the latest package repository, but still relies on the master branch,
# so new packages which require config changes may cause conflicts or errors.
#
# Dev tracks the active development dev branch, which may include partial or broken updates,
# as well as the latest package repository. This should only be used by Omarchy developers
# and people with a lot of experience managing Linux systems.
if (($# == 0)); then
echo "Usage: omarchy-channel-set [stable|rc|edge|dev]"
exit 1
else
channel="$1"
fi
case "$channel" in
"stable") omarchy-branch-set "master" && omarchy-refresh-pacman "stable" && sudo pacman -Suu --noconfirm ;;
"rc") omarchy-branch-set "rc" && omarchy-refresh-pacman "rc" && sudo pacman -Suu --noconfirm ;;
"edge") omarchy-branch-set "master" && omarchy-refresh-pacman "edge" ;;
"dev") omarchy-branch-set "dev" && omarchy-refresh-pacman "edge" ;;
*) echo "Unknown channel: $channel"; exit 1; ;;
esac
omarchy-update -y

View File

@@ -1,7 +0,0 @@
#!/bin/bash
if [[ $# -eq 0 ]]; then
echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)"
else
sudo asdcontrol $(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1) -- "$1"
fi

58
bin/omarchy-cmd-audio-switch Executable file
View File

@@ -0,0 +1,58 @@
#!/bin/bash
# Switch between audio outputs while preserving the mute status. By default mapped to Super + Mute.
focused_monitor="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
sinks=$(pactl -f json list sinks | jq '[.[] | select((.ports | length == 0) or ([.ports[]? | .availability != "not available"] | any))]')
sinks_count=$(echo "$sinks" | jq '. | length')
if [ "$sinks_count" -eq 0 ]; then
swayosd-client \
--monitor "$focused_monitor" \
--custom-message "No audio devices found"
exit 1
fi
current_sink_name=$(pactl get-default-sink)
current_sink_index=$(echo "$sinks" | jq -r --arg name "$current_sink_name" 'map(.name) | index($name)')
if [ "$current_sink_index" != "null" ]; then
next_sink_index=$(((current_sink_index + 1) % sinks_count))
else
next_sink_index=0
fi
next_sink=$(echo "$sinks" | jq -r ".[$next_sink_index]")
next_sink_name=$(echo "$next_sink" | jq -r '.name')
next_sink_description=$(echo "$next_sink" | jq -r '.description')
if [ "$next_sink_description" = "(null)" ] || [ "$next_sink_description" = "null" ] || [ -z "$next_sink_description" ]; then
sink_id=$(echo "$next_sink" | jq -r '.properties."object.id"')
next_sink_description=$(wpctl status | grep -E "\s+\*?\s+${sink_id}\." | sed -E 's/^.*[0-9]+\.\s+//' | sed -E 's/\s+\[.*$//')
fi
next_sink_volume=$(echo "$next_sink" | jq -r \
'.volume | to_entries[0].value.value_percent | sub("%"; "")')
next_sink_is_muted=$(echo "$next_sink" | jq -r '.mute')
if [ "$next_sink_is_muted" = "true" ] || [ "$next_sink_volume" -eq 0 ]; then
icon_state="muted"
elif [ "$next_sink_volume" -le 33 ]; then
icon_state="low"
elif [ "$next_sink_volume" -le 66 ]; then
icon_state="medium"
else
icon_state="high"
fi
next_sink_volume_icon="sink-volume-${icon_state}-symbolic"
if [ "$next_sink_name" != "$current_sink_name" ]; then
pactl set-default-sink "$next_sink_name"
fi
swayosd-client \
--monitor "$focused_monitor" \
--custom-message "$next_sink_description" \
--custom-icon "$next_sink_volume_icon"

22
bin/omarchy-cmd-first-run Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
# Finish the installation of Omarchy with items that can only be done after logging in.
set -e
FIRST_RUN_MODE=~/.local/state/omarchy/first-run.mode
if [[ -f "$FIRST_RUN_MODE" ]]; then
rm -f "$FIRST_RUN_MODE"
bash "$OMARCHY_PATH/install/first-run/battery-monitor.sh"
bash "$OMARCHY_PATH/install/first-run/cleanup-reboot-sudoers.sh"
bash "$OMARCHY_PATH/install/first-run/firewall.sh"
bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh"
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
sudo rm -f /etc/sudoers.d/first-run
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
fi

11
bin/omarchy-cmd-missing Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# Returns true if any of the commands passed in as arguments are missing on the system.
for cmd in "$@"; do
if ! command -v "$cmd" &>/dev/null; then
exit 0
fi
done
exit 1

9
bin/omarchy-cmd-present Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Returns true if all the commands passed in as arguments exit on the system.
for cmd in "$@"; do
command -v "$cmd" &>/dev/null || exit 1
done
exit 0

13
bin/omarchy-cmd-reboot Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Reboot command that first closes all application windows (thus giving them a chance to save state).
# This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly.
omarchy-state clear re*-required
# Schedule the reboot to happen after closing windows (detached from terminal)
nohup bash -c "sleep 2 && systemctl reboot --no-wall" >/dev/null 2>&1 &
# Now close all windows
omarchy-hyprland-window-close-all
sleep 1 # Allow apps like Chrome to shutdown correctly

View File

@@ -1,6 +1,7 @@
#!/bin/bash
# Set recorder based on GPU
# Start and stop a screenrecording, which will be saved to ~/Videos by default.
# Alternative location can be set via OMARCHY_SCREENRECORD_DIR or XDG_VIDEOS_DIR ENVs.
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-${XDG_VIDEOS_DIR:-$HOME/Videos}}"
@@ -10,25 +11,124 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then
exit 1
fi
screenrecording() {
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
notify-send "Screen recording starting..." -t 1000
sleep 1
DESKTOP_AUDIO="false"
MICROPHONE_AUDIO="false"
WEBCAM="false"
WEBCAM_DEVICE=""
STOP_RECORDING="false"
if lspci | grep -qi 'nvidia'; then
wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
else
wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@"
fi
for arg in "$@"; do
case "$arg" in
--with-desktop-audio) DESKTOP_AUDIO="true" ;;
--with-microphone-audio) MICROPHONE_AUDIO="true" ;;
--with-webcam) WEBCAM="true" ;;
--webcam-device=*) WEBCAM_DEVICE="${arg#*=}" ;;
--stop-recording) STOP_RECORDING="true"
esac
done
cleanup_webcam() {
pkill -f "WebcamOverlay" 2>/dev/null
}
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
pkill -x wl-screenrec
pkill -x wf-recorder
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
elif [[ "$1" == "output" ]]; then
screenrecording
start_webcam_overlay() {
cleanup_webcam
# Auto-detect first available webcam if none specified
if [[ -z "$WEBCAM_DEVICE" ]]; then
WEBCAM_DEVICE=$(v4l2-ctl --list-devices 2>/dev/null | grep -m1 "^\s*/dev/video" | tr -d '\t')
if [[ -z "$WEBCAM_DEVICE" ]]; then
notify-send "No webcam devices found" -u critical -t 3000
return 1
fi
fi
# Get monitor scale
local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')
# Target width (base 360px, scaled to monitor)
local target_width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}")
# Try preferred 16:9 resolutions in order, use first available
local preferred_resolutions=("640x360" "1280x720" "1920x1080")
local video_size_arg=""
local available_formats=$(v4l2-ctl --list-formats-ext -d "$WEBCAM_DEVICE" 2>/dev/null)
for resolution in "${preferred_resolutions[@]}"; do
if echo "$available_formats" | grep -q "$resolution"; then
video_size_arg="-video_size $resolution"
break
fi
done
ffplay -f v4l2 $video_size_arg -framerate 30 "$WEBCAM_DEVICE" \
-vf "scale=${target_width}:-1" \
-window_title "WebcamOverlay" \
-noborder \
-fflags nobuffer -flags low_delay \
-probesize 32 -analyzeduration 0 \
-loglevel quiet &
sleep 1
}
start_screenrecording() {
local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
local audio_devices=""
local audio_args=""
[[ "$DESKTOP_AUDIO" == "true" ]] && audio_devices+="default_output"
if [[ "$MICROPHONE_AUDIO" == "true" ]]; then
# Merge audio tracks into one - separate tracks only play one at a time in most players
[[ -n "$audio_devices" ]] && audio_devices+="|"
audio_devices+="default_input"
fi
[[ -n "$audio_devices" ]] && audio_args+="-a $audio_devices"
gpu-screen-recorder -w portal -f 60 -fallback-cpu-encoding yes -o "$filename" $audio_args -ac aac &
toggle_screenrecording_indicator
}
stop_screenrecording() {
pkill -SIGINT -f "^gpu-screen-recorder" # SIGINT required to save video properly
# Wait a maximum of 5 seconds to finish before hard killing
local count=0
while pgrep -f "^gpu-screen-recorder" >/dev/null && [ $count -lt 50 ]; do
sleep 0.1
count=$((count + 1))
done
if pgrep -f "^gpu-screen-recorder" >/dev/null; then
pkill -9 -f "^gpu-screen-recorder"
cleanup_webcam
notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000
else
cleanup_webcam
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
fi
toggle_screenrecording_indicator
}
toggle_screenrecording_indicator() {
pkill -RTMIN+8 waybar
}
screenrecording_active() {
pgrep -f "^gpu-screen-recorder" >/dev/null || pgrep -f "WebcamOverlay" >/dev/null
}
if screenrecording_active; then
if pgrep -f "WebcamOverlay" >/dev/null && ! pgrep -f "^gpu-screen-recorder" >/dev/null; then
cleanup_webcam
else
stop_screenrecording
fi
elif [[ "$STOP_RECORDING" == "false" ]]; then
[[ "$WEBCAM" == "true" ]] && start_webcam_overlay
start_screenrecording || cleanup_webcam
else
region=$(slurp) || exit 1
screenrecording -g "$region"
exit 1
fi

View File

@@ -1,20 +1,36 @@
#!/bin/bash
if command -v tte &>/dev/null; then
while true; do
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
tte -i ~/.local/share/omarchy/logo.txt \
--frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 2)) --anchor-canvas c --anchor-text c \
"$effect" &
# Run the Omarchy screensaver using random effects from TTE.
while pgrep tte >/dev/null; do
if read -n 1 -t 0.01; then
pkill tte 2>/dev/null
pkill -f "alacritty --class Screensaver" 2>/dev/null
exit 0
fi
done
screensaver_in_focus() {
hyprctl activewindow -j | jq -e '.class == "org.omarchy.screensaver"' >/dev/null 2>&1
}
exit_screensaver() {
hyprctl keyword cursor:invisible false &>/dev/null || true
pkill -x tte 2>/dev/null
pkill -f org.omarchy.screensaver 2>/dev/null
exit 0
}
# Exit the screensaver on signals and input from keyboard and mouse
trap exit_screensaver SIGINT SIGTERM SIGHUP SIGQUIT
printf '\033]11;rgb:00/00/00\007' # Set background color to black
hyprctl keyword cursor:invisible true &>/dev/null
tty=$(tty 2>/dev/null)
while true; do
tte -i ~/.config/omarchy/branding/screensaver.txt \
--frame-rate 120 --canvas-width 0 --canvas-height 0 --reuse-canvas --anchor-canvas c --anchor-text c\
--random-effect --exclude-effects dev_worm \
--no-eol --no-restore-cursor &
while pgrep -t "${tty#/dev/}" -x tte >/dev/null; do
if read -n1 -t 1 || ! screensaver_in_focus; then
exit_screensaver
fi
done
else
gum spin --title "Can't find tte. Try: pip install terminaltexteffects" -- sleep 2
fi
done

View File

@@ -1,5 +1,8 @@
#!/bin/bash
# Take a screenshot of the whole screen, a specific window, or a user-drawn region.
# Saves to ~/Pictures by default, but that can be changed via OMARCHY_SCREENSHOT_DIR or XDG_PICTURES_DIR ENVs.
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-${XDG_PICTURES_DIR:-$HOME/Pictures}}"
@@ -8,10 +11,76 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then
exit 1
fi
pkill slurp || hyprshot -m ${1:-region} --raw |
pkill slurp && exit 0
MODE="${1:-smart}"
PROCESSING="${2:-slurp}"
get_rectangles() {
local active_workspace=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .activeWorkspace.id')
hyprctl monitors -j | jq -r --arg ws "$active_workspace" '.[] | select(.activeWorkspace.id == ($ws | tonumber)) | "\(.x),\(.y) \((.width / .scale) | floor)x\((.height / .scale) | floor)"'
hyprctl clients -j | jq -r --arg ws "$active_workspace" '.[] | select(.workspace.id == ($ws | tonumber)) | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"'
}
# Select based on mode
case "$MODE" in
region)
wayfreeze & PID=$!
sleep .1
SELECTION=$(slurp 2>/dev/null)
kill $PID 2>/dev/null
;;
windows)
wayfreeze & PID=$!
sleep .1
SELECTION=$(get_rectangles | slurp -r 2>/dev/null)
kill $PID 2>/dev/null
;;
fullscreen)
SELECTION=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | "\(.x),\(.y) \((.width / .scale) | floor)x\((.height / .scale) | floor)"')
;;
smart|*)
RECTS=$(get_rectangles)
wayfreeze & PID=$!
sleep .1
SELECTION=$(echo "$RECTS" | slurp 2>/dev/null)
kill $PID 2>/dev/null
# If the selction area is L * W < 20, we'll assume you were trying to select whichever
# window or output it was inside of to prevent accidental 2px snapshots
if [[ "$SELECTION" =~ ^([0-9]+),([0-9]+)[[:space:]]([0-9]+)x([0-9]+)$ ]]; then
if (( ${BASH_REMATCH[3]} * ${BASH_REMATCH[4]} < 20 )); then
click_x="${BASH_REMATCH[1]}"
click_y="${BASH_REMATCH[2]}"
while IFS= read -r rect; do
if [[ "$rect" =~ ^([0-9]+),([0-9]+)[[:space:]]([0-9]+)x([0-9]+) ]]; then
rect_x="${BASH_REMATCH[1]}"
rect_y="${BASH_REMATCH[2]}"
rect_width="${BASH_REMATCH[3]}"
rect_height="${BASH_REMATCH[4]}"
if (( click_x >= rect_x && click_x < rect_x+rect_width && click_y >= rect_y && click_y < rect_y+rect_height )); then
SELECTION="${rect_x},${rect_y} ${rect_width}x${rect_height}"
break
fi
fi
done <<< "$RECTS"
fi
fi
;;
esac
[ -z "$SELECTION" ] && exit 0
if [[ $PROCESSING == "slurp" ]]; then
grim -g "$SELECTION" - |
satty --filename - \
--output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \
--early-exit \
--actions-on-enter save-to-clipboard \
--save-after-copy \
--copy-command 'wl-copy'
else
grim -g "$SELECTION" - | wl-copy
fi

46
bin/omarchy-cmd-share Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# Share clipboard, file, or folder using LocalSend. Bound to Super + Ctrl + S by default.
if (($# == 0)); then
echo "Usage: omarchy-cmd-share [clipboard|file|folder]"
exit 1
fi
MODE="$1"
shift
if [[ $MODE == "clipboard" ]]; then
TEMP_FILE=$(mktemp --suffix=.txt)
wl-paste >"$TEMP_FILE"
FILES="$TEMP_FILE"
else
if (($# > 0)); then
FILES="$*"
else
if [[ $MODE == "folder" ]]; then
# Pick a single folder from home directory
FILES=$(find "$HOME" -type d 2>/dev/null | fzf)
else
# Pick one or more files from home directory
FILES=$(find "$HOME" -type f 2>/dev/null | fzf --multi)
fi
[ -z "$FILES" ] && exit 0
fi
fi
# Run LocalSend in its own systemd service (detached from terminal)
# Convert newline-separated files to space-separated arguments
if [[ $MODE != "clipboard" ]] && echo "$FILES" | grep -q $'\n'; then
# Multiple files selected - convert newlines to array
readarray -t FILE_ARRAY <<<"$FILES"
systemd-run --user --quiet --collect localsend --headless send "${FILE_ARRAY[@]}"
else
# Single file or clipboard mode
systemd-run --user --quiet --collect localsend --headless send "$FILES"
fi
# Note: Temporary file will remain until system cleanup for clipboard mode
# This ensures the file content is available for the LocalSend GUI
exit 0

13
bin/omarchy-cmd-shutdown Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Shutdown command that first closes all application windows (thus giving them a chance to save state).
# This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly.
omarchy-state clear re*-required
# Schedule the shutdown to happen after closing windows (detached from terminal)
nohup bash -c "sleep 2 && systemctl poweroff --no-wall" >/dev/null 2>&1 &
# Now close all windows
omarchy-hyprland-window-close-all
sleep 1 # Allow apps like Chrome to shutdown correctly

22
bin/omarchy-cmd-terminal-cwd Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
# Returns the current working directory of the active terminal window,
# so a new terminal window can be started in the same directory.
# Go from current active terminal to its child shell process and run cwd there
terminal_pid=$(hyprctl activewindow | awk '/pid:/ {print $2}')
shell_pid=$(pgrep -P "$terminal_pid" | tail -n1)
if [[ -n $shell_pid ]]; then
cwd=$(readlink -f "/proc/$shell_pid/cwd" 2>/dev/null)
shell=$(readlink -f "/proc/$shell_pid/exe" 2>/dev/null)
# Check if $shell is a valid shell and $cwd is a directory.
if grep -qs "$shell" /etc/shells && [[ -d $cwd ]]; then
echo "$cwd"
else
echo "$HOME"
fi
else
echo "$HOME"
fi

View File

@@ -1,5 +0,0 @@
#!/bin/bash
sudo tzupdate
new_timezone=$(timedatectl show -p Timezone --value)
notify-send "Timezone has been set to $new_timezone"

95
bin/omarchy-debug Executable file
View File

@@ -0,0 +1,95 @@
#!/bin/bash
# Return exhaustive debugging information about the system to help diagnose problems.
NO_SUDO=false
PRINT_ONLY=false
while [[ $# -gt 0 ]]; do
case "$1" in
--no-sudo)
NO_SUDO=true
shift
;;
--print)
PRINT_ONLY=true
shift
;;
*)
echo "Unknown option: $1"
echo "Usage: omarchy-debug [--no-sudo] [--print]"
exit 1
;;
esac
done
LOG_FILE="/tmp/omarchy-debug.log"
if [ "$NO_SUDO" = true ]; then
DMESG_OUTPUT="(skipped - --no-sudo flag used)"
else
DMESG_OUTPUT="$(sudo dmesg)"
fi
cat > "$LOG_FILE" <<EOF
Date: $(date)
Hostname: $(hostname)
Omarchy Branch: $(git -C "$OMARCHY_PATH" branch --show-current 2>/dev/null || echo "unknown")
=========================================
SYSTEM INFORMATION
=========================================
$(inxi -Farz)
=========================================
DMESG
=========================================
$DMESG_OUTPUT
=========================================
JOURNALCTL (CURRENT BOOT, ERRORS ONLY)
=========================================
$(journalctl -b -p 4..1)
=========================================
INSTALLED PACKAGES
=========================================
$({ expac -S '%n %v (%r)' $(pacman -Qqe) 2>/dev/null; comm -13 <(pacman -Sql | sort) <(pacman -Qqe | sort) | xargs -r expac -Q '%n %v (AUR)'; } | sort)
EOF
if [ "$PRINT_ONLY" = true ]; then
cat "$LOG_FILE"
exit 0
fi
OPTIONS=("View log" "Save in current directory")
if ping -c 1 8.8.8.8 >/dev/null 2>&1; then
OPTIONS=("Upload log" "${OPTIONS[@]}")
fi
ACTION=$(gum choose "${OPTIONS[@]}")
case "$ACTION" in
"Upload log")
echo "Uploading debug log to 0x0.st..."
URL=$(curl -sF "file=@$LOG_FILE" -Fexpires=24 https://0x0.st)
if [ $? -eq 0 ] && [ -n "$URL" ]; then
echo "✓ Log uploaded successfully!"
echo "Share this URL:"
echo ""
echo " $URL"
echo ""
echo "This link will expire in 24 hours."
else
echo "Error: Failed to upload log file"
exit 1
fi
;;
"View log")
less "$LOG_FILE"
;;
"Save in current directory")
cp "$LOG_FILE" "./omarchy-debug.log"
echo "✓ Log saved to $(pwd)/omarchy-debug.log"
;;
esac

View File

@@ -1,7 +1,14 @@
#!/bin/bash
# Creates a new Omarchy migration named after the unix timestamp of the last commit.
# Only intended for Omarchy developers.
cd ~/.local/share/omarchy
migration_file="$HOME/.local/share/omarchy/migrations/$(git log -1 --format=%cd --date=unix).sh"
touch $migration_file
nvim $migration_file
echo -e "Run with:\nsource $migration_file"
if [[ "$1" != "--no-edit" ]]; then
nvim $migration_file
fi
echo $migration_file

29
bin/omarchy-drive-info Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# Returns drive information about a given volumne, like /dev/nvme0, which is used by omarchy-drive-select.
if (($# == 0)); then
echo "Usage: omarchy-drive-info [/dev/drive]"
exit 1
else
drive="$1"
fi
# Find the root drive in case we are looking at partitions
root_drive=$(lsblk -no PKNAME "$drive" 2>/dev/null | tail -n1)
if [[ -n "$root_drive" ]]; then
root_drive="/dev/$root_drive"
else
root_drive="$drive"
fi
# Get basic disk information
size=$(lsblk -dno SIZE "$drive" 2>/dev/null)
model=$(lsblk -dno MODEL "$root_drive" 2>/dev/null)
# Format display string
display="$drive"
[[ -n "$size" ]] && display="$display ($size)"
[[ -n "$model" ]] && display="$display - $model"
echo "$display"

18
bin/omarchy-drive-select Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Select a drive from a list with info that includes space and brand. Used by omarchy-drive-set-password.
if (($# == 0)); then
drives=$(lsblk -dpno NAME | grep -E '/dev/(sd|hd|vd|nvme|mmcblk|xv)')
else
drives="$@"
fi
drives_with_info=""
while IFS= read -r drive; do
[[ -n "$drive" ]] || continue
drives_with_info+="$(omarchy-drive-info "$drive")"$'\n'
done <<<"$drives"
selected_drive="$(printf "%s" "$drives_with_info" | gum choose --header "Select drive")" || exit 1
printf "%s\n" "$selected_drive" | awk '{print $1}'

23
bin/omarchy-drive-set-password Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
# Set a new encryption password for a drive selected.
encrypted_drives=$(blkid -t TYPE=crypto_LUKS -o device)
if [[ -n $encrypted_drives ]]; then
if [[ $(wc -l <<<"$encrypted_drives") -eq 1 ]]; then
drive_to_change="$encrypted_drives"
else
drive_to_change="$(omarchy-drive-select "$encrypted_drives")"
fi
if [[ -n $drive_to_change ]]; then
echo "Changing full-disk encryption password for $drive_to_change"
sudo cryptsetup luksChangeKey --pbkdf argon2id --iter-time 2000 "$drive_to_change"
else
echo "No drive selected."
fi
else
echo "No encrypted drives available."
exit 1
fi

6
bin/omarchy-font-current Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# Returns the name of the current monospace font being used by extracting it from the Waybar stylesheet.
# This can be changed using omarchy-font-set.
grep -oP 'font-family:\s*["'\'']?\K[^;"'\'']+' ~/.config/waybar/style.css | head -n1

5
bin/omarchy-font-list Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
# Returns a list of all the monospace fonts available on the system that can be set using omarchy-font-set.
fc-list :spacing=100 -f "%{family[0]}\n" | grep -v -i -E 'emoji|signwriting|omarchy' | sort -u

View File

@@ -1,12 +0,0 @@
#!/bin/bash
font=$(
fc-list :spacing=100 -f "%{family[0]}\n" |
grep -v -i -E 'emoji|signwriting' |
sort -u |
gum choose --header "Choose terminal font"
)
if [[ -n "$font" ]]; then
sed -i "s/family = \".*\"/family = \"$font\"/g" ~/.config/alacritty/alacritty.toml
fi

46
bin/omarchy-font-set Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# Set the system-wide monospace font that should be used by the terminal, hyprlock, waybar, swayosd, etc.
# The font name must be one of the ones returned by omarchy-font-list.
font_name="$1"
if [[ -n "$font_name" ]]; then
if fc-list | grep -iq "$font_name"; then
if [[ -f ~/.config/alacritty/alacritty.toml ]]; then
sed -i "s/family = \".*\"/family = \"$font_name\"/g" ~/.config/alacritty/alacritty.toml
fi
if [[ -f ~/.config/kitty/kitty.conf ]]; then
sed -i "s/^font_family .*/font_family $font_name/g" ~/.config/kitty/kitty.conf
pkill -USR1 kitty
fi
if [[ -f ~/.config/ghostty/config ]]; then
sed -i "s/font-family = \".*\"/font-family = \"$font_name\"/g" ~/.config/ghostty/config
pkill -SIGUSR2 ghostty
fi
sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css
xmlstarlet ed -L \
-u '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/string' \
-v "$font_name" \
~/.config/fontconfig/fonts.conf
omarchy-restart-waybar
omarchy-restart-swayosd
if pgrep -x ghostty; then
notify-send " You must restart Ghostty to see font change"
fi
omarchy-hook font-set "$font_name"
else
echo "Font '$font_name' not found."
exit 1
fi
else
echo "Usage: omarchy-font-set <font-name>"
fi

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Check if hibernation is supported
if [[ ! -f /sys/power/image_size ]]; then
exit 1
fi
# Sum all swap sizes (excluding zram)
SWAPSIZE_KB=$(awk '!/Filename|zram/ {sum += $3} END {print sum+0}' /proc/swaps)
SWAPSIZE=$(( 1024 * ${SWAPSIZE_KB:-0} ))
HIBERNATION_IMAGE_SIZE=$(cat /sys/power/image_size)
if [[ "$SWAPSIZE" -gt "$HIBERNATION_IMAGE_SIZE" ]] && [[ -f /etc/mkinitcpio.conf.d/omarchy_resume.conf ]]; then
exit 0
else
exit 1
fi

59
bin/omarchy-hibernation-remove Executable file
View File

@@ -0,0 +1,59 @@
#!/bin/bash
# Removes hibernation setup: disables swap, removes swapfile, removes fstab entry,
# removes resume hook, and removes suspend-then-hibernate configuration.
MKINITCPIO_CONF="/etc/mkinitcpio.conf.d/omarchy_resume.conf"
# Check if hibernation is configured
if [ ! -f "$MKINITCPIO_CONF" ] || ! grep -q "^HOOKS+=(resume)$" "$MKINITCPIO_CONF"; then
echo "Hibernation is not set up"
exit 0
fi
if ! gum confirm "Remove hibernation setup?"; then
exit 0
fi
SWAP_SUBVOLUME="/swap"
SWAP_FILE="$SWAP_SUBVOLUME/swapfile"
# Disable swap if active
if swapon --show | grep -q "$SWAP_FILE"; then
echo "Disabling swap on $SWAP_FILE"
sudo swapoff "$SWAP_FILE"
fi
# Remove swapfile
if [ -f "$SWAP_FILE" ]; then
echo "Removing swapfile"
sudo rm "$SWAP_FILE"
fi
# Remove swap subvolume
if sudo btrfs subvolume show "$SWAP_SUBVOLUME" &>/dev/null; then
echo "Removing Btrfs subvolume $SWAP_SUBVOLUME"
sudo btrfs subvolume delete "$SWAP_SUBVOLUME"
fi
# Remove fstab entry
if grep -Fq "$SWAP_FILE" /etc/fstab; then
echo "Removing swapfile from /etc/fstab"
sudo cp -a /etc/fstab "/etc/fstab.$(date +%Y%m%d%H%M%S).back"
sudo sed -i "\|$SWAP_FILE|d" /etc/fstab
sudo sed -i '/^# Btrfs swapfile for system hibernation$/d' /etc/fstab
fi
# Remove suspend-then-hibernate configuration
echo "Removing suspend-then-hibernate configuration"
sudo rm -f /etc/systemd/logind.conf.d/lid.conf
sudo rm -f /etc/systemd/sleep.conf.d/hibernate.conf
# Remove mkinitcpio resume hook
echo "Removing resume hook"
sudo rm "$MKINITCPIO_CONF"
echo "Regenerating initramfs..."
sudo limine-mkinitcpio
echo "Hibernation removed"

88
bin/omarchy-hibernation-setup Executable file
View File

@@ -0,0 +1,88 @@
#!/bin/bash
# Creates a swap file in the btrfs subvolume, adds the swap file to /etc/fstab,
# adds a resume hook to mkinitcpio, and configures suspend-then-hibernate.
if [[ ! -f /sys/power/image_size ]]; then
echo -e "\033[31mError: Hibernation is not supported on your system\033[0m" >&2
exit 1
fi
MKINITCPIO_CONF="/etc/mkinitcpio.conf.d/omarchy_resume.conf"
# Check if hibernation is already configured
if [ -f "$MKINITCPIO_CONF" ] && grep -q "^HOOKS+=(resume)$" "$MKINITCPIO_CONF"; then
echo "Hibernation is already set up"
exit 0
fi
if [[ $1 != "--force" ]]; then
MEM_TOTAL_HUMAN=$(free --human | awk '/Mem/ {print $2}')
if ! gum confirm "Use $MEM_TOTAL_HUMAN on boot drive to make hibernation available?"; then
exit 0
fi
fi
SWAP_SUBVOLUME="/swap"
SWAP_FILE="$SWAP_SUBVOLUME/swapfile"
# Create btrfs subvolume for swap
if ! sudo btrfs subvolume show "$SWAP_SUBVOLUME" &>/dev/null; then
echo "Creating Btrfs subvolume"
sudo btrfs subvolume create "$SWAP_SUBVOLUME"
sudo chattr +C "$SWAP_SUBVOLUME"
fi
# Create swapfile
if ! sudo swaplabel "$SWAP_FILE" &>/dev/null; then
echo "Creating swapfile in Btrfs subvolume"
MEM_TOTAL_KB="$(awk '/MemTotal/ {print $2}' /proc/meminfo)k"
sudo btrfs filesystem mkswapfile -s "$MEM_TOTAL_KB" "$SWAP_FILE"
fi
# Add swapfile to fstab
if ! grep -Fq "$SWAP_FILE" /etc/fstab; then
echo "Adding swapfile to /etc/fstab"
sudo cp -a /etc/fstab "/etc/fstab.$(date +%Y%m%d%H%M%S).back"
printf "\n# Btrfs swapfile for system hibernation\n%s none swap defaults,pri=0 0 0\n" "$SWAP_FILE" | sudo tee -a /etc/fstab >/dev/null
fi
# Enable swap
if ! swapon --show | grep -q "$SWAP_FILE"; then
echo "Enabling swap on $SWAP_FILE"
sudo swapon -p 0 "$SWAP_FILE"
fi
# Add resume hook to mkinitcpio
sudo mkdir -p /etc/mkinitcpio.conf.d
echo "Adding resume hook to $MKINITCPIO_CONF"
echo "HOOKS+=(resume)" | sudo tee "$MKINITCPIO_CONF" >/dev/null
# Configure suspend-then-hibernate
echo "Configuring suspend-then-hibernate"
sudo mkdir -p /etc/systemd/logind.conf.d /etc/systemd/sleep.conf.d /usr/lib/systemd/system-sleep
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/
sudo cp -p "$OMARCHY_PATH/default/systemd/system-sleep/keyboard-backlight" /usr/lib/systemd/system-sleep/
# 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..."
sudo limine-mkinitcpio
sudo limine-update
echo
if [[ $1 != "--force" ]] && gum confirm "Reboot to enable hibernation?"; then
omarchy-cmd-reboot
fi

18
bin/omarchy-hook Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Run a named hook, like post-update (available in ~/.config/omarchy/hooks/post-update).
set -e
if [[ $# -lt 1 ]]; then
echo "Usage: omarchy-hook [name] [args...]"
exit 1
fi
HOOK=$1
HOOK_PATH="$HOME/.config/omarchy/hooks/$1"
shift
if [[ -f $HOOK_PATH ]]; then
bash "$HOOK_PATH" "$@"
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

@@ -0,0 +1,9 @@
#!/bin/bash
# Close all open windows
hyprctl clients -j | \
jq -r ".[].address" | \
xargs -I{} hyprctl dispatch closewindow address:{}
# Move to first workspace
hyprctl dispatch workspace 1

46
bin/omarchy-hyprland-window-pop Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# Toggle to pop-out a tile to stay fixed on a display basis.
# Usage:
# omarchy-hyprland-window-pop [width height [x y]]
#
# Arguments:
# width Optional. Width of the floating window. Default: 1300
# height Optional. Height of the floating window. Default: 900
# x Optional. X position of the window. Must provide both X and Y to take effect.
# y Optional. Y position of the window. Must provide both X and Y to take effect.
#
# Behavior:
# - If the window is already pinned, it will be unpinned and removed from the pop layer.
# - If the window is not pinned, it will be floated, resized, moved/centered, pinned, brought to top, and popped.
width=${1:-1300}
height=${2:-900}
x=${3:-}
y=${4:-}
active=$(hyprctl activewindow -j)
pinned=$(echo "$active" | jq ".pinned")
addr=$(echo "$active" | jq -r ".address")
if [[ $pinned == "true" ]]; then
hyprctl -q --batch \
"dispatch pin address:$addr;" \
"dispatch togglefloating address:$addr;" \
"dispatch tagwindow -pop address:$addr;"
elif [[ -n $addr ]]; then
hyprctl dispatch togglefloating address:$addr
hyprctl dispatch resizeactive exact $width $height address:$addr
if [[ -n $x && -n $y ]]; then
hyprctl dispatch moveactive $x $y address:$addr
else
hyprctl dispatch centerwindow address:$addr
fi
hyprctl -q --batch \
"dispatch pin address:$addr;" \
"dispatch alterzorder top address:$addr;" \
"dispatch tagwindow +pop address:$addr;"
fi

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Toggles the window gaps on the active workspace between no gaps and the default 10/5/2.
workspace_id=$(hyprctl activeworkspace -j | jq -r .id)
gaps=$(hyprctl workspacerules -j | jq -r ".[] | select(.workspaceString==\"$workspace_id\") | .gapsOut[0] // 0")
if [[ $gaps == "0" ]]; then
hyprctl keyword "workspace $workspace_id, gapsout:10, gapsin:5, bordersize:2"
else \
hyprctl keyword "workspace $workspace_id, gapsout:0, gapsin:0, bordersize:0"
fi

View File

@@ -0,0 +1,16 @@
#!/bin/bash
# Allow Chromium to sign in to Google accounts by adding the correct
# oauth client id and secret to ~/.config/chromium-flags.conf.
if [[ -f ~/.config/chromium-flags.conf ]]; then
CONF=~/.config/chromium-flags.conf
grep -qxF -- "--oauth2-client-id=77185425430.apps.googleusercontent.com" "$CONF" ||
echo "--oauth2-client-id=77185425430.apps.googleusercontent.com" >>"$CONF"
grep -qxF -- "--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT" "$CONF" ||
echo "--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT" >>"$CONF"
echo "Now you can login to your Google Account in Chromium."
fi

144
bin/omarchy-install-dev-env Executable file
View File

@@ -0,0 +1,144 @@
#!/bin/bash
# Install one of the supported development environments. Usually called via Install > Development > * in the Omarchy Menu.
if [[ -z "$1" ]]; then
echo "Usage: omarchy-install-dev-env <ruby|node|bun|go|laravel|symfony|php|python|elixir|phoenix|rust|java|ocaml|dotnet|clojure>" >&2
exit 1
fi
install_php() {
sudo pacman -S php composer php-sqlite xdebug --noconfirm
# Install Path for Composer
if [[ ":$PATH:" != *":$HOME/.config/composer/vendor/bin:"* ]]; then
echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >>"$HOME/.bashrc"
source "$HOME/.bashrc"
echo "Added Composer global bin directory to PATH."
else
echo "Composer global bin directory already in PATH."
fi
# Enable some extensions
local php_ini_path="/etc/php/php.ini"
local extensions_to_enable=(
"bcmath"
"intl"
"iconv"
"openssl"
"pdo_sqlite"
"pdo_mysql"
)
# Enable Xdebug
sudo sed -i \
-e 's/^;zend_extension=xdebug.so/zend_extension=xdebug.so/' \
-e 's/^;xdebug.mode=debug/xdebug.mode=debug/' \
/etc/php/conf.d/xdebug.ini
for ext in "${extensions_to_enable[@]}"; do
sudo sed -i "s/^;extension=${ext}/extension=${ext}/" "$php_ini_path"
done
}
install_node() {
echo -e "Installing Node.js...\n"
mise use --global node
}
case "$1" in
ruby)
echo -e "Installing Ruby on Rails...\n"
omarchy-pkg-add libyaml
mise use --global ruby@latest
mise settings add idiomatic_version_file_enable_tools ruby
echo "gem: --no-document" > ~/.gemrc
mise x ruby -- gem install rails --no-document
echo -e "\nYou can now run: rails new myproject"
;;
node)
install_node
;;
bun)
echo -e "Installing Bun...\n"
mise use -g bun@latest
;;
deno)
echo -e "Installing Deno...\n"
mise use -g deno@latest
;;
go)
echo -e "Installing Go...\n"
mise use --global go@latest
;;
php)
echo -e "Installing PHP...\n"
install_php
;;
laravel)
echo -e "Installing PHP and Laravel...\n"
install_php
install_node
composer global require laravel/installer
echo -e "\nYou can now run: laravel new myproject"
;;
symfony)
echo -e "Installing PHP and Symfony...\n"
install_php
omarchy-pkg-add symfony-cli
echo -e "\nYou can now run: symfony new --webapp myproject"
;;
python)
echo -e "Installing Python...\n"
mise use --global python@latest
echo -e "\nInstalling uv...\n"
curl -fsSL https://astral.sh/uv/install.sh | sh
;;
elixir)
echo -e "Installing Elixir...\n"
mise use --global erlang@latest
mise use --global elixir@latest
mise x elixir -- mix local.hex --force
;;
phoenix)
echo -e "Installing Phoenix Framework...\n"
# Ensure Erlang/Elixir first
mise use --global erlang@latest
mise use --global elixir@latest
# Hex & Rebar
mise x elixir -- mix local.hex --force
mise x elixir -- mix local.rebar --force
# Phoenix project (phx_new)
mise x elixir -- mix archive.install hex phx_new --force
echo -e "\nYou can now run: mix phx.new my_app"
;;
rust)
echo -e "Installing Rust...\n"
bash -c "$(curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs)" -- -y
;;
java)
echo -e "Installing Java...\n"
mise use --global java@latest
;;
zig)
echo -e "Installing Zig...\n"
mise use --global zig@latest
mise use -g zls@latest
;;
ocaml)
echo -e "Installing OCaml...\n"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)"
opam init --yes
eval "$(opam env)"
opam install ocaml-lsp-server odoc ocamlformat utop --yes
;;
dotnet)
echo -e "Installing .NET...\n"
mise use --global dotnet@latest
;;
clojure)
echo -e "Installing Clojure...\n"
omarchy-pkg-add rlwrap
mise use --global clojure@latest
;;
esac

27
bin/omarchy-install-docker-dbs Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
# Install one of the supported databases in a Docker container with the suitable development options.
# Usually called via Install > Development > Docker DB from the Omarchy Menu.
options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB" "MSSQL")
if [[ "$#" -eq 0 ]]; then
choices=$(printf "%s\n" "${options[@]}" | gum choose --header "Select database (return to install, esc to cancel)") || main_menu
else
choices="$@"
fi
if [[ -n "$choices" ]]; then
for db in $choices; do
case $db in
MySQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8.4 ;;
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres18 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:18 ;;
MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;;
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
MongoDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:27017:27017" --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin123 mongo:noble ;;
MSSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:1433:1433" --name mssql -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e "MSSQL_SA_PASSWORD=@dmin123" mcr.microsoft.com/mssql/server:2022-CU12-ubuntu-22.04 ;;
esac
done
else
echo "No databases selected for installation."
fi

10
bin/omarchy-install-dropbox Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Install and start the Dropbox service. Must then be authenticated via the web.
echo "Installing all dependencies..."
omarchy-pkg-add dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
echo "Starting Dropbox..."
uwsm-app -- dropbox-cli start &>/dev/null &
echo "See Dropbox icon behind  hover tray in top right and right-click for setup."

17
bin/omarchy-install-geforce-now Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Install and launch Geforce Now.
set -e
omarchy-pkg-add flatpak
cd /tmp
# Download and run GeForce NOW
curl -LO https://international.download.nvidia.com/GFNLinux/GeForceNOWSetup.bin
chmod +x GeForceNOWSetup.bin
./GeForceNOWSetup.bin
# Ensure a separate browser process not started by GFN is available.
# If not, it seems like GFN has a tendency to hang on login.
setsid omarchy-launch-browser

9
bin/omarchy-install-steam Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Install and launch Steam after first letting the user pick the correct grahics card drivers.
set -e
echo "Now pick dependencies matching your graphics card"
sudo pacman -S steam
setsid gtk-launch steam >/dev/null 2>&1 &

10
bin/omarchy-install-tailscale Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Install the Tailscale mesh VPN service and a web app for the Tailscale Admin Console.
curl -fsSL https://tailscale.com/install.sh | sh
echo -e "\nStarting Tailscale..."
sudo tailscale up --accept-routes
omarchy-webapp-install "Tailscale" "https://login.tailscale.com/admin/machines" https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png

61
bin/omarchy-install-terminal Executable file
View File

@@ -0,0 +1,61 @@
#!/bin/bash
# Install one of the approved terminals and set it as the default for Omarchy (Super + Return etc).
if (($# == 0)); then
echo "Usage: omarchy-install-terminal [alacritty|ghostty|kitty]"
exit 1
fi
package="$1"
# Map package name to desktop entry ID
case "$package" in
alacritty) desktop_id="Alacritty.desktop" ;;
ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;;
kitty) desktop_id="kitty.desktop" ;;
*)
echo "Unknown terminal: $package"
exit 1
;;
esac
# Install package
if omarchy-pkg-add $package; then
# Copy custom desktop entry for alacritty with X-TerminalArg* keys
if [[ $package == "alacritty" ]]; then
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/Alacritty.desktop << EOF
[Desktop Entry]
Type=Application
TryExec=alacritty
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupNotify=true
StartupWMClass=Alacritty
Actions=New;
X-TerminalArgExec=-e
X-TerminalArgAppId=--class=
X-TerminalArgTitle=--title=
X-TerminalArgDir=--working-directory=
[Desktop Action New]
Name=New Terminal
Exec=alacritty
EOF
fi
# Update xdg-terminals.list to prioritize the proper terminal
cat > ~/.config/xdg-terminals.list << EOF
# Terminal emulator preference order for xdg-terminal-exec
# The first found and valid terminal will be used
$desktop_id
EOF
else
echo "Failed to install $package"
fi

29
bin/omarchy-install-vscode Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# Install VSCode and configure it to use the gnome-libsecret password store, not to update automatically, and to use the current Omarchy theme.
echo "Installing VSCode..."
omarchy-pkg-add visual-studio-code-bin
mkdir -p ~/.vscode ~/.config/Code/User
cat > ~/.vscode/argv.json << 'EOF'
// This configuration file allows you to pass permanent command line arguments to VS Code.
// Only a subset of arguments is currently supported to reduce the likelihood of breaking
// the installation.
//
// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT
//
// NOTE: Changing this file requires a restart of VS Code.
{
"password-store":"gnome-libsecret"
}
EOF
# Ensure VSC's own auto-update feature is turned off
printf '{\n "update.mode": "none"\n}\n' > ~/.config/Code/User/settings.json
# Apply Omarchy theme to VSCode
omarchy-theme-set-vscode
setsid gtk-launch code

View File

@@ -0,0 +1,19 @@
#!/bin/bash
# Install support for using Xbox controllers with Steam/RetroArch/etc.
set -e
# Install xpadneo to ensure controllers work out of the box
sudo pacman -S --noconfirm --needed linux-headers
yay -S --noconfirm xpadneo-dkms
# Prevent xpad/xpadneo driver conflict
echo blacklist xpad | sudo tee /etc/modprobe.d/blacklist-xpad.conf >/dev/null
echo hid_xpadneo | sudo tee /etc/modules-load.d/xpadneo.conf >/dev/null
# Give user access to game controllers
sudo usermod -a -G input $USER
# Modules need to be loaded
gum confirm "Install requires reboot. Ready?" && sudo reboot now

5
bin/omarchy-launch-about Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
# Launch the fastfetch TUI that gives information about the current system.
exec omarchy-launch-or-focus-tui "bash -c 'fastfetch; read -n 1 -s'"

5
bin/omarchy-launch-audio Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
# Launch the Omarchy audio controls TUI (provided by wiremix).
omarchy-launch-or-focus-tui wiremix

7
bin/omarchy-launch-bluetooth Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# Launch the Omarchy bluetooth controls TUI (provided by bluetui).
# Also attempts to unblock bluetooth service if rfkill had blocked it.
rfkill unblock bluetooth
exec omarchy-launch-or-focus-tui bluetui

17
bin/omarchy-launch-browser Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Launch the default browser as determined by xdg-settings.
# Automatically converts --private into the correct flag for the given browser.
default_browser=$(xdg-settings get default-web-browser)
browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$default_browser 2>/dev/null | head -1)
if [[ $browser_exec =~ (firefox|zen|librewolf|mullvad) ]]; then
private_flag="--private-window"
elif [[ $browser_exec =~ edge ]]; then
private_flag="--inprivate"
else
private_flag="--incognito"
fi
exec setsid uwsm-app -- "$browser_exec" "${@/--private/$private_flag}"

15
bin/omarchy-launch-editor Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
# Launch the default editor as determined by $EDITOR (set via ~/.config/uwsm/default) (or nvim if missing).
# Starts suitable editors in a terminal window and otherwise as a regular application.
omarchy-cmd-present "$EDITOR" || EDITOR=nvim
case "$EDITOR" in
nvim | vim | nano | micro | hx | helix | fresh)
exec omarchy-launch-tui "$EDITOR" "$@"
;;
*)
exec setsid uwsm-app -- "$EDITOR" "$@"
;;
esac

View File

@@ -0,0 +1,7 @@
#!/bin/bash
# Launch a floating terminal with the Omarchy logo presentation, then execute the command passed in, and finally end with the omarchy-show-done presentation.
# Used by actions such as Update System.
cmd="$*"
exec setsid uwsm-app -- xdg-terminal-exec --app-id=org.omarchy.terminal --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; if [ \$? -ne 130 ]; then omarchy-show-done; fi"

19
bin/omarchy-launch-or-focus Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/bash
# Launch or focus on a given command identified by the passed in window-pattern.
# Use by some default bindings, like the one for Spotify, to ensure there is only one instance of the application open.
if (($# == 0)); then
echo "Usage: omarchy-launch-or-focus [window-pattern] [launch-command]"
exit 1
fi
WINDOW_PATTERN="$1"
LAUNCH_COMMAND="${2:-"uwsm-app -- $WINDOW_PATTERN"}"
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1)
if [[ -n $WINDOW_ADDRESS ]]; then
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"
else
eval exec setsid $LAUNCH_COMMAND
fi

View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Launch or focus on a given TUI identified by the passed in as the command.
# Use by commands like omarchy-launch-wifi to ensure there is only one wifi configuration screen open.
APP_ID="org.omarchy.$(basename "$1")"
LAUNCH_COMMAND="omarchy-launch-tui $@"
exec omarchy-launch-or-focus "$APP_ID" "$LAUNCH_COMMAND"

View File

@@ -0,0 +1,15 @@
#!/bin/bash
# Launch or focus on a given web app identified by the window-pattern.
# Use by some default bindings, like the one for WhatsApp, to ensure there is only one instance of the application open.
if (($# == 0)); then
echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url-and-flags...]"
exit 1
fi
WINDOW_PATTERN="$1"
shift
LAUNCH_COMMAND="omarchy-launch-webapp $@"
exec omarchy-launch-or-focus "$WINDOW_PATTERN" "$LAUNCH_COMMAND"

Some files were not shown because too many files have changed in this diff Show More