feat: initial implementation of kwila CLI #1

Open
kwila-cli-bot wants to merge 5 commits from kwila-cli-bot/cli:feat/nix-init into main
First-time contributor

Summary

Initial implementation of the kwila CLI tool for managing Kwila project infrastructure.

Commands

  • kwila nix init - Initialize NixOS flake in current project directory
  • kwila nix update - Update flake.lock dependencies

Features

  • Interactive prompts for project name, domain, SSH key
  • Generates NixOS configuration with Cloudflare Tunnel
  • Embedded templates for flake.nix, configuration.nix, README.md
  • Input validation (hostname format, domain, SSH key)
  • Justfile for build tasks

Generated NixOS Config

  • Hostname from project name
  • User kwila with sudo, zsh, SSH key auth
  • Packages: git, helix, zellij, btop, curl, wget, jq
  • Zsh with oh-my-zsh, autosuggestions, syntax highlighting
  • Cloudflare Tunnel for SSH access
  • Firewall with all ports closed
## Summary Initial implementation of the `kwila` CLI tool for managing Kwila project infrastructure. ## Commands - `kwila nix init` - Initialize NixOS flake in current project directory - `kwila nix update` - Update flake.lock dependencies ## Features - Interactive prompts for project name, domain, SSH key - Generates NixOS configuration with Cloudflare Tunnel - Embedded templates for flake.nix, configuration.nix, README.md - Input validation (hostname format, domain, SSH key) - Justfile for build tasks ## Generated NixOS Config - Hostname from project name - User `kwila` with sudo, zsh, SSH key auth - Packages: git, helix, zellij, btop, curl, wget, jq - Zsh with oh-my-zsh, autosuggestions, syntax highlighting - Cloudflare Tunnel for SSH access - Firewall with all ports closed
- kwila nix init: initialize NixOS flake in project directory
- kwila nix update: update flake.lock dependencies

Features:
- interactive prompts for project name, domain, SSH key
- generates NixOS configuration with cloudflared tunnel
- embedded templates for flake.nix, configuration.nix, README.md
- input validation (hostname format, domain, SSH key)
- justfile for build tasks
- deploy create: provision VM from NixOS template via Proxmox API
- deploy update: sync config and nixos-rebuild over tunnel
- deploy destroy: stop and delete VM

Proxmox provider supports:
- VM cloning from template
- Cloud-init configuration
- Start/stop/delete operations
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u feat/nix-init:kwila-cli-bot-feat/nix-init
git switch kwila-cli-bot-feat/nix-init

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff kwila-cli-bot-feat/nix-init
git switch kwila-cli-bot-feat/nix-init
git rebase main
git switch main
git merge --ff-only kwila-cli-bot-feat/nix-init
git switch kwila-cli-bot-feat/nix-init
git rebase main
git switch main
git merge --no-ff kwila-cli-bot-feat/nix-init
git switch main
git merge --squash kwila-cli-bot-feat/nix-init
git switch main
git merge --ff-only kwila-cli-bot-feat/nix-init
git switch main
git merge kwila-cli-bot-feat/nix-init
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kwila/cli!1
No description provided.