📈 GH Trending Explorer 🎲 Surprise me

← all repos

nix-community / disko

git clone https://github.com/nix-community/disko.git v1.13.0 · 9mo ago 🔥 on GitHub Trending today

Declaratively defines and applies disk partitioning, formatting, and mounting for NixOS using Nix configuration.

Why you might care

NixOS normally leaves disk partitioning manual, so disko lets you describe disk layouts in Nix and reuse them for unattended installs, reinstalls after crashes, or identical servers. It supports GPT, MBR, LVM, mdadm, LUKS, and filesystems including ext4, btrfs, ZFS, and bcachefs, and can run from the NixOS installer or via nixos-anywhere for remote installs.

Categories

nixdevopslinuxos software

Alternatives

NixOS AnacondanixpartAnsibleTerraform
+4
stars, 24h · #7,323
+22
stars, 7 days · #7,579
+~150
stars, 30 days · #5,040
3.4k
★ total · +1% this week
334
forks · 238 open issues

Star history (as recorded here)

2026-10-20 · 3,380 ★ 2026-10-23 · 3,395 ★
LanguageNix
LicenseMIT
Created2019-02-02 (7y ago)
Last push1d ago
Watchers16
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #6 weekly in nix · +22 ★

GitHub topics

Links

README excerpt
# disko - Declarative disk partitioning
Documentation Index
NixOS is a Linux distribution where everything is described as code, with one
exception: during installation, the disk partitioning and formatting are manual
steps. **disko** aims to correct this sad 🤡 omission.
This is especially useful for unattended installations, re-installation after a
system crash or for setting up more than one identical server.
## Overview
**disko** can either be used after booting from a NixOS installer, or in
conjunction with nixos-anywhere if
you're installing remotely.
Before using **disko**, the specifications of the disks, partitions, type of
formatting and the mount points must be defined in a Nix configuration. You can
find examples of typical configurations in the Nix community
repository, and use one of these as the basis of your own configuration.
You can keep your configuration and re-use it for other installations, or for a
system rebuild.
**disko** is flexible, in that it supports most of the common formatting and
partitioning options, including:
- Disk layouts: GPT, MBR, and mixed.
- Partition tools: LVM, mdadm, LUKS, and more.
- Filesystems: ext4, btrfs, ZFS, bcachefs, tmpfs, and others.
It can work with these in various configurations and orders, and supports
recursive layouts.
## How to use disko
Disko doesn't require installation: it can be run directly from nix-community
repository. The Quickstart Guide documents how to run
Disko in its simplest form when installing NixOS. Alternatively, you can also
use the new disko-install tool, which combines
`disko` and `nixos-install` into one step.
For information on other use cases, including upgrading from an older version of
**disko**, using **disko** without NixOS and downloading the module, see the
How To Guide
For more detailed options, such as command line switches, see the
Reference Guide
To access sample configurations for commonly-used disk layouts, refer to the
examples provided.
Disko can be also used to create disk images.
## Sample Configuration and CLI command
A simple disko configuration may look like this:
 [code] 
If you'd saved this configuration in /tmp/disk-config.nix, and wanted to create
a disk named /dev/sda, you would run the following command to partition, format
and mount the disk.
 [code] 
## Related Tools
This tool is used by
nixos-anywhere, which carries out a
fully-automated remote install of NixOS.
We also acknowledge https://github.com/NixOS/nixpart, the conceptual ancestor of
this project.
## Licensing and Contribution details
This software is provided free under the
MIT Licence.
If you want to contribute, check out CONTRIBUTING.md.
## Get in touch
We have a public matrix channel at
disko.
---
This project is supported by Numtide.
We are a team of independent freelancers that love open source.  We help our
customers make their project lifecycles more efficient by:
- Providing and supporting useful tools such as this one
- Building and deploying infrastructure, and offer

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.