Compare commits

...

722 Commits

Author SHA1 Message Date
David Heinemeier Hansson
1c2b5ea8e0 Omarchy 1.8.0 (#415)
* Update location of sourced install script

* Add OMARCHY_PATH for easy access

* Formatting

* Enable using finder in walker (#396)

* Enable using finder in walker

* capitalize name property

* Hot reload theme for quick switching

* Use fonts from AUR instead of downloading them directly like an animal

* Include the common JetBrains substitution

* Add a very basic font selector for terminal

* Give the new font selector a bit of room to breathe

* Swap Spotify GUI to TUI

* Correct package name

* Add theme update script (#391)

* Move updating themes from Updates to theme menu

Yeah, it could go in either spot, but since we have one entire category
dedicated to themes, lets keep it there.

* Revert "Correct package name"

This reverts commit 4c46c2208a.

* Revert "Swap Spotify GUI to TUI"

This reverts commit b09d2d68cd.

* Added backup timestamps to various omarchy-refresh-* files to prevent clobbering (#402)

* Added backup timestamps to omarchy-refresh-[hyprlock|swayosd|walker|waybar] scripts to prevent data loss if ran multiple times

* Added new script (omarchy-refresh-config) for refreshing various config files with automated backup creation

* update plymouth logo (#406)

* Track migrations via state files to avoid running migrations that have already been performed. (#411)

* Just use set -e instead of manually checking for return values

* Fix migration

* Unused

* Migrate fonts to packages

* No longer needed

* Use fd for better performance on walker finder

* Add walker config refresh to enable the finder

* Dropbox is now an optional setup

---------

Co-authored-by: Shigeto Kumagai <shk@all.daynight.jp>
Co-authored-by: Mohamedsayhii <63726183+Mohamedsayhii@users.noreply.github.com>
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: Andy Davis <developer.andy@gmail.com>
Co-authored-by: Taha <paprikataha@gmail.com>
2025-07-30 23:44:27 +02:00
David Heinemeier Hansson
b7cbffc91d Merge pull request #383 from basecamp/dev
Omarchy v1.7.0
2025-07-28 14:13:59 +02:00
David Heinemeier Hansson
9c5a29def4 Fix sort order bug with italics 2025-07-28 13:14:35 +02:00
David Heinemeier Hansson
189596cc88 Add migration for new ristretto theme 2025-07-28 13:01:02 +02:00
David Heinemeier Hansson
fbec9b5163 Always setsid so we don't die with the script 2025-07-28 12:58:57 +02:00
David Heinemeier Hansson
7f2c9391d2 /etc/sudoers.d is not accessible without sudo 2025-07-28 12:57:23 +02:00
David Heinemeier Hansson
bba8802c29 Merge branch 'master' into dev 2025-07-28 12:52:49 +02:00
Greg Helding
51fe5bf6e8 Add ristretto theme to default themes (#384)
* Add ristretto theme to defaults

* Update alacritty.toml
2025-07-28 12:49:12 +02:00
David Heinemeier Hansson
588ce42f08 Split and explain 2025-07-28 10:03:11 +02:00
David Heinemeier Hansson
c589130d8b Merge pull request #379 from c4software/patch-3
Add ALT+Tab bindings to cycle windows and bring active to top
2025-07-28 10:02:47 +02:00
David Heinemeier Hansson
e39ec15197 Merge pull request #380 from sobran/fix/steam-windowrule
Fix: restrict Steam centering to only the main window
2025-07-28 09:59:15 +02:00
David Heinemeier Hansson
7589683cd1 Adjust migration to check for whether fastfetch already has the change or not 2025-07-28 09:58:51 +02:00
David Heinemeier Hansson
b1753c1c7c Merge pull request #382 from tahayvr/omarchy-in-fastfetch
Display current Omarchy version in Fastfetch
2025-07-28 09:56:31 +02:00
David Heinemeier Hansson
e8d095c787 Match logo.txt 2025-07-28 09:32:44 +02:00
Taha
01d6deae34 Add migration script for Omarchy version in fastfetch 2025-07-27 23:34:10 -07:00
Taha
478b2da0f1 Add omarchy version to fastfetch config 2025-07-27 23:24:06 -07:00
Patrick Hoffmann
9d7ed32fc9 Fix: restrict Steam centering to only the main window 2025-07-28 00:33:53 +02:00
Brosseau Valentin
eca4f65475 Add ALT+Tab bindings to cycle windows and bring active to top 2025-07-27 21:07:20 +02:00
David Heinemeier Hansson
a801fde7b9 Recommend starship.rs for prompt 2025-07-27 14:10:04 -04:00
David Heinemeier Hansson
35a603d0d2 Don't force 2 2025-07-27 13:10:51 -04:00
David Heinemeier Hansson
e446c4c71e Improve the examples and include the fractional scaling example 2025-07-27 12:33:54 -04:00
David Heinemeier Hansson
2953db18d9 Reveal a fully .bashrc that provides examples of what to overwrite 2025-07-27 10:45:22 -04:00
David Heinemeier Hansson
6e664c84a9 Merge pull request #369 from basecamp/update-boot-ansi
Update boot.sh ANSI
2025-07-26 22:02:09 -04:00
David Heinemeier Hansson
44925a6085 More readable 2025-07-26 21:58:09 -04:00
David Heinemeier Hansson
a0c90fb3db Not needed 2025-07-26 21:57:27 -04:00
David Heinemeier Hansson
008fab9df3 Turn dazzle into a full-blown screensaver 2025-07-26 21:53:13 -04:00
David Heinemeier Hansson
ffd136cdc6 Add a fun dazzle with the Omarchy logo that just keeps looping 2025-07-26 21:10:52 -04:00
Sean Mitchell
0ff139860d Update boot.sh ANSI 2025-07-26 17:04:50 -07:00
David Heinemeier Hansson
42886f86bb Ordering 2025-07-26 18:49:33 -04:00
David Heinemeier Hansson
24e3f752ba Float and center About 2025-07-26 18:49:22 -04:00
David Heinemeier Hansson
64c6e872fc Match Omarchy TUI window to the slimmer logo 2025-07-26 18:38:55 -04:00
David Heinemeier Hansson
65577c1757 Merge branch 'dev' 2025-07-26 18:31:22 -04:00
David Heinemeier Hansson
b50a4e7a74 No color works better with more themes 2025-07-26 18:31:11 -04:00
David Heinemeier Hansson
b322d1cb47 Merge pull request #356 from basecamp/dev
Omarchy v1.6.2
2025-07-26 17:17:21 -04:00
David Heinemeier Hansson
d503b0cc37 Fix path 2025-07-26 17:14:31 -04:00
David Heinemeier Hansson
eeb784d087 Fix path here too 2025-07-26 16:49:43 -04:00
David Heinemeier Hansson
07a16487c0 Fix paths 2025-07-26 16:48:45 -04:00
David Heinemeier Hansson
c814aa534d Install if MISSING 2025-07-26 16:47:25 -04:00
David Heinemeier Hansson
6de445a2a6 Spelling 2025-07-26 16:37:49 -04:00
David Heinemeier Hansson
73d8c70e06 Ensure we detach from the session so swaybg doesn't die with it 2025-07-26 16:36:42 -04:00
David Heinemeier Hansson
e3bf801654 Don't add this twice on rerunning either 2025-07-26 15:58:38 -04:00
David Heinemeier Hansson
b4d75729d9 Don't add the keys twice 2025-07-26 15:53:53 -04:00
David Heinemeier Hansson
68a221e456 Simplify and make it idempotent 2025-07-26 15:52:00 -04:00
David Heinemeier Hansson
42963368c0 Reference correct file 2025-07-26 15:43:29 -04:00
David Heinemeier Hansson
cf688baa34 We don't have this any more 2025-07-26 15:42:59 -04:00
David Heinemeier Hansson
0a8a502cf2 Add migration to refresh walker to get the = leader key for calculator 2025-07-26 15:37:28 -04:00
David Heinemeier Hansson
9844d4ab22 Merge pull request #362 from ryanrhughes/add-prefix-to-walker-calc
Add "=" as default walker prefix
2025-07-26 15:32:54 -04:00
David Heinemeier Hansson
cec5482483 Merge pull request #361 from basecamp/adjust-logo-assets
Adjust logo assets
2025-07-26 13:23:20 -04:00
David Heinemeier Hansson
bd43aee907 Merge pull request #348 from ryanrhughes/combine-plymouth-and-login
Combine plymouth and login installers
2025-07-26 13:22:44 -04:00
Ryan Hughes
6afbff2c27 Add "=" as default walker prefix 2025-07-26 13:12:28 -04:00
Ryan Hughes
cc79664efc Combined login will run refresh commands 2025-07-26 13:09:28 -04:00
Ryan Hughes
162952f102 Run combined login now 2025-07-26 13:09:28 -04:00
Ryan Hughes
f693c33310 Combine plymouth and login 2025-07-26 13:09:28 -04:00
Sean Mitchell
32aa290af5 Update logo svg 2025-07-26 10:02:50 -07:00
Sean Mitchell
fbdbf852eb Update logo txt 2025-07-26 10:02:29 -07:00
David Heinemeier Hansson
5b654d0282 Be careful not to exit the entire migration runner 2025-07-26 13:02:22 -04:00
David Heinemeier Hansson
4929d3e201 Merge pull request #351 from JaxonWright/bare-improvements
Improvements to Bare Install
2025-07-26 13:01:31 -04:00
David Heinemeier Hansson
29bfeba5cc Merge pull request #357 from rmacklin/fix-step-total
Fix step total in install.sh subtexts
2025-07-26 12:55:43 -04:00
David Heinemeier Hansson
4e9e13f88d Merge pull request #359 from saullrb/dev
Better handle chaotic aur installation
2025-07-26 12:55:26 -04:00
Jaxon Wright
7f3af84a60 #330: update "add missing installation of Zoom" migration to skip if bare install 2025-07-26 12:41:22 -04:00
Jaxon Wright
62fb66a74a omarchy-refresh-applications(#330/#341): do not copy xtras .desktop declarations if in bare mode 2025-07-26 12:41:22 -04:00
Jaxon Wright
cb48956a37 config.sh(#330): if bare install, create bare.mode file to allow updates to skip steps not applicable to bare installs 2025-07-26 12:41:22 -04:00
Saull Brandão
4e4e82c5b9 fix chaotic aur installation 2025-07-26 13:17:13 -03:00
Richard Macklin
302e92860e Fix step total in install.sh subtexts 2025-07-26 09:00:20 -07:00
David Heinemeier Hansson
eace29af7d Allow updating timezone from right-clicking the clock
Closes #314
2025-07-26 11:15:08 -04:00
David Heinemeier Hansson
51e2fa8598 Merge pull request #349 from ryanrhughes/update-theme-sh
Convert installers yay and check for existence to make re-runs faster
2025-07-26 09:55:08 -04:00
David Heinemeier Hansson
c081078e72 Protect pacman config from adopting broken mirror setup 2025-07-26 09:52:11 -04:00
Ryan Hughes
3c2559297d Convert to yay and check for existence 2025-07-25 22:16:50 -04:00
David Heinemeier Hansson
4aa6b6c1f9 Merge pull request #342 from michaldziurowski/fix-videos-dir-for-screenrec
take into consideration xdg dirs for screenshot and screen recording
2025-07-25 22:15:38 -04:00
David Heinemeier Hansson
896ad9d97a Merge pull request #344 from ryanrhughes/prevent-screenshot-stacking
Prevent screenshot selection stacking
2025-07-25 22:14:59 -04:00
David Heinemeier Hansson
83d43a7d8d Merge pull request #347 from tahayvr/new-omarchy-logo
Update Omarchy logo
2025-07-25 22:13:09 -04:00
David Heinemeier Hansson
1fa2b62fba Make it safe to rerun the theme.sh installer
Closes #343
2025-07-25 22:09:32 -04:00
David Heinemeier Hansson
d9f9f5212e Don't need that twice 2025-07-25 21:58:51 -04:00
David Heinemeier Hansson
ba75889154 Slow it down a little 2025-07-25 21:57:28 -04:00
David Heinemeier Hansson
d6ba2af917 Spelling 2025-07-25 21:54:03 -04:00
David Heinemeier Hansson
2f12cdc751 Fix spelling 2025-07-25 21:35:39 -04:00
Taha Nejad
363a9ae4dc update logo.txt with new logo 2025-07-25 17:47:30 -07:00
Taha Nejad
eefb4638e9 add omarchy.svg to root of repo 2025-07-25 17:40:14 -07:00
Ryan Hughes
bb2d21c3b7 Merge branch 'dev' into prevent-screenshot-stacking 2025-07-25 19:22:09 -04:00
Ryan Hughes
ac935bdaed Kill selection if already active 2025-07-25 18:12:08 -04:00
David Heinemeier Hansson
f25be1d075 Fix path 2025-07-25 16:56:53 -04:00
David Heinemeier Hansson
8336788e0a So 1/5 is right 2025-07-25 16:54:51 -04:00
David Heinemeier Hansson
d60563fe92 Need to happen as part of the destkop 2025-07-25 16:54:02 -04:00
David Heinemeier Hansson
1066415576 Bring back the first art 2025-07-25 16:49:29 -04:00
David Heinemeier Hansson
b5f60f78a8 Structure the installers explicitly with clearly defined segments 2025-07-25 16:48:53 -04:00
Michal Dziurowski
92c1db9176 take into consideration xdg dirs for screenshot and screen recording 2025-07-25 21:43:37 +02:00
David Heinemeier Hansson
25acc313b1 Just straight reboot when we're done
Script will abort anyway if there were any issues along the way
2025-07-25 15:43:21 -04:00
David Heinemeier Hansson
0ead8947f7 Add logo to logical substeps 2025-07-25 15:42:27 -04:00
David Heinemeier Hansson
37f4d4a411 More tweaks to the animations 2025-07-25 15:30:49 -04:00
David Heinemeier Hansson
c4a08c3c25 Try to do another header 2025-07-25 15:27:10 -04:00
David Heinemeier Hansson
0c36142f8a Default to expand but allow others 2025-07-25 15:26:38 -04:00
David Heinemeier Hansson
65a5bbad82 Setup presentation tooling and functions as a separate step 2025-07-25 15:25:39 -04:00
David Heinemeier Hansson
165c940df2 A bit more effects 2025-07-25 15:21:36 -04:00
David Heinemeier Hansson
824ba78000 Let's try just showing the logo at identification time 2025-07-25 15:14:05 -04:00
David Heinemeier Hansson
6d3df204bc Use terminal text effects for extra rizz 2025-07-25 15:05:41 -04:00
David Heinemeier Hansson
1c14b8eba2 Have to check for the right command 2025-07-25 14:30:18 -04:00
David Heinemeier Hansson
e01c1bb139 It's all setup 2025-07-25 14:29:08 -04:00
David Heinemeier Hansson
466fe6caba Merge pull request #321 from saullrb/dev
Add Chaotic-AUR setup
2025-07-25 14:28:25 -04:00
David Heinemeier Hansson
10f71885b2 No longer needed 2025-07-25 13:43:32 -04:00
David Heinemeier Hansson
19c0d2887e Reorder 2025-07-25 13:04:53 -04:00
David Heinemeier Hansson
f2b58c2b8e Add dedicated omarchy-setup-steam script 2025-07-25 13:02:55 -04:00
David Heinemeier Hansson
46d135025e Center steam window to prevent it from being off screen 2025-07-25 13:02:55 -04:00
David Heinemeier Hansson
46e972172c Merge pull request #337 from anagrius/master
Fix fzf completion path for Arch Linux
2025-07-25 12:41:33 -04:00
David Heinemeier Hansson
79df336854 Merge pull request #333 from tahayvr/matteblack-plugin
matteblack.nvim is now a neovim colorscheme
2025-07-25 12:40:56 -04:00
Thomas Anagrius
0d6ea40252 Fix fzf completion path for Arch Linux
Update fzf completion source path from /usr/share/bash-completion/completions/fzf
to /usr/share/fzf/completion.bash to match the actual file location on Arch Linux.
2025-07-25 18:20:51 +02:00
Taha
a76c7ee33b add matteblack plugin for neovim 2025-07-24 17:45:31 -07:00
David Heinemeier Hansson
674c5bfdda Use Arch icon for this instead too for now 2025-07-24 18:11:03 -04:00
David Heinemeier Hansson
6cd8955409 Merge pull request #322 from benhoman/screen-cmd-output-dir
allow override of screenshot/screenrecord output
2025-07-24 18:07:38 -04:00
David Heinemeier Hansson
db63219398 A few more color corrections 2025-07-24 18:05:08 -04:00
David Heinemeier Hansson
42d80f2ce7 Consistent colors 2025-07-24 18:03:00 -04:00
David Heinemeier Hansson
4578d4e418 Cleanup files from needless comments 2025-07-24 18:02:00 -04:00
David Heinemeier Hansson
7242a57c18 Fix more swayosd colors 2025-07-24 18:00:00 -04:00
David Heinemeier Hansson
2d9ed8720b Match color to mako 2025-07-24 17:39:06 -04:00
David Heinemeier Hansson
205bcd7be8 Hyprland fullscreen may conflict with the app-specific fullscreen, so need a separate key
This is the case with Typora which will retain its ugly menu bar when
Hyprland does the fullscreening, but be beautifully bare when its doing
its own fullscreening. The best would be if we could make F11 work such
that the app got a shot at fullscreening first, then if it wasn't
capable, we let Hyprland do it. But not sure there's a way to do that?
2025-07-24 16:13:36 -04:00
Ben Homan
70da2ecbe8 allow override of screenshot/screenrecord output 2025-07-24 11:39:12 -04:00
Saull Brandão
66b0fa0227 add chaotic aur
add chaotic aur repo

add noconfirm

only add chaotic aur for x86-64 arch
2025-07-24 07:55:56 -03:00
David Heinemeier Hansson
d2fffc40ea Add migration to prevent Waybar stacking 2025-07-23 16:26:13 -04:00
David Heinemeier Hansson
8884cc7a5c Prevent stacking of waybars after unlock by SIGUSR2'ing it
Bit crude, but better than a full kill.
Closes #196
2025-07-23 16:22:14 -04:00
David Heinemeier Hansson
a4e7f41798 Merge pull request #305 from basecamp/dev
Omarchy v1.6.1
2025-07-23 14:56:04 -04:00
David Heinemeier Hansson
8908ce91f8 Trailing slash 2025-07-23 14:55:00 -04:00
David Heinemeier Hansson
5458b46584 Merge pull request #304 from basecamp/increase-pamlockout-limit
Increase pamlimit lockout
2025-07-23 14:39:22 -04:00
David Heinemeier Hansson
9b7908d17b Ensure we restart swayosd after setting up theming 2025-07-23 13:03:47 -04:00
David Heinemeier Hansson
a12cd97922 Increase pamlimit lockout 2025-07-23 12:59:32 -04:00
David Heinemeier Hansson
9231148cd7 Increase pamlimit lockout 2025-07-23 12:36:57 -04:00
David Heinemeier Hansson
c4c9cdc0f6 Only load inputrc for interactive terminals
Fixes claude-code warnings and is more proper anyway.
Closes #282
2025-07-23 12:03:53 -04:00
David Heinemeier Hansson
98f848d4a0 Fix the vibe coding hallucinations from swayosd theming 2025-07-23 11:53:04 -04:00
David Heinemeier Hansson
c36d76bb1c Merge pull request #288 from aifrim/swayosd-cfg
full swayosd integration
2025-07-23 11:46:15 -04:00
David Heinemeier Hansson
71ccf9a367 Merge pull request #294 from precision/dev
Update media bindings to only display OSD on the focused display
2025-07-23 11:42:33 -04:00
David Heinemeier Hansson
e1f2cc4d3d Merge pull request #297 from spdawson/feat/add-mariadb-to-docker-databases
Add MariaDB to Docker databases
2025-07-23 11:42:02 -04:00
David Heinemeier Hansson
08f187b4ea Include satty in the list of windows that get a minimum size
Fixes #299
Co-authored-by: @mtk3d
2025-07-23 11:39:39 -04:00
David Heinemeier Hansson
35e1d1233e Merge pull request #302 from ludo237/master
fix: walker css url
2025-07-23 11:38:10 -04:00
David Heinemeier Hansson
8f569921b3 Merge pull request #295 from abenz1267/dev
force package database refresh after adding multilib repo
2025-07-23 11:37:51 -04:00
Claudio Ludovico
3933cd7c89 fix: walker css url
there is an extra `/` that should not be ehre
2025-07-23 15:15:53 +02:00
Simon Dawson
ceb44d7aa1 feat: Add MariaDB to Docker databases 2025-07-23 10:36:36 +01:00
Andrej Benz
fd56404407 force package database refresh after adding multilib repo 2025-07-23 09:43:51 +02:00
Uriah Welcome
d2763225c3 Update the media bindings to only display on the currently focused
monitor.

sway-osd can also do playerctl
2025-07-22 23:28:17 -04:00
David Heinemeier Hansson
2b2103fb66 Put Sunset Lake first for Tokyo Night 2025-07-22 22:19:29 -04:00
David Heinemeier Hansson
11dfeae901 Merge pull request #246 from basecamp/dev
Omarchy v1.6.0
2025-07-22 16:24:55 -07:00
David Heinemeier Hansson
8c0ac90fe4 Remember to disown! 2025-07-22 19:17:41 -04:00
David Heinemeier Hansson
d83a87a01c Don't hang the terminal 2025-07-22 19:09:47 -04:00
David Heinemeier Hansson
f0a9271506 Correct the order 2025-07-22 19:09:09 -04:00
David Heinemeier Hansson
faaf672eb4 Alert that we are updating system packages 2025-07-22 19:08:41 -04:00
David Heinemeier Hansson
0058023e85 Revert "Try to work around hanging"
This reverts commit 1976eafbcd.
2025-07-22 19:07:27 -04:00
David Heinemeier Hansson
4fedfbe9f1 Maybe it's hanging on dependencies? 2025-07-22 19:07:01 -04:00
David Heinemeier Hansson
1976eafbcd Try to work around hanging 2025-07-22 19:07:01 -04:00
Alexandru Ifrim
1ebf88bac0 full swayosd integration 2025-07-23 01:51:04 +03:00
David Heinemeier Hansson
cce56a2684 Nicer sorting in Walker 2025-07-22 18:41:17 -04:00
David Heinemeier Hansson
c4b45779fe Use current background link 2025-07-22 18:33:25 -04:00
David Heinemeier Hansson
d706eda676 Unused 2025-07-22 18:26:34 -04:00
David Heinemeier Hansson
7c75cbbcd5 Ensure indexes are up to date from boot.sh instead 2025-07-22 18:08:31 -04:00
David Heinemeier Hansson
69e48758fd Can't actually update all packages before we are ready to reboot
Since kernel etc that needs a restart might have updated
2025-07-22 18:06:38 -04:00
David Heinemeier Hansson
2332a4f6db Don't update index during the normal run
Since we did that at the start
2025-07-22 18:03:05 -04:00
David Heinemeier Hansson
bacaabe4a1 We don't have yay yet 2025-07-22 17:53:58 -04:00
David Heinemeier Hansson
60f5a3b063 Merge branch 'master' into dev 2025-07-22 14:53:27 -07:00
David Heinemeier Hansson
7a7a08f9c3 Drop the entire first run idea for now 2025-07-22 17:51:34 -04:00
David Heinemeier Hansson
4421f20e82 Reduce first run to just showing the manual for now 2025-07-22 17:49:08 -04:00
David Heinemeier Hansson
071be3abcb Setup Docker DBs from TUI 2025-07-22 17:47:45 -04:00
David Heinemeier Hansson
771313b836 Update all the built-in packages from the ISO 2025-07-22 17:47:34 -04:00
David Heinemeier Hansson
dbe3ec8b2f Safe to use this again then 2025-07-22 17:36:14 -04:00
David Heinemeier Hansson
5be61c17a1 Go back to ANSI header now that we dont open a browser until the end 2025-07-22 17:34:52 -04:00
David Heinemeier Hansson
98f5669637 Remove GH Setup for now too 2025-07-22 17:33:43 -04:00
David Heinemeier Hansson
bcf0e1ebf9 Save the Dropbox setup until we have an answer to GDK_SCALE 2025-07-22 17:27:23 -04:00
David Heinemeier Hansson
f06e11ac47 Focus back on the installer after opening the manual 2025-07-22 16:54:08 -04:00
David Heinemeier Hansson
03192de90e Use a header that won't fold on a small screen 2025-07-22 16:38:33 -04:00
Saull Brandão
c0bb83e76c Detect and apply keyboard layout configured during Arch installation (#286)
* Detect and apply keyboard layout configured during Arch installation

* align the identation
2025-07-22 16:08:53 -04:00
David Heinemeier Hansson
5e4c309b2c Do dropbox first so we have the browser if we need it 2025-07-22 13:58:35 -04:00
David Heinemeier Hansson
a691a50559 Scaling workaround 2025-07-22 13:48:00 -04:00
David Heinemeier Hansson
778a69897b Fix path 2025-07-22 13:37:04 -04:00
David Heinemeier Hansson
ff77d4731f Allow it to start before existing 2025-07-22 13:23:59 -04:00
David Heinemeier Hansson
ec4efb304c Didn't actually like that 2025-07-22 13:20:57 -04:00
David Heinemeier Hansson
1d4991426e More shushing 2025-07-22 13:16:37 -04:00
David Heinemeier Hansson
c31250d7c0 Also can't use logo here or we're squishing 2025-07-22 13:12:35 -04:00
David Heinemeier Hansson
f36402b2c9 Clear before launching 2025-07-22 13:11:10 -04:00
David Heinemeier Hansson
ecf65b0499 Still need to keep it quiet 2025-07-22 13:10:47 -04:00
David Heinemeier Hansson
65ba4cc576 Might squish the logo when we open Docker or Manual 2025-07-22 13:09:01 -04:00
David Heinemeier Hansson
56999c0ae5 Use the Omarchy Manual webapp for launching 2025-07-22 13:06:35 -04:00
David Heinemeier Hansson
e3e46e1383 Install Omarchy Manual as its own web app 2025-07-22 13:06:05 -04:00
David Heinemeier Hansson
28bec8c7d2 Launch the Docker app if we installed Docker DBs 2025-07-22 13:03:14 -04:00
David Heinemeier Hansson
484b98ae43 No confirm please 2025-07-22 13:02:01 -04:00
David Heinemeier Hansson
14d9cd452c Explain the gum picker 2025-07-22 13:01:19 -04:00
David Heinemeier Hansson
8071642b66 Use consistent conditional 2025-07-22 12:37:57 -04:00
David Heinemeier Hansson
ba1e50daa9 Keep it simple 2025-07-22 12:36:56 -04:00
David Heinemeier Hansson
1c69965819 Restart walker when we refresh the config 2025-07-22 11:21:50 -04:00
David Heinemeier Hansson
ea903c7d65 Cleanup the screenrecording script 2025-07-22 08:58:20 -05:00
Andreas Nigg
6d8a1e3bcf wf-recorder instead of wl-screenrec (NVIDIA support for screen recording) (#278)
* use wf-recorder instead of wl-screenrec

wl-screenrec does not support NVIDIA drivers as of now

* install wf-recorder and migration for it

* use wl-screenrec for non-nvidia and wf-recorder otherwise

* useless comment

* only use one of the screen recording features
2025-07-22 08:47:25 -05:00
David Heinemeier Hansson
a94ee3dee8 Remove 1px border from hyprshot screenshots
Closes #277
Co-authored-by: @al3rez
2025-07-22 08:44:17 -05:00
David Heinemeier Hansson
a117f5a36a Open current directory on n alone while still allowing opening direct files too 2025-07-22 07:53:01 -05:00
Blaž Škufca
d5b9a5f223 Update envs.conf (#281) 2025-07-22 07:44:36 -05:00
Ryan Hughes
b656ea0625 Prevent messing with the list (#276) 2025-07-21 21:21:55 -04:00
David Heinemeier Hansson
611668783b Make sure we have jq for initial monitor setup 2025-07-21 20:42:39 -04:00
David Heinemeier Hansson
cd0565a57f Explain where to find Dropbox icon 2025-07-21 20:38:54 -04:00
David Heinemeier Hansson
e464f19bff Not starting right
Emacs people can figure themselves out
2025-07-21 20:34:09 -04:00
David Heinemeier Hansson
2567baf00e Clear so not smushed 2025-07-21 20:31:05 -04:00
David Heinemeier Hansson
84065dd767 Cleanup terminal after each step 2025-07-21 20:29:43 -04:00
David Heinemeier Hansson
377522f804 Try a simpler setup flow 2025-07-21 20:12:58 -04:00
David Heinemeier Hansson
a7b423a2c4 No redirect since stderr has the code 2025-07-21 20:11:41 -04:00
David Heinemeier Hansson
853d46854f Even if you kill it, you're done 2025-07-21 20:11:32 -04:00
David Heinemeier Hansson
785d575ecc Fix installation references 2025-07-21 19:58:54 -04:00
David Heinemeier Hansson
f346c78826 Quiet stderr 2025-07-21 19:55:40 -04:00
David Heinemeier Hansson
47584de6db Let it tile so browsers open neatly next to it 2025-07-21 19:05:32 -04:00
David Heinemeier Hansson
b150a1f068 Start the server as well 2025-07-21 19:01:00 -04:00
David Heinemeier Hansson
9cbe88d43d Move to the front and wrap in a no-op for when its there 2025-07-21 18:59:40 -04:00
Mateusz Cholewka
790e90515e Add swayosd for on-screen volume and brightness indicators (#274)
* Make these executable

* Replace pavucontrol with wiremix (#225)

Add to install

* Revert "Replace pavucontrol with wiremix (#225)"

This reverts commit 620b397859.

* Add swayOSD to show brightness and volume status

* Add swayOSD migration

* Move swayosd from desktop to hyperlandia

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Roeland <roel4d@webding.org>
2025-07-21 18:58:11 -04:00
Saull Brandão
24aa77a6cf Add F11 keybind to toggle fullscreen for active window in hyprland (#273) 2025-07-21 18:54:30 -04:00
David Heinemeier Hansson
ac3aadd93a Correct path here too 2025-07-21 18:50:48 -04:00
David Heinemeier Hansson
95c6882e54 Ensure first-run flow isn't run for existing installations 2025-07-21 18:47:06 -04:00
David Heinemeier Hansson
cdc9f8606e Go to the Omarchy directory first 2025-07-21 18:45:31 -04:00
David Heinemeier Hansson
ae2e626c0e Use familiar emoji leader key of : instead of . 2025-07-21 18:44:06 -04:00
David Heinemeier Hansson
3518062c1f Fix bin references 2025-07-21 18:39:24 -04:00
David Heinemeier Hansson
83a8f42bd7 Open the manual as the last step 2025-07-21 18:27:15 -04:00
David Heinemeier Hansson
6a3ce098e9 Use a common namespace for cmds 2025-07-21 18:26:09 -04:00
David Heinemeier Hansson
d1ba090bec Its obvious 2025-07-21 18:13:53 -04:00
David Heinemeier Hansson
04ec2ba84d Reuse the Omarchy title so we get the same float 2025-07-21 18:13:37 -04:00
David Heinemeier Hansson
273c261b3e Give a little more breathing room 2025-07-21 18:13:26 -04:00
David Heinemeier Hansson
fa5b13a284 Finalize the first-run flow 2025-07-21 18:05:48 -04:00
David Heinemeier Hansson
22ff741c7f Hurray 2025-07-21 17:57:29 -04:00
David Heinemeier Hansson
702c6f015e Accommodate more themes 2025-07-21 17:55:21 -04:00
David Heinemeier Hansson
602009ebf3 Add a first-run flow 2025-07-21 17:46:37 -04:00
David Heinemeier Hansson
16e9553a40 Remove all noise 2025-07-21 16:28:07 -05:00
David Heinemeier Hansson
98b5c862bc Breaks the ini 2025-07-21 16:27:00 -05:00
David Heinemeier Hansson
0c6719becc No longer using current/backgrounds 2025-07-21 17:12:16 -04:00
David Heinemeier Hansson
e8c23532b3 Reuse ansi art and clear install when we ask for input 2025-07-21 16:22:28 -04:00
David Heinemeier Hansson
a7fb87f08b Need to put remove somewhere else -- not common enough to gum this up 2025-07-21 16:10:26 -04:00
David Heinemeier Hansson
e898ae327f Use dropbox-cli so it doesn't quit when the terminal does 2025-07-21 16:09:08 -04:00
David Heinemeier Hansson
b21a236bf3 Fixup the Dropbox setup flow 2025-07-21 16:05:29 -04:00
David Heinemeier Hansson
6ef2ce0088 Enable caps lock again as default xcompose key 2025-07-21 15:45:44 -04:00
David Heinemeier Hansson
5d09154079 Start walker service after doing installation 2025-07-20 22:19:22 -05:00
Taha
f083d3e9ec fix the low contrast colors for comments in NeoVim for matte black theme (#268) 2025-07-20 22:00:48 -05:00
David Heinemeier Hansson
f60e66cfdf Move Dropbox to a setup script 2025-07-20 21:51:46 -05:00
David Heinemeier Hansson
fcf00494bb Now that Dropbox has its own service starter, use another example 2025-07-20 21:43:29 -05:00
David Heinemeier Hansson
e7da208505 Fix using backgrounds from inside the themes 2025-07-20 21:30:06 -05:00
David Heinemeier Hansson
3415fef297 Go back to just always updating system packages
Otherwise we can't depend on having the same minimum versions
2025-07-20 21:24:10 -05:00
David Heinemeier Hansson
61a7aee377 Ensure this isnt run over and over also 2025-07-20 21:21:28 -05:00
David Heinemeier Hansson
f781a805c9 Install missing Dropbox dependencies if Dropbox is there 2025-07-20 21:19:34 -05:00
David Heinemeier Hansson
9c01775287 Better to use the refresh commands so you don't forget to write the migration 2025-07-20 21:16:04 -05:00
David Heinemeier Hansson
b8b3548019 Update waybar.css to fix waybar dancing workspace numbers with a migration 2025-07-20 21:09:07 -05:00
David Heinemeier Hansson
3634235eee Move from permission setup to .bak process
Means less interaction for folks just riding on the default train
without overwriting the work of people who've made changes.
2025-07-20 21:07:59 -05:00
David Heinemeier Hansson
1f1660f5e4 One smaller for less spacing 2025-07-20 20:41:24 -05:00
David Heinemeier Hansson
35fb85ea5a Revert "Temporary fix for waybar stacking on waking from sleep"
This reverts commit b967223d3c.
2025-07-20 20:22:52 -05:00
David Heinemeier Hansson
b967223d3c Temporary fix for waybar stacking on waking from sleep
Sledge hammer fix by restarting the waybar, but it'll do the job until
we find a better fix for #196
2025-07-20 20:14:57 -05:00
David Heinemeier Hansson
af72a45dbd Remove non-existent vibe-code hallucinated options and clean up theme files 2025-07-20 18:07:15 -05:00
Richard Macklin
f81983ec50 Fix detection of "new migrations" in omarchy-update (#219)
Previously, `omarchy-update` used the timestamp of the most recent git
commit to determine which migrations are "new" and should be executed.

Unfortunately, that strategy can (and did) fail in certain scenarios. If
a migration was generated at time T1 but not merged until time T3, and
meanwhile omarchy's `master` branch was updated to a new release with
commit timestamp T2 (where T1 < T2 < T3), then anyone who runs
`omarchy-update` between T2 and T3 would end up with `last_updated_at`
equal to T2; thus, on their next `omarchy-update` it would fail to
detect the migration with timestamp T1 as a "new" migration that should
be executed.

This commit changes the strategy for detecting "new" migrations to avoid
that problem. Rather than recording the most recent commit's timestamp,
we record its SHA. Then, after pulling the new changes, we can leverage
`git diff --name-only --diff-filter=A $SHA.. migrations/*.sh`
to return precisely the list of migration files that were introduced by
our `git pull`. It doesn't matter if any of those migrations have a
timestamp that was earlier than the timestamp of the commit we started
on - we will always execute *every* migration that didn't exist before
our `git pull`!
2025-07-20 17:55:22 -05:00
David Heinemeier Hansson
dca7e9a8e8 Also don't do these migrations if they were already completed 2025-07-20 17:52:32 -05:00
Noah Penza
e2c94acd94 Add min-width to workspace numbers (#252) 2025-07-20 17:45:58 -05:00
David Heinemeier Hansson
5b42501c9f Same style as others with description always 2025-07-20 17:44:08 -05:00
David Heinemeier Hansson
ecc9a46bff Wrap a little better 2025-07-20 17:43:17 -05:00
Saull Brandão
fafe78d80f add missing installation of zoom (#262) 2025-07-20 17:40:45 -05:00
David Heinemeier Hansson
9b8569e537 Make migrations faster to skip if they've already been run 2025-07-20 17:36:29 -05:00
Ryan Hughes
5b3c324350 Change default launcher from Wofi to Walker (#218)
* Change launcher from wofi -> walker

* Add migration

* More wofi -> walker locations

* Add rose pine theme

* Rename refresh script

* Minor improvements to walker + add uwsm

* Back out running as service

* Make these executable

* Add plugins dir for now to resolve open issue 355 from v0.13.0 release

* Replace pavucontrol with wiremix (#225)

Add to install

* Revert "Replace pavucontrol with wiremix (#225)"

This reverts commit 620b397859.

* Fix reference

* Add libqalculate so calc works out of the box

* Actually add libqalculate

* Re-add media

* Add catppuccin-latte

* Final cleanup

* Remove partially baked theme

* Remove failing migration

* Remove failing migration

* Fix refresh script

* Simplify css setup

* Rearrange walker theme files

* Change theme name

* Remove unnecessary file

* Clear everything

* Only worry about the config file now

* Disable load in animation for walker

* Run walker as service

* Make sure we have fresh package db

* Add keybindings theme

* Remove history

* Explain section

* Assume wofi is gone, only run if walker isn't there

* Move as the latest

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Roeland <roel4d@webding.org>
2025-07-20 16:17:42 -05:00
David Heinemeier Hansson
df13763d42 Better extraction 2025-07-19 22:43:28 -05:00
David Heinemeier Hansson
81727a20ce Install everything needed for full Dropbox + split out other potentially flaky installs 2025-07-19 22:43:09 -05:00
David Heinemeier Hansson
aac9e158d1 Migration to add libappindicator-gtk3 2025-07-19 22:25:32 -05:00
David Heinemeier Hansson
b98634d06b Need libappindicator-gtk3 for Dropbox tray icon to work right 2025-07-19 22:24:42 -05:00
David Heinemeier Hansson
309c35c866 Extract shared function 2025-07-19 17:02:52 -05:00
David Heinemeier Hansson
4427c0bb28 Add full screen recording as an option 2025-07-19 16:58:22 -05:00
David Heinemeier Hansson
30b3af58e5 Use same naming convention as new screenshot flow 2025-07-19 16:49:50 -05:00
David Heinemeier Hansson
6b947ffb45 Add satty to the default screenshot flow 2025-07-19 16:49:39 -05:00
David Heinemeier Hansson
f569c4e365 Moving away from SIGUSER2 didn't help with the stacking, so return it 2025-07-19 15:11:52 -05:00
David Heinemeier Hansson
cf71a3f101 Ensure apps started with uwsm stay managed by uwsm on restarts 2025-07-19 15:11:32 -05:00
David Heinemeier Hansson
ceedf474cb Include failed attempt counter and notice when you are locked out for 10 mins
Closes #229
Co-authored-by: @jhosdev
2025-07-19 12:34:34 -05:00
David Heinemeier Hansson
178f97a6e3 We don't need the GUI for fcitx5
The fewer packages the better
2025-07-18 23:33:08 -05:00
David Heinemeier Hansson
f99277ad71 Remove needless comments 2025-07-18 23:00:42 -05:00
David Heinemeier Hansson
ca69f15709 Not needed 2025-07-18 22:58:48 -05:00
David Heinemeier Hansson
2e874adb50 Add simple screen recordings (#235)
* Add simple screen recording tool

* Need slurp too
2025-07-18 22:55:28 -05:00
David Heinemeier Hansson
3b0fd13be1 Set class/title in case we want to do window settings on it 2025-07-18 22:54:42 -05:00
David Heinemeier Hansson
f8a7e1c7eb Finish transition from audio settings GUI to TUI 2025-07-18 22:54:17 -05:00
Roeland
ee5785855a Replace pavucontrol with wiremix (#225)
Add to install
2025-07-18 22:40:42 -05:00
David Heinemeier Hansson
da597ac567 Revert "Replace pavucontrol with wiremix (#225)"
This reverts commit 620b397859.
2025-07-18 22:39:25 -05:00
Roeland
620b397859 Replace pavucontrol with wiremix (#225)
Add to install
2025-07-18 22:38:45 -05:00
David Heinemeier Hansson
03053626e3 Make these executable 2025-07-18 17:49:56 -07:00
David Heinemeier Hansson
7f681c71fb Extra CR 2025-07-18 17:44:18 -07:00
David Heinemeier Hansson
d76d31a5af Make these executable too 2025-07-18 17:43:20 -07:00
David Heinemeier Hansson
3c156ab059 Better error handling and make these full scripts 2025-07-18 17:43:01 -07:00
David Heinemeier Hansson
dbfad74ba3 Better error catching 2025-07-18 17:33:51 -07:00
David Heinemeier Hansson
56e1ba9c5d Merge branch 'master' into dev 2025-07-18 17:18:02 -07:00
David Heinemeier Hansson
68a188d299 Offer community help link 2025-07-18 17:17:42 -07:00
David Heinemeier Hansson
4df7fcb716 Merge pull request #233 from alansikora/alan/setup-fixes
Setup is failing
2025-07-18 17:13:10 -07:00
Alan Sikora
913675bd5e Creating plymouth-quit.service.d before running tee 2025-07-18 21:05:38 -03:00
Alan Sikora
56e25bd02c Update docker.sh 2025-07-18 21:05:29 -03:00
David Heinemeier Hansson
2224249901 Merge pull request #223 from ryanrhughes/improve-boot-times
Improve boot times
2025-07-18 14:52:26 -07:00
David Heinemeier Hansson
2b0c56bbb1 Merge pull request #220 from rmacklin/reset-any-stash-conflicts-before-proceeding-in-omarchy-update
Reset any stash changes before proceeding if there were conflicts
2025-07-18 14:40:39 -07:00
David Heinemeier Hansson
f388e90d3b Add migration for new Catppuccin Latte theme 2025-07-18 14:35:37 -07:00
David Heinemeier Hansson
cd915557ae Merge pull request #212 from ryanyogan/omarchy-catppuccin-latte-theme
Omarchy Theme ~ Adds Catppuccin Latte
2025-07-18 14:32:51 -07:00
David Heinemeier Hansson
96e87d8e7e Minify without quality loss 2025-07-18 14:31:57 -07:00
David Heinemeier Hansson
be751a3dde Merge pull request #223 from ryanrhughes/improve-boot-times
Improve boot times
2025-07-18 14:26:27 -07:00
Ryan Yogan
786b0b2205 adds a light pastel background and official btop theme 2025-07-18 10:12:28 -05:00
Ryan Hughes
ced618318d Mask 2025-07-18 05:12:36 -04:00
Ryan Hughes
f5553a8d30 Update 1752797704.sh
MASK
2025-07-18 05:11:51 -04:00
Ryan Hughes
e34dbe7d50 Create directories 2025-07-18 04:40:41 -04:00
Ryan Hughes
19d45670ce Change when plymouth is dismissed and prevent docker blocking 2025-07-18 04:37:47 -04:00
Richard Macklin
4bb8afde02 Reset any stash changes before proceeding if there were conflicts
If the worktree has conflicts after applying the user's changes from the
autostash, we should reset them before proceeding to ensure we are in
a working state. When there are conflicts, git still keeps the stash
entry, so the user will still be able to manually re-pop the stash and
resolve the conflicts after `omarchy-update` has finished.

In the case of conflicts, the output will look something like this (I've
omitted most of the normal `git pull` output, hence the `[...]`):

```
Updating 729cd6a..45b5d3e
Created autostash: 91853c4
Fast-forward
 bin/omarchy                                                                |  10 +++++++---
 [...]
 create mode 100644 themes/tokyo-night/backgrounds/2--Milad-Fakurian-Abstract-Purple-Blue.jpg
Applying autostash resulted in conflicts.
Your changes are safe in the stash.
You can run "git stash pop" or "git stash drop" at any time.
bin/omarchy:65: leftover conflict marker
```

before proceeding with the rest of the `omarchy-update` script from a
clean state. So the user will see 1) that there were conflicts when
applying the autostashed changes, 2) that their changes are still safe
in the stash, and 3) which files (and lines) had conflict markers.
2025-07-17 23:06:25 -07:00
David Heinemeier Hansson
49efa1c3f1 Add third Tokyo Night background 2025-07-17 22:35:02 -07:00
David Heinemeier Hansson
87e55b193b Merge pull request #215 from rmacklin/use-pull-autostash
Use `git pull --autostash` in `omarchy-update`
2025-07-18 00:42:16 -04:00
Ryan Yogan
5252990396 increases the theme menu width for additional characters 2025-07-17 21:49:46 -05:00
Ryan Yogan
276886af8e adds catppuccin logo 2025-07-17 21:35:22 -05:00
Ryan Yogan
0e0741feb7 adds official catppuccin alacritty theme 2025-07-17 21:24:25 -05:00
Richard Macklin
cc0ac314ef Use git pull --autostash in omarchy-update
This is a minor follow-up to dcc4071979
to leverage the `--autostash` flag of `git pull` which does the same
thing we were doing in three separate commands.

This also avoids the possibility of popping something from the stash
that `omarchy-update` didn't actually stash. In other words, if the
initial `git stash` was a no-op (because there were no changes in the
working tree), it's actually not desirable for `omarchy-update` to
`git stash pop` at the end, since that potentially pops something the
user had manually stashed (we only want `omarchy-update` to pop its own
stash entry). Using `--autostash` handles this correctly.

Ref:
https://git-scm.com/docs/git-pull#Documentation/git-pull.txt---autostash
2025-07-17 19:13:35 -07:00
Ryan Yogan
98c269e6d5 adds catppuccin from base catppuccin theme 2025-07-17 21:11:34 -05:00
David Heinemeier Hansson
45b5d3ea47 Merge pull request #209 from basecamp/dev
Omarchy v1.5.0
2025-07-17 20:15:04 -04:00
Ryan Yogan
d200cec03c removes not-needed styles 2025-07-17 19:14:15 -05:00
David Heinemeier Hansson
94afc734ef Merge pull request #210 from t0gun/fix-iwd-detection
fix: check for iwctl instead of iwd
2025-07-17 20:12:44 -04:00
David Heinemeier Hansson
5c7f1a5037 Add theme picking to the TUI 2025-07-17 17:03:40 -07:00
David Heinemeier Hansson
c76cd8f0c6 Fix paths for sub command invocation 2025-07-17 16:56:13 -07:00
David Heinemeier Hansson
45bab7a92e Will be set separately 2025-07-17 16:54:19 -07:00
Ryan Yogan
2bcff1662b removes personal neovim configs 2025-07-17 18:50:58 -05:00
David Heinemeier Hansson
761f08982f Merge pull request #211 from tahayvr/omarchy-theme-set/dev
Add trigger to reload btop when theme changes
2025-07-17 19:44:11 -04:00
Ryan Yogan
4097582572 Merge branch 'basecamp:dev' into dev 2025-07-17 18:36:03 -05:00
David Heinemeier Hansson
39604d2d48 Backgrounds now live in theme folders 2025-07-17 16:34:47 -07:00
tahayvr
ee74a87020 Add trigger to reload btop when theme changes 2025-07-17 16:33:36 -07:00
David Heinemeier Hansson
61c0bfd22b Seems like pinta can unfortunately also be a bit flaky! 2025-07-17 16:29:06 -07:00
David Heinemeier Hansson
f880531621 Stop wrapping wofi in uwsm for now as it was producing errors 2025-07-17 16:07:33 -07:00
David Heinemeier Hansson
49c38c835f Add migration for waybar/config.jsonc rename
Co-authored-by: @nullndr
Closes #169
2025-07-17 16:00:13 -07:00
David Heinemeier Hansson
7991835576 Use waybar/config.jsonc for syntax highlighting 2025-07-17 15:58:42 -07:00
tobiloba ogundiyan
51c2437f2a fix broken iwd check by validating iwctl instead 2025-07-17 18:57:37 -04:00
David Heinemeier Hansson
2696fb39da Protect theme-bg-next from missing background and always start with the first one 2025-07-17 15:34:21 -07:00
David Heinemeier Hansson
296e232151 Just use existing logic for setting theme bg 2025-07-17 15:29:57 -07:00
David Heinemeier Hansson
e2c8e3ccfe Pull backgrounds into the repo to simplify setup and theme selection
This was too complicated for something too remote
2025-07-17 15:16:37 -07:00
Ryan Yogan
03a541a9a2 [THEME] // Adds initial catppuccin-latte base styles 2025-07-17 17:11:34 -05:00
David Heinemeier Hansson
86a3c84db9 Consistent command naming scheme for menus too 2025-07-17 15:04:46 -07:00
David Heinemeier Hansson
b9c782d142 Use consistent naming setup and expose add/remove in TUI 2025-07-17 15:02:20 -07:00
David Heinemeier Hansson
ef8df30f01 Add --remove option to fingerprint setup 2025-07-17 14:59:16 -07:00
David Heinemeier Hansson
9467b56be0 Uninstall packages too 2025-07-17 14:53:45 -07:00
David Heinemeier Hansson
68e77daffa Better setup flow and add --remove option 2025-07-17 14:51:59 -07:00
David Heinemeier Hansson
729cd6a3a2 Merge pull request #171 from icehunt/fido2-setup-script
add fido2-setup script
2025-07-17 17:39:09 -04:00
David Heinemeier Hansson
3f01ced913 Fixup migration 2025-07-17 14:32:22 -07:00
David Heinemeier Hansson
89fe64aa23 Merge pull request #206 from Shaps/add-docker-buildx
Add docker-buildx package
2025-07-17 17:31:17 -04:00
David Heinemeier Hansson
38417b36e9 Merge branch 'dev' into add-docker-buildx 2025-07-17 17:26:51 -04:00
David Heinemeier Hansson
fd087719a2 Merge pull request #204 from basecamp/light-mode-easy
Add light mode
2025-07-17 17:23:31 -04:00
David Heinemeier Hansson
e00c4ad0dc Link up the theme too 2025-07-17 14:22:01 -07:00
David Heinemeier Hansson
f38420e954 Fit more themes! 2025-07-17 14:18:09 -07:00
David Heinemeier Hansson
6e229feb43 light.mode sounds better! 2025-07-17 14:15:55 -07:00
David Heinemeier Hansson
bb5f6b00e3 Confirm before updating system packages 2025-07-17 14:12:58 -07:00
David Heinemeier Hansson
e9f0239f57 Stash/pop any local changes before pulling updates
More user customizations will survive without commits.
2025-07-17 14:12:58 -07:00
David Heinemeier Hansson
25459cb539 Confirm before updating system packages 2025-07-17 09:39:42 -07:00
David Heinemeier Hansson
dcc4071979 Stash/pop any local changes before pulling updates
More user customizations will survive without commits.
2025-07-17 09:39:31 -07:00
Andrea Tartaglia
ea7d615eef add docker-buildx package 2025-07-17 11:46:12 +02:00
Zhephod
86bf311866 add option to opt out of sudo 2025-07-17 02:05:41 -07:00
David Heinemeier Hansson
2235332cb9 Let the themes include backgrounds directly 2025-07-16 22:32:35 -07:00
David Heinemeier Hansson
5170b7a653 Needless 2025-07-16 22:24:32 -07:00
David Heinemeier Hansson
53f77dd267 Add Rose Pine light theme 2025-07-16 22:08:28 -07:00
David Heinemeier Hansson
fb17d91fad Merge branch 'dev' into light-mode-easy 2025-07-16 21:49:23 -07:00
David Heinemeier Hansson
ebe38078de Disable uwsmifying wofi launcher until we can fix the issues 2025-07-16 21:49:17 -07:00
David Heinemeier Hansson
6542784559 Make light mode possible via gsettings based off a marker 2025-07-16 21:48:14 -07:00
David Heinemeier Hansson
9a2d8852d3 Kill waybar proper and restart on suspecion that SIGUSR2 is whats causing the stacking bug 2025-07-16 21:13:36 -07:00
David Heinemeier Hansson
4f565b743a Simpler shebang 2025-07-16 20:15:56 -07:00
David Heinemeier Hansson
c8656cb10f Merge pull request #201 from basecamp/firewall
Enable ufw firewall by default
2025-07-16 20:48:24 -04:00
David Heinemeier Hansson
a735337a59 Turn on ufw-docker 2025-07-16 16:56:40 -07:00
David Heinemeier Hansson
b1c5b420bc Add migration to enable firewall 2025-07-16 16:47:36 -07:00
David Heinemeier Hansson
e6e280dd84 Merge branch 'dev' into firewall 2025-07-16 16:46:50 -07:00
David Heinemeier Hansson
5c42f35839 Install and enable ufw firewall by default
Gotta be safe out there!
2025-07-16 16:46:35 -07:00
David Heinemeier Hansson
65933ad060 Merge pull request #182 from abenz1267/uwsm
use uwsm to properly wrap applications as systemd units
2025-07-16 17:31:36 -04:00
David Heinemeier Hansson
f52c261735 Update utilities.conf
Match latest
2025-07-16 14:30:56 -07:00
Andrej Benz
e9c7bbb490 uwsm: wrap gui exec-once applications with uwsm 2025-07-16 23:21:06 +02:00
Andrej Benz
f756d742da use uwsm to properly wrap applications 2025-07-16 23:19:55 +02:00
David Heinemeier Hansson
12a43ae400 Ensure all installers have a shebang line to specify bash
Closes #134
2025-07-16 14:19:03 -07:00
David Heinemeier Hansson
f4b172e029 Fix switching to background images with spaces in the filename
Fixes #138
2025-07-16 14:10:04 -07:00
David Heinemeier Hansson
ea9d451474 Don't hang the opening terminal 2025-07-16 13:15:12 -07:00
David Heinemeier Hansson
28dc1f505c No transparency on nautilus previews 2025-07-16 13:00:50 -07:00
David Heinemeier Hansson
4b13434cda Merge pull request #195 from basecamp/dev
Omarchy v1.4.1
2025-07-16 11:15:32 -04:00
David Heinemeier Hansson
3dfa4c3216 Start manual as a webapp 2025-07-16 08:13:27 -07:00
David Heinemeier Hansson
b95eae0e10 Actually fine just to use SIGUSR2 2025-07-16 07:42:04 -07:00
David Heinemeier Hansson
7098260e69 Refresh waybar configuration 2025-07-16 07:39:02 -07:00
David Heinemeier Hansson
419951a892 Full restart required 2025-07-16 07:33:22 -07:00
David Heinemeier Hansson
df19472350 On the first install its safe to overwrite 2025-07-16 07:29:08 -07:00
David Heinemeier Hansson
781a7888cb Move to fully user editable wofi styles
Closes #190
2025-07-16 07:11:36 -07:00
David Heinemeier Hansson
4ea0e65950 Fix indention 2025-07-16 06:37:40 -07:00
David Heinemeier Hansson
63d9710e62 Merge pull request #192 from mrtnin/master
Fix a botched merge in the waybar config
2025-07-16 09:37:07 -04:00
David Heinemeier Hansson
2a9ebc8ff9 Toggle wofi menus instead of stacking them
Closes #194
2025-07-16 06:33:12 -07:00
David Heinemeier Hansson
5e4167a0db Silence wofi output when run from cli 2025-07-16 06:30:57 -07:00
David Heinemeier Hansson
149feae288 Move the matte black theme migration forward
It was missed by several people by being older than where they were.
Closes #187
2025-07-16 06:27:03 -07:00
Martin Ulleberg
f464c6b8d0 Fix a botched merge 2025-07-16 12:57:10 +02:00
David Heinemeier Hansson
e7e5ff96eb Fix moved bin 2025-07-15 22:21:09 -07:00
David Heinemeier Hansson
10109bbadc Link backgrounds instead of copying 2025-07-15 22:00:25 -07:00
David Heinemeier Hansson
89bda8468e Turn omarchy-synthwave-theme into just synthwave for the name 2025-07-15 22:00:08 -07:00
David Heinemeier Hansson
4d22b627be Merge pull request #186 from basecamp/dev
Omarchy v1.4.0
2025-07-15 23:02:44 -04:00
David Heinemeier Hansson
17c01629ec Noconfirm and needed 2025-07-15 19:48:35 -07:00
David Heinemeier Hansson
3557ce8d3b Shorter to fit inside Omarchy TUI width 2025-07-15 19:35:51 -07:00
David Heinemeier Hansson
e60c37b194 Specific Omarchy TUI size 2025-07-15 19:35:01 -07:00
David Heinemeier Hansson
d305935382 Put all omarchy commands under the omarchy- prefix 2025-07-15 19:30:23 -07:00
David Heinemeier Hansson
018603be6d Make it clear this is just for development of omarchy 2025-07-15 19:23:27 -07:00
David Heinemeier Hansson
c312cd8b06 More updates 2025-07-15 19:22:44 -07:00
David Heinemeier Hansson
f9403977b8 Homogenize command naming 2025-07-15 19:22:40 -07:00
David Heinemeier Hansson
2d1e6d0e69 Add way to refresh wofi settings 2025-07-15 19:22:27 -07:00
David Heinemeier Hansson
49b191b2af Always lowercase 2025-07-15 19:17:32 -07:00
David Heinemeier Hansson
6de7be7e18 Set path for when its run as standalone app 2025-07-15 19:17:09 -07:00
David Heinemeier Hansson
c99f4c9c02 Tweaks and refinements to the Omarchy TUI 2025-07-15 19:14:23 -07:00
David Heinemeier Hansson
ab3904df9a Quiet swaybg output 2025-07-15 19:14:10 -07:00
David Heinemeier Hansson
73d0197b3c Treat Omarchy as a settings window 2025-07-15 17:55:03 -07:00
David Heinemeier Hansson
b8d64f1737 Copy over new Omarchy application desktop definition 2025-07-15 17:54:53 -07:00
David Heinemeier Hansson
ecf42918fb Have to sudo the change to pacman.conf 2025-07-15 17:31:36 -07:00
Noah Penza
11406ecc79 Add Centralized omarchy CLI with Version Flag and Help Menu (#116)
* Add main CLI interface for Omarchy

Introduces the omarchy script, providing a command-line interface with options for current version, update, and waybar configuration refresh. Includes help documentation.

* Add really cool Omarchy ASCII art to help menu in cli

* Refactor Omarchy CLI to include a TUI menu with system, theme, and tools options.

* Add .desktop for Omarchy TUI

* Make omarchy script executable

* Refactor omarchy cli and add new theme tools

* Add help menu
2025-07-15 17:29:00 -07:00
Andrej Benz
a649779d81 envvars: remove xdg-data-dir env for wofi, it's not needed (#184) 2025-07-15 17:24:30 -07:00
David Heinemeier Hansson
f114e5c441 Hide this too 2025-07-15 17:24:06 -07:00
David Heinemeier Hansson
5daa30a629 Fix compatibility with Framework 16 sensor
Closes #181
Co-authored-by: @anagrius
2025-07-15 17:17:14 -07:00
Alan Bradburne
e5e981507f Additional keyservers (#180)
* Adds additional keyservers and faster timeout

* forgot to restart the dirmngr!

* remove openpgp since doesn't work for spotify, dropbox etc
2025-07-15 17:00:11 -07:00
Zhephod
dcd63233af added sudo support 2025-07-15 03:30:28 -07:00
Zhephod
f1761319e9 got testing for device working 2025-07-15 02:34:18 -07:00
David Heinemeier Hansson
b0d4c2dae4 Fixup and tuneup 2025-07-14 22:35:10 -07:00
David Heinemeier Hansson
e674744714 Fix symlink or directory detection 2025-07-14 21:47:46 -07:00
Noah Penza
ba69caaa6d Omarchy Theme Installer (#150)
* Add omarchy theme remove

* Add theme installer

* Add migration to make theme management scripts executable

* Refactor theme installation script to simplify directory structure and remove unnecessary symlinks.

The script now directly clones themes into the ~/.config/omarchy/themes directory and updates paths accordingly for backgrounds and fonts.

* Update permissions for theme scripts and remove unnecessary migration file

* Refactor theme installation script to always use swaybg-next

* Remove fonts from omarchy-theme-install

* Refactor omarchy-theme-remove by swiitching to theme dir and removing unnecessary symlink checks

* Refactor theme installer to use omarchy-theme-set

* Fix Omarchy theme remove removing current theme and throwing error

* Making theme management scripts quiet
2025-07-14 21:39:07 -07:00
David Heinemeier Hansson
b3338c84b6 Reuse the new omarchy-theme-set in omarchy-theme-next 2025-07-14 21:36:15 -07:00
David Heinemeier Hansson
bfc8d73300 Tune this up and make it prettier 2025-07-14 21:31:58 -07:00
Noah Penza
45d6aac29c Add Theme Menu Switcher (#154)
* Add theme menu for quick theme switching

* Bind theme menu

* Fix current theme being selected

* Replace omarchy-theme-next binding with theme menu

* Add omarchy-theme-set and refactor theme menu script

* Add solid black fallback if background image does not exist in current theme
2025-07-14 21:17:04 -07:00
David Heinemeier Hansson
7aae9015a5 Make known potentially flaky package not halt installation
Ref #151
2025-07-14 21:10:43 -07:00
David Heinemeier Hansson
3edc8bb470 Add note about overwritting directly in here 2025-07-14 21:08:50 -07:00
David Heinemeier Hansson
005e284d59 Tweaks 2025-07-14 21:04:24 -07:00
Naparajith T L
46e8fa46ed Extensible, evenly spaced waybar styling (#156)
* Add override to only require one network interface online

* refactor: extensible, evenly spaced waybar style.css

- Use @define-color directive to define colour variables for each theme
(@foreground for text, @background for background-color)
- apply the colour variables in the main theme config, making it more
extensible
- make waybar elements more evenly spaced with consistent margin and
padding values
- add migration to apply the above changes to existing users

* Update style.css

better pixel spacing

---------

Co-authored-by: Ryan Hughes <1630358+ryanrhughes@users.noreply.github.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-07-14 20:56:54 -07:00
David Heinemeier Hansson
5a48f120ec Make wofi stylesheet user editable
Closes #167
Co-authored-by: @cannikin
2025-07-14 20:53:04 -07:00
David Heinemeier Hansson
5501d94896 Not used 2025-07-14 20:43:26 -07:00
David Heinemeier Hansson
1dd64a814a Add color and pacman animation to pacman installer
Closes #174, #129

Co-authored-by: @rockorager
2025-07-14 20:39:08 -07:00
David Heinemeier Hansson
ad6c1f0df1 Errant migration 2025-07-14 20:38:09 -07:00
David Heinemeier Hansson
72e863f6be Split out the packages that need a keyserver and rescue any failure with an explanation 2025-07-14 18:43:21 -07:00
David Heinemeier Hansson
8758b5d4dc Caused other problems 2025-07-14 18:37:02 -07:00
David Heinemeier Hansson
5672d04cb3 Set proper permissions 2025-07-14 18:22:28 -07:00
David Heinemeier Hansson
d4910dd855 Use a custom, known good keyserver to prevent install errors stemming from an inaccessible keyserver 2025-07-14 18:15:48 -07:00
David Heinemeier Hansson
244758fabb Use Liberation instead of Adwaita as default 2025-07-14 16:44:51 -07:00
David Heinemeier Hansson
46010f8e15 Correct monospace references 2025-07-14 16:34:06 -07:00
David Heinemeier Hansson
5739fa741c Migration to create default fontconfig 2025-07-14 16:20:54 -07:00
David Heinemeier Hansson
9157a85da2 Add a default fontconfig 2025-07-14 16:18:04 -07:00
David Heinemeier Hansson
691a881b6f Ensure that the Chromium file picker window is also floated and centered 2025-07-14 16:17:55 -07:00
David Heinemeier Hansson
44d2dc21ab Give a clue that you have to relaunch Hyprland for new envs to get picked up 2025-07-14 13:50:21 -07:00
David Heinemeier Hansson
d435a650cc Catch the Typora save window as well 2025-07-14 11:04:25 -07:00
Taha
10d332e5d1 Update matte-black theme for consistency (#164) 2025-07-14 10:42:40 -07:00
Dean Perry
6ac1cd4bbe Add Synaptics to the fingerprint check (#172) 2025-07-14 10:39:22 -07:00
Zhephod
0a8d3c3322 add fido2-setup script 2025-07-14 01:10:12 -07:00
David Heinemeier Hansson
03f7403cdd Add migration to fix XCompose in Typora 2025-07-13 18:02:19 -07:00
David Heinemeier Hansson
3d060c384e Fix XCompose use in Typora 2025-07-13 18:01:08 -07:00
Ryan Hughes
c9b1935054 Improve boot screen transition (#140)
* Working concept with SDDM

* Working concept without SDDM dep

* Working concept w/o SDDM and w/ UWSM

* Cleanup and UWSM tweaks

* Cleanup

* Remove call to seamless-login.sh

* Don't allow the progress to go backwards

* Add refresh to migration
2025-07-13 17:51:03 -07:00
David Heinemeier Hansson
2035790817 Fix indention 2025-07-13 17:45:21 -07:00
David Heinemeier Hansson
0caeeeed73 Merge branch 'master' into dev 2025-07-13 17:45:03 -07:00
Andrea
1f0b8eb923 format(waybar): fix wrong indentation for config file (#131) 2025-07-13 17:44:25 -07:00
Leon Hazen
e50780e5bd Add collapsing tray to waybar (#130)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-07-13 17:40:13 -07:00
Santiago M. Mola
7af3230825 Automatically reload waybar style on changes (#91) 2025-07-13 17:31:07 -07:00
David Heinemeier Hansson
dc0032c9c3 Revert "Update keyboard shortcuts script to show all runtime keybinds (#70)"
This reverts commit 6433511873.
2025-07-13 17:27:33 -07:00
David Heinemeier Hansson
59b59807a9 Revert "We have F11 for this"
This reverts commit 4f60ac6797.
2025-07-13 17:27:30 -07:00
David Heinemeier Hansson
4f60ac6797 We have F11 for this 2025-07-13 17:24:49 -07:00
Nathan Anderson
6433511873 Update keyboard shortcuts script to show all runtime keybinds (#70)
* feat: Add a keyboard shortcuts helper

This commit:

* Changes keybinds to use `bindd` and adds descriptions for each one
* Changes the keybinds script to use `hyprctl binds` to inspect runtime keybinds
and generate a wofi menu to search/inspect keybinds

* Rely on 'order defined' for sorting

Using `hyprctl binds` lets us get the binds in the order they're
defined. This lets us be deliberate about what keybinds we want to show
up at the top of the presented window.

* Skip cache file for keybinds

* Strip extra newline causing double spacing
2025-07-13 17:17:48 -07:00
kieeps
41b5893d32 Just a slight indication of the current audio volume with 3 diffrent icons (#158)
* install: explicitly install iwd

When archinstall is run using an ethernet connection, iwd will not be
installed. Explicitly install and enable the service

* Just a slight indication of the current audio volume with 3 diffrent icons

---------

Co-authored-by: Tim Culverhouse <tim@timculverhouse.com>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-07-13 16:50:22 -07:00
David Heinemeier Hansson
920e236fc7 Focus on active window to solve the problem that opening URLs wouldnt focus browser if on a different workspace
Closes #152
2025-07-13 16:45:33 -07:00
David Heinemeier Hansson
745a16f2a4 Catch up with new spacing and improve color 2025-07-13 16:31:05 -07:00
David Heinemeier Hansson
bde3d915c2 Excess CR 2025-07-13 16:29:33 -07:00
David Heinemeier Hansson
13bc31ad0f Improve matte black lock screen colors 2025-07-13 16:29:24 -07:00
David Heinemeier Hansson
fb3aaaba5f Merge pull request #160 from ryanrhughes/Add-margin-to-notification-box
Add margin to notifications box
2025-07-13 19:27:18 -04:00
David Heinemeier Hansson
83877298b7 We use Liberation Sans for these 2025-07-13 15:45:44 -07:00
David Heinemeier Hansson
1df035864d Bring Matte Black mako.ini in line with the rest 2025-07-13 15:45:05 -07:00
Ryan Hughes
dd207232e1 Add margin to notifications 2025-07-13 17:25:00 -04:00
David Heinemeier Hansson
b761d3df0b Fix the migration, not the installer 2025-07-11 09:23:22 -07:00
David Heinemeier Hansson
a477b41593 Fix backgrounds path 2025-07-11 09:19:17 -07:00
David Heinemeier Hansson
e8b47de2a9 Add migration to install new matte black theme 2025-07-11 09:10:59 -07:00
David Heinemeier Hansson
bd2fc67abc Add new matte black theme by @tahayvr 2025-07-11 09:06:14 -07:00
David Heinemeier Hansson
2d5285fc56 Fix theme switcher to work with real directories in .config/omarchy/themes
Not just symlinks
2025-07-11 08:57:55 -07:00
David Heinemeier Hansson
adc506f053 Merge pull request #128 from basecamp/dev
Omarchy v1.3.2
2025-07-10 21:56:56 -04:00
David Heinemeier Hansson
a6f4c1d68b Combine the rules and explicit center 2025-07-10 18:55:03 -07:00
David Heinemeier Hansson
29f1810c91 Remove duplicates and sort 2025-07-10 18:48:51 -07:00
David Heinemeier Hansson
b3b4c06175 Fix show bindings for the new files 2025-07-10 18:46:08 -07:00
David Heinemeier Hansson
9eb058cbe3 Float nautilus previews too 2025-07-10 18:32:32 -07:00
David Heinemeier Hansson
42e53500b4 Merge pull request #125 from basecamp/dev
Omarchy v1.3.1
2025-07-10 20:12:51 -04:00
David Heinemeier Hansson
62bbc8a698 No longer needed 2025-07-10 17:01:06 -07:00
David Heinemeier Hansson
88f816059b Revert "Merge pull request #118 from leonhazen/waybar-tray"
This reverts commit 1ee5b06161, reversing
changes made to 9cb30b5be6.
2025-07-10 17:00:39 -07:00
David Heinemeier Hansson
c1c8751160 Stop rebuilding initcpio twice during install 2025-07-10 16:56:16 -07:00
David Heinemeier Hansson
e6016034e6 No longer relevant since we moved to polkit-gnome 2025-07-10 16:49:14 -07:00
David Heinemeier Hansson
f20d135256 Only run migration if it hasn't already been done 2025-07-10 16:47:52 -07:00
David Heinemeier Hansson
df8cdf7c64 Reset xdg settings with the new .desktop file 2025-07-10 16:46:17 -07:00
David Heinemeier Hansson
b44aded675 Fractional scaling isn't one fixed value 2025-07-10 16:42:41 -07:00
David Heinemeier Hansson
fe75dd9be4 We already have Printer Settings 2025-07-10 16:36:05 -07:00
David Heinemeier Hansson
cbc64ad09f Switch Basecamp + HEY to use the regular web2app 2025-07-10 16:08:46 -07:00
Tim Culverhouse
2b0805a66d install: explicitly install iwd
When archinstall is run using an ethernet connection, iwd will not be
installed. Explicitly install and enable the service
2025-07-10 16:05:21 -07:00
David Heinemeier Hansson
bbb639f8d3 Migrate to using wayland-always chromium.desktop 2025-07-10 16:04:44 -07:00
David Heinemeier Hansson
aed0550e89 Force chromium to use wayland even when launched from .desktop 2025-07-10 16:02:34 -07:00
David Heinemeier Hansson
52f7bd98c1 Make sure we have all of the Propo font styles 2025-07-10 15:50:51 -07:00
David Heinemeier Hansson
5d234b6b3a Include Caskaydia Mono Nerd Font Propo by default 2025-07-10 15:46:33 -07:00
David Heinemeier Hansson
051c1c2ad8 Use CaskaydiaMono Nerd Font Propo for waybar
Ever so slightly nicer spacing
2025-07-10 15:44:48 -07:00
David Heinemeier Hansson
1ee5b06161 Merge pull request #118 from leonhazen/waybar-tray
Add collapsing tray to waybar
2025-07-10 18:37:40 -04:00
David Heinemeier Hansson
9cb30b5be6 Small text tweaks 2025-07-10 15:36:30 -07:00
David Heinemeier Hansson
7e73105e84 Excess CR 2025-07-10 15:34:26 -07:00
David Heinemeier Hansson
8b5275456b Merge pull request #121 from Mane-Pal/battery-low-notification
add low power notfication issue #59
2025-07-10 18:33:36 -04:00
David Heinemeier Hansson
a0baa35c8b Merge pull request #113 from roel4d/patch-1
Do not persist sensitive data in clipboard
2025-07-10 18:32:47 -04:00
David Heinemeier Hansson
ceeaa25f0a Expose all application starter bindings for easy overwriting 2025-07-10 15:30:38 -07:00
David Heinemeier Hansson
f89ad72c58 Only update if hyprlock.conf is still a symlink 2025-07-10 15:10:58 -07:00
David Heinemeier Hansson
62f1e3823b Merge pull request #119 from DrInfinite/dev
De-couple hyprlock themes from layout
2025-07-10 18:04:49 -04:00
David Heinemeier Hansson
9ff7fa715e Force the copy, there's no recursion needed 2025-07-10 15:04:01 -07:00
Naparajith T L
87767626c6 Merge branch 'dev' into dev 2025-07-11 03:14:39 +05:30
DrInfinite
5639486fa5 Migration script for existing users 2025-07-11 03:12:16 +05:30
David Heinemeier Hansson
be29136188 Fewer fonts in the bare mode 2025-07-10 12:50:10 -07:00
David Heinemeier Hansson
b3ae7e69a6 Merge pull request #124 from basecamp/bare-install
Add a bare mode with almost no default applications beyond system basics
2025-07-10 15:47:24 -04:00
David Heinemeier Hansson
a64c0505ec Add a bare mode with almost no default applications beyond system basics 2025-07-10 12:28:42 -07:00
David Heinemeier Hansson
e22b3db049 Merge pull request #122 from rockorager/explicit-iwd-install
install: explicitly install iwd
2025-07-10 14:47:24 -04:00
Tim Culverhouse
1cf9492e57 install: explicitly install iwd
When archinstall is run using an ethernet connection, iwd will not be
installed. Explicitly install and enable the service
2025-07-10 13:45:17 -05:00
Mads Nedergaard Paulsen
735ed407a8 Merge branch 'dev' into battery-low-notification 2025-07-10 20:03:28 +02:00
Mads Nedergaard Paulsen
957b23966c add migration for low power notify 2025-07-10 19:32:52 +02:00
Mads Nedergaard Paulsen
4c58879481 add low power notfication 2025-07-10 19:04:40 +02:00
DrInfinite
77524a7afa De-couple hyprlock themes from layout 2025-07-10 18:43:08 +05:30
Leon Hazen
4ff4ddb250 Add collapsing tray to waybar 2025-07-10 21:04:55 +10:00
Roeland
5a3d57000e Do not persist sensitive data in clipboard 2025-07-10 08:06:59 +02:00
David Heinemeier Hansson
6e05a51b65 Enable all the inputrc settings 2025-07-09 21:14:04 -07:00
David Heinemeier Hansson
583f1b6113 We don't need to shout 2025-07-09 20:52:16 -07:00
David Heinemeier Hansson
55f30eba66 No need to confirm the upgrade 2025-07-09 19:49:10 -07:00
David Heinemeier Hansson
faa279c587 Merge pull request #89 from basecamp/dev
Omarchy v1.3.0
2025-07-09 22:43:25 -04:00
David Heinemeier Hansson
6410f079b6 Merge pull request #108 from anoldguy/more-kernel-cmdline-detection
Adds two more kernel cmdline detections
2025-07-09 22:22:13 -04:00
Nathan Anderson
87f0b599c6 Adds two more kernel cmdline detections
Adds support for UKI images, which read kernel cmdline options out of
either:

* /etc/cmdline.d/*.conf
* /etc/kernel/cmdline
2025-07-09 22:16:05 -04:00
David Heinemeier Hansson
c9a5de6581 Quiet by default 2025-07-09 19:01:19 -07:00
David Heinemeier Hansson
11b71a593b Need to have the install inside the check of course 2025-07-09 19:00:52 -07:00
David Heinemeier Hansson
b25a60395a All protections are already in there 2025-07-09 19:00:20 -07:00
David Heinemeier Hansson
d7b94996c3 Add border to wofi to better delineate from background 2025-07-09 18:52:04 -07:00
David Heinemeier Hansson
b7a3b4b020 Add a way to refresh plymouth setup 2025-07-09 18:39:13 -07:00
David Heinemeier Hansson
ae57e86dac Merge pull request #110 from ryanrhughes/add-boot-screen
Update boot screen graphics & progress bar
2025-07-09 21:35:48 -04:00
David Heinemeier Hansson
8fb9b51d03 Update system packages when updating omarchy 2025-07-09 18:33:06 -07:00
David Heinemeier Hansson
c5ada676ae Skip configuration if plymouth was already installed
This helps us skip the installer if something else on initial all failed
and we need to run things again.
2025-07-09 18:28:48 -07:00
Ryan Hughes
352b0cfae6 Update assets and reduce progress target to 70% 2025-07-09 21:25:15 -04:00
David Heinemeier Hansson
4df84da6e1 Better grouping 2025-07-09 18:24:21 -07:00
David Heinemeier Hansson
9d05326e6f Remove excess CR 2025-07-09 18:23:35 -07:00
David Heinemeier Hansson
b4fc02d3ed Fix indention 2025-07-09 18:21:31 -07:00
David Heinemeier Hansson
601a0e2ac8 Already included as a dependency of fprintd 2025-07-09 18:21:01 -07:00
David Heinemeier Hansson
5d2aa7773e No longer used 2025-07-09 18:19:48 -07:00
David Heinemeier Hansson
64e8a25719 Fix showing user keybindings
Close #106
2025-07-09 18:04:12 -07:00
David Heinemeier Hansson
c314721007 Rely on omarchy-refresh-waybar having its own confirm 2025-07-09 18:01:56 -07:00
David Heinemeier Hansson
3d4198d691 Merge pull request #101 from npenza/add-gum-confirm-to-omarchy-refresh-waybar
Add gum confirm to omarchy-refresh-waybar
2025-07-09 21:00:53 -04:00
David Heinemeier Hansson
96769b4d6a Fix package name for lsusb 2025-07-09 17:53:04 -07:00
David Heinemeier Hansson
041abe8c2e Merge pull request #109 from basecamp/switch-to-polkit-gnome
Switch to polkit-gnome
2025-07-09 20:48:38 -04:00
David Heinemeier Hansson
4f77e71d2c Red means no! 2025-07-09 17:47:54 -07:00
David Heinemeier Hansson
c567dbffaa Only allow fingerprint setup if a sensor is detected 2025-07-09 20:46:43 -04:00
David Heinemeier Hansson
6434fddb59 Explain migration 2025-07-09 20:45:18 -04:00
David Heinemeier Hansson
089f73c518 Remove commented out exec 2025-07-09 17:41:06 -07:00
David Heinemeier Hansson
929aafc17c Guard against running it twice 2025-07-09 20:31:50 -04:00
David Heinemeier Hansson
5684aa80d8 Make sure to run polkit-gnome after migrating to it 2025-07-09 20:30:16 -04:00
David Heinemeier Hansson
d2598464d6 Switch to polkit-gnome to make fingerprint authentication work better
hyprpolkit was not designed well for fingerprint authentication. It
doesn't allow you to easily deal with both fingerprints and passwords in
the same configuration.
2025-07-09 20:26:43 -04:00
David Heinemeier Hansson
5f46b7560e Revert the attempt to fix dark mode for hyprpolkitagent 2025-07-09 19:37:51 -04:00
David Heinemeier Hansson
0d0f1ed692 Restart agent after setting up 2025-07-09 19:31:26 -04:00
David Heinemeier Hansson
5d6fe16e47 Not needed 2025-07-09 19:29:33 -04:00
David Heinemeier Hansson
5e50f00278 Turn on fingerprint authentication for sudo + system prompts 2025-07-09 16:26:24 -07:00
David Heinemeier Hansson
31875282ec Then not do 2025-07-09 19:14:10 -04:00
David Heinemeier Hansson
a873a2cf96 Clean up migrations a bit 2025-07-09 19:13:37 -04:00
David Heinemeier Hansson
e7766926d9 Make it easier to read 2025-07-09 19:12:26 -04:00
David Heinemeier Hansson
08038e272c Only if needed 2025-07-09 19:12:19 -04:00
David Heinemeier Hansson
fef5f38dc9 Only if needed 2025-07-09 19:12:15 -04:00
David Heinemeier Hansson
bc652eb3f7 Then not do 2025-07-09 19:08:44 -04:00
David Heinemeier Hansson
315f3ffe88 Only run Docker config setting if it hasn't been created already 2025-07-09 19:06:58 -04:00
David Heinemeier Hansson
5c1d8cc2b3 Only run if not already configured 2025-07-09 19:05:37 -04:00
David Heinemeier Hansson
bdfab2c305 Only run if missing 2025-07-09 19:05:27 -04:00
David Heinemeier Hansson
00be503e79 Only run migration if impala isn't there 2025-07-09 19:02:17 -04:00
Noah Penza
77e2e5f61e Refactor omarchy-refresh-waybar to use conditional confirmation 2025-07-10 06:59:06 +10:00
David Heinemeier Hansson
73a10a6d4e Move plymouth install to the end 2025-07-09 13:33:00 -07:00
David Heinemeier Hansson
4295541c6a Merge pull request #104 from ryanrhughes/add-boot-screen
Add graphical boot screen
2025-07-09 16:09:43 -04:00
David Heinemeier Hansson
9b418abed2 Drop clipse since it would keep clear-text passwords from 1passwords in the buffer
And there's no exclusion option!
2025-07-09 11:50:32 -07:00
David Heinemeier Hansson
2a84c5873b Add hotkey to prevent idling on SUPER + CTRL + I 2025-07-09 11:22:43 -07:00
David Heinemeier Hansson
aa5c955f67 Add migratgion for gnome-keyring 2025-07-09 10:33:49 -07:00
David Heinemeier Hansson
18dadd62f0 Add gnome-keyring to enable 2FA for 1password 2025-07-09 10:33:01 -07:00
David Heinemeier Hansson
b0d94f3e34 Fix path interpolation 2025-07-09 10:31:08 -07:00
David Heinemeier Hansson
a15979dc79 Improve helper 2025-07-09 10:29:49 -07:00
David Heinemeier Hansson
1df37bd3d7 Setup hyprpolkitagent separately with dark mode applied 2025-07-09 10:29:39 -07:00
David Heinemeier Hansson
841596c5a3 Migration for permanently fixing F-keys on Apple-mode keyboards 2025-07-09 10:15:00 -07:00
David Heinemeier Hansson
b707d1974a Add helper to create a new migration 2025-07-09 10:14:48 -07:00
David Heinemeier Hansson
aaedb7d62e Permanently fix F keys on apple mode keyboards 2025-07-09 10:11:28 -07:00
David Heinemeier Hansson
099f094f8e Use larger settings overlay 2025-07-09 10:08:48 -07:00
David Heinemeier Hansson
dd21b5ca5a Fix wofi for showing keybindings after moving css 2025-07-09 10:04:20 -07:00
David Heinemeier Hansson
5f4962188a Fix indention 2025-07-09 09:53:07 -07:00
Noah Penza
6513db1bdd Add gum confirm to omarchy-refresh-waybar 2025-07-09 19:07:28 +10:00
Ryan Hughes
c9c05038a0 Cleanup 2025-07-09 00:58:36 -04:00
Ryan Hughes
ce29c0f498 Adjust progress bar and prevent flash 2025-07-09 00:43:49 -04:00
David Heinemeier Hansson
033a2d9f02 Example for fractional scaling 2025-07-08 16:23:44 -04:00
David Heinemeier Hansson
f00436c892 Move GDK_SCALE into monitors.conf since it has to be changed together with the monitor= setting 2025-07-08 16:21:31 -04:00
David Heinemeier Hansson
9692a7985c Remove power menu from icons and just rely on hotkey 2025-07-08 10:49:54 -04:00
Ryan Hughes
d9da252dd3 Rearrange and simplify boot screen 2025-07-07 23:20:50 -04:00
Ryan Hughes
06507963f2 Remove spinner 2025-07-07 21:02:00 -04:00
Ryan Hughes
924a9861c6 Add grub, fix mkinitcpio match, and set theme 2025-07-07 20:33:54 -04:00
Ryan Hughes
6057140ff3 Remove excess themes and move tokyo-night 2025-07-07 19:08:07 -04:00
Ryan Hughes
4e6901734c Remove theme switching 2025-07-07 19:05:07 -04:00
Ryan Hughes
a2fa2cf632 Add plymouth installer and migration 2025-07-07 19:01:28 -04:00
Ryan Hughes
86bcac5d28 Add touch to signal rebuild 2025-07-07 19:01:28 -04:00
Ryan Hughes
820b80f287 Add shutdown sync script 2025-07-07 19:01:28 -04:00
Ryan Hughes
f7afe3f555 Add script to generate new plymouth themes 2025-07-07 19:01:28 -04:00
Ryan Hughes
1fed6096cc Add plymouth themes 2025-07-07 19:01:28 -04:00
David Heinemeier Hansson
f52077a5a1 Give a hint as to how you overwrite Omarchy default bindings 2025-07-07 12:03:44 -07:00
David Heinemeier Hansson
d254969b39 Give a hint about the config format 2025-07-07 11:58:34 -07:00
David Heinemeier Hansson
434b17e27a Add a hint to changing 1x resolution 2025-07-07 11:44:22 -07:00
David Heinemeier Hansson
201d303c2c Better structuring of the wofi css
Reusing look for select menu and reducing theme duplication
2025-07-07 11:37:50 -07:00
David Heinemeier Hansson
6c1c829f86 Fix sorting code on power menu 2025-07-07 11:19:29 -07:00
David Heinemeier Hansson
24f8c31b64 The power menu will rule it all 2025-07-07 11:09:19 -07:00
David Heinemeier Hansson
207f811e47 Be more precise than sleep 2025-07-07 11:09:10 -07:00
David Heinemeier Hansson
cea316425f Tweak presentation, drop the hotkey references 2025-07-07 11:04:40 -07:00
David Heinemeier Hansson
9879726003 Merge pull request #85 from npenza/waybar-power-menu-improvements
Waybar Power Menu - Remove Search and Add Shortcuts
2025-07-07 11:01:52 -07:00
David Heinemeier Hansson
fe6481235d Merge branch 'dev' into waybar-power-menu-improvements 2025-07-07 11:01:24 -07:00
David Heinemeier Hansson
8939d636fb Offer to refresh waybar to use Impala 2025-07-07 10:56:37 -07:00
David Heinemeier Hansson
a64b32e2ee Use power menu on Super+Esc 2025-07-07 10:50:45 -07:00
David Heinemeier Hansson
0073678f1f Use Impala for wifi and float it 2025-07-07 10:50:45 -07:00
David Heinemeier Hansson
67a959f9b9 Merge pull request #84 from da-maltsev/add-ui-iwd
Add impala as iwd TUI on waybar
2025-07-07 10:50:08 -07:00
David Heinemeier Hansson
c63b87b416 Fix yay-bin being checked out to $HOME instead of /tmp and not getting cleaned up
Co-author: @bbondier
Closes #86
2025-07-07 10:28:44 -07:00
Daniil Maltsev
3515525d99 Add impala as iwd TUI 2025-07-07 16:37:13 +05:00
Noah Penza
c459e03d39 Change power menu css path 2025-07-07 21:25:14 +10:00
Noah Penza
51e97fcc76 Kill wofi when using the shortcut and power menu is showing 2025-07-07 21:18:45 +10:00
Noah Penza
c032a6aa37 Adding shortcuts to power options 2025-07-07 21:07:13 +10:00
Noah Penza
ef5a02a84c Hide the search bar in power menu 2025-07-07 20:44:01 +10:00
David Heinemeier Hansson
17ead79b74 Merge pull request #82 from basecamp/dev
Omarchy v1.2.0
2025-07-06 20:58:36 -07:00
David Heinemeier Hansson
e03c9fce07 Fix up menu with sorting and a relaunch hyprland option 2025-07-06 18:41:12 -07:00
David Heinemeier Hansson
0f7d5744b9 Better height 2025-07-06 18:11:40 -07:00
David Heinemeier Hansson
19c2c708b6 Add script to refresh waybar config and restart it 2025-07-06 18:00:41 -07:00
David Heinemeier Hansson
621628d59b Revert "Merge pull request #74 from ryanrhughes/add-boot-screen"
This reverts commit 425603c790, reversing
changes made to 00b621d7d7.
2025-07-06 17:48:33 -07:00
David Heinemeier Hansson
a62697de23 Revert "Merge pull request #81 from okdas/feat/hyprsunset-master"
This reverts commit 786d14071d, reversing
changes made to 76d26fda4e.
2025-07-06 17:47:10 -07:00
David Heinemeier Hansson
786d14071d Merge pull request #81 from okdas/feat/hyprsunset-master
Add blue light filter
2025-07-06 17:34:19 -07:00
Dmitry Knyazev
1d93459af5 Add migration to install hyprsunset for existing users 2025-07-06 17:28:30 -07:00
Dmitry Knyazev
8fb744868f Add hyprsunset to autostart
Ensures hyprsunset daemon starts automatically with Hyprland session
2025-07-06 17:18:51 -07:00
Dmitry Knyazev
ab1fca0ce9 add hyprsunset 2025-07-06 17:12:56 -07:00
David Heinemeier Hansson
76d26fda4e The Dropbox icon wasn't pulling its own weight
We really should keep those icons on the right only to system-level
concerns. Hardware controls only.
2025-07-06 17:11:47 -07:00
David Heinemeier Hansson
d3953e2b35 Fix early exit 2025-07-06 17:08:35 -07:00
David Heinemeier Hansson
d5fbab541f Fix the grep target 2025-07-06 17:04:31 -07:00
David Heinemeier Hansson
98d758b505 Make it clear what installer we are running at a given moment 2025-07-06 16:44:28 -07:00
David Heinemeier Hansson
425603c790 Merge pull request #74 from ryanrhughes/add-boot-screen
Add graphical boot screen
2025-07-06 16:00:55 -07:00
David Heinemeier Hansson
00b621d7d7 Tweak the menu options 2025-07-06 15:11:56 -07:00
David Heinemeier Hansson
49234a8a16 Don't use tooltip for the power menu 2025-07-06 15:04:49 -07:00
David Heinemeier Hansson
3c93e27440 Drop the power profiles icon, not carrying its weight
This just isnt worth a spot of premium real-estate. Most people aren't
changing it a lot. When you need to, you can do it from the commandline.
2025-07-06 15:04:40 -07:00
David Heinemeier Hansson
ec0a1267b7 Merge pull request #65 from npenza/feat-add-power-menu-to-waybar
Add Power Menu to Waybar
2025-07-06 14:57:58 -07:00
David Heinemeier Hansson
84d2fc3722 Turn notifications on/off with Super+Ctrl+,
Thanks to @ryanrhughes for the groundwork in #63 on this!
2025-07-06 14:55:26 -07:00
David Heinemeier Hansson
0d4f8145a2 Revert "Merge pull request #63 from ryanrhughes/waybar-add-dnd"
This reverts commit 2dc5b4fd8f, reversing
changes made to dea0a547a6.
2025-07-06 14:41:22 -07:00
David Heinemeier Hansson
2dc5b4fd8f Merge pull request #63 from ryanrhughes/waybar-add-dnd
Add DND option to Waybar
2025-07-06 14:35:30 -07:00
David Heinemeier Hansson
dea0a547a6 Merge pull request #77 from ThiaudioTT/feat/close-mako-notifications
feat(mako): adds bindings to close notifications fix #67
2025-07-06 14:30:47 -07:00
David Heinemeier Hansson
9c79ac2208 Merge pull request #79 from olgkv/fix/gpu-detection
fix(detect): Correctly assign gpu_info before use
2025-07-06 14:28:40 -07:00
David Heinemeier Hansson
b9b35c85c0 Merge pull request #80 from smola/smola/bash-completion
Enable bash-completion by default
2025-07-06 14:24:19 -07:00
Santiago Mola
5a8687b386 Enable bash-completion by default 2025-07-06 19:12:04 +02:00
Oleg Suchkov
3aa8c19b6e fix(detect): Correctly assign gpu_info before use
The script attempted to perform driver selection by echoing the
`$gpu_info` variable, but the variable had not yet been populated
with the output from the `lspci` command.

This resulted in the `if` condition always failing and the driver package
incorrectly defaulting to `nvidia-dkms` for all hardware.

This commit moves the `gpu_info` assignment to before it is
referenced, ensuring the detection and selection logic works as intended.
2025-07-06 15:19:47 +03:00
Thiago
2045056610 feat(bindings): Add keybindings for dismissing notifications in bindings.conf for mako 2025-07-06 00:34:11 -03:00
Ryan Hughes
a0105fab4a Move DND icon to the left of the clock 2025-07-05 18:26:45 -04:00
Ryan Hughes
b43a99c11b Add plymouth installer and migration 2025-07-05 16:42:19 -04:00
Ryan Hughes
d3f5662064 Add touch to signal rebuild 2025-07-05 16:42:00 -04:00
Ryan Hughes
20a09cad86 Add shutdown sync script 2025-07-05 16:41:38 -04:00
Ryan Hughes
9a5f17eefd Add script to generate new plymouth themes 2025-07-05 16:41:00 -04:00
Ryan Hughes
ce766d475a Add plymouth themes 2025-07-05 16:40:37 -04:00
David Heinemeier Hansson
b0beec5c0d Merge pull request #69 from zdehasek/fix-fingerprint
username needs to be set for fprintd-enroll
2025-07-05 12:03:17 -07:00
Zdenek Hasek
bd8a98cd63 username needs to be set for fprointd-enroll 2025-07-05 19:15:00 +02:00
David Heinemeier Hansson
6f6b1565fe Float and center file pickers 2025-07-05 10:08:02 -07:00
Noah Penza
760f799943 Add power menu to waybar 2025-07-05 17:12:03 +10:00
Ryan Hughes
d58d0f0b45 Add DND option to Waybar 2025-07-04 22:33:00 -04:00
David Heinemeier Hansson
2d0f094449 Add migration for adding ffmpegthumbnailer 2025-07-04 18:32:14 -07:00
David Heinemeier Hansson
c00f4c9608 Add ffmpegthumbnailer to get thumbnails of videos in nautilus 2025-07-04 18:31:09 -07:00
David Heinemeier Hansson
5e2dd6ba15 Suggest clickfinger_behavior 2025-07-04 18:05:37 -07:00
David Heinemeier Hansson
46f52c7e4a Just leave it at default and use as example 2025-07-04 17:55:38 -07:00
David Heinemeier Hansson
54eb2460cb Show where the options can be found 2025-07-04 17:50:09 -07:00
David Heinemeier Hansson
0e7e0b6e4f Expose and slightly increase mouse/trackpad sensitivity 2025-07-04 17:49:06 -07:00
David Heinemeier Hansson
1481003bc4 Just a tad faster 2025-07-04 17:43:49 -07:00
David Heinemeier Hansson
bb59912530 Excess CR 2025-07-04 17:32:50 -07:00
David Heinemeier Hansson
d0e1924556 Just expose directly
And turn up the repeat a little
2025-07-04 17:32:33 -07:00
David Heinemeier Hansson
405bce4c46 Scrolling the terminal needs to be faster than standard 2025-07-04 17:25:09 -07:00
David Heinemeier Hansson
36c6fb8b9e Set a lower default scroll factor for touchpads and suggest other common changes 2025-07-04 17:23:24 -07:00
David Heinemeier Hansson
9906414866 Add missing new LocalSend default application 2025-07-04 17:00:36 -07:00
David Heinemeier Hansson
3d871adc4a Merge pull request #60 from basecamp/dev
Omarchy 1.1
2025-07-04 16:49:44 -07:00
David Heinemeier Hansson
59b561a3ac Don't actually install a specific ruby version
Compilation slows down the install too much, and very often projects
specify something specific.
2025-07-04 16:23:18 -07:00
David Heinemeier Hansson
e166cde9d0 Don't let this stop it 2025-07-04 16:20:56 -07:00
David Heinemeier Hansson
fcaf61162c Won't be set in that shell 2025-07-04 16:20:30 -07:00
David Heinemeier Hansson
b15166cce0 Use clipse bin as well 2025-07-04 16:18:50 -07:00
David Heinemeier Hansson
3c1e7e5b10 Switch to bin versions where possible 2025-07-04 16:10:58 -07:00
David Heinemeier Hansson
ce875b6fee Be resilient to power profile not existing 2025-07-04 16:08:04 -07:00
David Heinemeier Hansson
63d4d6d302 Only ask if we don't have the identification already 2025-07-04 16:03:19 -07:00
David Heinemeier Hansson
e3b211efae Fix missing directory 2025-07-04 16:00:28 -07:00
David Heinemeier Hansson
211b99320b Add localsend-bin
No rust conflicts! Closes #51, #46
2025-07-04 15:54:11 -07:00
David Heinemeier Hansson
1d90a15c16 Add missing docker config migration 2025-07-04 15:49:04 -07:00
David Heinemeier Hansson
648d061b3c Fix missing dir for /etc/docker 2025-07-04 15:47:38 -07:00
David Heinemeier Hansson
3d8c15a397 Correct name 2025-07-04 15:44:28 -07:00
David Heinemeier Hansson
559e628ccf Merge branch 'master' into dev 2025-07-04 15:38:45 -07:00
David Heinemeier Hansson
ea37c7ccb5 Use custom branch if $OMARCHY_REF has been specified 2025-07-04 15:38:34 -07:00
David Heinemeier Hansson
c74ad0a013 Catch errors and offer a retry 2025-07-04 15:29:48 -07:00
David Heinemeier Hansson
5957da5ecb No confirm the removal 2025-07-04 15:24:36 -07:00
David Heinemeier Hansson
e4db074d38 Add migration to switch from vlc to mpv 2025-07-04 15:22:04 -07:00
David Heinemeier Hansson
56ec1351d3 Switch default video player from vlc to mpv
It's faster and looks better on hyprland
2025-07-04 15:20:20 -07:00
David Heinemeier Hansson
89ee15f5fb Excess CR 2025-07-04 15:05:34 -07:00
David Heinemeier Hansson
985d137d71 Add a fingerprint setup script
Follow-up to #54
2025-07-04 15:05:07 -07:00
David Heinemeier Hansson
a736c95fdc Turn on fingerprint authentication for hyprlock
Still requires setting up fprint, but we explain that in the manual.
Closes #54.
2025-07-04 14:51:33 -07:00
David Heinemeier Hansson
3b755b09aa Use Chromium as the default browser
Prevents that warning on first start
2025-07-04 12:10:52 -07:00
David Heinemeier Hansson
1b26d75f3e Merge pull request #55 from c4software/patch-1
Improve keyboard layout compatibility
2025-07-04 11:55:03 -07:00
David Heinemeier Hansson
c53125b519 Merge pull request #58 from martinstork/toggle-wofi
Open and close wofi with the same binding
2025-07-04 11:51:34 -07:00
David Heinemeier Hansson
a4e6846cd1 Merge branch 'dev' into toggle-wofi 2025-07-04 11:51:24 -07:00
David Heinemeier Hansson
609c8ef84e Revert "Merge pull request #37 from prertik/nvim-switch-to-current-theme"
This reverts commit 79a8d34cc5, reversing
changes made to d05020b7c1.
2025-07-04 11:49:09 -07:00
David Heinemeier Hansson
79a8d34cc5 Merge pull request #37 from prertik/nvim-switch-to-current-theme
Be able to switch to current theme for neovim
2025-07-04 11:42:44 -07:00
Martin Stork
0ab85263e2 Open and close wofi with the same binding 2025-07-04 20:27:51 +02:00
Brosseau Valentin
bf19025088 fix: use key codes instead of numeric values to support alternative keyboard layouts
Some layouts (like AZERTY or Bépo) do not provide direct access to number keys.
Using key codes improves compatibility across different keyboard configurations.
2025-07-04 17:59:13 +02:00
David Heinemeier Hansson
d05020b7c1 Include Google Messages as a web app too 2025-07-03 13:59:31 -07:00
David Heinemeier Hansson
5cb345ef28 Merge branch 'master' into dev 2025-07-03 13:50:36 -07:00
David Heinemeier Hansson
1a061cb427 Add Google Messages for RCS via Android
Great for SMS 2FA etc!
2025-07-03 13:38:50 -07:00
David Heinemeier Hansson
9a99e24d67 Tweak keybindings and include the ones in the defaults too 2025-07-03 13:14:42 -07:00
David Heinemeier Hansson
83210c6566 Merge pull request #42 from calvinludwig/feat/yayf-alias
Add yayf alias for easy package search
2025-07-03 12:47:40 -07:00
David Heinemeier Hansson
ebe4420c10 Merge pull request #44 from oca159/master
feat: add script to show keybindings
2025-07-03 12:38:40 -07:00
Ihar Suvorau
ea2053bd18 Prevent wofi from stack up
When hitting SUPER + space several times, a new instance of wofi is
launched each time and they stack upon each other. This change uses a
file lock to prevent starting several instances of wofi.

Thanks to everyone from this thread
https://www.reddit.com/r/archlinux/comments/m327pt/prevent_wofi_from_stacking_up/
2025-07-03 12:38:03 -07:00
Osvaldo Cordova Aburto
f7ec407891 feat: add script to show keybindings 2025-07-03 13:09:15 -06:00
Calvin Ludwig
59b18ce5b8 add yayf alias 2025-07-03 10:14:22 -03:00
Pratik Karki
4f0271b588 Be able to switch to current theme
Additionally, check if the current theme is accessible
and loadable else, fallback to a default theme as to not
break the theme.

Signed-off-by: Pratik Karki <pratik@prertik.com>
2025-07-03 12:28:47 +05:45
David Heinemeier Hansson
6faa33f422 No transparency on image viewing 2025-07-02 22:16:15 -07:00
David Heinemeier Hansson
8c631250c2 Merge pull request #29 from iharsuvorau/wofi-fix
Prevent wofi from stacking up
2025-07-02 20:39:25 -07:00
David Heinemeier Hansson
d00e463eca Merge branch 'master' into dev 2025-07-02 20:07:51 -07:00
David Heinemeier Hansson
56ebe49468 Fix missing fd tool and bad alias 2025-07-02 20:07:45 -07:00
David Heinemeier Hansson
8df95b6fb3 Explain how to get this working 2025-07-02 20:06:42 -07:00
David Heinemeier Hansson
04b4c3c9a5 Install missing fd 2025-07-02 19:53:44 -07:00
David Heinemeier Hansson
e0a123d56e Merge branch 'master' into dev 2025-07-02 19:47:28 -07:00
David Heinemeier Hansson
863a1b0b3e Fix nvidia check 2025-07-02 16:21:52 -07:00
Ihar Suvorau
7100c41449 Prevent wofi from stack up
When hitting SUPER + space several times, a new instance of wofi is
launched each time and they stack upon each other. This change uses a
file lock to prevent starting several instances of wofi.

Thanks to everyone from this thread
https://www.reddit.com/r/archlinux/comments/m327pt/prevent_wofi_from_stacking_up/
2025-07-03 01:45:50 +03:00
David Heinemeier Hansson
e9a399173b Set a default branch name 2025-07-02 13:15:43 -07:00
David Heinemeier Hansson
14fe67e179 Merge pull request #13 from Kn0ax/master
Nvidia support for omarchy
2025-07-02 12:54:21 -07:00
Zhephod
e8c9a5ad49 remove defensive code 2025-07-01 21:52:49 +02:00
David Heinemeier Hansson
35aa002475 Merge pull request #20 from harilvfs/license
chore: add MIT license file
2025-06-30 16:42:20 -07:00
David Heinemeier Hansson
8d15510a0c Update LICENSE 2025-06-30 16:42:09 -07:00
David Heinemeier Hansson
3c07b541bd Good window defaults for gaming 2025-06-30 16:00:03 -07:00
Hari Chalise
f244be542f add license file 2025-07-01 00:47:40 +05:45
Kn0ax
d6a44c24a7 remove unneeded comments 2025-06-30 20:53:36 +02:00
Kn0ax
188d1c331a requested changes 2025-06-30 20:45:17 +02:00
David Heinemeier Hansson
cfa63fdc67 Add function to refresh xcompose after changes 2025-06-29 21:11:49 -07:00
David Heinemeier Hansson
da31736b9a Explain it 2025-06-29 19:01:48 -07:00
David Heinemeier Hansson
5e56279fee Float sound and bluetooth settings 2025-06-29 19:01:25 -07:00
David Heinemeier Hansson
504a7a85c2 Merge pull request #15 from 0xProt/master
chore: removed duplicated key in waybar battery config
2025-06-29 17:16:43 -07:00
Kn0ax
b5dfaef8bb enable multilib (if not already) 2025-06-30 00:47:42 +02:00
Kn0ax
8f68793f7c fix script path
meh, stupid me
2025-06-30 00:38:36 +02:00
0xProt
86d9050420 chore: removed duplicated key in waybar battery config 2025-06-29 22:38:14 +01:00
Kn0ax
fbd85990d0 [not tested] nvidia support
this commit tries to add nvidia suppport.
it's not tested yet.
2025-06-29 22:27:16 +02:00
David Heinemeier Hansson
3162a4cd5a This strategy didnt actually work, just use all 2025-06-29 12:50:53 -07:00
David Heinemeier Hansson
dedc08a76e Allow you to easily run all migrations by passing "all"
Helpful for testing or if something went wrong
2025-06-29 12:49:51 -07:00
David Heinemeier Hansson
d227a541f0 Add migration to fix the persistent workspaces in the waybar config 2025-06-29 12:39:22 -07:00
David Heinemeier Hansson
40cd9575d2 Merge pull request #10 from kennethgeerts/master
Fix for persistent workspaces shown in waybar
2025-06-29 12:35:07 -07:00
David Heinemeier Hansson
671f9c7882 Sleep on Super + Shift + Escape
And move restarting Hyprland to Super + Alt + Escape
2025-06-28 16:48:16 -07:00
David Heinemeier Hansson
6af496f394 Fix opacity 2025-06-28 16:30:43 -07:00
Kenneth Geerts
56f60adf6b Fix for persistent workspaces shown in waybar 2025-06-29 01:17:17 +02:00
David Heinemeier Hansson
9a8f4523e7 Fix that Chromium is now a capitalized class 2025-06-28 16:01:43 -07:00
David Heinemeier Hansson
18931a8fd3 Need to have the service available first 2025-06-28 15:50:19 -07:00
David Heinemeier Hansson
6842258031 Fix this 2025-06-28 11:51:11 -07:00
David Heinemeier Hansson
aa4fddf53f Run these again so the updated omarchy-update gets them too 2025-06-28 11:50:19 -07:00
David Heinemeier Hansson
07b89e0ad8 Only run this if we are missing bat 2025-06-28 11:48:08 -07:00
David Heinemeier Hansson
2a2a77685c Add migration system and fix bluetooth service + missing bat 2025-06-28 11:46:28 -07:00
312 changed files with 4757 additions and 1558 deletions

20
LICENSE Normal file
View File

@@ -0,0 +1,20 @@
Copyright (c) David Heinemeier Hansson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Basecamp
Comment=Basecamp Project Management
Exec=chromium --new-window --ozone-platform=wayland --app="https://launchpad.37signals.com" --name=Basecamp --class=Basecamp
Terminal=false
Type=Application
Icon=Basecamp
Categories=GTK;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupNotify=true

View File

@@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Name=HEY
Comment=HEY Email + Calendar
Exec=chromium --new-window --ozone-platform=wayland --app="https://app.hey.com" --name=HEY --class=HEY
Terminal=false
Type=Application
Icon=HEY
Categories=GTK;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupNotify=true

View File

@@ -1,10 +0,0 @@
[Desktop Entry]
Name=Bluetooth
Comment=Configure Bluetooth settings
Icon=bluetooth
Exec=env GTK_THEME=Adwaita-dark blueberry
Terminal=false
Type=Application
Categories=GTK;GNOME;Settings;HardwareSettings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
StartupNotify=true
NotShowIn=GNOME;KDE;Unity;

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

51
applications/mpv.desktop Normal file
View File

@@ -0,0 +1,51 @@
[Desktop Entry]
Type=Application
Name=Media Player
Name[ar]=مشغل وسائط mpv
Name[ca]=Reproductor multimèdia mpv
Name[cs]=mpv přehrávač
Name[da]=mpv-medieafspiller
Name[fr]=Lecteur multimédia mpv
Name[it]=Lettore multimediale mpv
Name[ja]=mpv メディアプレイヤー
Name[pl]=Odtwarzacz mpv
Name[ru]=Проигрыватель mpv
Name[tr]=mpv Ortam Oynatıcı
Name[zh_CN]=mpv 媒体播放器
Name[zh_TW]=mpv 媒體播放器
GenericName=Multimedia player
GenericName[ar]=مُشَغِّل وسائط متعددة
GenericName[cs]=Multimediální přehrávač
GenericName[da]=Multimedieafspiller
GenericName[fr]=Lecteur multimédia
GenericName[it]=Lettore multimediale
GenericName[ja]=マルチメディアプレイヤー
GenericName[ru]=Мультимедийный проигрыватель
GenericName[tr]=Çoklu ortam oynatıcı
GenericName[zh_CN]=多媒体播放器
GenericName[zh_TW]=多媒體播放器
Comment=Play movies and songs
Comment[ar]=شَغِّل الأفلام والأغاني
Comment[ca]=Reproduïu vídeos i cançons
Comment[cs]=Přehrává filmy a hudbu
Comment[da]=Afspil film og sange
Comment[de]=Filme und Musik abspielen
Comment[es]=Reproduzca vídeos y canciones
Comment[fr]=Lire des vidéos et des musiques
Comment[ja]=映画や音楽を再生する
Comment[it]=Riproduci video e canzoni
Comment[pl]=Odtwarzaj filmy i muzykę
Comment[ru]=Воспроизведение фильмов и музыки
Comment[tr]=Filmleri ve şarkıları oynatın
Comment[zh_CN]=播放电影和歌曲
Comment[zh_TW]=播放電影和歌曲
Icon=mpv
TryExec=mpv
Exec=mpv --player-operation-mode=pseudo-gui -- %U
Terminal=false
Categories=AudioVideo;Audio;Video;Player;TV;
MimeType=application/ogg;application/x-ogg;application/mxf;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/aiff;audio/x-aiff;audio/m4a;audio/x-m4a;application/x-extension-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/mpeg2;audio/mpeg3;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/musepack;audio/x-musepack;audio/ogg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg2;video/x-mpeg3;video/mp4v-es;video/x-m4v;video/mp4;application/x-extension-mp4;video/divx;video/vnd.divx;video/msvideo;video/x-msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;audio/x-ms-asf;application/vnd.ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/avi;video/x-flic;video/fli;video/x-flc;video/flv;video/x-flv;video/x-theora;video/x-theora+ogg;video/x-matroska;video/mkv;audio/x-matroska;application/x-matroska;video/webm;audio/webm;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/x-ogm;video/x-ogm+ogg;application/x-ogm;application/x-ogm-audio;application/x-ogm-video;application/x-shorten;audio/x-shorten;audio/x-ape;audio/x-wavpack;audio/x-tta;audio/AMR;audio/ac3;audio/eac3;audio/amr-wb;video/mp2t;audio/flac;audio/mp4;application/x-mpegurl;video/vnd.mpegurl;application/vnd.apple.mpegurl;audio/x-pn-au;video/3gp;video/3gpp;video/3gpp2;audio/3gpp;audio/3gpp2;video/dv;audio/dv;audio/opus;audio/vnd.dts;audio/vnd.dts.hd;audio/x-adpcm;application/x-cue;audio/m3u;audio/vnd.wave;video/vnd.avi;
X-KDE-Protocols=appending,file,ftp,hls,http,https,mms,mpv,rtmp,rtmps,rtmpt,rtmpts,rtp,rtsp,rtsps,sftp,srt,srtp,webdav,webdavs
StartupWMClass=mpv
Keywords=mpv;media;player;video;audio;tv;
Keywords[ar]=mpv;إم بي في;ام بي في;وسائط;مشغل;فيديو;مرئية;صوتي;تلفاز;

View File

@@ -2,7 +2,7 @@
Name=Neovim Name=Neovim
GenericName=Text Editor GenericName=Text Editor
Comment=Edit text files Comment=Edit text files
Exec=alacritty -e nvim -- %F Exec=alacritty --class=nvim --title=nvim -e nvim -- %F
Terminal=false Terminal=false
Type=Application Type=Application
Keywords=Text;editor; Keywords=Text;editor;

View File

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

View File

@@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Volume Control
Comment=Adjust the volume level
Exec=env GTK_THEME=Adwaita-dark pavucontrol
Icon=multimedia-volume-control
StartupNotify=true
Type=Application
Categories=AudioVideo;Audio;Mixer;GTK;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
Keywords=pavucontrol;PulseAudio;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;

View File

@@ -1,14 +0,0 @@
[Desktop Entry]
Version=1.0
Name=VLC media player
GenericName=Media player
Comment=Read, capture, broadcast your multimedia streams
Exec=env QT_SCALE_FACTOR=2 /usr/bin/vlc --started-from-file %U
TryExec=/usr/bin/vlc
Icon=vlc
Terminal=false
Type=Application
Categories=AudioVideo;Player;Recorder;
MimeType=application/ogg;application/x-ogg;audio/ogg;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/ogg;video/x-ogm;video/x-ogm+ogg;video/x-theora+ogg;video/x-theora;audio/x-speex;audio/opus;application/x-flac;audio/flac;audio/x-flac;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-msvideo;audio/x-pn-windows-acm;video/divx;video/msvideo;video/vnd.divx;video/avi;video/x-avi;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/vnd.rn-realaudio;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;audio/x-realaudio;video/vnd.rn-realvideo;audio/mpeg;audio/mpg;audio/mp1;audio/mp2;audio/mp3;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpg;video/mp2t;video/mpeg;video/mpeg-system;video/x-mpeg;video/x-mpeg2;video/x-mpeg-system;application/mpeg4-iod;application/mpeg4-muxcodetable;application/x-extension-m4a;application/x-extension-mp4;audio/aac;audio/m4a;audio/mp4;audio/x-m4a;audio/x-aac;video/mp4;video/mp4v-es;video/x-m4v;application/x-quicktime-media-link;application/x-quicktimeplayer;video/quicktime;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/3gpp;audio/3gpp2;audio/AMR;audio/AMR-WB;video/3gp;video/3gpp;video/3gpp2;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtsp;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/icy;x-scheme-handler/icyx;application/x-cd-image;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/ram;application/xspf+xml;audio/mpegurl;audio/x-mpegurl;audio/scpls;audio/x-scpls;text/google-video-pointer;text/x-google-video-pointer;video/vnd.mpegurl;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/sdp;audio/dv;video/dv;audio/x-aiff;audio/x-pn-aiff;video/x-anim;video/x-nsv;video/fli;video/flv;video/x-flc;video/x-fli;video/x-flv;audio/wav;audio/x-pn-au;audio/x-pn-wav;audio/x-wav;audio/x-adpcm;audio/ac3;audio/eac3;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/basic;audio/midi;audio/x-ape;audio/x-gsm;audio/x-musepack;audio/x-tta;audio/x-wavpack;audio/x-shorten;application/x-shockwave-flash;application/x-flash-video;misc/ultravox;image/vnd.rn-realpix;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-xm;application/mxf;
X-KDE-Protocols=ftp,http,https,mms,rtmp,rtsp,sftp,smb
Keywords=Player;Capture;DVD;Audio;Video;Server;Broadcast;

View File

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

View File

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

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Typora
GenericName=Markdown Editor
Exec=typora --enable-wayland-ime %U
Icon=typora
Type=Application
StartupNotify=true
Categories=Office;WordProcessor;
MimeType=text/markdown;text/x-markdown;

157
bin/omarchy Executable file
View File

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

30
bin/omarchy-battery-monitor Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# Designed to be run by systemd timer every 30 seconds and alerts if battery is low
BATTERY_THRESHOLD=10
NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified"
get_battery_percentage() {
upower -i $(upower -e | grep 'BAT') | grep -E "percentage" | grep -o '[0-9]\+%' | sed 's/%//'
}
get_battery_state() {
upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}'
}
send_notification() {
notify-send -u critical "Battery Low" "Time to recharge! (battery is at ${1}%)" -i battery-caution
}
BATTERY_LEVEL=$(get_battery_percentage)
BATTERY_STATE=$(get_battery_state)
if [[ "$BATTERY_STATE" == "discharging" && "$BATTERY_LEVEL" -le "$BATTERY_THRESHOLD" ]]; then
if [[ ! -f "$NOTIFICATION_FLAG" ]]; then
send_notification "$BATTERY_LEVEL"
touch "$NOTIFICATION_FLAG"
fi
else
rm -f "$NOTIFICATION_FLAG"
fi

34
bin/omarchy-cmd-screenrecord Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/bash
# Set recorder based on GPU
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
OUTPUT_DIR="${OMARCHY_SCREENRECORD_DIR:-${XDG_VIDEOS_DIR:-$HOME/Videos}}"
if [[ ! -d "$OUTPUT_DIR" ]]; then
notify-send "Screen recording directory does not exist: $OUTPUT_DIR" -u critical -t 3000
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
if lspci | grep -qi 'nvidia'; then
wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
else
wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@"
fi
}
if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
pkill -x wl-screenrec
pkill -x wf-recorder
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
elif [[ "$1" == "output" ]]; then
screenrecording
else
region=$(slurp) || exit 1
screenrecording -g "$region"
fi

10
bin/omarchy-cmd-screensaver Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
trap "exit" SIGINT
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 0 --anchor-canvas c --anchor-text c \
"$effect"
done

17
bin/omarchy-cmd-screenshot Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
[[ -f ~/.config/user-dirs.dirs ]] && source ~/.config/user-dirs.dirs
OUTPUT_DIR="${OMARCHY_SCREENSHOT_DIR:-${XDG_PICTURES_DIR:-$HOME/Pictures}}"
if [[ ! -d "$OUTPUT_DIR" ]]; then
notify-send "Screenshot directory does not exist: $OUTPUT_DIR" -u critical -t 3000
exit 1
fi
pkill slurp || hyprshot -m ${1:-region} --raw |
satty --filename - \
--output-filename "$OUTPUT_DIR/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png" \
--early-exit \
--actions-on-enter save-to-clipboard \
--save-after-copy \
--copy-command 'wl-copy'

5
bin/omarchy-cmd-tzupdate Executable file
View File

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

View File

@@ -1,7 +0,0 @@
#!/bin/bash
# Link all the key config files to omarchy's internal versions for quicker testing
ln -nsf ~/.local/share/omarchy/config/hypr/hyprland.conf ~/.config/hypr/
ln -nsf ~/.local/share/omarchy/config/hypr/hypridle.conf ~/.config/hypr/
ln -nsf ~/.local/share/omarchy/config/waybar/config ~/.config/waybar/
ln -nsf ~/.local/share/omarchy/config/wofi/config ~/.config/wofi/

7
bin/omarchy-dev-add-migration Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
cd ~/.local/share/omarchy
migration_file="$HOME/.local/share/omarchy/migrations/$(git log -1 --format=%cd --date=unix).sh"
touch $migration_file
nvim $migration_file
echo -e "Run with:\nsource $migration_file"

12
bin/omarchy-font-menu Executable file
View File

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

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

@@ -0,0 +1,5 @@
#!/bin/bash
pkill -f "alacritty --class Screensaver" ||
alacritty --class Screensaver --title Screensaver -o 'colors.primary.background="#000000"' \
-e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver

64
bin/omarchy-menu-keybindings Executable file
View File

@@ -0,0 +1,64 @@
#!/bin/bash
# A script to display Hyprland keybindings defined in your configuration
# using walker for an interactive search menu.
USER_HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf"
OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/tiling.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/utilities.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/media.conf"
# Process the configuration file to extract and format keybindings
# 1. `grep` finds all lines starting with 'bind' (allowing for leading spaces).
# 2. The first `sed` removes comments (anything after a '#').
# 3. `awk` does the heavy lifting of formatting the output.
# - It sets the field separator to a comma ','.
# - It removes the 'bind... =' part from the beginning of the line.
# - It joins the key combination (e.g., "SUPER + Q").
# - It joins the command that the key executes.
# - It prints everything in a nicely aligned format.
# 4. The final `sed` cleans up any leftover commas from the end of lines.
grep -h '^[[:space:]]*bind' $USER_HYPRLAND_CONF $OMARCHY_BINDINGS_CONF |
sed 's/#.*//' |
sed '/^[[:space:]]*$/d' |
sort -u |
awk -F, '
{
# Strip trailing comments
sub(/#.*/, "");
# Remove the "bind... =" part and surrounding whitespace
sub(/^[[:space:]]*bind[^=]*=(\+[[:space:]])?(exec, )?[[:space:]]*/, "", $1);
# Combine the modifier and key (first two fields)
key_combo = $1 " + " $2;
# Clean up: strip leading "+" if present, trim spaces
gsub(/^[ \t]*\+?[ \t]*/, "", key_combo);
gsub(/[ \t]+$/, "", key_combo);
# Reconstruct the command from the remaining fields
action = "";
for (i = 3; i <= NF; i++) {
action = action $i (i < NF ? "," : "");
}
# Clean up trailing commas, remove leading "exec, ", and trim
sub(/,$/, "", action);
gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action);
gsub(/^[ \t]+|[ \t]+$/, "", action);
gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one
if (action != "") {
# Escape XML entities
gsub(/&/, "\\&amp;", action);
gsub(/</, "\\&lt;", action);
gsub(/>/, "\\&gt;", action);
gsub(/"/, "\\&quot;", action);
gsub(/'"'"'/, "\\&apos;", action);
printf "%-35s → %s\n", key_combo, action;
}
}' |
walker --dmenu --theme keybindings -p 'Keybindings'

21
bin/omarchy-menu-power Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
show_power_menu() {
# The first characters are invisible sort keys.
local menu_options="\u200B Lock
\u200C󰤄 Suspend
\u200D Relaunch
\u2060󰜉 Restart
\u2063󰐥 Shutdown"
local selection=$(echo -e "$menu_options" | walker --dmenu --theme dmenu_150)
case "$selection" in
*Lock*) hyprlock ;;
*Suspend*) systemctl suspend ;;
*Relaunch*) uwsm stop ;;
*Restart*) systemctl reboot ;;
*Shutdown*) systemctl poweroff ;;
esac
}
show_power_menu

View File

@@ -8,4 +8,11 @@ gtk-update-icon-cache ~/.local/share/icons/hicolor &>/dev/null
# Copy .desktop declarations # Copy .desktop declarations
mkdir -p ~/.local/share/applications mkdir -p ~/.local/share/applications
cp ~/.local/share/omarchy/applications/*.desktop ~/.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 update-desktop-database ~/.local/share/applications

30
bin/omarchy-refresh-config Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# This script deploys ~/.local/share/omarchy/config/X/Y/Z -> ~/.config/X/Y/Z
config_file=$1
if [[ -z "$config_file" ]]; then
cat << USAGE
Usage: $0 [config_file]
Must provide a file path from the .config directory to be refreshed.
To copy ~/.local/share/omarchy/config/hypr/hyprlock.conf to ~/.config/hypr/hyprlock.conf
$0 hypr/hyprlock.conf
USAGE
exit 1
fi
# Backup the destination file (with timestamp) to avoid clobbering (Ex: hyprlock.conf.bak.1753817951)
backup_file="${HOME}/.config/${config_file}.bak.$(date +%s)"
cp -f "${HOME}/.config/${config_file}" "$backup_file" 2>/dev/null
# Deploy the source file
cp -f "${HOME}/.local/share/omarchy/config/${config_file}" "${HOME}/.config/${config_file}" 2>/dev/null
# Compare and delete/inform accordingly
if cmp -s "${HOME}/.config/${config_file}" "$backup_file"; then
rm $backup_file
else
echo -e "\e[31mExisting "${HOME}/.config/${config_file}" replaced with new Omarchy default, but ${backup_file} file was made.\e[0m"
fi

4
bin/omarchy-refresh-hyprlock Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
# Overwrite local Hyprlock settings with the latest in Omarchy
omarchy-refresh-config hypr/hyprlock.conf

6
bin/omarchy-refresh-plymouth Executable file
View File

@@ -0,0 +1,6 @@
#!/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
fi

7
bin/omarchy-refresh-swayosd Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
omarchy-refresh-config swayosd/config.toml
omarchy-refresh-config swayosd/style.css
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &

6
bin/omarchy-refresh-walker Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
omarchy-refresh-config walker/config.toml
pkill walker
setsid uwsm app -- walker --gapplication-service &

7
bin/omarchy-refresh-waybar Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
omarchy-refresh-config waybar/config.jsonc
omarchy-refresh-config waybar/style.css
# Restart waybar
pkill -SIGUSR2 waybar

9
bin/omarchy-setup-dropbox Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
echo "Installing all dependencies..."
yay -S --noconfirm --needed \
dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
echo "Starting Dropbox..."
uwsm app -- dropbox-cli start &>/dev/null &
echo "See Dropbox icon behind  hover tray in top right and right-click for setup."

33
bin/omarchy-setup-fido2 Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
if [[ "--remove" == "$1" ]]; then
yay -Rns --noconfirm libfido2 pam-u2f
sudo rm -rf /etc/fido2
sudo sed -i '\|^auth[[:space:]]\+sufficient[[:space:]]\+pam_u2f\.so[[:space:]]\+cue[[:space:]]\+authfile=/etc/fido2/fido2$|d' /etc/pam.d/sudo
echo -e "\e[32m\nYou've successfully removed the fido2 device setup.\e[0m"
else
yay -S --noconfirm --needed libfido2 pam-u2f
tokens=$(fido2-token -L)
if [ -z "$tokens" ]; then
echo -e "\e[31m\nNo fido2 device detected. Plug it in, you may have to unlock it as well\e[0m"
else
# Create the pamu2fcfg file
if [ ! -f /etc/fido2/fido2 ]; then
sudo mkdir -p /etc/fido2
echo -e "\e[32m\nLet's setup your device by confirming on the device now.\e[0m"
pamu2fcfg >/tmp/fido2 # This needs to run as the user
sudo mv /tmp/fido2 /etc/fido2/fido2
fi
# Add fido2 auth as an option for sudo
if ! grep -q pam_u2f.so /etc/pam.d/sudo; then
sudo sed -i '1i auth sufficient pam_u2f.so cue authfile=/etc/fido2/fido2' /etc/pam.d/sudo
fi
if ! sudo echo -e "\e[32m\nPerfect! Now you can use your fido2 device for sudo.\e[0m"; then
echo -e "\e[31m\nSomething went wrong. Maybe try again?\e[0m"
fi
fi
fi

43
bin/omarchy-setup-fingerprint Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/bash
if [[ "--remove" == "$1" ]]; then
yay -Rns --noconfirm fprintd
sudo rm -rf /etc/pam.d/polkit-1
sudo sed -i '/pam_fprintd\.so/d' /etc/pam.d/sudo
echo -e "\e[32mYou've successfully removed the fingerprint setup.\e[0m"
else
yay -S --noconfirm --needed fprintd usbutils
if ! lsusb | grep -Eiq 'fingerprint|synaptics|goodix'; then
echo -e "\e[31m\nNo fingerprint sensor detected.\e[0m"
else
# Add fingerprint authentication as an option for sudo
if ! grep -q pam_fprintd.so /etc/pam.d/sudo; then
sudo sed -i '1i auth sufficient pam_fprintd.so' /etc/pam.d/sudo
fi
# Add fingerprint authentication as an option for hyprpolkitagent
if [ ! -f /etc/pam.d/polkit-1 ] || ! grep -q pam_fprintd.so /etc/pam.d/polkit-1; then
sudo tee /etc/pam.d/polkit-1 >/dev/null <<'EOF'
auth required pam_unix.so
auth optional pam_fprintd.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so
EOF
fi
# Enroll the first finger
echo -e "\e[32m\nLet's setup your right index finger as the first fingerprint.\nKeep moving the finger around on sensor until the process completes.\n\e[0m"
sudo fprintd-enroll $USER
echo -e "\e[32m\nNow let's verify that it's working correctly.\e[0m\n"
if fprintd-verify; then
echo -e "\e[32m\nPerfect! Now you can use your fingerprint on the lock screen (Super + Escape).\e[0m"
else
echo -e "\e[31m\nSomething went wrong. Maybe try again?\e[0m"
fi
fi
fi

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

@@ -0,0 +1,9 @@
#!/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 &

48
bin/omarchy-theme-bg-next Executable file
View File

@@ -0,0 +1,48 @@
#!/bin/bash
# Cycles through the background images available
BACKGROUNDS_DIR="$HOME/.config/omarchy/current/theme/backgrounds/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
mapfile -d '' -t BACKGROUNDS < <(find "$BACKGROUNDS_DIR" -type f -print0 | sort -z)
TOTAL=${#BACKGROUNDS[@]}
if [[ $TOTAL -eq 0 ]]; then
notify-send "No background was found for theme" -t 2000
pkill -x swaybg
setsid uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 &
else
# Get current background from symlink
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
CURRENT_BACKGROUND=$(readlink "$CURRENT_BACKGROUND_LINK")
else
# Default to first background if no symlink exists
CURRENT_BACKGROUND=""
fi
# Find current background index
INDEX=-1
for i in "${!BACKGROUNDS[@]}"; do
if [[ "${BACKGROUNDS[$i]}" == "$CURRENT_BACKGROUND" ]]; then
INDEX=$i
break
fi
done
# Get next background (wrap around)
if [[ $INDEX -eq -1 ]]; then
# Use the first background when no match was found
NEW_BACKGROUND="${BACKGROUNDS[0]}"
else
NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_BACKGROUND="${BACKGROUNDS[$NEXT_INDEX]}"
fi
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"
# Relaunch swaybg
pkill -x swaybg
setsid uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
fi

28
bin/omarchy-theme-install Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
# omarchy-theme-install: Install a new theme from a git repo for Omarchy
# Usage: omarchy-theme-install <git-repo-url>
if [ -z "$1" ]; then
echo "Usage: omarchy-theme-install <git-repo-url>"
exit 1
fi
REPO_URL="$1"
THEMES_DIR="$HOME/.config/omarchy/themes"
THEME_NAME=$(basename "$REPO_URL" .git | sed -E 's/^omarchy-//; s/-theme$//')
THEME_PATH="$THEMES_DIR/$THEME_NAME"
# Remove existing theme if present
if [ -d "$THEME_PATH" ]; then
rm -rf "$THEME_PATH"
fi
# Clone the repo directly to ~/.config/omarchy/themes
if ! git clone "$REPO_URL" "$THEME_PATH"; then
echo "Error: Failed to clone theme repo."
exit 1
fi
# Apply the new theme with omarchy-theme-set
omarchy-theme-set $THEME_NAME

31
bin/omarchy-theme-menu Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
CURRENT_THEME_NAME=$(basename "$(realpath "$CURRENT_THEME_DIR")")
# Build themes list with pretty display names
mapfile -t themes < <(
find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | sort | while read -r path; do
filename=$(basename "$path")
display_name=$(echo "$filename" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g')
if [[ "$filename" == "$CURRENT_THEME_NAME" ]]; then
echo "<i>$display_name</i>"
else
echo "$display_name"
fi
done
)
# Show Walker menu
selection=$(printf '%s\n' "${themes[@]}" | walker --dmenu --theme dmenu_250 2>/dev/null)
# Remove any Pango markup before converting back to filename
clean_selection=$(echo "$selection" | sed -E 's/<[^>]+>//g')
# Convert to lowercase and dash-separated: "Tokyo Night" -> "tokyo-night"
selected_theme=$(echo "$clean_selection" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
# Apply the selected theme
"$HOME/.local/share/omarchy/bin/omarchy-theme-set" "$selected_theme"

View File

@@ -3,20 +3,22 @@
THEMES_DIR="$HOME/.config/omarchy/themes/" THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme" CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme"
THEMES=($(find "$THEMES_DIR" -mindepth 1 | sort)) THEMES=($(find "$THEMES_DIR" -mindepth 1 -maxdepth 1 | sort))
TOTAL=${#THEMES[@]} TOTAL=${#THEMES[@]}
# Get current theme from symlink # Get current theme from symlink
if [[ -L "$CURRENT_THEME_LINK" ]]; then if [[ -L "$CURRENT_THEME_LINK" ]]; then
CURRENT_THEME=$(readlink "$CURRENT_THEME_LINK") CURRENT_THEME=$(realpath "$CURRENT_THEME_LINK")
else else
# Default to first theme if no symlink exists # Default to first theme if no symlink exists
CURRENT_THEME=${THEMES[0]} CURRENT_THEME=$(realpath "${THEMES[0]}")
fi fi
# Find current theme index # Find current theme index
INDEX=0 INDEX=0
for i in "${!THEMES[@]}"; do for i in "${!THEMES[@]}"; do
THEMES[$i]=$(realpath "${THEMES[$i]}")
if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then
INDEX=$i INDEX=$i
break break
@@ -28,22 +30,5 @@ NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_THEME=${THEMES[$NEXT_INDEX]} NEW_THEME=${THEMES[$NEXT_INDEX]}
NEW_THEME_NAME=$(basename "$NEW_THEME") NEW_THEME_NAME=$(basename "$NEW_THEME")
# Set current theme "$HOME/.local/share/omarchy/bin/omarchy-theme-set" $NEW_THEME_NAME
ln -nsf "$HOME/.config/omarchy/backgrounds/$NEW_THEME_NAME" "$HOME/.config/omarchy/current/backgrounds"
ln -nsf "$NEW_THEME" "$HOME/.config/omarchy/current/theme"
# Touch alacritty config to pickup the changed theme
touch "$HOME/.config/alacritty/alacritty.toml"
# Restart for new theme
pkill -SIGUSR2 waybar
makoctl reload
hyprctl reload
# Set new background
ln -nsf $(find "$HOME/.config/omarchy/current/backgrounds/" -type f | head -n 1) "$HOME/.config/omarchy/current/background"
pkill -x swaybg
setsid swaybg -i "$HOME/.config/omarchy/current/background" -m fill &
# Notify of the new theme
notify-send "Theme changed to $NEW_THEME_NAME" -t 2000 notify-send "Theme changed to $NEW_THEME_NAME" -t 2000

33
bin/omarchy-theme-remove Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
# omarchy-theme-remove: Remove a theme from Omarchy by name
# Usage: omarchy-theme-remove <theme-name>
if [ -z "$1" ]; then
echo "Usage: omarchy-theme-remove <theme-name>"
exit 1
fi
THEME_NAME="$1"
THEMES_DIR="$HOME/.config/omarchy/themes"
BACKGROUND_DIR="$HOME/.config/omarchy/backgrounds"
CURRENT_DIR="$HOME/.config/omarchy/current"
THEME_PATH="$THEMES_DIR/$THEME_NAME"
BACKGROUND_PATH="$BACKGROUND_DIR/$THEME_NAME"
# Check if theme exists before attempting removal
if [ ! -d "$THEME_PATH" ]; then
echo "Error: Theme '$THEME_NAME' not found."
exit 1
fi
# Use readlink -f to resolve symlinks and get the absolute path
if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then
"$HOME/.local/share/omarchy/bin/omarchy-theme-next"
fi
# Now remove the theme directory and backgrounds for THEME_NAME
rm -rf "$THEME_PATH"
rm -rf "$BACKGROUND_PATH"

47
bin/omarchy-theme-set Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/bash
# omarchy-theme-set: Set a theme, specified by its name.
# Usage: omarchy-theme-set <theme-name>
if [[ -z "$1" ]]; then
echo "Usage: omarchy-theme-set <theme-name>" >&2
exit 1
fi
THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
THEME_NAME="$1"
THEME_PATH="$THEMES_DIR/$THEME_NAME"
# Check if the theme entered exists
if [[ ! -d "$THEME_PATH" ]]; then
echo "Theme '$THEME_NAME' does not exist in $THEMES_DIR" >&2
exit 2
fi
# Update theme symlinks
ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR"
# Change gnome modes
if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then
gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
else
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
fi
# Trigger alacritty config reload
touch "$HOME/.config/alacritty/alacritty.toml"
# Restart components to apply new theme
pkill -SIGUSR2 btop
pkill -SIGUSR2 waybar
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &
makoctl reload
hyprctl reload
# Set new background
"$HOME/.local/share/omarchy/bin/omarchy-theme-bg-next"

4
bin/omarchy-theme-update Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
for dir in ~/.config/omarchy/themes/*/; do
[ -d "$dir" ] && [ ! -L "${dir%/}" ] && echo "Updating: $(basename "$dir")" && git -C "$dir" pull
done

9
bin/omarchy-toggle-idle Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
if pgrep -x hypridle >/dev/null; then
pkill -x hypridle
notify-send "Stop locking computer when idle"
else
uwsm app -- hypridle >/dev/null 2>&1 &
notify-send "Now locking computer when idle"
fi

View File

@@ -1,23 +1,36 @@
#!/bin/bash #!/bin/bash
# Exit immediately if a command exits with a non-zero status
set -e
STATE_DIR="$HOME/.local/state/omarchy/migrations"
cd ~/.local/share/omarchy cd ~/.local/share/omarchy
# Remember the version we're at before upgrading # Create the migrations state directory, we will store an empty file for each migration that has already been performed.
last_updated_at=$(git log -1 --format=%cd --date=unix) mkdir -p "$STATE_DIR"
# Get the latest # Get the latest while trying to preserve any modifications
git pull git pull --autostash
git diff --check || git reset --merge
# Run any pending migrations # Run any pending migrations
for file in migrations/*.sh; do for file in migrations/*.sh; do
filename=$(basename "$file") filename=$(basename "$file")
migrate_at="${filename%.sh}" migrate_at="${filename%.sh}"
if [ $migrate_at -gt $last_updated_at ]; then # Migration already applied, to re-run it simply delete the state file and try again
echo "Running migration ($migrate_at)" [ -e "${STATE_DIR}/$filename" ] && continue
source $file
fi echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
source $file
touch "${STATE_DIR}/$filename"
done done
# Update system packages
echo -e "\e[32m\nUpdate system packages\e[0m"
yay -Syu --noconfirm
# Back to where we came from # Back to where we came from
cd - cd - >/dev/null

View File

@@ -1,37 +0,0 @@
#!/bin/bash
# Cycles through the background images available
BACKGROUNDS_DIR="$HOME/.config/omarchy/current/backgrounds/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
BACKGROUNDS=($(find "$BACKGROUNDS_DIR" -type f | sort))
TOTAL=${#BACKGROUNDS[@]}
# Get current background from symlink
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
CURRENT_BACKGROUND=$(readlink "$CURRENT_BACKGROUND_LINK")
else
# Default to first background if no symlink exists
CURRENT_BACKGROUND=${BACKGROUNDS[0]}
fi
# Find current background index
INDEX=0
for i in "${!BACKGROUNDS[@]}"; do
if [[ "${BACKGROUNDS[$i]}" == "$CURRENT_BACKGROUND" ]]; then
INDEX=$i
break
fi
done
# Get next background (wrap around)
NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_BACKGROUND=${BACKGROUNDS[$NEXT_INDEX]}
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"
# Relaunch swaybg
pkill -x swaybg
setsid swaybg -i "$NEW_BACKGROUND" -m fill >/dev/null 2>&2 &

34
boot.sh Normal file → Executable file
View File

@@ -1,20 +1,32 @@
ascii_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄ #!/bin/bash
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ '
echo -e "\n$ascii_art\n" ansi_art=' ▄▄▄
▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███
███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███
███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀
███ █▀ '
pacman -Q git &>/dev/null || sudo pacman -Sy --noconfirm --needed git clear
echo -e "\n$ansi_art\n"
sudo pacman -Sy --noconfirm --needed git
echo -e "\nCloning Omarchy..." echo -e "\nCloning Omarchy..."
rm -rf ~/.local/share/omarchy/ rm -rf ~/.local/share/omarchy/
git clone https://github.com/basecamp/omarchy.git ~/.local/share/omarchy >/dev/null git clone https://github.com/basecamp/omarchy.git ~/.local/share/omarchy >/dev/null
# Use custom branch if instructed
if [[ -n "$OMARCHY_REF" ]]; then
echo -e "\eUsing branch: $OMARCHY_REF"
cd ~/.local/share/omarchy
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"
cd -
fi
echo -e "\nInstallation starting..." echo -e "\nInstallation starting..."
source ~/.local/share/omarchy/install.sh source ~/.local/share/omarchy/install.sh

View File

@@ -1,5 +1,4 @@
INPUT_METHOD=fcitx INPUT_METHOD=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx SDL_IM_MODULE=fcitx

View File

@@ -1,144 +1,149 @@
{ {
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": { "logo": {
"padding": { "padding": {
"top": 5, "top": 5,
"right": 6 "right": 6
} }
},
"modules": [
"break",
{
"type": "custom",
"format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐"
}, },
"modules": [ {
"break", "type": "host",
{ "key": " PC",
"type": "custom", "keyColor": "green"
"format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐" },
}, {
{ "type": "cpu",
"type": "host", "key": "│ ├",
"key": " PC", "showPeCoreCount": true,
"keyColor": "green" "keyColor": "green"
}, },
{ {
"type": "cpu", "type": "gpu",
"key": "│ ├", "key": "│ ├",
"showPeCoreCount": true, "detectionMethod": "pci",
"keyColor": "green" "keyColor": "green"
}, },
{ {
"type": "gpu", "type": "display",
"key": "│ ├", "key": "│ ├󱄄",
"detectionMethod": "pci", "keyColor": "green"
"keyColor": "green" },
}, {
{ "type": "disk",
"type": "display", "key": "│ ├󰋊",
"key": "│ ├󱄄", "keyColor": "green"
"keyColor": "green" },
}, {
{ "type": "memory",
"type": "disk", "key": "│ ├",
"key": "│ ├󰋊", "keyColor": "green"
"keyColor": "green" },
}, {
{ "type": "swap",
"type": "memory", "key": "└ └󰓡 ",
"key": "│ ├", "keyColor": "green"
"keyColor": "green" },
}, {
{ "type": "custom",
"type": "swap", "format": "\u001b[90m└────────────────────────────────────────────────────┘"
"key": "└ └󰓡 ", },
"keyColor": "green", "break",
}, {
{ "type": "custom",
"type": "custom", "format": "\u001b[90m┌──────────────────────Software──────────────────────┐"
"format": "\u001b[90m└────────────────────────────────────────────────────┘" },
}, {
"break", "type": "os",
{ "key": " OS",
"type": "custom", "keyColor": "yellow"
"format": "\u001b[90m┌──────────────────────Software──────────────────────┐" },
}, {
{ "type": "kernel",
"type": "os", "key": "│ ├",
"key": " OS", "keyColor": "yellow"
"keyColor": "yellow" },
}, {
{ "type": "packages",
"type": "kernel", "key": "│ ├󰏖",
"key": "│ ├", "keyColor": "yellow"
"keyColor": "yellow" },
}, {
{ "type": "shell",
"type": "packages", "key": "└ └",
"key": "│ ├󰏖", "keyColor": "yellow"
"keyColor": "yellow" },
}, "break",
{ {
"type": "shell", "type": "command",
"key": "└ └", "key": "│ ├Ø",
"keyColor": "yellow" "keyColor": "blue",
}, "text": "version=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null); echo \"Omarchy $version\""
"break", },
{ {
"type": "de", "type": "de",
"key": " DE", "key": " DE",
"keyColor": "blue" "keyColor": "blue"
}, },
{ {
"type": "wm", "type": "wm",
"key": "│ ├", "key": "│ ├",
"keyColor": "blue" "keyColor": "blue"
}, },
{ {
"type": "wmtheme", "type": "wmtheme",
"key": "│ ├󰉼", "key": "│ ├󰉼",
"keyColor": "blue" "keyColor": "blue"
}, },
{ {
"type": "icons", "type": "icons",
"key": "│ ├󰀻", "key": "│ ├󰀻",
"keyColor": "blue", "keyColor": "blue"
}, },
{ {
"type": "cursor", "type": "cursor",
"key": "│ ├", "key": "│ ├",
"keyColor": "blue", "keyColor": "blue"
}, },
{ {
"type": "terminalfont", "type": "terminalfont",
"key": "│ ├", "key": "│ ├",
"keyColor": "blue", "keyColor": "blue"
}, },
{ {
"type": "terminal", "type": "terminal",
"key": "└ └", "key": "└ └",
"keyColor": "blue" "keyColor": "blue"
}, },
{ {
"type": "custom", "type": "custom",
"format": "\u001b[90m└────────────────────────────────────────────────────┘" "format": "\u001b[90m└────────────────────────────────────────────────────┘"
}, },
"break", "break",
{ {
"type": "custom", "type": "custom",
"format": "\u001b[90m┌────────────────────Uptime / Age────────────────────┐" "format": "\u001b[90m┌────────────────────Uptime / Age────────────────────┐"
}, },
{ {
"type": "command", "type": "command",
"key": " OS Age ", "key": " OS Age ",
"keyColor": "magenta", "keyColor": "magenta",
"text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days" "text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days"
}, },
{ {
"type": "uptime", "type": "uptime",
"key": " Uptime ", "key": " Uptime ",
"keyColor": "magenta" "keyColor": "magenta"
}, },
{ {
"type": "custom", "type": "custom",
"format": "\u001b[90m└────────────────────────────────────────────────────┘" "format": "\u001b[90m└────────────────────────────────────────────────────┘"
}, },
"break", "break"
] ]
} }

View File

@@ -0,0 +1,58 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family" qual="any">
<string>sans-serif</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>Liberation Sans</string>
</edit>
</match>
<match target="pattern">
<test name="family" qual="any">
<string>serif</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>Liberation Serif</string>
</edit>
</match>
<match target="pattern">
<test name="family" qual="any">
<string>monospace</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>CaskaydiaMono Nerd Font</string>
</edit>
</match>
<alias>
<family>system-ui</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>ui-monospace</family>
<default>
<family>monospace</family>
</default>
</alias>
<alias>
<family>-apple-system</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>BlinkMacSystemFont</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
</fontconfig>

View File

@@ -2,6 +2,7 @@ general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend. before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
on_unlock_cmd = pkill -SIGUSR2 waybar # prevent stacking of waybar when waking
} }
listener { listener {

View File

@@ -1,49 +1,81 @@
# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/ # Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/
# You're encouraged to tailor your Hyprland config in this file by adding or overwriting any settings.
# But don't change anything that lives in ~/.local/share/omarchy, if you can help it!
# Those files are overwritten when Omarchy is updated.
# Change your personal monitor setup in here to keep the main config portable # Change your personal monitor setup in here to keep the main config portable
source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/monitors.conf
# Default applications
$terminal = alacritty
$fileManager = nautilus --new-window
$browser = chromium --new-window --ozone-platform=wayland
$music = spotify
$passwordManager = 1password
$messenger = signal-desktop
$webapp = $browser --app
# Use defaults Omarchy defaults # Use defaults Omarchy defaults
source = ~/.local/share/omarchy/default/hypr/autostart.conf source = ~/.local/share/omarchy/default/hypr/autostart.conf
source = ~/.local/share/omarchy/default/hypr/bindings.conf source = ~/.local/share/omarchy/default/hypr/bindings/media.conf
source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf
source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf
source = ~/.local/share/omarchy/default/hypr/envs.conf source = ~/.local/share/omarchy/default/hypr/envs.conf
source = ~/.local/share/omarchy/default/hypr/looknfeel.conf source = ~/.local/share/omarchy/default/hypr/looknfeel.conf
source = ~/.local/share/omarchy/default/hypr/input.conf source = ~/.local/share/omarchy/default/hypr/input.conf
source = ~/.local/share/omarchy/default/hypr/windows.conf source = ~/.local/share/omarchy/default/hypr/windows.conf
source = ~/.config/omarchy/current/theme/hyprland.conf source = ~/.config/omarchy/current/theme/hyprland.conf
# Extra autostart processes (uncomment to run Dropbox) # Application bindings
# exec-once = dropbox-cli start $terminal = uwsm app -- alacritty
$browser = uwsm app -- chromium --new-window --ozone-platform=wayland
$webapp = $browser --app
# Extra env variables bind = SUPER, return, exec, $terminal
env = GDK_SCALE,2 # Change to 1 if on a 1x display bind = SUPER, F, exec, uwsm app -- nautilus --new-window
bind = SUPER, B, exec, $browser
bind = SUPER, M, exec, uwsm app -- spotify
bind = SUPER, N, exec, $terminal -e nvim
bind = SUPER, T, exec, $terminal -e btop
bind = SUPER, D, exec, $terminal -e lazydocker
bind = SUPER, G, exec, uwsm app -- signal-desktop
bind = SUPER, O, exec, uwsm app -- obsidian -disable-gpu
bind = SUPER, slash, exec, uwsm app -- 1password
# Extra env variables needed if running an NVIDIA GPU
# env = NVD_BACKEND,direct
# env = LIBVA_DRIVER_NAME,nvidia
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# Extra bindings
bind = SUPER, A, exec, $webapp="https://chatgpt.com" bind = SUPER, A, exec, $webapp="https://chatgpt.com"
bind = SUPER SHIFT, A, exec, $webapp="https://grok.com" bind = SUPER SHIFT, A, exec, $webapp="https://grok.com"
bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/" bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/"
bind = SUPER, E, exec, $webapp="https://app.hey.com" bind = SUPER, E, exec, $webapp="https://app.hey.com"
bind = SUPER, Y, exec, $webapp="https://youtube.com/" bind = SUPER, Y, exec, $webapp="https://youtube.com/"
bind = SUPER SHIFT, G, exec, $webapp="https://web.whatsapp.com/" bind = SUPER SHIFT, G, exec, $webapp="https://web.whatsapp.com/"
bind = SUPER ALT, G, exec, $webapp="https://messages.google.com/web/conversations"
bind = SUPER, X, exec, $webapp="https://x.com/" bind = SUPER, X, exec, $webapp="https://x.com/"
bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post" bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post"
# Use multiple keyboard layouts and switch between them with Alt + Space # Extra autostart processes
# input { # exec-once = uwsm app -- my-service
# kb_layout = us,dk
# kb_options = compose:caps,grp:alt_space_toggle # Extra env variables
# } # Note: You must relaunch Hyprland after changing envs (use Super+Esc, then Relaunch)
# env = MY_GLOBAL_ENV,setting
# Control your input devices
# See https://wiki.hypr.land/Configuring/Variables/#input
input {
# Use multiple keyboard layouts and switch between them with Alt + Space
# kb_layout = us,dk
kb_options = compose:caps # ,grp:alt_space_toggle
# Change speed of keyboard repeat
repeat_rate = 40
repeat_delay = 600
# Increase sensitity for mouse/trackpack (default: 0)
# sensitivity = 0.35
touchpad {
# Use natural (inverse) scrolling
# natural_scroll = true
# Use two-finger clicks for right-click instead of lower-right corner
# clickfinger_behavior = true
# Control the speed of your scrolling
scroll_factor = 0.4
}
}
# Scroll faster in the terminal
windowrule = scrolltouchpad 1.5, class:Alacritty

View File

@@ -1,15 +1,8 @@
# ──────────────────────────────────────────────────────────── source = ~/.config/omarchy/current/theme/hyprlock.conf
# Hyprlock — minimal blur with ringed input
# ────────────────────────────────────────────────────────────
general {
disable_loading_bar = true
no_fade_in = false
}
background { background {
monitor = monitor =
color = rgba(26,27,38,1.0) # #1a1b26 solid color color = $color
} }
animations { animations {
@@ -23,20 +16,22 @@ input-field {
halign = center halign = center
valign = center valign = center
inner_color = rgba(26,27,38,0.8) # #1a1b26 with opacity inner_color = $inner_color
outer_color = rgba(205,214,244,1.0) # #cdd6f4 outer_color = $outer_color
outline_thickness = 4 outline_thickness = 4
font_family = CaskaydiaMono Nerd Font font_family = CaskaydiaMono Nerd Font
font_size = 32 font_color = $font_color
font_color = rgba(205,214,244,1.0)
placeholder_color = rgba(205,214,244,0.6) placeholder_text = Enter Password 󰈷 
placeholder_text = Enter Password check_color = $check_color
check_color = rgba(68, 157, 171, 1.0) fail_text = <i>$PAMFAIL ($ATTEMPTS)</i>
fail_text = Wrong
rounding = 0 rounding = 0
shadow_passes = 0 shadow_passes = 0
fade_on_empty = false fade_on_empty = false
} }
auth {
fingerprint:enabled = true
}

View File

@@ -1,8 +1,20 @@
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
# List current monitors and resolutions possible: hyprctl monitors
# Format: monitor = [port], resolution, position, scale
# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch)
# Use single default monitor (see all monitors with: hyprctl monitors) # Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K.
env = GDK_SCALE,2
monitor=,preferred,auto,auto monitor=,preferred,auto,auto
# Good compromise for 27" or 32" 4K monitors (but fractional!)
# env = GDK_SCALE,1.75
# monitor=,preferred,auto,1.666667
# Straight 1x setup for low-resolution displays like 1080p or 1440p
# env = GDK_SCALE,1
# monitor=,preferred,auto,1
# Example for Framework 13 w/ 6K XDR Apple display # Example for Framework 13 w/ 6K XDR Apple display
# monitor = DP-5, 6016x3384@60.00, auto, 2 # monitor = DP-5, 6016x3384@60, auto, 2
# monitor = eDP-1, 2880x1920@120.00, auto, 2 # monitor = eDP-1, 2880x1920@120, auto, 2

View File

@@ -0,0 +1,4 @@
[server]
show_percentage = true
max_volume = 150
style = "./style.css"

28
config/swayosd/style.css Normal file
View File

@@ -0,0 +1,28 @@
@import "../omarchy/current/theme/swayosd.css";
window {
border-radius: 0;
opacity: 0.97;
border: 2px solid @border-color;
background-color: @background-color;
}
label {
font-family: 'CaskaydiaMono Nerd Font', monospace;
font-size: 11pt;
color: @label;
}
image {
color: @image;
}
progressbar {
border-radius: 0;
}
progress {
background-color: @progress;
}

View File

@@ -0,0 +1,8 @@
[Unit]
Description=Omarchy Battery Monitor Check
After=graphical-session.target
[Service]
Type=oneshot
ExecStart=%h/.local/share/omarchy/bin/omarchy-battery-monitor
Environment=DISPLAY=:0

View File

@@ -0,0 +1,11 @@
[Unit]
Description=Omarchy Battery Monitor Timer
Requires=omarchy-battery-monitor.service
[Timer]
OnBootSec=1min
OnUnitActiveSec=30sec
AccuracySec=10sec
[Install]
WantedBy=timers.target

293
config/walker/config.toml Normal file
View File

@@ -0,0 +1,293 @@
app_launch_prefix = "uwsm app -- "
terminal_title_flag = ""
locale = ""
close_when_open = true # Toggle on reopen
theme = "omarchy-default"
theme_base = []
theme_location = ["~/.local/share/omarchy/default/walker/themes/"]
monitor = ""
hotreload_theme = true
as_window = false
timeout = 0
disable_click_to_close = false
force_keyboard_focus = true
[keys]
accept_typeahead = ["tab"]
trigger_labels = "lalt"
next = ["down"]
prev = ["up"]
close = ["esc"]
remove_from_history = ["shift backspace"]
resume_query = ["ctrl r"]
toggle_exact_search = ["ctrl m"]
[keys.activation_modifiers]
keep_open = "shift"
alternate = "alt"
[keys.ai]
clear_session = ["ctrl x"]
copy_last_response = ["ctrl c"]
resume_session = ["ctrl r"]
run_last_responstruee = ["ctrl e"]
[events]
on_activate = ""
on_selection = ""
on_exit = ""
on_launch = ""
on_query_change = ""
[list]
dynamic_sub = true
keyboard_scroll_style = "emacs"
max_entries = 50
show_initial_entries = true
single_click = true
visibility_threshold = 20
placeholder = "No Results"
[search]
argument_delimiter = "#"
placeholder = " Search..."
delay = 0
resume_last_query = false
[activation_mode]
labels = "jkl;asdf"
[builtins.hyprland_keybinds]
show_sub_when_single = true
path = "~/.config/hypr/hyprland.conf"
weight = 5
name = "hyprland_keybinds"
placeholder = "Hyprland Keybinds"
switcher_only = true
hidden = true
[builtins.applications]
weight = 5
name = "applications"
placeholder = " Search..."
prioritize_new = false
hide_actions_with_empty_query = true
context_aware = false
refresh = true
show_sub_when_single = false
show_icon_when_single = true
show_generic = true
history = false
icon = ""
hidden = true
[builtins.applications.actions]
enabled = false
hide_category = true
hide_without_query = true
[builtins.bookmarks]
weight = 5
placeholder = "Bookmarks"
name = "bookmarks"
icon = "bookmark"
switcher_only = true
hidden = true
[[builtins.bookmarks.entries]]
label = "Walker"
url = "https://github.com/abenz1267/walker"
keywords = ["walker", "github"]
[[builtins.bookmarks.entries]]
label = "Omarchy - Github"
url = "https://github.com/basecamp/omarchy"
keywords = ["omarchy", "github"]
[[builtins.bookmarks.entries]]
label = "Omarchy Manual"
url = "https://manuals.omamix.org/2/the-omarchy-manual"
keywords = ["omarchy"]
[builtins.xdph_picker]
hidden = true
weight = 5
placeholder = "Screen/Window Picker"
show_sub_when_single = true
name = "xdphpicker"
switcher_only = true
[builtins.ai]
weight = 5
placeholder = "AI"
name = "ai"
icon = "help-browser"
switcher_only = true
show_sub_when_single = true
[[builtins.ai.anthropic.prompts]]
model = "claude-3-7-sonnet-20250219"
temperature = 1
max_tokens = 1_000
label = "General Assistant"
prompt = "You are a helpful general assistant. Keep your answers short and precise."
[builtins.calc]
require_number = true
weight = 5
name = "Calculator"
icon = "accessories-calculator"
placeholder = "Calculator"
min_chars = 3 # Min chars to calculate. 3 allows "3+3"
prefix = "="
[builtins.windows]
weight = 5
icon = "view-restore"
name = "windows"
placeholder = "Windows"
show_icon_when_single = true
switcher_only = true
hidden = true
[builtins.clipboard]
always_put_new_on_top = true
exec = "wl-copy"
weight = 5
name = "clipboard"
avoid_line_breaks = true
placeholder = "Clipboard"
image_height = 300
max_entries = 10
switcher_only = true
hidden = true
[builtins.commands]
weight = 5
icon = "utilities-terminal"
switcher_only = true
name = "commands"
placeholder = "Commands"
hidden = true
[builtins.custom_commands]
weight = 5
icon = "utilities-terminal"
name = "custom_commands"
placeholder = "Custom Commands"
hidden = true
[builtins.emojis]
exec = "wl-copy"
weight = 5
name = "Emojis"
placeholder = "Emojis"
switcher_only = true
history = true
typeahead = true
show_unqualified = false
prefix = ":"
[builtins.symbols]
after_copy = ""
weight = 5
name = "symbols"
placeholder = "Symbols"
switcher_only = true
history = true
typeahead = true
hidden = true
[builtins.finder]
use_fd = true
fd_flags = "--ignore-vcs --type file --type directory"
cmd_alt = "xdg-open $(dirname ~/%RESULT%)"
weight = 5
icon = "file"
name = "Finder"
placeholder = "Finder"
switcher_only = true
ignore_gitignore = true
refresh = true
concurrency = 8
show_icon_when_single = true
preview_images = true
hidden = false
prefix = '.'
[builtins.runner]
eager_loading = true
weight = 5
icon = "utilities-terminal"
name = "runner"
placeholder = "Runner"
typeahead = true
history = true
generic_entry = false # Generic command runner
shell_config = "" # Path to shell to parse for aliases
refresh = true
use_fd = false
switcher_only = true
hidden = true
[builtins.ssh]
weight = 5
icon = "preferences-system-network"
name = "ssh"
placeholder = "SSH"
switcher_only = true
history = true
refresh = true
hidden = true
[builtins.switcher]
weight = 5
name = "switcher"
placeholder = "Switcher"
prefix = "/"
[builtins.websearch]
keep_selection = true
weight = 5
icon = "applications-internet"
name = "websearch"
placeholder = "Websearch"
switcher_only = true
hidden = true
[[builtins.websearch.entries]]
name = "Google"
url = "https://www.google.com/search?q=%TERM%"
[[builtins.websearch.entries]]
name = "DuckDuckGo"
url = "https://duckduckgo.com/?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Ecosia"
url = "https://www.ecosia.org/search?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Yandex"
url = "https://yandex.com/search/?text=%TERM%"
switcher_only = true
[builtins.dmenu]
hidden = true
weight = 5
name = "dmenu"
placeholder = "Dmenu"
switcher_only = true
show_icon_when_single = true
[builtins.translation]
delay = 1000
weight = 5
name = "translation"
icon = "accessories-dictionary"
placeholder = "Translation"
switcher_only = true
provider = "googlefree"
hidden = true

View File

@@ -1,126 +0,0 @@
{
"layer": "top",
"position": "top",
"spacing": 0,
"height": 26,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [
"clock"
],
"modules-right": [
"custom/dropbox",
"bluetooth",
"network",
"pulseaudio",
"cpu",
"power-profiles-daemon",
"battery"
],
"hyprland/workspaces": {
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"default": "",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"active": "󱓻"
},
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": []
}
},
"cpu": {
"interval": 5,
"format": "󰍛",
"on-click": "alacritty -e btop"
},
"clock": {
"format": "{:%A %H:%M}",
"format-alt": "{:%d %B W%V %Y}",
"tooltip": false
},
"network": {
"format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"],
"format" : "{icon}",
"format-wifi" : "{icon}",
"format-ethernet" : "󰀂",
"format-disconnected" : "󰖪",
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-disconnected": "Disconnected",
"interval": 3,
"nospacing": 1,
"on-click": "alacritty -e iwctl"
},
"battery": {
"interval": 5,
"format": "{capacity}% {icon}",
"format-discharging": "{icon}",
"format-charging": "{icon}",
"format-plugged": "",
"format-icons": {
"charging": [
"󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"
],
"default": [
"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
]
},
"format-full": "Charged ",
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
"interval": 5,
"states": {
"warning": 20,
"critical": 10
}
},
"bluetooth": {
"format": "",
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "GTK_THEME=Adwaita-dark blueberry"
},
"pulseaudio": {
"format": "",
"format-muted": "󰝟",
"scroll-step": 5,
"on-click": "GTK_THEME=Adwaita-dark pavucontrol",
"tooltip-format": "Playing at {volume}%",
"on-click-right": "pamixer -t",
"ignored-sinks": ["Easy Effects Sink"]
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}",
"tooltip": true,
"format-icons": {
"power-saver": "󰡳",
"balanced": "󰊚",
"performance": "󰡴"
}
},
"custom/dropbox": {
"format": "",
"on-click": "nautilus ~/Dropbox",
"exec": "dropbox-cli status",
"return-type": "text",
"interval": 5,
"tooltip": true,
"tooltip-format": "{}"
}
}

128
config/waybar/config.jsonc Normal file
View File

@@ -0,0 +1,128 @@
{
"reload_style_on_change": true,
"layer": "top",
"position": "top",
"spacing": 0,
"height": 26,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [
"clock"
],
"modules-right": [
"group/tray-expander",
"bluetooth",
"network",
"pulseaudio",
"cpu",
"battery"
],
"hyprland/workspaces": {
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"default": "",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"active": "󱓻"
},
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": []
}
},
"cpu": {
"interval": 5,
"format": "󰍛",
"on-click": "alacritty -e btop"
},
"clock": {
"format": "{:%A %H:%M}",
"format-alt": "{:%d %B W%V %Y}",
"tooltip": false,
"on-click-right": "~/.local/share/omarchy/bin/omarchy-cmd-tzupdate"
},
"network": {
"format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"],
"format" : "{icon}",
"format-wifi" : "{icon}",
"format-ethernet" : "󰀂",
"format-disconnected" : "󰖪",
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-disconnected": "Disconnected",
"interval": 3,
"nospacing": 1,
"on-click": "alacritty --class=Impala -e impala"
},
"battery": {
"format": "{capacity}% {icon}",
"format-discharging": "{icon}",
"format-charging": "{icon}",
"format-plugged": "",
"format-icons": {
"charging": [
"󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"
],
"default": [
"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
]
},
"format-full": "󰂅",
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
"interval": 5,
"states": {
"warning": 20,
"critical": 10
}
},
"bluetooth": {
"format": "",
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "blueberry"
},
"pulseaudio": {
"format": "{icon}",
"on-click": "alacritty --class=Wiremix -e wiremix",
"on-click-right": "pamixer -t",
"tooltip-format": "Playing at {volume}%",
"scroll-step": 5,
"format-muted": "󰝟",
"format-icons": {
"default": ["", "", ""]
}
},
"group/tray-expander": {
"orientation": "inherit",
"drawer": {
"transition-duration": 600,
"children-class": "tray-group-item"
},
"modules": [
"custom/expand-icon",
"tray"
]
},
"custom/expand-icon": {
"format": " ",
"tooltip": false
},
"tray": {
"icon-size": 12,
"spacing": 12
}
}

View File

@@ -1,39 +1,47 @@
@import "../omarchy/current/theme/waybar.css";
* { * {
background-color: @background;
color: @foreground;
border: none; border: none;
border-radius: 0; border-radius: 0;
min-height: 0; min-height: 0;
font-family: CaskaydiaMono Nerd Font; font-family: CaskaydiaMono Nerd Font Propo;
font-size: 12px; font-size: 12px;
} }
#workspaces { .modules-left {
margin-left: 7px; margin-left: 8px;
}
.modules-right {
margin-right: 8px;
} }
#workspaces button { #workspaces button {
all: initial; all: initial;
padding: 2px 6px; padding: 0 6px;
margin-right: 3px; margin: 0 1.5px;
min-width: 9px;
} }
#custom-dropbox, #tray,
#cpu, #cpu,
#power-profiles-daemon,
#battery, #battery,
#network, #network,
#bluetooth, #bluetooth,
#pulseaudio, #pulseaudio,
#clock { #clock,
#custom-power-menu {
min-width: 12px; min-width: 12px;
margin-right: 13px; margin: 0 7.5px;
}
#custom-expand-icon {
margin-right: 12px;
} }
tooltip { tooltip {
padding: 2px; padding: 2px;
} }
tooltip label {
padding: 2px;
}
@import "../omarchy/current/theme/waybar.css";

View File

@@ -1,15 +0,0 @@
width=600
height=350
location=center
show=drun
prompt=Search...
filter_rate=100
allow_markup=true
no_actions=true
halign=fill
orientation=vertical
content_halign=fill
insensitive=true
allow_images=true
image_size=40
gtk_dark=true

View File

@@ -15,7 +15,7 @@ zd() {
fi fi
} }
open() { open() {
xdg-open "$@" >/dev/null 2>&1 xdg-open "$@" >/dev/null 2>&1 &
} }
# Directories # Directories
@@ -24,12 +24,15 @@ alias ...='cd ../..'
alias ....='cd ../../..' alias ....='cd ../../..'
# Tools # Tools
alias n='nvim'
alias g='git' alias g='git'
alias d='docker' alias d='docker'
alias r='rails' alias r='rails'
n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
# Git # Git
alias gcm='git commit -m' alias gcm='git commit -m'
alias gcam='git commit -a -m' alias gcam='git commit -a -m'
alias gcad='git commit -a --amend' alias gcad='git commit -a --amend'
# Find packages without leaving the terminal
alias yayf="yay -Slq | fzf --multi --preview 'yay -Sii {1}' --preview-window=down:75% | xargs -ro yay -S"

View File

@@ -66,5 +66,8 @@ web2app-remove() {
rm "$ICON_PATH" rm "$ICON_PATH"
} }
# Ensure that external keyboards that use an fn key has the F keys as the default # Ensure changes to ~/.XCompose are immediately available
alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode' refresh-xcompose() {
pkill fcitx5
uwsm app -- fcitx5 >/dev/null 2>&1 &
}

View File

@@ -7,8 +7,8 @@ if command -v zoxide &> /dev/null; then
fi fi
if command -v fzf &> /dev/null; then if command -v fzf &> /dev/null; then
if [[ -f /usr/share/bash-completion/completions/fzf ]]; then if [[ -f /usr/share/fzf/completion.bash ]]; then
source /usr/share/bash-completion/completions/fzf source /usr/share/fzf/completion.bash
fi fi
if [[ -f /usr/share/fzf/key-bindings.bash ]]; then if [[ -f /usr/share/fzf/key-bindings.bash ]]; then
source /usr/share/fzf/key-bindings.bash source /usr/share/fzf/key-bindings.bash

View File

@@ -28,14 +28,12 @@ set completion-query-items 200
# Show extra file information when completing, like `ls -F` does # Show extra file information when completing, like `ls -F` does
set visible-stats on set visible-stats on
$if Bash # Be more intelligent when autocompleting by also looking at the text after
# Be more intelligent when autocompleting by also looking at the text after # the cursor. For example, when the current line is "cd ~/src/mozil", and
# the cursor. For example, when the current line is "cd ~/src/mozil", and # the cursor is on the "z", pressing Tab will not autocomplete it to "cd
# the cursor is on the "z", pressing Tab will not autocomplete it to "cd # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the # Readline used by Bash 4.)
# Readline used by Bash 4.) set skip-completed-text on
set skip-completed-text on
# Coloring for Bash 4 tab completions. # Coloring for Bash 4 tab completions.
set colored-stats on set colored-stats on
$endif

View File

@@ -4,3 +4,4 @@ source ~/.local/share/omarchy/default/bash/functions
source ~/.local/share/omarchy/default/bash/prompt source ~/.local/share/omarchy/default/bash/prompt
source ~/.local/share/omarchy/default/bash/init source ~/.local/share/omarchy/default/bash/init
source ~/.local/share/omarchy/default/bash/envs source ~/.local/share/omarchy/default/bash/envs
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc

View File

@@ -5,8 +5,13 @@ HISTSIZE=32768
HISTFILESIZE="${HISTSIZE}" HISTFILESIZE="${HISTSIZE}"
# Autocompletion # Autocompletion
# source /usr/share/bash-completion/bash_completion if [[ ! -v BASH_COMPLETION_VERSINFO && -f /usr/share/bash-completion/bash_completion ]]; then
source /usr/share/bash-completion/bash_completion
fi
# Set complete path # Set complete path
export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omarchy/bin:$PATH" export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omarchy/bin:$PATH"
set +h set +h
# Omarchy path
export OMARCHY_PATH="/home/$USER/.local/share/omarchy"

14
default/bashrc Normal file
View File

@@ -0,0 +1,14 @@
# All the default Omarchy aliases and functions
# (don't mess with these directly, just overwrite them here!)
source ~/.local/share/omarchy/default/bash/rc
# Add your own exports, aliases, and functions here.
#
# Make an alias for invoking commands you use constantly
# alias p='python'
#
# Use VSCode instead of neovim as your default editor
# export EDITOR="code"
#
# Set a custom prompt with the directory revealed (alternatively use https://starship.rs)
# PS1="\W \[\e]0;\w\a\]$PS1"

7
default/gpg/dirmngr.conf Normal file
View File

@@ -0,0 +1,7 @@
keyserver hkps://keyserver.ubuntu.com
keyserver hkps://pgp.surfnet.nl
keyserver hkps://keys.mailvelope.com
keyserver hkps://keyring.debian.org
keyserver hkps://pgp.mit.edu
connect-quick-timeout 4

View File

@@ -1,4 +1,9 @@
exec-once = hypridle & mako & waybar & fcitx5 exec-once = uwsm app -- hypridle
exec-once = swaybg -i ~/.config/omarchy/current/background -m fill exec-once = uwsm app -- mako
exec-once = systemctl --user start hyprpolkitagent exec-once = uwsm app -- waybar
exec-once = wl-clip-persist --clipboard regular & clipse -listen exec-once = uwsm app -- fcitx5
exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm app -- swayosd-server
exec-once = uwsm app -- walker --gapplication-service
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'

View File

@@ -1,4 +1,5 @@
# Start default apps # Deprecated bindings file. New installations include everything directly.
bind = SUPER, return, exec, $terminal bind = SUPER, return, exec, $terminal
bind = SUPER, F, exec, $fileManager bind = SUPER, F, exec, $fileManager
bind = SUPER, B, exec, $browser bind = SUPER, B, exec, $browser
@@ -10,100 +11,6 @@ bind = SUPER, G, exec, $messenger
bind = SUPER, O, exec, obsidian -disable-gpu bind = SUPER, O, exec, obsidian -disable-gpu
bind = SUPER, slash, exec, $passwordManager bind = SUPER, slash, exec, $passwordManager
bind = SUPER, space, exec, wofi --show drun --sort-order=alphabetical source = ~/.local/share/omarchy/default/hypr/bindings/media.conf
bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf
bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf
bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next
bind = SUPER, W, killactive,
# End active session
bind = SUPER, ESCAPE, exec, hyprlock
bind = SUPER SHIFT, ESCAPE, exit,
bind = SUPER CTRL, ESCAPE, exec, reboot
bind = SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff
# Control tiling
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, V, togglefloating,
# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
bind = SUPER SHIFT, left, swapwindow, l
bind = SUPER SHIFT, right, swapwindow, r
bind = SUPER SHIFT, up, swapwindow, u
bind = SUPER SHIFT, down, swapwindow, d
# Resize active window
bind = SUPER, minus, resizeactive, -100 0
bind = SUPER, equal, resizeactive, 100 0
bind = SUPER SHIFT, minus, resizeactive, 0 -100
bind = SUPER SHIFT, equal, resizeactive, 0 100
# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Control Apple Display brightness
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# Screenshots
bind = , PRINT, exec, hyprshot -m region
bind = SHIFT, PRINT, exec, hyprshot -m window
bind = CTRL, PRINT, exec, hyprshot -m output
# Color picker
bind = SUPER, PRINT, exec, hyprpicker -a
# Clipse
bind = CTRL SUPER, V, exec, $terminal --class clipse -e clipse

View File

@@ -0,0 +1,16 @@
# Only display the OSD on the currently focused monitor
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
# Laptop multimedia keys for volume and LCD brightness (with OSD)
bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise
bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower
bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle
bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle
bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
# Requires playerctl
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous

View File

@@ -0,0 +1,63 @@
# Close window
bind = SUPER, W, killactive,
# Control tiling
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, V, togglefloating,
bind = SHIFT, F11, fullscreen, 0
# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = SUPER, code:10, workspace, 1
bind = SUPER, code:11, workspace, 2
bind = SUPER, code:12, workspace, 3
bind = SUPER, code:13, workspace, 4
bind = SUPER, code:14, workspace, 5
bind = SUPER, code:15, workspace, 6
bind = SUPER, code:16, workspace, 7
bind = SUPER, code:17, workspace, 8
bind = SUPER, code:18, workspace, 9
bind = SUPER, code:19, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, code:10, movetoworkspace, 1
bind = SUPER SHIFT, code:11, movetoworkspace, 2
bind = SUPER SHIFT, code:12, movetoworkspace, 3
bind = SUPER SHIFT, code:13, movetoworkspace, 4
bind = SUPER SHIFT, code:14, movetoworkspace, 5
bind = SUPER SHIFT, code:15, movetoworkspace, 6
bind = SUPER SHIFT, code:16, movetoworkspace, 7
bind = SUPER SHIFT, code:17, movetoworkspace, 8
bind = SUPER SHIFT, code:18, movetoworkspace, 9
bind = SUPER SHIFT, code:19, movetoworkspace, 10
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
bind = SUPER SHIFT, left, swapwindow, l
bind = SUPER SHIFT, right, swapwindow, r
bind = SUPER SHIFT, up, swapwindow, u
bind = SUPER SHIFT, down, swapwindow, d
# Cycle through applications on active workspace
bind = ALT, Tab, cyclenext
bind = ALT, Tab, bringactivetotop
# Resize active window
bind = SUPER, minus, resizeactive, -100 0
bind = SUPER, equal, resizeactive, 100 0
bind = SUPER SHIFT, minus, resizeactive, 0 -100
bind = SUPER SHIFT, equal, resizeactive, 0 100
# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow

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