Open
Conversation
Replace stow-based setup with omarchy-style automated installer. - Two-layer config system: config/ (user-editable, copied to ~/.config/) and default/ (sourced at runtime, updated via git pull) - Replace hyprpaper with swaybg, fnm with mise, remove eww - Full install pipeline: preflight, packaging, config, services, post-install - Package lists in install/ (kojarchy-base/optional/cargo.packages) - lib/ helpers: presentation (gum TUI), logging, error handling - Fix all hardcoded stow paths in waybar, wofi, and custom scripts - Move .luarc.json and .stylua.toml into config/nvim/ - Remove arch-post.sh, config.rayconfig, old sddm helpers - Add boot.sh entry point, install.sh orchestrator, logo.txt
Clones/updates omarchy, diffs against baseline commit ffafe172, and runs opencode to analyze what needs syncing to kojarchy.
- run_logged: only source packages.sh in subshell, not full helpers (avoids re-registering traps and breaking fd redirects) - guard.sh: use /dev/tty for gum confirm, add fallback ping to 8.8.8.8 - begin.sh: cache sudo before starting install log - optional.sh: split into prompt (main shell) + install (run_logged) so gum can access tty for user interaction
- Move NVIDIA packages to kojarchy-nvidia.packages (prompted via lspci detection) - Move virtualization packages to optional - Remove packages already provided by archinstall (base, linux, firmware, etc.) - Remove duplicate yay-bin from base (already installed by aur-helper.sh) - Add nvidia.sh prompt with lspci detection
Phase 1: opencode analyzes diff and writes analysis to file Phase 2: user reviews analysis, can edit before proceeding Phase 3: opencode applies only SYNC items from the analysis Phase 4: prompt to update baseline commit hash
Instead of multi-phase file-based workflow, uses one opencode run that walks through each change item-by-item, asking the user to confirm or skip before applying.
- mac/deps.sh: install shared tooling via Homebrew (nvim, tmux, starship, etc.) - mac/setup.sh: copy shared configs (nvim, opencode, kitty, shell, tmux, yazi) - mac/update.sh: interactive updater to re-deploy configs after git pull
Add system hardening, quality-of-life improvements, and utility scripts adapted from omarchy to kojarchy branding and tooling preferences: - Fast systemd shutdown (5s timeout) - Graceful reboot/shutdown (close Hyprland windows first) - SSH MTU probing fix for flaky connections - Sudo 10-attempt limit and PAM faillock (deny=10, unlock 2min) - Default mimetypes (dolphin, qview, zathura, mpv, nvim) - USB autosuspend disable - Audio output switcher (pactl cycle + notify-send) - Screen recording (gpu-screen-recorder with wf-recorder fallback) - GPG keyserver config (5 fallback servers) - Fontconfig fonts.conf (Liberation Sans/Serif, JetBrainsMono NF) - Debug info dump script (system info, dmesg, journal, packages)
effef25 to
7dec98e
Compare
Swap 6 -git AUR packages for their prebuilt counterparts to avoid long compile times during install: - hyprshot-git → hyprshot (extra) - kvantum-git → kvantum (extra) - adwaita-qt5-git → adwaita-qt5 (AUR release) - adwaita-qt6-git → adwaita-qt6 (AUR release) - hyperfine-git → hyperfine (extra) - mupdf-git → mupdf (extra)
…are detection Major feature batch adding comprehensive system management adapted from omarchy with kojarchy branding and ALT-based keybindings: Update system (replaces update.sh): - kojarchy-update orchestrator with git pull, package updates, migrations - kojarchy-migrate for timestamped incremental system changes - kojarchy-update-restart for kernel update detection + reboot prompt Package management: - pkg-add/drop/missing/present helpers for scripting - pkg-install/remove interactive TUI pickers (fzf-based) - pkg-aur-add/aur-accessible for AUR support Hardware detection (install/config/hardware/): - Network (iwd, disable networkd-wait-online) - Bluetooth auto-enable - Intel GPU video acceleration - Wireless regulatory domain from timezone - F-key fix for Apple-like keyboards - Synaptics touchpad InterTouch - Power profile auto-switch on AC/battery System hardening & config: - Default GNOME keyring (prevents unlock popup) - UFW firewall (deny in, allow LocalSend + Docker DNS) - DNS resolver (systemd-resolved symlink) - Input group for game controllers - Keyboard layout detection from vconsole.conf - mkinitcpio disable during install (speed optimization) - Hidden .desktop files (29 entries for cleaner app launcher) Hyprland enhancements: - App window rules (browser, terminal, PiP, Steam, Bitwarden, system dialogs) - hypridle.conf (5min lock, 10min DPMS off) - hyprlock.conf (styled lock screen) - hyprsunset.conf (night light placeholder) - Updated keybindings: screenshot via satty, notification dismiss, power menu (ALT+ESC), lock (ALT+CTRL+L), keybind viewer (ALT+/) Browser Wayland flags: - chromium-flags.conf, brave-flags.conf, helium-flags.conf - MOZ_ENABLE_WAYLAND=1 for Firefox/Zen Utility scripts: - Restart helpers (waybar, pipewire, bluetooth, hypridle, wifi, btop) - Refresh scripts (reset individual configs to defaults with backup) - Font management (set/list/current system monospace font) - Lock screen, screenshot, keybindings viewer - Version tracking, state management, hook system Updated README with new workflows, commands, and project structure.
…dd unified gum menu
- git.sh: source directly instead of run_logged (gum input was invisible) - systemd.sh: remove duplicate firewall and bluetooth enable - errors.sh: add GitHub issues support link on install failure - packages.sh: remove dead install_packages/install_aur_packages code - logging.sh: remove unnecessary packages.sh source from run_logged - cargo.sh: source packages.sh directly for install_cargo_packages - cmd-reboot/cmd-shutdown: add state clear + nohup pattern from omarchy - pkg-remove: use yay instead of pacman to include AUR packages - update-perform: add idle prevention during updates - update: add GitHub issues link to error trap - finished.sh: improve reboot prompt and add log line
…meout sudo cache expires after 5 minutes but package installation can take 30+ minutes. Inside run_logged subshells stdin is /dev/null so sudo can't re-prompt. This caused services like SDDM to silently fail to enable. Now grants NOPASSWD for the install duration and cleans up in finished.sh.
- bob-nvim -> bob (official repo) - tree-sitter-cli -> tree-sitter-cli (official repo) - cargo-update -> cargo-update (official repo) - tmux-sessionizer -> tmux-sessionizer-bin (AUR prebuilt) Rust/cargo toolchain still installed for dev workflow.
- Replace apple-fonts/geist/JetBrains with FiraCode Nerd Font Mono everywhere - Replace zathura/mupdf/ocrmypdf with evince, pavucontrol with wiremix - Add omarchy system infra: printing stack, gnome-keyring, gvfs, avahi, swayosd, uwsm - Add dev tools: ripgrep, lazygit, lazydocker, clang, llvm, rust, opencode - Add desktop utils: playerctl, brightnessctl, bluetui, mpv, satty, gnome-disk-utility - Move helium-browser-bin from optional to base - Fix chsh: use sudo to avoid silent failure in run_logged subshell
- Fix hyprlock colors from Tokyo Night to Catppuccin Mocha (black bg) - Add btop Catppuccin Mocha theme file - Set up Kvantum with catppuccin-mocha-blue for Qt apps - Set GTK theme to catppuccin-mocha-blue via gsettings - Add Wayland env vars (GDK_BACKEND, QT_QPA_PLATFORM, SDL, Electron, Ozone) - Set QT_STYLE_OVERRIDE=kvantum, XDG session vars - Replace Dolphin with Nautilus, drop unnecessary Qt theming packages - Fix refresh-hyprland to cover all 4 config files + hyprctl reload - Add mocha.css to refresh-waybar
…ybind - Add PATH entries to default/hypr/envs.conf so kojarchy-* scripts work from keybindings/menus - Fix Kvantum theme name capitalization (Catppuccin-Mocha-Blue) - Remove ALT+CTRL+SPACE binding (replaced by ALT+SHIFT+SPACE unified menu)
- Rewrite kojarchy-menu to use walker --dmenu instead of kitty+gum - Add walker-bin package, walker config, and Catppuccin Mocha theme - Remove kitty window rules for old menu (walker is its own overlay) - Add wayfreeze to screenshot script so screen freezes before capture - Simplify keybinding: no longer needs kitty wrapper
…ggle and audio switch - Power menu: replace kitty+gum with walker --dmenu, remove window rules - Keybindings viewer: replace wofi with walker --dmenu - Toggle nightlight: use hyprctl temperature toggle instead of kill/restart - Audio switch: add swayosd volume/mute icon feedback with notify-send fallback - Add swayosd-server to hyprland autostart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.