KARTOZA · GISNIX
GISNIX¶
An opinionated, open-source NixOS distribution for GIS workstations. QGIS-centred, COSMIC on Wayland, ZFS-encrypted by default, keyboard-first, and reproducible down to the ISO. Boot the installer, partition the disk, pick your software from a bundle registry, and get a machine whose entire configuration is one flake.
Installing GISNIX erases the target disk
The installer completely wipes the disk you install onto — every existing partition and file is destroyed and cannot be recovered. Back up anything you need first, and be sure of the disk you choose. GISNIX and Kartoza accept no responsibility for lost data.
Install on Your Machine¶
Most users want to grab the ISO and install GISNIX on real hardware.
1. Get the ISO¶
Download the latest release or build it yourself:
2. Flash & Boot¶
Write the ISO to a USB drive and boot from it — UEFI required, Secure Boot off.
See making a bootable USB stick for
balenaEtcher/dd/Rufus instructions, or try it first with nix run
.#test-install — no USB drive needed, boots straight into QEMU.
3. Run Setup¶
The Kartoza-branded TUI installer walks you through account setup, storage (ZFS single-disk encrypted, plain XFS, or multi-disk ZFS), locale, boot theme, and a starting software selection.
Full Quickstart Guide Making a Bootable USB Stick
What You Get¶
Bundles¶
Software organised into named sets under software/, each a
bundle.json describing what it needs. gisnix configure gives you a
menu instead of hand-editing config.nix — dependencies resolve on
their own, so asking for the QGIS bundle also gets you the desktop it
needs to run in.
QGIS, Several Ways¶
The current release channels, plus 23 pinned historical QGIS releases going back to 1.8, each installed from its own pinned nixpkgs so the old and the current don't fight over shared library versions.
Encrypted Storage¶
ZFS on a single disk with AES-256-GCM encryption is the installer's default — a passphrase prompt at boot. Plain XFS and multi-disk ZFS (stripe, RAIDZ, RAIDZ2) are the alternatives; see storage modes.
One Command¶
Every operational task — configuring software, creating a host, running
the installer itself — is gisnix <command>, driven from a single
manifest so a new one gets a flake app, a subcommand, and a dev-shell
binary from one entry.
lib.mkHost¶
A separate flake can pin GISNIX and build a host against its bundles and profiles while keeping only its own host and user files — see Building on GISNIX.
Instant Rollbacks¶
Every rebuild is a new generation, selectable from the bootloader menu. Whole-system, reproducible, and never a partial state.
COSMIC on Wayland¶
One desktop, tracked close to upstream — System76's Rust compositor on Wayland. Modern, GPU-accelerated, tiling-capable, and identical on every GISNIX machine so muscle memory travels with you.
Keyboard-first, with speech¶
kanata is on by default — home-row mods, a nav layer, chords — no vendor hardware needed. Hold right Ctrl and voxtype types what you say into whatever field your cursor is in — on the CPU, no graphics card needed.
Sandboxed AI tools¶
Claude Code, Gemini CLI, OpenCode and a local Ollama workspace each run in a bubblewrap jail, so a compromised assistant cannot reach your SSH agent, your keys, or the rest of your home.
Requirements¶
UEFI boot, Secure Boot off, 48GB of disk at minimum (more if you're taking several QGIS versions at once). The installer sizes every ZFS dataset's quota from the disk you actually pick, always leaving 20GB unclaimed as pool headroom — a disk too small for that gets rejected on the storage screen instead of failing partway through the install. See the quickstart for the rest.
AI statement¶
Commercial support¶

GISNIX is built and maintained by Kartoza, an open-source geospatial company. If you are rolling GISNIX out across an organisation and want help — deployment, custom enhancements, private software bundles, training, or a support contract — Kartoza offers all of these commercially.
Acknowledgements¶
GISNIX stands on the work of the NixOS, COSMIC, and QGIS communities.