Skip to content
 
 

Repository files navigation

CKAN LinuxGUI

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.

This fork is intentionally LinuxGUI-first. The old WinForms and terminal user interfaces are not included. A separate .NET 8 command-line build remains available for scripting and headless maintenance.

Status

The LinuxGUI shell is still under active development.

CKAN LinuxGUI mod browser

Desktop App Quick Start

git clone https://github.com/appaKappaK/CKAN-LinuxUI.git
cd CKAN-LinuxUI
./scripts/install-linuxgui.sh
ckan-linux

You do not need a separate upstream CKAN checkout. This fork already contains the CKAN core alongside the LinuxGUI shell. The local installer installs under ~/.local by default and does not replace any system ckan command. If ckan-linux is not on your PATH, launch it directly:

~/.local/bin/ckan-linux

The optional Rust catalog sidecar is not required for this flow.

What This Fork Provides

  • A native Linux desktop app for CKAN, launched as ckan-linux.
  • A local installer that adds ckan-linux under ~/.local without replacing an existing system ckan command.
  • An optional self-contained Linux CLI build for scripts and recovery work.
  • Optional faster catalog browsing through the Rust sidecar index, with normal CKAN registry fallback when it is not present.

Optional Command Line Client

The CLI is deliberately separate from the desktop install:

./build.sh CLI --configuration=Release
_build/publish/CKAN-CmdLine/linux-x64/CKAN-CmdLine version

It supports CKAN's scripting commands but does not launch a GUI, ConsoleUI, or replace the desktop app. The old upgrade ckan executable-replacement path is also disabled; CKAN Linux release checks belong to the desktop update flow.

Optional Rust Catalog Sidecar

LinuxGUI can use a catalog index generated by the separate ckan-meta-rs project to speed up mod browser catalog/search loading. This is optional; normal installs work without Rust and fall back to CKAN's registry cache.

After ckan-meta-rs is installed, LinuxGUI discovers it automatically. Each successful CKAN repository refresh checks the sidecar and rebuilds it from the exact active CKAN cache when it is missing or stale—no second metadata download or source checkout is required.

Development

See LinuxGUI/README.md for LinuxGUI workflow details, builds, packaging, the development launcher, Rust sidecar setup and fallback behavior, logs, benchmarks, and visual-test workflow.

Links

What's the CKAN?

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.

Upstream CKAN Context

This fork carries the upstream CKAN core and adds the LinuxGUI shell in this repository. Core CKAN development, metadata policy, and command-line behavior still come from the upstream CKAN project.

The upstream CKAN project is under active development.

The CKAN spec

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 for players

CKAN can download, install and update mods in just a few clicks. The upstream User guide is useful for CKAN concepts, but its screenshots and layout may not match this LinuxGUI shell.

CKAN for modders

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.

Contributing to CKAN

No technical expertise is required to contribute to CKAN metadata.

For CKAN LinuxGUI issues, use this fork's issue tracker. For upstream CKAN metadata or core contributions, read the upstream CONTRIBUTING file.

Thanks

This fork builds on the upstream CKAN project and its contributors.


Note: Are you looking for the Open Data portal software called CKAN? If so, their GitHub repository is found here.

Releases

Packages

Used by

Contributors

Languages