Skip to content

Add Flake Dev Environment and Optional Package Output #235

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

conneroisu
Copy link

TLDR;;
Added a flake.nix and lock file containing pinned dependencies for working on the project.

This pull request introduces Nix-based environment management for the project, including a development shell and build system configuration. The changes focus on setting up a reproducible development environment and defining build and formatting processes using Nix flakes.

Environment setup:

  • .envrc: Added support for nix-direnv to automatically load the development environment defined in flake.nix. This includes watching flake.nix and flake.lock for changes and providing feedback if the environment cannot be loaded.

Nix flake configuration:

  • flake.nix: Defined a Nix flake with the following features:
    • Development shell: Configured tools and scripts for Go development, including building, running, testing, and linting the project. Tools like golangci-lint, gopls, and cobra-cli are included.
    • Build system: Set up a Go-based build process using buildGo124Module, specifying metadata like project description, homepage, and license.
    • Formatter: Added a formatter configuration (nix fmt) with support for alejandra (Nix files) and gofmt (Go files).

@conneroisu conneroisu changed the title Add Flake Dev Environment an Optional Package Output Add Flake Dev Environment and Optional Package Output Jun 14, 2025
Added a flake.nix and lock file containing pinned dependencies for working on the project.
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