mirror of
https://github.com/dwinkler1/np.git
synced 2026-02-19 14:30:59 -05:00
70 lines
1.8 KiB
Markdown
70 lines
1.8 KiB
Markdown
# Nix Project Templates (np)
|
|
|
|
A collection of Nix flake templates for reproducible development environments.
|
|
|
|
## Templates
|
|
|
|
### RDE (Research Development Environment)
|
|
|
|
The default template for data science and research projects with support for R, Python, and Julia.
|
|
|
|
**Quick start:**
|
|
```bash
|
|
nix flake init -t github:dwinkler1/np#rde
|
|
nix develop
|
|
```
|
|
|
|
**Features:**
|
|
- 🔬 Multi-language support (R, Python, Julia)
|
|
- 📦 Reproducible with Nix
|
|
- 🎨 Neovim-based IDE with LSP support
|
|
- 📊 Research-focused workflows
|
|
- 🔧 Modular and customizable
|
|
|
|
See [templates/rde/README.md](templates/rde/README.md) for full documentation.
|
|
|
|
## CI/CD
|
|
|
|
All templates are automatically tested to ensure functionality:
|
|
|
|
- **Build Tests**: Templates build successfully on Linux and macOS
|
|
- **Functionality Tests**: All commands and language support are verified
|
|
- **Configuration Tests**: Multiple configurations (R, Python, Julia) are tested
|
|
- **Automated Updates**: Dependencies are updated daily via automated PRs
|
|
|
|
### CI Workflows
|
|
|
|
- `.github/workflows/check.yml` - Comprehensive functionality tests (Ubuntu)
|
|
- `.github/workflows/check_macos.yml` - macOS compatibility tests
|
|
- `.github/workflows/update.yml` - Automated dependency updates
|
|
|
|
## Usage
|
|
|
|
1. **Initialize a new project:**
|
|
```bash
|
|
nix flake init -t github:dwinkler1/np#rde
|
|
```
|
|
|
|
2. **Enter development environment:**
|
|
```bash
|
|
nix develop
|
|
# or with direnv
|
|
echo "use flake" > .envrc && direnv allow
|
|
```
|
|
|
|
3. **Start working:**
|
|
```bash
|
|
p-initProject # Create project structure
|
|
p # Launch Neovim
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please ensure:
|
|
- All templates pass CI tests
|
|
- Documentation is updated for new features
|
|
- Code follows existing patterns
|
|
|
|
## License
|
|
|
|
See [LICENSE](LICENSE) file for details.
|