* Add omarchy-setup-cloudflare-dns script
Addresses issue #745 by providing user choice for DNS configuration.
Features:
- Makes Cloudflare DNS opt-in instead of forced default
- Preserves local development environments with DHCP option
- Includes custom DNS configuration support
- Provides backup/restore functionality
- Follows Omarchy naming conventions
Fixes#745
* Address DHH feedback on DNS configuration script
Changes based on maintainer review:
- Rename script to omarchy-setup-dns (more generic name)
- Remove /usr/local/bin installation (use PATH instead)
- Add migration to reset automatic Cloudflare DNS to DHCP
- Force DNS on physical interfaces only using systemd-networkd
- Exclude docker/virtual interfaces from forced DNS
Fixes local development environment issues while making Cloudflare DNS opt-in.
* Use timestamped backups and remove restore function
Follow Omarchy backup standards by using timestamped backup files
instead of fixed names. Remove restore function since backups now
have unpredictable names - users can manually restore if needed.
This matches the pattern used in omarchy-refresh-config.
* Add DNS over TLS support for enhanced security
Enable opportunistic DNS over TLS when using Cloudflare DNS. This
encrypts DNS queries when possible while falling back to regular DNS
if TLS isn't available, providing security without breaking compatibility.
Thanks to the suggestion in #696 for highlighting this improvement.
* Add certificate validation for DNS over TLS
The DNS servers now include their proper hostnames for certificate
validation (cloudflare-dns.com and dns.google). This ensures we're
actually talking to the real DNS servers when using encrypted DNS,
not some imposter.
Completes the implementation suggested in #696.
* Prevent backup file accumulation
Clean up old backup files before creating new ones to prevent the
accumulation of .bak.* files over time. Keeps only the most recent
backup while maintaining the timestamped naming pattern.
This ensures the system doesn't get cluttered with countless backup
files from repeated script runs.
* Simplify DNS setup script per review feedback
Reduced script complexity from 227 to 58 lines while maintaining core functionality.
Removed unnecessary backup system and systemd-networkd configuration.
Kept essential features: Cloudflare DNS with TLS, DHCP mode, and custom DNS option.
Script now follows established Omarchy conventions for simplicity and size.
* Allow setup from omarchy-menu
* Integrate into Omarchy Menu
* Align parameter
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Add Omarchy icon to waybar
* Add step to fonts.sh to install omarchy icon font
* Style and fixup
* Fixup installation of the omarchy font
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Abstract default browser to omarchy-browser (a wrapper)
* Fix the omarchy-browser command as it used to loop. Extract info from the browser .desktop files.
* Clean up and fix bugs
* Cleanup unused change
* Fix indentation
* Separate out omarchy-browser from omarchy-webapp so that we don't break webapps for browsers other than Chromium or Google Chrome.
* Fix incorrect function call
* Add a migration script
* Migration script fixes
* Simplify the browser and webapp commands. Rename commands to align with launch terminology.
* Add support for Microsoft Edge, Opera and Vivaldi
* Fix errors
* Remove --name and --class -- They're not respected when --app is defined
* We don't ship with Chrome
* Simplify launchers
* Use launch commands everywhere
---------
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
* feat: Add notification status indicator to waybar
Adds a visual indicator in the waybar to show when notifications are silenced (do-not-disturb mode).
- Shows a red dot when notifications are disabled
- Shows a dimmed dot when notifications are enabled
- Clicking the indicator toggles do-not-disturb mode
- Syncs with the existing SUPER+CTRL+, keyboard shortcut
This provides immediate visual feedback about notification status, making it easier for users to know when they've silenced notifications.
* feat: Convert to unified status cluster that only shows active states
- Only displays indicators when states are actually active
- Supports multiple status types: DND, night light, screen recording, idle lock
- Uses distinct symbols: • for DND, ◐ for night light, ● for recording, ◯ for idle lock
- Completely hides module when no states are active (no visual clutter)
- Extensible design for future status indicators
- Improved performance with better error handling
* Implement lightweight hybrid status monitoring
* Enhance notification status cluster with modular design
* Add waybar configuration for status cluster
* Add recording click handler and fix process detection
- Add wl-screenrec detection for non-nvidia systems
- Add click handler to start/stop recording
- Fix idle lock toggle functionality
* minor alignment tweaks
* improved recording detection to be more specific
* Rely on Omarchy bin in PATH and lower interval to feel more snappy
* Seperate out screencording stop so it doesn't start when trying to stop OBS
* Add migration to add the status notifications
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Include VerbosePkgLists for better pacman -Syu
* Add migration for the verbose package lists
* Amend comment
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Add omarchy icon to fastfetch config
* Add migration file for fastfetch update
* Use consistent branding placement for spots you can change
* Allow editing the about icon
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Use power button to open omarchy-menu system
* Added migration script
* setsid so it doesn't exit with the terminal
* Spacing
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* check for custom screensaver logo or fall back to default
* move logo location to omarchy config folder
* fix missed location check
* add menu item to copy logo.txt and open in editor
* move to setup menu
* Just always use a user-editable screensaver.txt file
* No longer needed
* Be clearer
---------
Co-authored-by: Christopher Moore <cmoore@yozu.co.uk>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Fix USB autosuspend causing peripheral disconnection issues
Add configuration to disable USB autosuspend by setting usbcore.autosuspend=-1
in modprobe.d configuration. This prevents USB devices from being automatically
suspended which can cause keyboards, mice, and other peripherals to disconnect
unexpectedly.
* Add migration to apply autosuspend to existing systems
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Add 60 second timeout to Walker launcher
This will close the launcher after 60 seconds of inactivity.
* Update 1754929737.sh
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Explicitly add python-object to make powerprofile work
* added migration
* Explain the why, not the how
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>