-
Notifications
You must be signed in to change notification settings - Fork 3
chore(amm): add Logos Basecamp support #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| result | ||
| result-* | ||
| modules/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,15 +12,71 @@ This project requires Nix with experimental features enabled. If you haven't alr | |
| mkdir -p ~/.config/nix && echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf | ||
| ``` | ||
|
|
||
| ## Running the UI | ||
| Install the Logos package manager CLI globally (one-time): | ||
|
|
||
| ```bash | ||
| nix profile install 'github:logos-co/logos-package-manager#cli' | ||
| ``` | ||
|
|
||
| This makes `lgpm` available as a global command. | ||
|
|
||
| ## Running the UI standalone | ||
|
|
||
| Start the UI with: | ||
|
|
||
| ```bash | ||
| nix run . | ||
| ``` | ||
|
|
||
| This builds and runs the application in development mode. | ||
| This builds and runs the application in development mode. The Logos bridge is unavailable in standalone mode, but the UI layout and mock data are fully functional. | ||
|
|
||
| ## Running inside Logos Basecamp | ||
|
|
||
| ### 1. Build the LGX package | ||
|
|
||
| ```bash | ||
| # Development variant (requires nix store at runtime) | ||
| nix build '.#lgx' --out-link result-lgx | ||
|
|
||
| # Portable variant (self-contained, works without nix) | ||
| nix build '.#lgx-portable' --out-link result-lgx-portable | ||
| ``` | ||
|
|
||
| ### 2. Install into Basecamp | ||
|
|
||
| ```bash | ||
| # Launch Basecamp once to initialise its data directory, then quit | ||
| nix run 'github:logos-co/logos-basecamp' | ||
|
|
||
| # Set the data directory path | ||
| # macOS: | ||
| BASECAMP_DIR="$HOME/Library/Application Support/Logos/LogosBasecampDev" | ||
| # Linux: | ||
| # BASECAMP_DIR="$HOME/.local/share/Logos/LogosBasecampDev" | ||
|
|
||
| # Install the UI plugin | ||
| lgpm --ui-plugins-dir "$BASECAMP_DIR/plugins" \ | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This command always installs |
||
| install --file result-lgx/*.lgx | ||
| ``` | ||
|
|
||
| > **Note:** Use matching variants throughout — dev with dev, portable with portable. Mixing variants causes loading failures. The portable build uses the `LogosBasecamp` data directory instead of `LogosBasecampDev`. | ||
|
|
||
| ### 3. Launch Basecamp | ||
|
|
||
| ```bash | ||
| nix run 'github:logos-co/logos-basecamp' | ||
| ``` | ||
|
|
||
| This fetches, builds, and launches Basecamp in one step. The AMM UI appears as a new tab in the Basecamp sidebar. | ||
|
|
||
| ### Installing via the Basecamp UI | ||
|
|
||
| Alternatively, use the built-in package manager: | ||
|
|
||
| 1. Launch Basecamp | ||
| 2. Open Package Manager | ||
| 3. Select "Install from file" | ||
| 4. Choose the `.lgx` file from `result-lgx/` | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This UI-install fallback also points only at |
||
|
|
||
| ## Updating Dependencies | ||
|
|
||
|
|
@@ -29,3 +85,18 @@ To update the pinned versions of dependencies in `flake.lock`: | |
| ```bash | ||
| nix flake update | ||
| ``` | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| **Stale QML cache after rebuild:** | ||
| ```bash | ||
| QML_DISABLE_DISK_CACHE=1 nix run 'github:logos-co/logos-basecamp' | ||
| ``` | ||
|
|
||
| **Reset Basecamp data directory:** | ||
| ```bash | ||
| # macOS | ||
| rm -rf ~/Library/Application\ Support/Logos/LogosBasecampDev | ||
| # Linux | ||
| rm -rf ~/.local/share/Logos/LogosBasecampDev | ||
| ``` | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| { | ||
| description = "Logos QML UI Module — replace with your description"; | ||
| description = "Logos Swap — Decentralized, privacy preversed trading"; | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Small typo in public metadata: |
||
|
|
||
| inputs = { | ||
| logos-module-builder.url = "github:logos-co/logos-module-builder"; | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This documents a manual local installation path, but it does not implement the Basecamp integration requested by #29. The linked issue asks for the AMM module to be added to Basecamp's flake inputs, bundled/discoverable at startup, and covered by a smoke test. As written, a fresh Basecamp build still has no AMM module wired into its preinstalled modules, so closing #29 from this PR would make the issue appear solved without changing the Basecamp runtime path.