Skip to content

Conversation

@0xrinegade
Copy link
Member

This pull request introduces several improvements to project configuration, user experience, and application behavior. Key changes include the addition of standardized issue templates, enhanced application launch behavior, and various configuration tweaks to improve usability and compatibility.

Project configuration and issue templates:

  • Added a root .editorconfig to enforce consistent coding styles across the project.
  • Introduced standardized GitHub issue templates for bugs, enhancements, and documentation, and disabled blank issues to streamline contribution and support processes. [1] [2] [3] [4]

Application launch and usability improvements:

  • Changed the nvim.desktop launcher to use omarchy-launch-editor for opening files, improving editor integration.
  • Added .desktop files to hide several system applications from application menus for a cleaner user experience.

Configuration and compatibility tweaks:

  • Updated Chromium and Brave flags to work around a Wayland color management crash on Hyprland, and enabled a custom extension in Chromium. [1] [2]
  • Set install mode to online in boot.sh and improved branch selection messaging for clarity during installations. [1] [2]
  • Enabled Vim keybindings in btop and adjusted alacritty keybindings for improved terminal usability. [1] [2]

Minor configuration updates:

  • Tweaked settings in elephant and fastfetch configuration files for better performance and appearance. [1] [2] [3]

@devloai
Copy link

devloai bot commented Oct 20, 2025

Unable to perform a code review. You have run out of credits 😔
Please upgrade your plan or buy additional credits from the subscription page.

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request #12 has too many files changed.

The GitHub API will only let us fetch up to 300 changed files, and this pull request has 507.

@0xrinegade 0xrinegade requested a review from Copilot October 23, 2025 10:47
@0xrinegade
Copy link
Member Author

This pull request introduces several configuration and usability improvements, primarily focused on issue reporting, application behavior, and system integration. The most notable changes include the addition of GitHub issue templates for bug reports, enhancements, and documentation, updates to application launch and visibility settings, and adjustments to user experience in terminal and browser configurations.

GitHub Issue Templates and Repository Configuration:

  • Added new issue templates for bug reports (bug.yml), enhancements (enhancement.yml), and documentation (documentation.yml) to standardize and streamline community contributions. Blank issues are now disabled to encourage use of templates. [1] [2] [3] [4]

Application Launch and Visibility:

  • Updated nvim.desktop to launch Neovim via omarchy-launch-editor for improved integration.
  • Added Hidden=true entries to several .desktop files in applications/hidden, preventing them from appearing in application menus.

Terminal and Editor Experience:

  • Changed Alacritty configuration to use Shift+Insert for paste and Ctrl+Insert for copy, improving keyboard shortcuts.
  • Enabled Vim-style key navigation in btop for more efficient terminal resource monitoring.

Browser and System Integration:

  • Added workaround flags to chromium-flags.conf and brave-flags.conf to address a Hyprland Wayland color management crash, and enabled a custom extension in Chromium. [1] [2]
  • Updated fastfetch/config.jsonc to use custom icons for OS age and uptime for improved visual clarity.

General Configuration and Boot Script:

  • Added a root .editorconfig to enforce consistent coding style across the repository.
  • Set online install mode by default in boot.sh for curl-based installations and improved branch selection messaging. [1] [2]
  • Adjusted Elephant application configs for streamlined desktop application search and calculation behavior. [1] [2]

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request represents a major refactoring of the Omarchy installation system, introducing significant improvements to code organization, error handling, and user experience. The changes transform the installer from a sequential script-based approach to a modular, logged system with comprehensive error handling.

Key Changes

  • Complete restructuring of the installation system with new helper modules for logging, error handling, and presentation
  • Migration standardization using utility commands (omarchy-pkg-add, omarchy-cmd-missing) instead of direct pacman calls
  • Introduction of Walker/Elephant application launcher configuration replacing the legacy Walker setup

Reviewed Changes

