Compare commits

...
950 Commits
Author SHA1 Message Date
Ryan HughesandGitHub 52a2081f0a Merge branch 'dev' into sddm-uki-changes 2025-10-06 11:08:56 -04:00
Ryan Hughes 4b5f310e51 Fix relaunch 2025-10-06 11:06:45 -04:00
Ryan Hughes 6a2b68c9d2 Update files to include dirs 2025-10-06 10:39:49 -04:00
Ryan Hughes a4a94ff948 Use omarchy-pkg-add 2025-10-06 00:26:37 -04:00
Ryan Hughes 35c3a38074 Add verification to omarchy-pkg-add and speed up installs 2025-10-06 00:26:29 -04:00
killeikandGitHub 5aa39c9261 Simple check to prevent secure boot issues (#2145) 2025-10-05 22:13:16 +02:00
5da10be63e Adjust database installation message to only one (#2192)
* Fix comment

* Adjust database installation message to only one

Follow up to https://github.com/basecamp/omarchy/commit/e260d28f43d40de5f816a556b71ba479de74b728

---------

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
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
Ryan Hughes 48004cf741 Remove 2025-10-05 15:55:58 -04:00
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
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
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
Ryan Hughes 93fe3b27e1 Add checks for possible issues 2025-10-05 15:40:36 -04:00
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ündelandGitHub 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 HughesandGitHub 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 HughesandGitHub 2e0064943b Update version reporting (#1724) 2025-10-05 18:23:26 +02:00
Ryan HughesandGitHub c7aa0f570a Make HEY the default mailto handler (#1822) 2025-10-05 18:18:22 +02:00
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
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 Hanssonand@davidwinter bba224e9a5 Speedup keybindings show by using caching
Co-authored-by: @davidwinter
2025-10-04 17:55:38 +02:00
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 058b233da8 Merge branch 'master' into dev 2025-09-30 18:51:30 +02:00
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
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 VicentiniandGitHub a51011fbb8 add suport fingerprint from FPC - Thinkpad E14 Gen 6 (#2023) 2025-09-29 18:32:53 +02:00
Alexandre PerreaultandGitHub 1022734a67 feat: clear states when relaunching or rebooting from the system menu (#2053) 2025-09-29 18:18:20 +02:00
Fransiscus Rolanda MalauandGitHub 67011160b2 hypr: add Helium to chromium-based browser tagging (follow-up to #1945) (#2056) 2025-09-29 18:14:53 +02:00
Ryan HughesandGitHub 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 HughesandGitHub 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 HughesandGitHub 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 HughesandGitHub 796ef67ede Revert "Fix for '(null)' display on AirPod source selection" 2025-09-28 15:18:25 -04:00
Ryan HughesandGitHub 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 HughesandGitHub 076da663f5 Merge pull request #1845 from djordje/fix-omarchy-tui-install
Fix omarchy-tui-install
2025-09-28 15:01:17 -04:00
Ryan HughesandGitHub 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 HughesandGitHub 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 HughesandGitHub 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, JrandRyan Hughes 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
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 HughesandGitHub 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 HughesandGitHub 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ínguezandGitHub 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
Ryan Hughes 0b172dbef1 BTRFS only 2025-09-22 00:28:24 -04:00
Ryan Hughes a84bc4b256 Limine only 2025-09-22 00:26:44 -04:00
Ryan Hughes ad8d028d3f Fix order for UKI generation 2025-09-22 00:21:26 -04:00
Ryan Hughes 607915a5d1 Combine ifs 2025-09-21 18:12:21 -04:00
Ryan Hughes f70a7bc5db Add entry to make sure VSCode uses gnome keyring 2025-09-21 17:55:31 -04:00
Ryan Hughes b64bd47939 Skip creation on Mac 2025-09-21 17:27:01 -04:00
Shawn Yeager 38d536ba9d Fix for '(null)' display on AirPod source selection 2025-09-21 16:18:12 -05:00
Ryan Hughes bdb2ea50ed Move to custom named UKI 2025-09-21 16:58:10 -04:00
Ryan Hughes a823d5e835 Change DM to SDDM 2025-09-21 16:58:09 -04:00
David Heinemeier Hansson c4d8ef6a15 Merge branch 'master' into dev 2025-09-21 07:57:07 -04:00
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 HughesandGitHub 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
TahaandGitHub 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ørensenandGitHub 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 SkalliandGitHub 206930def8 Improve theme-set-vscode to support jsonc and respect symlinks (#1756) 2025-09-18 16:43:01 -05:00
Che-Wei LinandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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
DoKoB0512andGitHub 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
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
TahaandGitHub 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 DawsonandGitHub 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
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 HanssonandGitHub 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 HanssonandGitHub bf0c2cc9a5 Allow custom editor, like we do custom terminal (#1697) 2025-09-16 15:14:29 +02:00
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 NascimentoandGitHub 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
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
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
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
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 LevitanandGitHub 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
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
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
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
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
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
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
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-labandGitHub 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
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
TahaandGitHub 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
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 NelliandGitHub 8920c95586 Bind calculator key with gnome-calculator (#1585) 2025-09-14 14:36:14 +02:00
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
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
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 KleinandGitHub 6599a6eb70 Move nightlight reset closer to morning (#1638) 2025-09-12 21:20:53 +02:00
Brosseau ValentinandDavid Heinemeier Hansson d09b6aa42a Change condition for exiting back_to function (#1582) 2025-09-12 15:23:09 +02:00
Brosseau ValentinandGitHub 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 HughesandGitHub 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 HughesandDavid Heinemeier Hansson 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
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 HughesandDavid Heinemeier Hansson 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
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
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
elpritchosandGitHub 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 HanssonandGitHub 477ec351e7 Merge pull request #1540 from basecamp/dev
Omarchy 2.1.1
2025-09-09 21:36:14 +02:00
JarekandGitHub 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
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 DangandGitHub 251997cf54 fix: keybinding menu size (#1152) 2025-09-09 20:19:52 +02:00
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
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
cluahandGitHub 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
rez1coderandGitHub 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
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 IsmayilovandGitHub 8a83234298 Provide postgres 17 (#1524) 2025-09-09 16:30:47 +02:00
JarekandGitHub 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
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
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 HanssonandGitHub 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 GunnarssonandGitHub 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 AguilarandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 3d075602cb Merge pull request #1429 from martinmose/fix/ufw
Fix UFW Persistence
2025-09-07 20:48:47 +02:00
David Heinemeier HanssonandGitHub 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 HanssonandGitHub 8088effe9f Update git.sh 2025-09-07 20:35:29 +02:00
David Heinemeier HanssonandGitHub 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 HanssonandGitHub 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
mgbaronandGitHub 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
OllyandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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
Ryan Hughes 8fd668fbb3 Fix multilib regex for steam installer 2025-08-31 20:04:35 +03:00
David Heinemeier HanssonandGitHub 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 HanssonandGitHub 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
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 HanssonandGitHub 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
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
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
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
RickandGitHub 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
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 DawsonandGitHub 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
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
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
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
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
JarekandGitHub 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 HanssonandGitHub 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
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 PopoviciandGitHub 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 KingandGitHub 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 PerreaultandGitHub 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 JiandGitHub 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 HanssonandGitHub 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 HanssonandGitHub cd378a55a2 Merge pull request #1232 from basecamp/dev
Omarchy 2.0.5
2025-08-28 11:14:58 +02:00
Ryan HughesandGitHub 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
michielryversandGitHub 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 HanssonandGitHub 33d6d38332 Include Omarchy branch in About (#1231) 2025-08-28 09:05:26 +02:00
David Heinemeier HanssonandGitHub 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 AguilarandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 71fe2cbafd Merge pull request #1188 from bastnic/patch-1
Fix keyboard layout at install
2025-08-27 20:24:48 +02:00
Bastien JaillotandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 8cbd6be687 Merge pull request #1166 from basecamp/dev
Omarchy v2.0.2
2025-08-27 12:50:36 +02:00
David Heinemeier HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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
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
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 HughesandGitHub 27c4b74e90 Don't add EFI entry for AMI until we figure out their bug (#1109) 2025-08-26 11:52:50 +02:00
Adi YeroslavandGitHub 44c9be7958 Fix emoji picker description (#1091) 2025-08-26 09:19:34 +02:00
Oleg LuganskiyandGitHub 23c9229fdd fix(hypr): convert TAB workspace bindings from bind to bindd (#1098) 2025-08-26 09:17:09 +02:00
William TioandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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
MeerzuleeandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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 PattocchioandGitHub 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 RemshardtandGitHub 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
JarekandGitHub 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 TiscoskiandGitHub 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
JarekandGitHub 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 Hanssonand@abenz1267 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 NiggandGitHub 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 HughesandGitHub 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
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
ManuelandGitHub 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 HanssonandGitHub 69fe4ae997 Remove screen recording status until it is stable (#1032) 2025-08-24 11:00:30 +02:00
Richard MacklinandGitHub 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 HughesandGitHub 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
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 HughesandGitHub 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 HughesandGitHub 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 HanssonandGitHub 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
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
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 YeagerandGitHub 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
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 BurnsandGitHub a4119ce43e fix: add quotes around font names in omarchy-font-set (#1001) 2025-08-23 07:44:21 +02:00
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
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 HughesandGitHub 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
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 HeldingandGitHub 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 ErhardtandGitHub 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èrandGitHub 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
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
rez1coderandGitHub 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
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
RaphaelKimmigandGitHub 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
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 FinettiandGitHub 450403e48a Add QR code for discord link (#795) 2025-08-22 16:59:58 +02:00
vaibhav-mattooandGitHub 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 SchmidtandGitHub 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
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
+25 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 1eb8a56b075cab5652a028202dc9dc81e556c4dc.

* 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 CasaisandGitHub 7665ac4fde Visual improvements for pkg-install and pkg-remove (#852) 2025-08-22 15:13:28 +02:00
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
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
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
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
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 ValentinandGitHub 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 VaziryandGitHub 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 EnocandGitHub 3e7509071b adding mongodb docker install (#972) 2025-08-22 13:34:37 +02:00
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
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
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
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
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
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
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 BridgmanandGitHub 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 Hanssonand@tobi 55330cce88 Add minimal starship prompt to terminal
Co-authored-by: @tobi
2025-08-17 09:59:44 -04:00
David Heinemeier Hanssonand@tobi 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 McConnellandGitHub 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
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
BruceandGitHub 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 BridgmanandGitHub 1d483dac8b Use pacman instead of yay to install gum (#705) 2025-08-12 16:06:34 +02:00
SwarnimandGitHub 8a9b841e92 Add one wallpaper for nord (#707) 2025-08-12 16:05:21 +02:00
Simon DawsonandGitHub 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 BridgmanandGitHub f0f4569aa2 Always install base-devel in case yay needs to build a package (#710) 2025-08-12 15:54:29 +02:00
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
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 GuzenskiandGitHub 03c6b0af3d fix pgrep and pkill (#687) 2025-08-12 13:01:45 +02:00
not-NEK0andGitHub 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 SwansonandGitHub 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 HanssonandGitHub 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 HughesandGitHub 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 SikoraandGitHub 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 SikoraandGitHub 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 HammerschmidtandGitHub 7e30335a2e Use correct casing for OCaml menu item (#675) 2025-08-11 20:36:48 +02:00
Ryan HughesandGitHub 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 1eb8a56b075cab5652a028202dc9dc81e556c4dc.
2025-08-11 20:26:36 +02:00
David Heinemeier HanssonandGitHub 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 HanssonandGitHub 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 HanssonandGitHub 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
RaphaelKimmigandGitHub 76c7956d15 fix: lock 1password right away, not after unlock (#644) 2025-08-11 17:10:52 +02:00
Alexandre PerreaultandGitHub 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 KumagaiandGitHub 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 HanssonandGitHub 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 HughesandGitHub 1c5a17f852 Disable systemd-networkd-wait-online (#645) 2025-08-11 16:43:38 +02:00
Ryan HughesandGitHub 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 ValentinandGitHub 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
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
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 HughesandGitHub 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 HughesandGitHub 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
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 KumagaiandGitHub 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 87e45db6d54a3441c7d544a2d054f2823bce271e.

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 ValentinandGitHub 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
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 HammerschmidtandGitHub 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 BeerandGitHub 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
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
RaphaelKimmigandGitHub 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
531 changed files with 6133 additions and 2145 deletions
+23
View File
@@ -0,0 +1,23 @@
name: Bug
description: Report a problem
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?
validations:
required: true
+1
View File
@@ -0,0 +1 @@
blank_issues_enabled: false
+15
View File
@@ -0,0 +1,15 @@
name: Documentation
description: New pages or changes to existing
labels: [documentation]
body:
- type: markdown
attributes:
value: |
Remember: Omarchy is an open source gift, not a product you bought from a vendor
- type: textarea
id: steps
attributes:
label: What correction or addition do we need?
validations:
required: true
+15
View File
@@ -0,0 +1,15 @@
name: Enhancement
description: Feature or change
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Remember: Omarchy is an open source gift, not a product you bought from a vendor
- type: textarea
id: steps
attributes:
label: What do you need?
validations:
required: true
-11
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
-11
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
-11
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
-221
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
+2
View File
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
+2
View File
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
@@ -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: 34 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: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+1 -1
View File
@@ -2,7 +2,7 @@
Name=Neovim
GenericName=Text Editor
Comment=Edit text files
Exec=alacritty --class=nvim --title=nvim -e nvim -- %F
Exec=sh -c "$TERMINAL --class=nvim --title=nvim -e nvim -- %F"
Terminal=false
Type=Application
Keywords=Text;editor;
-7
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
-12
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;
+7 -1
View File
@@ -6,7 +6,13 @@ 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/%//'
upower -i "$(upower -e | grep 'BAT')" \
| awk -F: '/percentage/ {
gsub(/[%[:space:]]/, "", $2);
val=$2;
printf("%d\n", (val+0.5))
exit
}'
}
get_battery_state() {
+50
View File
@@ -0,0 +1,50 @@
#!/bin/bash
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')
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"
+9
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
+17
View File
@@ -0,0 +1,17 @@
#!/bin/bash
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/firewall.sh"
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
sudo rm -f /etc/sudoers.d/first-run
bash "$OMARCHY_PATH/install/first-run/wifi.sh"
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
fi
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
for cmd in "$@"; do
if ! command -v "$cmd" &>/dev/null; then
exit 0
fi
done
exit 1
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
for cmd in "$@"; do
command -v "$cmd" &>/dev/null || exit 1
done
exit 0
+33 -10
View File
@@ -8,25 +8,48 @@ 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
# Selects region or output
SCOPE="$1"
# Selects audio inclusion or not
AUDIO=$([[ $2 == "audio" ]] && echo "--audio")
start_screenrecording() {
local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
if lspci | grep -qi 'nvidia'; then
wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
wf-recorder $AUDIO -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" "$@"
wl-screenrec $AUDIO -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@" &
fi
toggle_screenrecording_indicator
}
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
stop_screenrecording() {
pkill -x wl-screenrec
pkill -x wf-recorder
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
elif [[ "$1" == "output" ]]; then
screenrecording
sleep 0.2 # ensures the process is actually dead before we check
toggle_screenrecording_indicator
}
toggle_screenrecording_indicator() {
pkill -RTMIN+8 waybar
}
screenrecording_active() {
pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null
}
if screenrecording_active; then
stop_screenrecording
elif [[ "$SCOPE" == "output" ]]; then
output=$(slurp -o) || exit 1
start_screenrecording -g "$output"
else
region=$(slurp) || exit 1
screenrecording -g "$region"
start_screenrecording -g "$region"
fi
+25 -16
View File
@@ -1,20 +1,29 @@
#!/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" &
screensaver_in_focus() {
hyprctl activewindow -j | jq -e '.class == "Screensaver"' >/dev/null 2>&1
}
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
exit_screensaver() {
hyprctl keyword cursor:invisible false
pkill -x tte 2>/dev/null
pkill -f "alacritty --class Screensaver" 2>/dev/null
exit 0
}
trap exit_screensaver SIGINT SIGTERM SIGHUP SIGQUIT
hyprctl keyword cursor:invisible true
while true; do
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
tte -i ~/.config/omarchy/branding/screensaver.txt \
--frame-rate 240 --canvas-width 0 --canvas-height $(($(tput lines) - 1)) --anchor-canvas c --anchor-text c \
"$effect" &
while pgrep -x tte >/dev/null; do
if read -n 1 -t 3 || ! screensaver_in_focus; then
exit_screensaver
fi
done
else
gum spin --title "Can't find tte. Try: pip install terminaltexteffects" -- sleep 2
fi
done
+44
View File
@@ -0,0 +1,44 @@
#!/bin/bash
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
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
# 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" | head -n1)
if [[ -n $shell_pid ]]; then
readlink -f "/proc/$shell_pid/cwd" 2>/dev/null || echo "$HOME"
else
echo "$HOME"
fi
+4 -1
View File
@@ -1,5 +1,8 @@
#!/bin/bash
notify-send " Updating time and timezone..."
sudo systemctl restart systemd-timesyncd
sudo tzupdate
new_timezone=$(timedatectl show -p Timezone --value)
notify-send "Timezone has been set to $new_timezone"
omarchy-restart-waybar
notify-send " Time updated and timezone set to $new_timezone"
+28
View File
@@ -0,0 +1,28 @@
#!/bin/bash
# Drive, like /dev/nvme0, to display information about
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
View File
@@ -0,0 +1,18 @@
#!/bin/bash
# Select a drive from a list with info that includes space and brand
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}'
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
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
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
grep -oP 'family\s*=\s*"\K[^"]+' ~/.config/alacritty/alacritty.toml | head -n1
grep -oP 'font-family:\s*["'\'']?\K[^;"'\'']+' ~/.config/waybar/style.css | head -n1
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
fc-list :spacing=100 -f "%{family[0]}\n" | grep -v -i -E 'emoji|signwriting' | sort -u
fc-list :spacing=100 -f "%{family[0]}\n" | grep -v -i -E 'emoji|signwriting|omarchy' | sort -u
+19 -5
View File
@@ -4,16 +4,30 @@ font_name="$1"
if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
if fc-list | grep -iq "$font_name"; then
sed -i "s/family = \".*\"/family = \"$font_name\"/g" ~/.config/alacritty/alacritty.toml
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
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/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
~/.local/share/omarchy/bin/omarchy-restart-waybar
~/.local/share/omarchy/bin/omarchy-restart-swayosd
omarchy-restart-waybar
omarchy-restart-swayosd
omarchy-restart-walker
else
echo "Font '$font_name' not found."
exit 1
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
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
+141
View File
@@ -0,0 +1,141 @@
#!/bin/bash
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@lts
}
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
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
+11 -3
View File
@@ -1,15 +1,23 @@
#!/bin/bash
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
options=("MySQL" "PostgreSQL" "Redis" "MongoDB" "MariaDB")
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=postgres16 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:16 ;;
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres17 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:17 ;;
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 ;;
esac
done
else
echo "No databases selected for installation."
fi
+1 -2
View File
@@ -1,8 +1,7 @@
#!/bin/bash
echo "Installing all dependencies..."
yay -S --noconfirm --needed \
dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
omarchy-pkg-add dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
echo "Starting Dropbox..."
uwsm app -- dropbox-cli start &>/dev/null &
+2 -6
View File
@@ -1,9 +1,5 @@
#!/bin/bash
echo "Adding multilib repository for 32-bit compatibility"
sudo sed -i '/^\s*#\[multilib\]/,/^$/{s/^\s*#//}' /etc/pacman.conf
sudo pacman -Sy
echo "Now pick dependencies matching your graphics card"
yay -S steam
gtk-launch steam >/dev/null 2>&1 &
sudo pacman -Syu --noconfirm steam
setsid gtk-launch steam >/dev/null 2>&1 &
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
curl -fsSL https://tailscale.com/install.sh | sh
curl -fsSL https://neuralink.com/tsui/install.sh | bash
echo -e "\nStarting Tailscale..."
sudo tailscale up --accept-routes
echo -e "\nAdd tsui to sudoers..."
echo "$USER ALL=(ALL) NOPASSWD: $(which tsui)" | sudo tee /etc/sudoers.d/tsui
omarchy-tui-install "Tailscale" "sudo tsui" float https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png
omarchy-webapp-install "Tailscale Admin Console" "https://login.tailscale.com/admin/machines" https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png
+19
View File
@@ -0,0 +1,19 @@
#!/bin/bash
if (($# == 0)); then
echo "Usage: omarchy-install-terminal [alacritty|ghostty|kitty]"
exit 1
fi
package="$1"
# Install package
omarchy-pkg-add $package
# Set as default terminal
echo "Setting $package as new default terminal..."
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
# Relaunch is needed for new default to take effect
echo
gum confirm "Relaunch Hyprland to use new terminal?" && uwsm stop
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
echo "Installing VSCode..."
omarchy-pkg-add visual-studio-code-bin
mkdir -p ~/.vscode
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
setsid gtk-launch code
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
exec setsid uwsm app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s'
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
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) ]]; then
private_flag="--private-window"
else
private_flag="--incognito"
fi
exec setsid uwsm app -- "$browser_exec" "${@/--private/$private_flag}"
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
case "${EDITOR:-nvim}" in
nvim | vim | nano | micro | hx)
exec setsid uwsm app -- "$TERMINAL" -e "$EDITOR" "$@"
;;
*)
exec setsid uwsm app -- "$EDITOR" "$@"
;;
esac
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
cmd="$*"
exec setsid uwsm app -- alacritty --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
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 $LAUNCH_COMMAND
fi
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
if (($# == 0)); then
echo "Usage: omarchy-launch-or-focus-webapp [window-pattern] [url]"
exit 1
fi
exec omarchy-launch-or-focus "$1" "omarchy-launch-webapp '$2'"
+13 -1
View File
@@ -1,16 +1,28 @@
#!/bin/bash
# Exit early if we don't have the tte show
if ! command -v tte &>/dev/null; then
exit 1
fi
# Exit early if screensave is already running
pgrep -f "alacritty --class Screensaver" && exit 0
# Allow screensaver to be turned off but also force started
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then
exit 1
fi
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
hyprctl dispatch focusmonitor $m
# FIXME: Find a way to make this generic where we it can work for kitty + ghostty
hyprctl dispatch exec -- \
alacritty --class Screensaver \
--config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \
-e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver
-e omarchy-cmd-screensaver
done
hyprctl dispatch focusmonitor $focused
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
browser=$(xdg-settings get default-web-browser)
case $browser in
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium-browser*) ;;
*) browser="chromium.desktop" ;;
esac
exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
exec setsid uwsm app -- "$TERMINAL" --class=Impala -e impala "$@"
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
# Lock the screen
pidof hyprlock || hyprlock &
# Ensure 1password is locked
if pgrep -x "1password" >/dev/null; then
1password --lock &
fi
# Avoid running screensaver when locked
pkill -f "$TERMINAL --class Screensaver"
+298 -120
View File
@@ -1,6 +1,21 @@
#!/bin/bash
OMARCHY_BIN_PATH=~/.local/share/omarchy/bin
export PATH="$HOME/.local/share/omarchy/bin:$PATH"
# Set to true when going directly to a submenu, so we can exit directly
BACK_TO_EXIT=false
back_to() {
local parent_menu="$1"
if [[ "$BACK_TO_EXIT" == "true" ]]; then
exit 0
elif [[ -n "$parent_menu" ]]; then
"$parent_menu"
else
show_main_menu
fi
}
menu() {
local prompt="$1"
@@ -22,135 +37,173 @@ menu() {
}
terminal() {
alacritty --class Omarchy -e $1
alacritty --class=Omarchy -e "$@"
}
present_terminal() {
alacritty --class Omarchy -e bash -c "~/.local/share/omarchy/bin/omarchy-show-logo; eval \"$1\"; ~/.local/share/omarchy/bin/omarchy-show-done;"
omarchy-launch-floating-terminal-with-presentation $1
}
edit_in_nvim() {
open_in_editor() {
notify-send "Editing config file" "$1"
alacritty -e nvim "$1"
}
open_web() {
setsid chromium --new-window --app="$1" &
omarchy-launch-editor "$1"
}
install() {
present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm $2"
present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm $2"
}
install_and_launch() {
present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm $2 && gtk-launch $3"
present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm $2 && setsid gtk-launch $3"
}
install_font() {
present_terminal "echo 'Installing $1...'; yay -Sy --noconfirm --needed $2 && sleep 2 && ~/.local/share/omarchy/bin/omarchy-font-set '$3'"
present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm --needed $2 && sleep 2 && omarchy-font-set '$3'"
}
install_terminal() {
present_terminal "omarchy-install-terminal $1"
}
aur_install() {
present_terminal "echo 'Installing $1 from AUR...'; yay -S --noconfirm $2"
}
aur_install_and_launch() {
present_terminal "echo 'Installing $1 from AUR...'; yay -S --noconfirm $2 && setsid gtk-launch $3"
}
show_learn_menu() {
case $(menu "Learn" " Keybindings\n Omarchy\n Hyprland\n󰣇 Arch\n Neovim\n󱆃 Bash") in
*Keybindings*) $OMARCHY_BIN_PATH/omarchy-menu-keybindings ;;
*Omarchy*) open_web "https://manuals.omamix.org/2/the-omarchy-manual" ;;
*Hyprland*) open_web "https://wiki.hypr.land/" ;;
*Arch*) open_web "https://wiki.archlinux.org/title/Main_page" ;;
*Bash*) open_web "https://devhints.io/bash" ;;
*Neovim*) open_web "https://www.lazyvim.org/keymaps" ;;
*Keybindings*) omarchy-menu-keybindings ;;
*Omarchy*) omarchy-launch-webapp "https://learn.omacom.io/2/the-omarchy-manual" ;;
*Hyprland*) omarchy-launch-webapp "https://wiki.hypr.land/" ;;
*Arch*) omarchy-launch-webapp "https://wiki.archlinux.org/title/Main_page" ;;
*Bash*) omarchy-launch-webapp "https://devhints.io/bash" ;;
*Neovim*) omarchy-launch-webapp "https://www.lazyvim.org/keymaps" ;;
*) show_main_menu ;;
esac
}
show_style_menu() {
case $(menu "Style" "󰸌 Theme\n Font\n Background") in
*Theme*) show_theme_menu ;;
*Font*) show_font_menu ;;
*Background*) $OMARCHY_BIN_PATH/omarchy-theme-bg-next ;;
show_trigger_menu() {
case $(menu "Trigger" " Capture\n Share\n󰔎 Toggle") in
*Capture*) show_capture_menu ;;
*Share*) show_share_menu ;;
*Toggle*) show_toggle_menu ;;
*) show_main_menu ;;
esac
}
show_theme_menu() {
theme=$(menu "Theme" "$($OMARCHY_BIN_PATH/omarchy-theme-list)" "" "$($OMARCHY_BIN_PATH/omarchy-theme-current)")
if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
show_main_menu
else
$OMARCHY_BIN_PATH/omarchy-theme-set "$theme"
fi
}
show_font_menu() {
theme=$(menu "Font" "$($OMARCHY_BIN_PATH/omarchy-font-list)" "-w 350" "$($OMARCHY_BIN_PATH/omarchy-font-current)")
if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
show_main_menu
else
$OMARCHY_BIN_PATH/omarchy-font-set "$theme"
fi
}
show_capture_menu() {
case $(menu "Capture" " Screenshot\n Screenrecord\n󰃉 Color") in
*Screenshot*) show_screenshot_menu ;;
*Screenrecord*) show_screenrecord_menu ;;
*Color*) pkill hyprpicker || hyprpicker -a ;;
*) show_main_menu ;;
*) show_trigger_menu ;;
esac
}
show_screenshot_menu() {
case $(menu "Screenshot" " Region\n Window\n Display") in
*Region*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot ;;
*Window*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot window ;;
*Display*) $OMARCHY_BIN_PATH/omarchy-cmd-screenshot output ;;
*Region*) omarchy-cmd-screenshot ;;
*Window*) omarchy-cmd-screenshot window ;;
*Display*) omarchy-cmd-screenshot output ;;
*) show_capture_menu ;;
esac
}
show_screenrecord_menu() {
case $(menu "Screenrecord" " Region\n Display") in
*Region*) $OMARCHY_BIN_PATH/omarchy-cmd-screenrecord ;;
*Display*) $OMARCHY_BIN_PATH/omarchy-cmd-screenrecord output ;;
case $(menu "Screenrecord" " Region\n Region + Audio\n Display\n Display + Audio") in
*"Region + Audio"*) omarchy-cmd-screenrecord region audio ;;
*Region*) omarchy-cmd-screenrecord ;;
*"Display + Audio"*) omarchy-cmd-screenrecord output audio ;;
*Display*) omarchy-cmd-screenrecord output ;;
*) show_capture_menu ;;
esac
}
show_share_menu() {
case $(menu "Share" " Clipboard\n File \n Folder") in
*Clipboard*) terminal bash -c "omarchy-cmd-share clipboard" ;;
*File*) terminal bash -c "omarchy-cmd-share file" ;;
*Folder*) terminal bash -c "omarchy-cmd-share folder" ;;
*) back_to show_trigger_menu ;;
esac
}
show_toggle_menu() {
case $(menu "Toggle" "󱄄 Screensaver\n󰔎 Nightlight\n󱫖 Idle Lock\n󰍜 Top Bar") in
*Screensaver*) $OMARCHY_BIN_PATH/omarchy-launch-screensaver ;;
*Nightlight*) $OMARCHY_BIN_PATH/omarchy-toggle-nightlight ;;
*Idle*) $OMARCHY_BIN_PATH/omarchy-toggle-idle ;;
*Bar*) pkill -SIGUSR1 waybar ;;
*Screensaver*) omarchy-toggle-screensaver ;;
*Nightlight*) omarchy-toggle-nightlight ;;
*Idle*) omarchy-toggle-idle ;;
*Bar*) omarchy-toggle-waybar ;;
*) show_trigger_menu ;;
esac
}
show_style_menu() {
case $(menu "Style" "󰸌 Theme\n Font\n Background\n Hyprland\n󱄄 Screensaver\n About") in
*Theme*) show_theme_menu ;;
*Font*) show_font_menu ;;
*Background*) omarchy-theme-bg-next ;;
*Hyprland*) open_in_editor ~/.config/hypr/looknfeel.conf ;;
*Screensaver*) open_in_editor ~/.config/omarchy/branding/screensaver.txt ;;
*About*) open_in_editor ~/.config/omarchy/branding/about.txt ;;
*) show_main_menu ;;
esac
}
show_theme_menu() {
theme=$(menu "Theme" "$(omarchy-theme-list)" "" "$(omarchy-theme-current)")
if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
back_to show_style_menu
else
omarchy-theme-set "$theme"
fi
}
show_font_menu() {
theme=$(menu "Font" "$(omarchy-font-list)" "-w 350" "$(omarchy-font-current)")
if [[ "$theme" == "CNCLD" || -z "$theme" ]]; then
back_to show_style_menu
else
omarchy-font-set "$theme"
fi
}
show_setup_menu() {
local options=" Audio\n Wifi\n󰂯 Bluetooth\n󱐋 Power Profile\n󰍹 Monitors"
[ -f ~/.config/hypr/bindings.conf ] && options="$options\n Keybindings"
[ -f ~/.config/hypr/input.conf ] && options="$options\n Input"
options="$options\n Config\n󰈷 Fingerprint\n Fido2"
options="$options\n Defaults\n󰱔 DNS\n Security\n Config"
case $(menu "Setup" "$options") in
*Audio*) alacritty --class=Wiremix -e wiremix ;;
*Wifi*) alacritty --class=Impala -e impala ;;
*Bluetooth*) blueberry ;;
*Audio*) $TERMINAL --class=Wiremix -e wiremix ;;
*Wifi*)
rfkill unblock wifi
omarchy-launch-wifi
;;
*Bluetooth*)
rfkill unblock bluetooth
blueberry
;;
*Power*) show_setup_power_menu ;;
*Monitors*) edit_in_nvim ~/.config/hypr/monitors.conf ;;
*Keybindings*) edit_in_nvim ~/.config/hypr/bindings.conf ;;
*Input*) edit_in_nvim ~/.config/hypr/input.conf ;;
*Monitors*) open_in_editor ~/.config/hypr/monitors.conf ;;
*Keybindings*) open_in_editor ~/.config/hypr/bindings.conf ;;
*Input*) open_in_editor ~/.config/hypr/input.conf ;;
*Defaults*) open_in_editor ~/.config/uwsm/default ;;
*DNS*) present_terminal omarchy-setup-dns ;;
*Security*) show_setup_security_menu ;;
*Config*) show_setup_config_menu ;;
*Fingerprint*) present_terminal $OMARCHY_BIN_PATH/omarchy-setup-fingerprint ;;
*Fido2*) present_terminal $OMARCHY_BIN_PATH/omarchy-setup-fido2 ;;
*) show_main_menu ;;
esac
}
show_setup_power_menu() {
profile=$(menu "Power Profile" "$($OMARCHY_BIN_PATH/omarchy-powerprofiles-list)" "" "$(powerprofilesctl get)")
profile=$(menu "Power Profile" "$(omarchy-powerprofiles-list)" "" "$(powerprofilesctl get)")
if [[ "$profile" == "CNCLD" || -z "$profile" ]]; then
show_main_menu
back_to show_setup_menu
else
powerprofilesctl set "$profile"
fi
@@ -158,56 +211,105 @@ show_setup_power_menu() {
show_setup_config_menu() {
case $(menu "Setup" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar\n󰞅 XCompose") in
*Hyprland*) edit_in_nvim ~/.config/hypr/hyprland.conf ;;
*Hypridle*) edit_in_nvim ~/.config/hypr/hypridle.conf && ~/.local/share/omarchy/bin/omarchy-restart-hypridle ;;
*Hyprlock*) edit_in_nvim ~/.config/hypr/hyprlock.conf ;;
*Hyprsunset*) edit_in_nvim ~/.config/hypr/hyprsunset.conf && ~/.local/share/omarchy/bin/omarchy-restart-hyprsunset ;;
*Swayosd*) edit_in_nvim ~/.config/swayosd/config.toml && ~/.local/share/omarchy/bin/omarchy-restart-swayosd ;;
*Walker*) edit_in_nvim ~/.config/walker/config.toml && ~/.local/share/omarchy/bin/omarchy-restart-walker ;;
*Waybar*) edit_in_nvim ~/.config/waybar/config.jsonc && ~/.local/share/omarchy/bin/omarchy-restart-waybar ;;
*XCompose*) edit_in_nvim ~/.XCompose && ~/.local/share/omarchy/bin/omarchy-restart-xcompose ;;
*Hyprland*) open_in_editor ~/.config/hypr/hyprland.conf ;;
*Hypridle*) open_in_editor ~/.config/hypr/hypridle.conf && omarchy-restart-hypridle ;;
*Hyprlock*) open_in_editor ~/.config/hypr/hyprlock.conf ;;
*Hyprsunset*) open_in_editor ~/.config/hypr/hyprsunset.conf && omarchy-restart-hyprsunset ;;
*Swayosd*) open_in_editor ~/.config/swayosd/config.toml && omarchy-restart-swayosd ;;
*Walker*) open_in_editor ~/.config/walker/config.toml && omarchy-restart-walker ;;
*Waybar*) open_in_editor ~/.config/waybar/config.jsonc && omarchy-restart-waybar ;;
*XCompose*) open_in_editor ~/.XCompose && omarchy-restart-xcompose ;;
*) show_main_menu ;;
esac
}
show_setup_security_menu() {
case $(menu "Setup" "󰈷 Fingerprint\n Fido2") in
*Fingerprint*) present_terminal omarchy-setup-fingerprint ;;
*Fido2*) present_terminal omarchy-setup-fido2 ;;
*) show_setup_menu ;;
esac
}
show_install_menu() {
case $(menu "Install" "󰣇 Package\n Web App\n Style\n Editor\n󱚤 AI\n Dropbox\n Steam\n Docker DB") in
*Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-install ;;
*Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-install ;;
case $(menu "Install" "󰣇 Package\n󰣇 AUR\n Web App\n TUI\n Service\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI\n Gaming") in
*Package*) terminal omarchy-pkg-install ;;
*AUR*) terminal omarchy-pkg-aur-install ;;
*Web*) present_terminal omarchy-webapp-install ;;
*TUI*) present_terminal omarchy-tui-install ;;
*Service*) show_install_service_menu ;;
*Style*) show_install_style_menu ;;
*Development*) show_install_development_menu ;;
*Editor*) show_install_editor_menu ;;
*Terminal*) show_install_terminal_menu ;;
*AI*) show_install_ai_menu ;;
*Dropbox*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-dropbox ;;
*Steam*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-steam ;;
*Docker*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-docker-dbs ;;
*Gaming*) show_install_gaming_menu ;;
*) show_main_menu ;;
esac
}
show_install_service_menu() {
case $(menu "Install" " Dropbox\n Tailscale\n󰟵 Bitwarden\n Chromium Account") in
*Dropbox*) present_terminal omarchy-install-dropbox ;;
*Tailscale*) present_terminal omarchy-install-tailscale ;;
*Bitwarden*) install_and_launch "Bitwarden" "bitwarden bitwarden-cli" "bitwarden" ;;
*Chromium*) present_terminal omarchy-install-chromium-google-account ;;
*) show_install_menu ;;
esac
}
show_install_editor_menu() {
case $(menu "Install" " VSCode\n Cursor\n Zed") in
*VSCode*) install_and_launch "VSCode" "visual-studio-code-bin" "code" ;;
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor-cursor" ;;
case $(menu "Install" " VSCode\n Cursor\n Zed\n Sublime Text\n Helix\n Emacs") in
*VSCode*) present_terminal omarchy-install-vscode ;;
*Cursor*) install_and_launch "Cursor" "cursor-bin" "cursor" ;;
*Zed*) install_and_launch "Zed" "zed" "dev.zed.Zed" ;;
*Sublime*) aur_install_and_launch "Sublime Text" "sublime-text-4" "sublime_text" ;;
*Helix*) install "Helix" "helix" ;;
*Emacs*) install "Emacs" "emacs-wayland" && systemctl --user enable --now emacs.service ;;
*) show_install_menu ;;
esac
}
show_install_terminal_menu() {
case $(menu "Install" " Alacritty\n Ghostty\n Kitty") in
*Alacritty*) install_terminal "alacritty" ;;
*Ghostty*) install_terminal "ghostty" ;;
*Kitty*) install_terminal "kitty" ;;
*) show_install_menu ;;
esac
}
show_install_ai_menu() {
case $(menu "Install" "󱚤 Claude Code\n󱚤 Gemini\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 Open Code") in
ollama_pkg=$(
(command -v nvidia-smi &>/dev/null && echo ollama-cuda) ||
(command -v rocminfo &>/dev/null && echo ollama-rocm) ||
echo ollama
)
case $(menu "Install" "󱚤 Claude Code\n󱚤 Gemini [AUR]\n󱚤 OpenAI Codex [AUR]\n󱚤 LM Studio\n󱚤 Ollama\n󱚤 Crush\n󱚤 opencode") in
*Claude*) install "Claude Code" "claude-code" ;;
*Gemini*) install "Gemini" "gemini-cli-bin" ;;
*OpenAI*) aur_install "OpenAI Codex" "openai-codex-bin" ;;
*Gemini*) aur_install "Gemini" "gemini-cli" ;;
*Studio*) install "LM Studio" "lmstudio" ;;
*Ollama*) install "Ollama" "ollama" ;;
*Ollama*) install "Ollama" $ollama_pkg ;;
*Crush*) install "Crush" "crush-bin" ;;
*Code*) install "Open Code" "opencode-bin" ;;
*opencode*) install "opencode" "opencode" ;;
*) show_install_menu ;;
esac
}
show_install_gaming_menu() {
case $(menu "Install" " Steam\n RetroArch [AUR]\n󰍳 Minecraft") in
*Steam*) present_terminal omarchy-install-steam ;;
*RetroArch*) aur_install_and_launch "RetroArch" "retroarch retroarch-assets libretro libretro-fbneo" "com.libretro.RetroArch.desktop" ;;
*Minecraft*) aur_install_and_launch "Minecraft [AUR]" "minecraft-launcher" "minecraft-launcher" ;;
*) show_install_menu ;;
esac
}
show_install_style_menu() {
case $(menu "Install" "󰸌 Theme\n Background\n Font") in
*Theme*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-install ;;
*Theme*) present_terminal omarchy-theme-install ;;
*Background*) nautilus ~/.config/omarchy/current/theme/backgrounds ;;
*Font*) show_install_font_menu ;;
*) show_install_menu ;;
@@ -224,88 +326,164 @@ show_install_font_menu() {
esac
}
show_install_development_menu() {
case $(menu "Install" "󰫏 Ruby on Rails\n Docker DB\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n OCaml\n Clojure") in
*Rails*) present_terminal "omarchy-install-dev-env ruby" ;;
*Docker*) present_terminal omarchy-install-docker-dbs ;;
*JavaScript*) show_install_javascript_menu ;;
*Go*) present_terminal "omarchy-install-dev-env go" ;;
*PHP*) show_install_php_menu ;;
*Python*) present_terminal "omarchy-install-dev-env python" ;;
*Elixir*) show_install_elixir_menu ;;
*Zig*) present_terminal "omarchy-install-dev-env zig" ;;
*Rust*) present_terminal "omarchy-install-dev-env rust" ;;
*Java*) present_terminal "omarchy-install-dev-env java" ;;
*NET*) present_terminal "omarchy-install-dev-env dotnet" ;;
*OCaml*) present_terminal "omarchy-install-dev-env ocaml" ;;
*Clojure*) present_terminal "omarchy-install-dev-env clojure" ;;
*) show_install_menu ;;
esac
}
show_install_javascript_menu() {
case $(menu "Install" " Node.js\n Bun\n Deno") in
*Node*) present_terminal "omarchy-install-dev-env node" ;;
*Bun*) present_terminal "omarchy-install-dev-env bun" ;;
*Deno*) present_terminal "omarchy-install-dev-env deno" ;;
*) show_install_development_menu ;;
esac
}
show_install_php_menu() {
case $(menu "Install" " PHP\n Laravel\n Symfony") in
*PHP*) present_terminal "omarchy-install-dev-env php" ;;
*Laravel*) present_terminal "omarchy-install-dev-env laravel" ;;
*Symfony*) present_terminal "omarchy-install-dev-env symfony" ;;
*) show_install_development_menu ;;
esac
}
show_install_elixir_menu() {
case $(menu "Install" " Elixir\n Phoenix") in
*Elixir*) present_terminal "omarchy-install-dev-env elixir" ;;
*Phoenix*) present_terminal "omarchy-install-dev-env phoenix" ;;
*) show_install_development_menu ;;
esac
}
show_remove_menu() {
case $(menu "Remove" "󰣇 Package\n Web App\n󰸌 Theme\n󰈷 Fingerprint\n Fido2") in
*Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-remove ;;
*Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-remove ;;
*Theme*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-remove ;;
*Fingerprint*) present_terminal "$OMARCHY_BIN_PATH/omarchy-setup-fingerprint --remove" ;;
*Fido2*) present_terminal "$OMARCHY_BIN_PATH/omarchy-setup-fido2 --remove" ;;
case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰸌 Theme\n󰈷 Fingerprint\n Fido2") in
*Package*) terminal omarchy-pkg-remove ;;
*Web*) present_terminal omarchy-webapp-remove ;;
*TUI*) present_terminal omarchy-tui-remove ;;
*Theme*) present_terminal omarchy-theme-remove ;;
*Fingerprint*) present_terminal "omarchy-setup-fingerprint --remove" ;;
*Fido2*) present_terminal "omarchy-setup-fido2 --remove" ;;
*) show_main_menu ;;
esac
}
show_update_menu() {
case $(menu "Update" "󰣇 Omarchy\n Config\n Process\n󰸌 Themes\n Timezone") in
*Omarchy*) present_terminal $OMARCHY_BIN_PATH/omarchy-update ;;
case $(menu "Update" " Omarchy\n Branch\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Password\n Timezone") in
*Omarchy*) present_terminal omarchy-update ;;
*Branch*) show_update_branch_menu ;;
*Config*) show_update_config_menu ;;
*Themes*) present_terminal omarchy-theme-update ;;
*Process*) show_update_process_menu ;;
*Themes*) present_terminal $OMARCHY_BIN_PATH/omarchy-theme-update ;;
*Timezone*) $OMARCHY_BIN_PATH/omarchy-cmd-tzupdate ;;
*Hardware*) show_update_hardware_menu ;;
*Timezone*) omarchy-cmd-tzupdate ;;
*Password*) show_update_password_menu ;;
*) show_main_menu ;;
esac
}
show_update_branch_menu() {
case $(menu "Branch" "master\ndev" "" "$(omarchy-version-branch)") in
*master*) present_terminal "omarchy-update-branch master" ;;
*dev*) present_terminal "omarchy-update-branch dev" ;;
*) show_update_menu ;;
esac
}
show_update_process_menu() {
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hypridle*) $OMARCHY_BIN_PATH/omarchy-restart-hypridle ;;
*Hyprsunset*) $OMARCHY_BIN_PATH/omarchy-restart-hyprsunset ;;
*Swayosd*) $OMARCHY_BIN_PATH/omarchy-restart-swayosd ;;
*Walker*) $OMARCHY_BIN_PATH/omarchy-restart-walker ;;
*Waybar*) $OMARCHY_BIN_PATH/omarchy-restart-waybar ;;
*) show_main_menu ;;
*Hypridle*) omarchy-restart-hypridle ;;
*Hyprsunset*) omarchy-restart-hyprsunset ;;
*Swayosd*) omarchy-restart-swayosd ;;
*Walker*) omarchy-restart-walker ;;
*Waybar*) omarchy-restart-waybar ;;
*) show_update_menu ;;
esac
}
show_update_config_menu() {
case $(menu "Use default config" " Hyprland\n Hypridle\n Hyprlock\n Hyprsunset\n󱣴 Plymouth\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hyprland*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprland ;;
*Hypridle*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hypridle ;;
*Hyprlock*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprlock ;;
*Hyprsunset*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-hyprsunset ;;
*Plymouth*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-plymouth ;;
*Swayosd*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-swayosd ;;
*Walker*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-walker ;;
*Waybar*) present_terminal $OMARCHY_BIN_PATH/omarchy-refresh-waybar ;;
*) show_main_menu ;;
*Hyprland*) present_terminal omarchy-refresh-hyprland ;;
*Hypridle*) present_terminal omarchy-refresh-hypridle ;;
*Hyprlock*) present_terminal omarchy-refresh-hyprlock ;;
*Hyprsunset*) present_terminal omarchy-refresh-hyprsunset ;;
*Plymouth*) present_terminal omarchy-refresh-plymouth ;;
*Swayosd*) present_terminal omarchy-refresh-swayosd ;;
*Walker*) present_terminal omarchy-refresh-walker ;;
*Waybar*) present_terminal omarchy-refresh-waybar ;;
*) show_update_menu ;;
esac
}
show_update_hardware_menu() {
case $(menu "Restart" " Audio\n󱚾 Wi-Fi\n󰂯 Bluetooth") in
*Audio*) present_terminal omarchy-restart-pipewire ;;
*Wi-Fi*) present_terminal omarchy-restart-wifi ;;
*Bluetooth*) present_terminal omarchy-restart-bluetooth ;;
*) show_update_menu ;;
esac
}
show_update_password_menu() {
case $(menu "Update Password" " Drive Encryption\n User") in
*Drive*) present_terminal omarchy-drive-set-password ;;
*User*) present_terminal passwd ;;
*) show_update_menu ;;
esac
}
show_system_menu() {
case $(menu "System" " Lock\n󰤄 Suspend\n Relaunch\n󰜉 Restart\n󰐥 Shutdown") in
*Lock*) hyprlock ;;
case $(menu "System" " Lock\n󱄄 Screensaver\n󰤄 Suspend\n Relaunch\n󰜉 Restart\n󰐥 Shutdown") in
*Lock*) omarchy-lock-screen ;;
*Screensaver*) omarchy-launch-screensaver force ;;
*Suspend*) systemctl suspend ;;
*Relaunch*) uwsm stop ;;
*Restart*) systemctl reboot ;;
*Shutdown*) systemctl poweroff ;;
*) show_main_menu ;;
*Relaunch*) omarchy-state clear relaunch-required && sudo systemctl restart sddm ;;
*Restart*) omarchy-state clear re*-required && systemctl reboot ;;
*Shutdown*) omarchy-state clear re*-required && systemctl poweroff ;;
*) back_to show_main_menu ;;
esac
}
show_main_menu() {
go_to_menu "$(menu "Go" "󰀻 Apps\n󰧑 Learn\n Capture\n󰔎 Toggle\n Style\n Setup\n󰉉 Install\n󰭌 Remove\n Update\n About\n System")"
go_to_menu "$(menu "Go" "󰀻 Apps\n󰧑 Learn\n󱓞 Trigger\n Style\n Setup\n󰉉 Install\n󰭌 Remove\n Update\n About\n System")"
}
go_to_menu() {
case "${1,,}" in
*apps*) walker -p "Launch…" ;;
*learn*) show_learn_menu ;;
*trigger*) show_trigger_menu ;;
*share*) show_share_menu ;;
*style*) show_style_menu ;;
*theme*) show_theme_menu ;;
*capture*) show_capture_menu ;;
*screenshot*) show_screenshot_menu ;;
*screenrecord*) show_screenrecord_menu ;;
*toggle*) show_toggle_menu ;;
*setup*) show_setup_menu ;;
*power*) show_setup_power_menu ;;
*install*) show_install_menu ;;
*remove*) show_remove_menu ;;
*update*) show_update_menu ;;
*about*) omarchy-launch-about ;;
*system*) show_system_menu ;;
*about*) gtk-launch About.desktop ;;
esac
}
if [[ -n "$1" ]]; then
BACK_TO_EXIT=true
go_to_menu "$1"
else
show_main_menu
+96 -24
View File
@@ -3,6 +3,69 @@
# A script to display Hyprland keybindings defined in your configuration
# using walker for an interactive search menu.
declare -A KEYCODE_SYM_MAP
build_keymap_cache() {
local keymap
keymap="$(xkbcli compile-keymap)" || {
echo "Failed to compile keymap" >&2
return 1
}
while IFS=, read -r code sym; do
[[ -z "$code" || -z "$sym" ]] && continue
KEYCODE_SYM_MAP["$code"]="$sym"
done < <(
awk '
BEGIN { sec = "" }
/xkb_keycodes/ { sec = "codes"; next }
/xkb_symbols/ { sec = "syms"; next }
sec == "codes" {
if (match($0, /<([A-Za-z0-9_]+)>\s*=\s*([0-9]+)\s*;/, m)) code_by_name[m[1]] = m[2]
}
sec == "syms" {
if (match($0, /key\s*<([A-Za-z0-9_]+)>\s*\{\s*\[\s*([^, \]]+)/, m)) sym_by_name[m[1]] = m[2]
}
END {
for (k in code_by_name) {
c = code_by_name[k]
s = sym_by_name[k]
if (c != "" && s != "" && s != "NoSymbol") print c "," s
}
}
' <<<"$keymap"
)
}
lookup_keycode_cached() {
printf '%s\n' "${KEYCODE_SYM_MAP[$1]}"
}
parse_keycodes() {
local start end elapsed
[[ "${DEBUG:-0}" == "1" ]] && start=$(date +%s.%N)
while IFS= read -r line; do
if [[ "$line" =~ code:([0-9]+) ]]; then
code="${BASH_REMATCH[1]}"
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
echo "${line/code:${code}/$symbol}"
else
echo "$line"
fi
done
if [[ "$DEBUG" == "1" ]]; then
end=$(date +%s.%N)
# fall back to awk if bc is missing
if command -v bc >/dev/null 2>&1; then
elapsed=$(echo "$end - $start" | bc)
else
elapsed=$(awk -v s="$start" -v e="$end" 'BEGIN{printf "%.6f", (e - s)}')
fi
echo "[DEBUG] parse_keycodes elapsed: ${elapsed}s" >&2
fi
}
# Fetch dynamic keybindings from Hyprland
#
# Also do some pre-processing:
@@ -11,27 +74,30 @@
# - Map numeric modifier key mask to a textual rendition
# - Output comma-separated values that the parser can understand
dynamic_bindings() {
hyprctl -j binds | \
jq -r '.[] | {modmask, key, keycode, description, dispatcher, arg} | "\(.modmask),\(.key)@\(.keycode),\(.description),\(.dispatcher),\(.arg)"' | \
hyprctl -j binds |
jq -r '.[] | {modmask, key, keycode, description, dispatcher, arg} | "\(.modmask),\(.key)@\(.keycode),\(.description),\(.dispatcher),\(.arg)"' |
sed -r \
-e 's/null//' \
-e 's,~/.local/share/omarchy/bin/,,' \
-e 's,uwsm app -- ,,' \
-e 's/@0//' \
-e 's/,@/,code:/' \
-e 's/^0,/,/' \
-e 's/^1,/SHIFT,/' \
-e 's/^4,/CTRL,/' \
-e 's/^5,/SHIFT CTRL,/' \
-e 's/^8,/ALT,/' \
-e 's/^9,/SHIFT ALT,/' \
-e 's/^12,/CTRL ALT,/' \
-e 's/^13,/SHIFT CTRL ALT,/' \
-e 's/^64,/SUPER,/' \
-e 's/^65,/SUPER SHIFT,/' \
-e 's/^68,/SUPER CTRL,/' \
-e 's/^69,/SUPER SHIFT CTRL,/' \
-e 's/^72,/SUPER ALT,/'
-e 's/null//' \
-e 's,~/.local/share/omarchy/bin/,,' \
-e 's,uwsm app -- ,,' \
-e 's/@0//' \
-e 's/,@/,code:/' \
-e 's/^0,/,/' \
-e 's/^1,/SHIFT,/' \
-e 's/^4,/CTRL,/' \
-e 's/^5,/SHIFT CTRL,/' \
-e 's/^8,/ALT,/' \
-e 's/^9,/SHIFT ALT,/' \
-e 's/^12,/CTRL ALT,/' \
-e 's/^13,/SHIFT CTRL ALT,/' \
-e 's/^64,/SUPER,/' \
-e 's/^65,/SUPER SHIFT,/' \
-e 's/^68,/SUPER CTRL,/' \
-e 's/^69,/SUPER SHIFT CTRL,/' \
-e 's/^72,/SUPER ALT,/' \
-e 's/^73,/SUPER SHIFT ALT,/' \
-e 's/^76,/SUPER CTRL ALT,/' \
-e 's/^77,/SUPER SHIFT CTRL ALT,/'
}
# Parse and format keybindings
@@ -80,7 +146,13 @@ parse_bindings() {
}'
}
dynamic_bindings | \
sort -u | \
parse_bindings | \
walker --dmenu --theme keybindings -p 'Keybindings'
monitor_height=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .height')
menu_height=$((monitor_height * 40 / 100))
build_keymap_cache
dynamic_bindings |
sort -u |
parse_keycodes |
parse_bindings |
walker --dmenu --theme keybindings -p 'Keybindings' -w 800 -h "$menu_height"
+14 -5
View File
@@ -1,18 +1,27 @@
#!/bin/bash
set -e
# Where we store an empty file for each migration that has already been performed.
STATE_DIR="$HOME/.local/state/omarchy/migrations"
mkdir -p "$STATE_DIR"
# Skipped migrations are tracked separately
mkdir -p "$STATE_DIR/skipped"
# Run any pending migrations
for file in ~/.local/share/omarchy/migrations/*.sh; do
filename=$(basename "$file")
if [[ ! -f "$STATE_DIR/$filename" ]]; then
if [[ ! -f "$STATE_DIR/$filename" && ! -f "$STATE_DIR/skipped/$filename" ]]; then
echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
source $file
touch "$STATE_DIR/$filename"
if bash $file; then
touch "$STATE_DIR/$filename"
else
if gum confirm "Migration ${filename%.sh} failed. Skip and continue?"; then
touch "$STATE_DIR/skipped/$filename"
else
exit 1
fi
fi
fi
done
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
if (($# == 0)); then
echo "Usage: omarchy-notification-dismiss <summary>"
exit 1
fi
# Find the first notification whose 'summary' matches the regex in $1
notification_id=$(makoctl list | grep -F "$1" | head -n1 | sed -E 's/^Notification ([0-9]+):.*/\1/')
if [[ -n $notification_id ]]; then
makoctl dismiss -n $notification_id
fi
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
sudo pacman -S --noconfirm --needed "$@" || exit 1
for pkg in "$@"; do
# Secondary check to handle states where pacman doesn't actually register an error
if ! pacman -Q "$pkg" &>/dev/null; then
echo -e "\033[31mError: Package '$pkg' did not install\033[0m" >&2
exit 1
fi
done
exit 0
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
curl -sf --connect-timeout 30 --retry 3 --retry-delay 3 -A "omarchy-update" \
"https://aur.archlinux.org/rpc/?v=5&type=info&arg=base" >/dev/null
+24
View File
@@ -0,0 +1,24 @@
#!/bin/bash
fzf_args=(
--multi
--preview 'yay -Siia {1}'
--preview-label='alt-p: toggle description, alt-b/B: toggle PKGBUILD, alt-j/k: scroll, tab: multi-select, F11: maximize'
--preview-label-pos='bottom'
--preview-window 'down:65%:wrap'
--bind 'alt-p:toggle-preview'
--bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
--bind 'alt-k:preview-up,alt-j:preview-down'
--bind 'alt-b:change-preview:yay -Gpa {1} | tail -n +5'
--bind 'alt-B:change-preview:yay -Siia {1}'
--color 'pointer:green,marker:green'
)
pkg_names=$(yay -Slqa | fzf "${fzf_args[@]}")
if [[ -n "$pkg_names" ]]; then
# Convert newline-separated selections to space-separated for yay
echo "$pkg_names" | tr '\n' ' ' | xargs yay -S --noconfirm
sudo updatedb
omarchy-show-done
fi
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
for pkg in "$@"; do
if pacman -Q "$pkg" &>/dev/null; then
sudo pacman -Rns --noconfirm "$pkg"
fi
done
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
IGNORED_PACKAGES_FILE="$OMARCHY_PATH/install/packages.ignored"
if [[ -f $IGNORED_PACKAGES_FILE ]]; then
tr '\r\n' ',' <"$IGNORED_PACKAGES_FILE" | sed 's/,$//'
fi
+17 -5
View File
@@ -1,9 +1,21 @@
#!/bin/bash
pkg_name=$(yay -Slq | fzf --multi --preview 'yay -Sii {1}' --preview-window=down:75%)
fzf_args=(
--multi
--preview 'pacman -Sii {1}'
--preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize'
--preview-label-pos='bottom'
--preview-window 'down:65%:wrap'
--bind 'alt-p:toggle-preview'
--bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
--bind 'alt-k:preview-up,alt-j:preview-down'
--color 'pointer:green,marker:green'
)
if [[ -n "$pkg_name" ]]; then
yay -Sy --noconfirm "$pkg_name"
sudo updatedb
~/.local/share/omarchy/bin/omarchy-show-done
pkg_names=$(pacman -Slq | fzf "${fzf_args[@]}")
if [[ -n "$pkg_names" ]]; then
# Convert newline-separated selections to space-separated for yay
echo "$pkg_names" | tr '\n' ' ' | xargs sudo pacman -S --noconfirm
omarchy-show-done
fi
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
for pkg in "$@"; do
if ! pacman -Q "$pkg" &>/dev/null; then
exit 0
fi
done
exit 1
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
PINNED_PACKAGES_FILE="$OMARCHY_PATH/install/packages.pinned"
if [[ -f $PINNED_PACKAGES_FILE ]]; then
tr '\r\n' ',' <"$PINNED_PACKAGES_FILE" | sed 's/,$//'
fi
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
for pkg in "$@"; do
pacman -Q "$pkg" &>/dev/null || exit 1
done
exit 0
+17 -5
View File
@@ -1,9 +1,21 @@
#!/bin/bash
pkg_name=$(yay -Qqe | fzf --multi --preview 'yay -Qi {1}' --preview-window=down:75%)
fzf_args=(
--multi
--preview 'yay -Qi {1}'
--preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize'
--preview-label-pos='bottom'
--preview-window 'down:65%:wrap'
--bind 'alt-p:toggle-preview'
--bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
--bind 'alt-k:preview-up,alt-j:preview-down'
--color 'pointer:red,marker:red'
)
if [[ -n "$pkg_name" ]]; then
yay -Rns --noconfirm "$pkg_name"
sudo updatedb
~/.local/share/omarchy/bin/omarchy-show-done
pkg_names=$(yay -Qqe | fzf "${fzf_args[@]}")
if [[ -n "$pkg_names" ]]; then
# Convert newline-separated selections to space-separated for yay
echo "$pkg_names" | tr '\n' ' ' | xargs sudo pacman -Rns --noconfirm
omarchy-show-done
fi
-5
View File
@@ -10,9 +10,4 @@ mkdir -p ~/.local/share/applications
cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/
cp ~/.local/share/omarchy/applications/hidden/*.desktop ~/.local/share/applications/
# Only copy xtras if user is not in bare mode
if [[ ! -f ~/.local/state/omarchy/bare.mode ]] && [ -z "$OMARCHY_BARE" ]; then
cp ~/.local/share/omarchy/applications/xtras/*.desktop ~/.local/share/applications/
fi
update-desktop-database ~/.local/share/applications
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
omarchy-refresh-config fastfetch/config.jsonc
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hypridle.conf
~/.local/share/omarchy/bin/omarchy-restart-hypridle
omarchy-refresh-config hypr/hypridle.conf
omarchy-restart-hypridle
+5 -5
View File
@@ -1,7 +1,7 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/autostart.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/bindings.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/envs.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/input.conf
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprland.conf
omarchy-refresh-config hypr/autostart.conf
omarchy-refresh-config hypr/bindings.conf
omarchy-refresh-config hypr/envs.conf
omarchy-refresh-config hypr/input.conf
omarchy-refresh-config hypr/hyprland.conf
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprlock.conf
omarchy-refresh-config hypr/hyprlock.conf
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config hypr/hyprsunset.conf
~/.local/share/omarchy/bin/omarchy-restart-hyprsunset
omarchy-refresh-config hypr/hyprsunset.conf
omarchy-restart-hyprsunset
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
sudo cp -f ~/.local/share/omarchy/default/pacman/mirrorlist /etc/pacman.d/mirrorlist
+7 -3
View File
@@ -1,6 +1,10 @@
#!/bin/bash
if [[ "$1" == "-y" ]] || gum confirm "Refresh Plymouth theme? This will replace your current startup screen with Omarchy defaults."; then
sudo cp ~/.local/share/omarchy/default/plymouth/* /usr/share/plymouth/themes/omarchy/
sudo plymouth-set-default-theme -R omarchy
sudo cp ~/.local/share/omarchy/default/plymouth/* /usr/share/plymouth/themes/omarchy/
sudo plymouth-set-default-theme omarchy
if command -v limine-mkinitcpio &>/dev/null; then
sudo limine-mkinitcpio
else
sudo mkinitcpio -P
fi
+3 -3
View File
@@ -1,5 +1,5 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config swayosd/config.toml
~/.local/share/omarchy/bin/omarchy-refresh-config swayosd/style.css
~/.local/share/omarchy/bin/omarchy-restart-swayosd
omarchy-refresh-config swayosd/config.toml
omarchy-refresh-config swayosd/style.css
omarchy-restart-swayosd
+2 -2
View File
@@ -1,4 +1,4 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config walker/config.toml
~/.local/share/omarchy/bin/omarchy-restart-walker
omarchy-refresh-config walker/config.toml
omarchy-restart-walker
+3 -3
View File
@@ -1,5 +1,5 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-refresh-config waybar/config.jsonc
~/.local/share/omarchy/bin/omarchy-refresh-config waybar/style.css
~/.local/share/omarchy/bin/omarchy-restart-waybar
omarchy-refresh-config waybar/config.jsonc
omarchy-refresh-config waybar/style.css
omarchy-restart-waybar
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
# Resetting sudo lockout for user
su -c "faillock --reset --user $USER"
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
echo -e "Unblocking bluetooth...\n"
rfkill unblock bluetooth
rfkill list bluetooth
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app hypridle
omarchy-restart-app hypridle
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
~/.local/share/omarchy/bin/omarchy-restart-app hyprsunset
omarchy-restart-app hyprsunset

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