Updated README and added TODO

This commit is contained in:
root 2024-12-10 04:21:30 -08:00
parent e071937cf1
commit 13eece9d44
2 changed files with 120 additions and 12 deletions

View File

@ -1,21 +1,89 @@
# NixOS Proxmox LXC Container Configuration
Quickly configure a NixOS LXC container in Proxmox with custom IP address and SSH key settings.
A comprehensive toolkit for managing NixOS containers in Proxmox VE. This repository provides automated configuration and management tools for NixOS LXC containers.
## One-Line Installation
## Features
- Automated container detection and configuration
- Optimized NixOS settings for LXC containers
- Automatic system upgrades and maintenance
- Proper terminal and shell configuration
- DHCP networking configuration
- Secure SSH access setup
- Nix Flakes support
- Garbage collection and store optimization
## Quick Installation
```bash
curl -sSf https://git.jeirslab.xyz/jeirmeister/NixOS-PVE-LXC/raw/branch/main/config-lxc.sh | bash
curl -sSf https://git.jeirslab.xyz/jeirmeister/NixOS-PVE-Deployment-Util/raw/branch/main/setup.sh | bash
```
The script will:
- Prompt for container ID (100-999)
- Request your SSH public key
- Ask for IP address and gateway
- Configure the container with these settings
- Apply the configuration automatically
## What It Does
**Note**: Always verify scripts before running them with curl. You can inspect the source at the repository first.
The installation script will:
1. Install required dependencies (git)
2. Clone/update the configuration repository
3. Detect available NixOS containers
4. Apply optimized configuration settings
5. Configure proper LXC terminal access
6. Set up system maintenance tasks
Citations:
[1] https://git.jeirslab.xyz/jeirmeister/NixOS-PVE-LXC/raw/branch/main/configuration.nix
## Manual Installation
If you prefer to inspect the code first:
```bash
git clone https://git.jeirslab.xyz/jeirmeister/NixOS-PVE-LXC.git
cd NixOS-PVE-LXC
./setup.sh
```
## Directory Structure
```
.
├── nix-config/ # NixOS configuration files
│ ├── configuration.nix # Main configuration
│ ├── lxc.nix # LXC-specific settings
│ ├── network.nix # Network configuration
│ └── users.nix # User and SSH settings
└── scripts/ # Utility scripts
├── list-lxcs.sh # Container detection
├── mount-nixos-config.sh # Configuration deployment
├── rebuild-nixos.sh # System rebuild
└── setup-lxc-terminal.sh # Terminal setup
```
## Features in Detail
### System Optimization
- Automatic garbage collection
- Store optimization
- Weekly system updates
- Nix Flakes support
### Security
- SSH-based access
- No root login
- Wheel group for sudo access
- Secure default configurations
### Networking
- DHCP configuration
- IPv6 support
- Proper network interface setup
## Requirements
- Proxmox VE 7.0 or later
- NixOS LXC container(s)
- Root access to Proxmox host
## Contributing
Contributions are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests.
## Note
Always review scripts before running them with curl. You can inspect all source code at the repository.

40
TODO.md Normal file
View File

@ -0,0 +1,40 @@
## Roadmap & TODOs
### Planned Features
- **Automated Deployment**
- Deploy LXC containers with user-defined variables (hostname, cores, memory, storage)
- Deploy VMs using customizable templates and configurations
- Automated latest NixOS build fetching and deployment
- Host SSH key integration for secure access
- **Configuration Management**
- Support for custom NixOS configuration overlays
- Template-based configuration system
- LXC-specific optimization notes and best practices
### Integration Goals
- Pending compatibility and integration into [Proxmox Community Scripts](https://community-scripts.github.io/ProxmoxVE/)
- Support for custom configuration files with minimal LXC requirements
### Development Notes
```bash
# LXC Deployment Variables
- Container ID
- Resource allocation (CPU, RAM, Storage)
- Network configuration
- User access and SSH keys
# VM Deployment Variables
- VM ID
- Hardware configuration
- Boot options
- Network settings
```
### Current Limitations
- Manual container creation required
- Limited template customization
- No automated SSH key management
This roadmap will be updated as development progresses.