Skip to content

Updates Go version and refactors#215

Merged
crdant merged 13 commits intomainfrom
fix/crdant/uses-right-go-version
Nov 15, 2025
Merged

Updates Go version and refactors#215
crdant merged 13 commits intomainfrom
fix/crdant/uses-right-go-version

Conversation

@crdant
Copy link
Owner

@crdant crdant commented Nov 15, 2025

TL;DR

Bumps Go version for kots and replicated workflows

Details

Uses the right Go version for the kots and replicated automatic update workflows. Also refactors them to use a matrix for the two hash calculations for easier maintainability.

Summary by CodeRabbit

  • Chores

    • Consolidated CI/CD workflows for improved build efficiency; upgraded Go toolchain to version 1.24
  • Refactor

    • Restructured LLM plugin system for simplified management
  • New Features

    • Added pixi development tool for project management
    • Added Docker client for container workflows
  • Configuration

    • Updated terminal theme and added new keybinding
    • Switched development environment from nightly to stable release

@coderabbitai
Copy link

coderabbitai bot commented Nov 15, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR consolidates GitHub Actions workflows from separate OS-specific jobs to matrix-based execution, upgrades Go toolchain from 1.21 to 1.24, removes the complex LLM plugin generation infrastructure (overlays, Makefiles, lock files, and Python tooling), and switches to a simpler withPlugins approach in home configuration. Additionally, it includes targeted updates to container and development modules, and patches configuration values in Homebrew and Ghostty settings.

Changes

Cohort / File(s) Summary
GitHub Actions Workflows
.github/workflows/update-kots.yml, .github/workflows/update-replicated.yml
Consolidates calculate-darwin-hash and calculate-linux-hash jobs into a single matrix-driven calculate-hash job supporting both ubuntu-latest and macos-latest. Adds linux-hash output alongside darwin-hash. Upgrades Go version from 1.21 to 1.24. Updates dependent job update-and-create-pr to reference the new unified outputs.
LLM Plugin Infrastructure Removal
overlays/llm/default.nix, pkgs/llm/plugins/Makefile, pkgs/llm/plugins/build-llm-plugin.nix, pkgs/llm/plugins/default.nix, pkgs/llm/plugins/generated-plugins.nix, pkgs/llm/plugins/llm-plugins-lock.json, pkgs/llm/plugins/llm-plugins.json, pkgs/llm/plugins/overlay.nix, pkgs/llm/plugins/update-plugins.py
Removes entire LLM plugin generation and management infrastructure including custom Python environment, plugin derivations, lock files, metadata manifests, build tooling (Makefile), and GitHub API integration script.
LLM Overlay Cleanup
overlays/default.nix
Removes the llm entry from python3Packages attribute set.
LLM Home Module Migration
home/modules/ai/default.nix
Replaces plain llm package declaration with llm.withPlugins block specifying a suite of plugins (anthropic, cmd, echo, fireworks, gemini, groq, jq, perplexity, python, templates-fabric, tools-quickjs, tools-simpleeval, tools-sqlite, venice).
Container Module Update
home/modules/containers/default.nix
Adds docker-client package to home.packages list.
Development Module Update
home/modules/development/default.nix
Adds pixi package to development packages list.
Ghostty Configuration
home/modules/desktop/config/ghostty/config
Changes theme from composite dark/light mapping to "Rose Pine Moon" string value. Adds keybind = shift+enter=text:\n configuration.
Homebrew Configuration
systems/modules/development/default.nix
Updates Homebrew cask from "codelayer-nightly" to "codelayer".

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant GH as GitHub Actions
    participant Matrix as Matrix Job
    participant Ubuntu as Ubuntu Runner
    participant macOS as macOS Runner
    participant PR as Update PR Job

    GH->>Matrix: Trigger calculate-hash (matrix strategy)
    par Parallel OS Builds
        Matrix->>Ubuntu: runs-on: ubuntu-latest
        Ubuntu->>Ubuntu: Calculate linux-hash
        Note over Ubuntu: Vendor hash for Linux
    and
        Matrix->>macOS: runs-on: macos-latest
        macOS->>macOS: Calculate darwin-hash
        Note over macOS: Vendor hash for macOS
    end
    
    Matrix-->>Matrix: Publish outputs<br/>linux-hash, darwin-hash
    
    PR->>Matrix: needs.calculate-hash.outputs
    PR->>PR: Update with both hashes
    Note over PR: Single source of truth
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

  • GitHub workflows: Verify matrix-based job execution is correctly configured for both OSes; ensure output references are properly updated in dependent jobs (update-and-create-pr); confirm Go version upgrade from 1.21 to 1.24 doesn't introduce breaking changes in vendor hash calculation.
  • LLM infrastructure removal: Confirm complete deletion of plugin generation system; verify no orphaned references remain in other configuration files; check that home/modules/ai/default.nix migration to withPlugins syntax is the complete replacement strategy.
  • LLM plugins withPlugins migration: Validate the hardcoded plugin list in home/modules/ai/default.nix contains all necessary plugins for the intended workflow.

Possibly related PRs

  • Implements automated package update workflows for custom packages #196: Modifies the same GitHub Actions workflows (update-kots.yml, update-replicated.yml) and vendor-hash tooling, directly overlapping with the workflow consolidation changes in this PR.
  • Refreshes packages #214: Alters LLM plugin configuration in home/modules/ai/default.nix and plugin management infrastructure, closely related to the plugin system migration from overlays to withPlugins.
  • Improves KOTS workflow #212: Addresses the calculate-go-vendor-hash.py script used within the workflow jobs being consolidated here, creating a dependency chain with the workflow refactoring.

Poem

🐰 We bundled up the hash jobs in a matrix so fine,
Removed the tangled plugins—one withPlugins line!
Go marches forward (1.24's the way),
Simplified and unified in every way! 🚀

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/crdant/uses-right-go-version

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 982e74d and fec385c.

⛔ Files ignored due to path filters (1)
  • flake.lock is excluded by !**/*.lock
📒 Files selected for processing (17)
  • .github/workflows/update-kots.yml (4 hunks)
  • .github/workflows/update-replicated.yml (5 hunks)
  • home/modules/ai/default.nix (1 hunks)
  • home/modules/containers/default.nix (1 hunks)
  • home/modules/desktop/config/ghostty/config (1 hunks)
  • home/modules/development/default.nix (1 hunks)
  • overlays/default.nix (0 hunks)
  • overlays/llm/default.nix (0 hunks)
  • pkgs/llm/plugins/Makefile (0 hunks)
  • pkgs/llm/plugins/build-llm-plugin.nix (0 hunks)
  • pkgs/llm/plugins/default.nix (0 hunks)
  • pkgs/llm/plugins/generated-plugins.nix (0 hunks)
  • pkgs/llm/plugins/llm-plugins-lock.json (0 hunks)
  • pkgs/llm/plugins/llm-plugins.json (0 hunks)
  • pkgs/llm/plugins/overlay.nix (0 hunks)
  • pkgs/llm/plugins/update-plugins.py (0 hunks)
  • systems/modules/development/default.nix (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@crdant crdant merged commit c132981 into main Nov 15, 2025
8 of 9 checks passed
@crdant crdant deleted the fix/crdant/uses-right-go-version branch November 15, 2025 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant