StackPanel

Core Module

Documentation for the core module

Foundational options and boot logic for the Stackpanel module system.

Overview

The core module defines the root configuration schema (project name, directories, root marker) and sets up the devshell environment: environment variables, directory creation, shell hooks, and CLI integration.

Feature-specific options live in their own directories (apps/, services/, network/, secrets/, ide/, tui/, variables/).

Files

FileDescription
default.nixEntry point — imports all core modules, sets up hooks
options-core.nixRoot options: enable, name, root, dirs, direnv, git-hooks, checks
outputs.nixFlake output derivations and apps
checks.nixModule check schema for nix flake check
motd.nixMessage of the Day configuration
codegen.nixCode generator definitions
cli.nixCLI-based file generation (invokes Go CLI)
cli-options.nixCLI enable/quiet options
state.nixLegacy state file generation
state-options.nixState file options
user-packages.nixUser-installed packages from .stackpanel/data/packages.nix
users-options.nixTeam member definitions
panels.nixUI panel system for the web studio
tasks.nixTurborepo task definitions
ci.nixCI/CD workflow generation
modules-options.nixModule registry schema
extensions.nixExtension system (backward compat alias to modules)
aliases.nixShell alias management
util.nixInternal logging utilities

Usage

The core module is imported automatically via nix/stackpanel/default.nix. Configure it in your project:

stackpanel = {
  enable = true;
  name = "my-project";
  dirs.home = ".stackpanel";
};

On this page