Repository navigation
feat: auto-detect desktop in make install, simplify install docs - #12
Merged
Merged
Conversation
`make install` now installs the core (daemon + udev rule + systemd user service) AND the matching frontend, detected from $XDG_CURRENT_DESKTOP: GNOME gets the Shell extension, COSMIC gets the native applet. A new `install-frontend` target does the detection at recipe (shell) time and dispatches to the existing `install-gnome` / `install-cosmic` targets, which stay as explicit overrides. - FRONTEND=gnome|cosmic|none forces or skips the frontend (headless/SSH). - COSMIC detected but Rust missing: core still installs, prints how to finish with `make install-cosmic` (never a half-broken state). - Unknown desktop: core installs, prints the two explicit commands. Docs simplified to lead with the one-command flow: - INSTALL.md is now make-first; the manual release-artefact route is demoted to an "Installing without a toolchain" appendix. - README Install section leads with auto-detecting `make install`. - CONTRIBUTING.md notes `make install` includes the frontend and that the per-component targets are the dev path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Summary
make installis now a true one-command install. It builds the daemon, installs the core (udev rule + systemd--userservice), detects the desktop, and installs the matching frontend — the GNOME Shell extension or the COSMIC applet.Makefile
install-frontendprerequisite oninstall. It honorsFRONTEND=gnome|cosmic|noneif set, otherwise detects from$XDG_CURRENT_DESKTOP(lowercased, substring-matched — soubuntu:GNOME,pop:GNOME,COSMICall resolve correctly).$(MAKE) install-gnome/install-cosmic, keeping a single source of truth. Those targets remain as explicit overrides.make install-cosmic— never a half-broken state.Docs
curl/release-artefact steps are demoted to an Installing without a toolchain appendix.make install; per-desktop blocks reframed around the one manual finish step.make installnow includes the frontend, and that the per-component targets are the dev path.Test plan
make -n installparses and expands the full chain (daemon → udev → service → frontend).ubuntu:GNOME,GNOME,COSMIC,pop:GNOME,KDE, empty,gnome-xorg.FRONTEND=noneand unknown-value branches print the expected guidance without side effects.🤖 Generated with Claude Code