- Created `.envrc` for Direnv integration to manage Nix environment. - Added `.gitignore` to exclude build artifacts and IDE files. - Introduced `flake.nix` for Nix flake configuration and development shell setup. - Generated `flake.lock` to lock dependencies for the Nix environment. - Updated `go.mod` to specify Go version 1.23. - Added `README.md` with project overview, development instructions, and troubleshooting tips.
ARR Go Client
A Go client for ARR applications (Radarr, Sonarr, etc.).
Development with Nix
This project uses Nix for dependency management and development environment setup.
Prerequisites
Quick Start
-
Enter the development shell:
nix develop -
Run the application:
go run .
Development Commands
Once in the Nix shell, you can use standard Go commands:
# Run the application
go run .
# Run tests
go test ./...
# Clean up dependencies
go mod tidy
# Download dependencies
go mod download
# Build the binary
go build -o arr-go-client .
Available Tools
The Nix development environment includes:
- Go 1.23 - Latest stable Go version available in Nix
Project Structure
arr-go-client/
├── flake.nix # Nix flake configuration
├── .envrc # Direnv configuration (auto-loads Nix environment)
├── go.mod # Go module file
├── main.go # Main application
├── client.go # Client implementation
├── interfaces.go # Interface definitions
├── types.go # Type definitions
└── radarr.go # Radarr-specific code
Troubleshooting
Flake Lock Issues
If you need to update the flake lock:
nix flake update
Experimental Features Disabled
If you get errors about experimental features being disabled, you can enable them globally:
-
Edit your global Nix config:
mkdir -p ~/.config/nix echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf -
Or run with explicit experimental features:
nix --extra-experimental-features 'nix-command flakes' develop
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with
nix developandgo test ./... - Submit a pull request
License
[Add your license here]
Description
Languages
Go
94.7%
Nix
5.3%