GitKraken App Extractor
This utility extracts GitKraken's JavaScript sources, so maintainers can inspect how GitKraken works internally, to help develop NixKraken.
Primary use cases:
- reverse‑engineering the encryption format for secrets files
- auto‑discovering available profile icons, EULA version, etc.
- inspecting configuration file schemas
INFO
This utility is only intended for NixKraken maintainers and contributors, hence it is not distributed via NixKraken’s flake outputs.
Usage
To extract GitKraken sources, run:
# From utility's source directory
nix-build# From repository's root
nix-build ./gitkraken/utils/app-extractorINFO
nix build currently does not support function installables. Use classic nix-build for this utility.
Selecting a Version
By default, the utility extracts the latest GitKraken version redistributed by NixKraken (as defined in the NixKraken package set you’re building against).
To target a specific version, run:
nix-build ./gitkraken/utils/app-extractor --argstr version 11.1.0How It Works
Context
GitKraken is an Electron application. Electron applications bundle their JavaScript inside an ASAR archive, which typically contains minified sources.
Electron provides an official ASAR CLI that we use to extract and inspect the bundled sources.
Internals
This is a simple Nix derivation that uses the runCommand build helper to:
- Fetch the GitKraken package from NixKraken
- Invoke the
asarCLI to extract the app archive (e.g.,resources/app.asar) - Expose the extracted files as the derivation's output
The build result is available in the result symlink. Inside, you'll find the extracted app contents.
INFO
The extracted files are bundled/minified sources and may be harder to read than the original source files.
Responsible Use
This utility exists solely to help maintain and improve NixKraken by allowing read‑only inspection of GitKraken’s bundled application code.
Do not modify or redistribute GitKraken code, and do not use the extracted content in ways that would violate GitKraken’s EULA, intellectual property rights, or applicable laws.
DANGER
We do not endorse any usage that violates applicable laws or terms.