CKAN LinuxGUI is this fork's Linux desktop shell for the Comprehensive Kerbal
Archive Network (CKAN). Its desktop entry point is ckan-linux, which launches
the self-contained CKAN-LinuxGUI Avalonia app. The shell uses the existing
CKAN core services for metadata, dependency resolution, installs, updates,
removals, and registry writes.
In Debian packages built from this fork, /usr/bin/ckan prefers the Avalonia
LinuxGUI for graphical no-argument launches. Command-style usage, such as
ckan install, ckan remove, or any other invocation with arguments, still
runs through the existing Mono ckan.exe command-line path. If no graphical
display is available, a no-argument launch opens the console UI instead. If
ckan-linux is unavailable, the wrapper falls back to the legacy ckan.exe gui
path.
git clone https://github.com/appaKappaK/CKAN-LinuxUI.git
cd CKAN-LinuxUI
./scripts/install-linuxgui.sh
~/.local/bin/ckan-linuxYou do not need a separate upstream CKAN checkout. This fork already contains
the CKAN core alongside the LinuxGUI shell. If ~/.local/bin is already on your
PATH, you can also launch the app as ckan-linux. The local installer does
not install or replace the ckan command; it only installs the LinuxGUI
launcher.
The explicit desktop command is:
ckan-linuxThat command is installed from LinuxGUI/packaging/ckan-linux. It resolves the
installed app directory and execs:
usr/lib/ckan-linux/CKAN-LinuxGUI
The .NET entry point for that binary is LinuxGUI/Program.cs; it initializes
logging and starts the Avalonia desktop lifetime. LinuxGUI/App.axaml.cs then
builds the app services and opens LinuxGUI/Shell/MainWindow.axaml.
For Debian packages produced by this fork, /usr/bin/ckan is also wired to use
this replacement desktop UI when no command line arguments are supplied and a
Wayland or X11 display is available:
ckanwith no args and a display: opens/usr/bin/ckan-linux.ckanwith no args and a display but nockan-linux: falls back tockan.exe gui.ckanwith args: runs the existing Monockan.execommand path.ckanwith no args and no display: runsckan consoleui.
For normal local use, install the desktop app into ~/.local and launch it as
~/.local/bin/ckan-linux:
./scripts/install-linuxgui.sh
~/.local/bin/ckan-linuxThis local install stays separate from any system ckan command. The
/usr/bin/ckan wrapper behavior described above applies to Debian/package
installs built from this fork, not to the default ~/.local installer.
For package-oriented builds, generate the staged Linux desktop layout:
./build.sh LinuxGUIPackage --configuration=ReleaseThat produces _build/package/ckan-linux/linux-x64/, including:
usr/bin/ckan-linuxusr/lib/ckan-linux/usr/share/applications/ckan-linux.desktopusr/share/icons/hicolor/*/apps/ckan-linux.png
- A native Linux desktop app built with Avalonia in
LinuxGUI/. - A local installer that builds LinuxGUI and installs
ckan-linuxunder~/.localby default. - A package layout under
_build/package/ckan-linux/linux-x64/with the launcher, runtime files, icons, and desktop entry. - Debian package integration that routes graphical no-argument
ckanlaunches tockan-linuxwhile keeping argument-driven command and console behavior intact. - Optional fast catalog browsing through Rust-generated sidecar indexes from
ckan-meta-rs. The LinuxGUI sidecar reader is included in this repo; CKAN core remains authoritative for details, installs, dependency resolution, and registry writes. - LinuxGUI browser conveniences including clearable search, details-pane
relationship browsing for mods that require the selected mod, and a File menu
shortcut to the KSP
Shipscraft folders. - Visual coverage for the LinuxGUI in
LinuxGUI.VisualTests/.
The LinuxGUI mod browser includes a sidecar reader for prebuilt catalog/search
indexes generated by appaKappaK/ckan-meta-rs.
That separate Rust project parses CKAN metadata archives and writes the
catalog-index JSON consumed by this repo.
When configured, the sidecar is the fast browse/search path for the LinuxGUI catalog. CKAN core remains authoritative for metadata details, installs, dependency resolution, compatibility decisions, and registry writes. If a sidecar index file is missing, invalid, or not configured, the LinuxGUI falls back to the normal CKAN metadata loader.
See the LinuxGUI sidecar workflow
for the CKAN_CATALOG_INDEX_PATH development setup and catalog load timing
notes.
Build the self-contained desktop app package layout:
./build.sh LinuxGUIPackage --configuration=ReleaseRun the LinuxGUI visual tests:
./build.sh LinuxGUIVisualTestsSee LinuxGUI/README.md for the full LinuxGUI build,
packaging, development, ckan-meta-rs catalog sidecar, logging, and visual-test
workflow.
Click here to open a new CKAN issue
Click here to go to the CKAN wiki
Click here to view the CKAN metadata specification
The CKAN is a metadata repository and associated tools to allow you to find, install, and manage mods for Kerbal Space Program. It provides strong assurances that mods are installed in the way prescribed by their metadata files, for the correct version of Kerbal Space Program, alongside their dependencies, and without any conflicting mods.
CKAN is great for players and for authors:
- players can find new content and install it with just a few clicks;
- modders don't have to worry about misinstall problems or outdated versions;
The CKAN has been inspired by the solid and proven metadata formats from both the Debian project and the CPAN, each of which manages tens of thousands of packages.
The CKAN is currently under active development. We very much welcome contributions, discussions, and especially pull-requests.
At the core of the CKAN is the metadata specification, which comes with a corresponding JSON Schema that you can also find in the Schema Store
This repository includes a validator that you can use to validate your files.
CKAN can download, install and update mods in just a few clicks. See the User guide to get started with CKAN.
While anyone can contribute metadata for your mod, we believe that you know your mod best. So while contributors will endeavor to be as accurate as possible, we would appreciate any efforts made by mod authors to ensure our metadata's accuracy. If the metadata we have is incorrect please open an issue and let us know.
No technical expertise is required to contribute to CKAN
If you want to contribute, please read our CONTRIBUTING file.
Our sincere thanks to SignPath.io for allowing us to use their free code signing service, and to the SignPath Foundation for giving us a free code signing certificate!
Note: Are you looking for the Open Data portal software called CKAN? If so, their GitHub repository is found here.
