Michael Marquez 6927cf868d Add Nix and environment configuration files
- 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.
2025-08-21 21:18:00 -04:00

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

  • Nix installed on your system
  • direnv (optional, for automatic environment activation)

Quick Start

  1. Enter the development shell:

    nix develop
    
  2. 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:

  1. Edit your global Nix config:

    mkdir -p ~/.config/nix
    echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
    
  2. Or run with explicit experimental features:

    nix --extra-experimental-features 'nix-command flakes' develop
    

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with nix develop and go test ./...
  5. Submit a pull request

License

[Add your license here]

Description
No description provided
Readme 54 KiB
Languages
Go 94.7%
Nix 5.3%