Skip to content

Modernize flake structure with import-tree and updated tooling

Daniel Firth requested to merge feature/modernize-flake-structure into master

Summary

This MR modernizes the repository structure to follow current best practices:

  • Replace horizon-flake-parts with standard flake-parts
  • Add import-tree for automatic module loading from nix/ directory
  • Update gitlab-omnix-ci from 0.3.1 to 0.5.0
  • Add treefmt-nix with deadnix, dhall, nixpkgs-fmt, and statix
  • Add horizon-supported-systems for system configuration
  • Remove custom lint-utils in favor of treefmt-nix

Flake structure changes

  • Simplify flake.nix to minimal import-tree-based configuration
  • Create modular nix/ directory structure:
    • nix/systems.nix: System configuration
    • nix/ci.nix: GitLab CI/Omnix configuration
    • nix/treefmt.nix: Code formatting configuration
    • nix/dhall.nix: Dhall package building logic
    • nix/checks.nix: Flake checks
    • nix/devShells.nix: Development shell
  • Remove old modules/ci.nix in favor of nix/ci.nix
  • Update .gitlab-ci.yml to use gitlab-ci 0.3.0

🤖 Generated with Claude Code

Edited by Daniel Firth

Merge request reports