feat: retool setup scripts as Debian 13-first (keep Fedora support)
- main-setup.sh: sudo/root preflight for fresh Debian installs; offer distro-agnostic 03-dotnet-setup.sh on all supported distros - 01-package-install.sh: Debian package renames (bind9-dnsutils), batcat symlink, libvirt/QEMU stack; vendor repos for gh/terraform/kubectl + k9s/minikube binaries (not in Debian main); keep dnf path for Fedora - 02-dev-tools-setup.sh: PEP 668 fallback for pynvim pip install - 03-fedora-dotnet-setup.sh -> 03-dotnet-setup.sh: .NET SDK via official dotnet-install.sh (no MS repo), PostgreSQL + Podman/podman-docker - zshrc: purge dead oh-my-zsh references (prompt is Oh-My-Posh) - README: Debian 13 first-class; docs: record decisions + status
This commit is contained in:
80
README.md
80
README.md
@@ -10,51 +10,51 @@ Run the main setup script to install software, configure development tools, and
|
||||
./main-setup.sh
|
||||
```
|
||||
|
||||
The script will automatically detect your Linux distribution (Fedora, Ubuntu, Debian, etc.) and use the appropriate package manager.
|
||||
The script will automatically detect your Linux distribution (Debian 13 "trixie" is the primary target; Ubuntu and Fedora also work) and use the appropriate package manager (`apt` or `dnf`).
|
||||
|
||||
## What Gets Installed
|
||||
|
||||
### Core Packages
|
||||
- Development tools: `git`, `gh`, `curl`, `wget`, `ripgrep`, `fd-find`
|
||||
- System utilities: `btop`, `fastfetch`, `zsh`, `flatpak`
|
||||
- Virtualization: `virt-manager`
|
||||
### Core Packages (distro packages)
|
||||
- Development tools: `git`, `curl`, `wget`, `ripgrep`, `fd-find`, `bat`, `eza`
|
||||
- System utilities: `btop`, `zsh`, `tmux`, `fzf`, `zoxide`, `flatpak`
|
||||
- Virtualization (KVM): `virt-manager` + libvirt/QEMU stack
|
||||
- Python: `python3`, `python3-pip`
|
||||
- Networking: `nmap`, `mtr`, `tcpdump`, `socat`, `whois`, `iperf3`, `traceroute`
|
||||
- Cloud / DevOps: `kubectl`, `k9s`, `minikube`, `terraform`, `helm`, `direnv`
|
||||
- HTTP: `curl`, `httpie`
|
||||
- Networking: `nmap`, `mtr`, `tcpdump`, `socat`, `whois`, `iperf3`, `traceroute`, `bind9-dnsutils`
|
||||
- HTTP: `httpie`
|
||||
- DevOps helpers: `ansible`, `direnv`, `jq`, `tldr`, `unzip`
|
||||
|
||||
### Development Environment
|
||||
- **Neovim** (latest version from GitHub)
|
||||
- **Hack Nerd Font** for terminal
|
||||
- **Oh My Zsh** shell framework
|
||||
- **Starship** prompt
|
||||
### Upstream Tooling (installed by 01)
|
||||
`gh` (GitHub CLI), `terraform`, `kubectl`, `k9s` and `minikube` are **not packaged in Debian**, so `01-package-install.sh` adds the official vendor apt repositories (GitHub CLI, HashiCorp, `pkgs.k8s.io`) and installs `k9s`/`minikube` from upstream binaries. On Fedora these are a best-effort `dnf` install (usually COPR/manual).
|
||||
|
||||
### Development Environment (02)
|
||||
- **Neovim** (latest from GitHub, installed to `/opt/nvim`)
|
||||
- **Hack Nerd Font** for terminals
|
||||
- **Go** toolchain (`/usr/local/go`)
|
||||
- **Rust** toolchain via rustup
|
||||
- **Oh-My-Posh** prompt (`~/.local/bin`)
|
||||
- **Helm**, **kubectx/kubens**, **stern**, **dive**, **trivy**, **AWS CLI v2**
|
||||
|
||||
### Fedora-Specific (.NET Development)
|
||||
On Fedora systems, additional packages are installed:
|
||||
- **Visual Studio Code**
|
||||
- **.NET SDK** (with Microsoft repository)
|
||||
### .NET / Backend Services (03, optional)
|
||||
Distro-agnostic .NET development environment:
|
||||
- **.NET SDK** via the official `dotnet-install.sh` (no vendor repository needed)
|
||||
- **PostgreSQL** server and tools
|
||||
- **Docker** (moby-engine) with Docker Compose
|
||||
- **Podman** + `podman-compose` + `podman-docker` (Docker-CLI-compatible containers)
|
||||
- VS Code is installed as a **Flatpak** (`com.visualstudio.code`)
|
||||
|
||||
### Flatpak Applications
|
||||
- Bitwarden
|
||||
- Flatseal
|
||||
- Steam
|
||||
- ProtonUp-Qt
|
||||
- Rider
|
||||
- Veloren Airshipper
|
||||
- Visual Studio Code
|
||||
- VLC Media Player
|
||||
- Bolt, Bitwarden, Discord, Teams for Linux, Flatseal
|
||||
- Steam, ProtonUp-Qt (pupgui2), VLC
|
||||
- Visual Studio Code, Podman Desktop
|
||||
- Signal, Thunderbird
|
||||
|
||||
## Modular Architecture
|
||||
|
||||
The setup is broken down into focused scripts:
|
||||
|
||||
- `00-system-prep.sh` - System updates and Flathub setup
|
||||
- `01-package-install.sh` - Core packages and Flatpak apps
|
||||
- `02-dev-tools-setup.sh` - Development tools (Neovim, Go, Rust, Helm, kubectx, stern, dive, trivy, AWS CLI)
|
||||
- `03-fedora-dotnet-setup.sh` - Fedora-specific .NET environment
|
||||
- `01-package-install.sh` - Core packages, upstream tooling, and Flatpak apps
|
||||
- `02-dev-tools-setup.sh` - Development tools (Neovim, Go, Rust, Oh-My-Posh, Helm, kubectx, stern, dive, trivy, AWS CLI)
|
||||
- `03-dotnet-setup.sh` - .NET SDK + PostgreSQL + Podman (distro-agnostic)
|
||||
- `04-config-symlinks.sh` - Dotfile symlinking
|
||||
|
||||
You can run individual scripts if you only need specific components.
|
||||
@@ -97,14 +97,22 @@ After running the setup, remember to:
|
||||
ssh-keygen -t ed25519 -C ${USER}@$(hostname --fqdn)
|
||||
```
|
||||
|
||||
3. **Install Powerlevel10k gitstatus (if using):**
|
||||
3. **Set zsh as your login shell:**
|
||||
```bash
|
||||
~/.oh-my-zsh/custom/themes/powerlevel10k/gitstatus/install -f
|
||||
chsh -s /usr/bin/zsh
|
||||
```
|
||||
|
||||
4. **Log out and back in** for Docker group changes to take effect (Fedora)
|
||||
4. **Add yourself to virtualization groups** (log out/in afterward):
|
||||
```bash
|
||||
sudo usermod -aG libvirt,kvm $USER
|
||||
```
|
||||
|
||||
5. **Install VS Code extensions** (Fedora):
|
||||
5. **(Optional) enable the rootless Podman API socket:**
|
||||
```bash
|
||||
systemctl --user enable --now podman.socket
|
||||
```
|
||||
|
||||
6. **Install VS Code extensions:**
|
||||
- C# Dev Kit
|
||||
- GitLens
|
||||
- Prettier
|
||||
@@ -112,9 +120,9 @@ After running the setup, remember to:
|
||||
|
||||
## Supported Distributions
|
||||
|
||||
- **Fedora** (with full .NET development environment)
|
||||
- **Ubuntu/Debian** (core packages and development tools)
|
||||
- **Pop!_OS** (core packages and development tools)
|
||||
- **Debian 13 "trixie"** (primary target — full setup incl. upstream tooling, .NET, and backend services)
|
||||
- **Ubuntu / Pop!_OS** (apt; core + development tools)
|
||||
- **Fedora** (dnf; core + development tools, best-effort upstream tooling)
|
||||
|
||||
## Customization
|
||||
|
||||
|
||||
Reference in New Issue
Block a user