Keystone

Self-sovereign infrastructure platform with secure, encrypted NixOS deployments


Project maintained by ncrmro Hosted on GitHub Pages — Theme by mattgraham

Keystone Documentation

Welcome to the Keystone documentation. Keystone is a NixOS-based self-sovereign infrastructure platform that enables users to deploy secure, encrypted infrastructure on any hardware.

Documentation Overview

Getting Started

Installation & Deployment

Security & Encryption

Module Documentation

Advanced Topics

Quick Start

1. Build Installation ISO

# Clone the repository
git clone https://github.com/ncrmro/keystone.git
cd keystone

# Build ISO with your SSH key
./bin/build-iso --ssh-key ~/.ssh/id_ed25519.pub

2. Test in a VM (Optional)

# Quick VM test with automated build
./bin/build-vm terminal    # Terminal environment
./bin/build-vm desktop     # Full desktop environment

# Or use the full-stack VM testing
./bin/virtual-machine --name keystone-test-vm --start

3. Deploy to Hardware

# Boot target machine from ISO
# Get IP address from installer console

# Deploy from your development machine
nixos-anywhere --flake .#test-server root@<installer-ip>

4. Post-Installation

# SSH into deployed system
ssh root@<server-ip>

# Enroll TPM for automatic unlock
keystone-enroll-tpm

# Verify secure boot status
bootctl status

Architecture Overview

System Types

Servers

Always-on infrastructure providing:

Clients

Interactive systems featuring:

Security Features

Key Technologies

Development Roadmap

Current Release: v0.0.1 (Alpha)

Upcoming Releases

v0.0.2 - Developer Environment

v0.0.3 - Workstation Desktop

v0.0.4 - Universal Development

See the full Roadmap for detailed version plans and future features.

Contributing

We welcome contributions! Areas where help is particularly needed:

Please see our GitHub repository for details on how to get involved.

Community & Support

License

Keystone is open source software licensed under the MIT License.


This documentation is continuously updated. For the latest information, please check the GitHub repository.