Copilot reviewed 195 out of 507 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
install.sh Replaced monolithic installation with modular system using helper functions and organized module sourcing
install/helpers/*.sh Added new helper modules for logging, error handling, presentation, and chroot operations
install/preflight/*.sh Refactored preflight checks into modular components with enhanced guard conditions
install/packaging/*.sh Introduced base package installation and restructured packaging modules
install/config/*.sh Reorganized configuration scripts with new hardware detection and setup modules
install/login/*.sh Simplified Plymouth and login configuration, removed seamless login implementation
migrations/*.sh Standardized migration scripts to use utility commands instead of direct system calls
config/walker/*.toml Migrated to new Elephant-based Walker configuration system
config/hypr/*.conf Updated Hyprland configuration with new bindings, group support, and improved window management
default/walker/themes/* Replaced legacy Walker theme files with new XML-based layout system
Comments suppressed due to low confidence (1)

config/hypr/looknfeel.conf:1

  • Blur passes increased from 1 to 3 will significantly impact performance, especially on lower-end hardware. Consider documenting this change and providing a way for users to adjust this setting based on their hardware capabilities.
# Change the default Omarchy look'n'feel

touch ~/.local/state/omarchy/migrations/1751134560.sh &&
uwsm stop
sudo systemctl restart systemd-timesyncd
bash omarchy-update-perform
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The command is missing proper quoting and should use the absolute path or ensure PATH is set. Should be 'bash "$OMARCHY_PATH/bin/omarchy-update-perform"' or verify PATH includes the bin directory.

Suggested change
bash omarchy-update-perform
bash "$OMARCHY_PATH/bin/omarchy-update-perform"

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +10
if [[ ! -f /etc/arch-release ]]; then
abort "Vanilla Arch"
fi
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The conditional structure has been changed from a one-liner to multi-line format. While this is more explicit, all guards follow this pattern now. Consider documenting why this change improves the code (e.g., better readability, easier debugging) to justify the increased verbosity.

Copilot uses AI. Check for mistakes.
# Disable [email protected] only if not already disabled
if ! systemctl is-enabled [email protected] | grep -q disabled; then
sudo systemctl disable [email protected]
sudo plymouth-set-default-theme omarchy
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The removed '-R' flag from plymouth-set-default-theme means the initramfs will not be regenerated. This could leave the system with mismatched theme configuration. Either add back the '-R' flag or ensure mkinitcpio regeneration happens elsewhere.

Suggested change
sudo plymouth-set-default-theme omarchy
sudo plymouth-set-default-theme -R omarchy

Copilot uses AI. Check for mistakes.
@@ -1,4 +1,3 @@
# Editor used by CLI
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The EDITOR variable is no longer set in this file but SUDO_EDITOR still references it. This will result in SUDO_EDITOR being empty unless EDITOR is set elsewhere. Should either set EDITOR here or source the file that sets it before this line.

Suggested change
# Editor used by CLI
# Editor used by CLI
export EDITOR="${EDITOR:-vim}"

Copilot uses AI. Check for mistakes.
close_when_open = true # close walker when invoking while already opened
selection_wrap = true # wrap list if at bottom or top
click_to_close = true # closes walker if clicking outside of the main content area
global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment states 'this should be the same as in the elephant config' but there's no reference to where that elephant config is or how to keep them in sync. Add a comment with the file path or a reference to ensure maintainability.

Suggested change
global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config
global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config (see config/elephant/config.toml)

Copilot uses AI. Check for mistakes.
EOF

[[ -f /boot/EFI/limine/limine.conf ]] && EFI=true
[[ -f /boot/EFI/limine/limine.conf ]] || [[ -f /boot/EFI/BOOT/limine.conf ]] && EFI=true
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Operator precedence issue: the && binds tighter than ||, so this evaluates as [[ -f /boot/EFI/limine/limine.conf ]] || ([[ -f /boot/EFI/BOOT/limine.conf ]] && EFI=true). Should be ([[ -f /boot/EFI/limine/limine.conf ]] || [[ -f /boot/EFI/BOOT/limine.conf ]]) && EFI=true

Suggested change
[[ -f /boot/EFI/limine/limine.conf ]] || [[ -f /boot/EFI/BOOT/limine.conf ]] && EFI=true
([[ -f /boot/EFI/limine/limine.conf ]] || [[ -f /boot/EFI/BOOT/limine.conf ]]) && EFI=true

Copilot uses AI. Check for mistakes.
--ozone-platform-hint=wayland
--enable-features=TouchpadOverscrollHistoryNavigation
--load-extension=~/.local/share/omarchy/default/chromium/extensions/copy-url
# Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While the comment references issue #11957, it would be helpful to also note that this is a temporary workaround and should be removed when the upstream issue is resolved. Add a TODO or NOTE about checking if this workaround is still needed in future updates.

Suggested change
# Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957
# Chromium crash workaround for Wayland color management on Hyprland - see https://github.com/hyprwm/Hyprland/issues/11957
# TODO: Remove this workaround when https://github.com/hyprwm/Hyprland/issues/11957 is resolved.

Copilot uses AI. Check for mistakes.
@0xrinegade
Copy link
Member Author

This pull request introduces several configuration and usability improvements, mainly focused on editor behavior, application visibility, issue reporting, and platform compatibility. The changes include new configuration files, updates to existing application launchers, enhancements to issue templates, and workarounds for platform-specific issues.

Editor and Application Configuration:

  • Added .editorconfig to enforce consistent coding styles across the project, including indentation, character set, and line endings.
  • Updated applications/nvim.desktop to launch Neovim using omarchy-launch-editor instead of alacritty, improving integration with the Omarchy environment.
  • Added several hidden desktop entries (e.g., electron36.desktop, java-java-openjdk.desktop) to prevent these applications from appearing in launchers.

Platform Compatibility and Workarounds:

  • Added flags to config/brave-flags.conf and config/chromium-flags.conf to disable Wayland color management features, addressing known Chromium crashes on Hyprland. [1] [2]

Issue Reporting and Documentation:

  • Introduced new issue templates for bugs, documentation, and enhancements under .github/ISSUE_TEMPLATE/, standardizing how contributors report problems and request changes. [1] [2] [3]
  • Disabled blank issues by default in .github/ISSUE_TEMPLATE/config.yml to ensure all issues use a template.

Usability Improvements:

  • Modified config/btop/btop.conf to enable vim keybindings for easier navigation.
  • Updated config/alacritty/alacritty.toml to add keyboard shortcuts for copy/paste and removed opacity setting for clarity.
  • Tweaked config/fastfetch/config.jsonc to use icon-based keys for OS age and uptime, improving visual clarity.
  • Set OMARCHY_ONLINE_INSTALL=true in boot.sh to ensure online installation mode during setup, and improved branch selection messaging. [1] [2]

Application Behavior and Preferences:

  • Updated Elephant app configurations to adjust search and history behavior for better user experience. [1] [2]

Copy link
Member Author

@0xrinegade 0xrinegade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0xrinegade 0xrinegade requested a review from Copilot October 26, 2025 11:29
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 185 out of 527 changed files in this pull request and generated 2 comments.

command -v limine &>/dev/null || abort "Limine bootloader"

# Must have btrfs root filesystem
[ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] || abort "Btrfs root filesystem"
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra trailing whitespace at end of line 43

Suggested change
[ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] || abort "Btrfs root filesystem"
[ "$(findmnt -n -o FSTYPE /)" = "btrfs" ] || abort "Btrfs root filesystem"

Copilot uses AI. Check for mistakes.
@@ -1,18 +1,22 @@
# This is now a deprecated file meant for those who did not wish to learn the latest Omarchy hotkeys.
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar issue: 'did not wish' should be 'do not wish' (present tense) since the file continues to serve this purpose

Suggested change
# This is now a deprecated file meant for those who did not wish to learn the latest Omarchy hotkeys.
# This is now a deprecated file meant for those who do not wish to learn the latest Omarchy hotkeys.

Copilot uses AI. Check for mistakes.
ryanrhughes and others added 20 commits October 28, 2025 02:33
Ghostty will only use the last `shell-integration-features` line found
in the config, so multiple options need to be presented as a
comma-separated list. Including them on separate lines meant that only
the `ssh-env` option was getting set, causing the `no-cursor` option to
be ignored. This prevented the cursor from going into the `block` style.
…stics") by adjusting JetBrains window rules (#2899)

* fix(jetbrains.conf): allow focus for Android Studio’s first dialog by unsetting nofocus rules for empty-title windows

* Refactor window rules for JetBrains apps

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

---------

Co-authored-by: David Heinemeier Hansson <[email protected]>
* Fix: Low Battery notification returning empty value on reboot

* Simplify the check

* Double paste

---------

Co-authored-by: David Heinemeier Hansson <[email protected]>
As @abenz1267 pointed out, the previous solution wasn't the greatest.
This is the proper solution.
* Apply Omarchy theme; Install Neovim extension (automatically scoops up LazyVim config).

* Just set the Omarchy theme

Removed installation of Neovim extension from script.

---------

Co-authored-by: David Heinemeier Hansson <[email protected]>
dhh and others added 30 commits November 24, 2025 09:48
Co-authored-by: David Heinemeier Hansson <[email protected]>
* Add copy-url support for Brave browser

* Add required migration

* Excess CR

---------

Co-authored-by: David Heinemeier Hansson <[email protected]>
…ervice after running omarchy-refresh-walker

Closes #3609
* Update version

* feat: show link to changelog in update confirm window

* Link to scrollable changelog

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

---------

Co-authored-by: Ryan Hughes <[email protected]>
Co-authored-by: David Heinemeier Hansson <[email protected]>
* feat: restore the last notification.

* Stick with comma

---------

Co-authored-by: David Heinemeier Hansson <[email protected]>
* feat: silently move active window to target workspace

Adds a quality-of-life keybind:

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

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

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

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

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

* We've frozen this old tiling config

* Put on Super + Shift + Alt

This is an alternative version of an existing move

* Fix description

---------

Co-authored-by: David Heinemeier Hansson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.