From 13eece9d44b217726173ae3128af452184cabf27 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 10 Dec 2024 04:21:30 -0800 Subject: [PATCH] Updated README and added TODO --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++-------- TODO.md | 40 ++++++++++++++++++++++++ 2 files changed, 120 insertions(+), 12 deletions(-) create mode 100644 TODO.md diff --git a/README.md b/README.md index 41097cf..4eb44db 100644 --- a/README.md +++ b/README.md @@ -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 \ No newline at end of file +## 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. \ No newline at end of file diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..68ecafa --- /dev/null +++ b/TODO.md @@ -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. \ No newline at end of file