-
Notifications
You must be signed in to change notification settings - Fork 15
Description
User Story: Terminal-First Dev Environment Setup for Hardcore Linux Users
As a platform engineer and power user on Linux (Ubuntu or Arch),
I want an automated setup script to configure a terminal-native development environment using NeoVim, fish shell, and other advanced CLI tools,
So that I can maximize productivity in a minimal, efficient, and aesthetic environment without manual setup.
⸻
Acceptance Criteria:
✅ Script Support:
• A Bash or fish script that detects whether the system is Ubuntu (APT) or Arch (pacman) and installs accordingly.
✅ Essential Packages:
• NeoVim (with minimal LSP and plugin config)
• Git (with global config and SSH key setup)
• Terminal Emulator (Tilix or Alacritty)
• Fish Shell with Oh My Fish and bobthefish theme
• Oh My Posh (for prompt styling)
• cowsay, lolcat, and asciiquarium (for terminal aesthetic)
✅ Cloud CLIs:
• Azure CLI
• AWS CLI
• Google Cloud SDK
✅ Infrastructure-as-Code Tools:
• Terraform
• OpenTofu
• Bicep
• Helm
✅ Kubernetes Tooling Suite:
• kubectl
• k9s
• kind
• minikube
• skaffold
• helmfile
• stern
• kubectx / kubens
✅ Terminal-based Tools:
• lazygit
• fzf, ripgrep, bat, htop, tldr, exa
✅ Neovim Configuration:
• Plugin manager (lazy.nvim or vim-plug)
• LSP support for Terraform, Kubernetes, YAML, Git
• Terminal file tree (e.g., nvim-tree.lua)
✅ Git Setup:
• Git installed and configured
• SSH key generated and added to GitHub (or prompted to)
✅ Shell Configuration:
• fish shell set as default
• Custom theme with Oh My Fish or bobthefish
• Post-setup success confirmation with asciiquarium
⸻
Documentation Requirements:
📁 Modular README Structure:
• Documentation must avoid a single monolithic README.
• Use a modular folder-based structure that mirrors our current platform engineering documentation format (e.g., docs/, modules/, tools/).
🎯 Accessible Formatting & UX:
• Use accessible markdown formatting, icons (e.g., ✅ 🐳 ☁️), and concise, friendly language.
• Include navigation links between sections and use consistent styling across files.
📚 Reference Inspiration:
• Use our wider Platform Engineering repo as inspiration for structure, tone, and organization.
• Optional: include .devcontainer/ or .nvim/ folder references for portable setups.
⸻
Deliverables:
• setup-dev-env.sh — executable setup script
• docs/ folder with subtopics (e.g., tools, cloud, shell setup, Neovim)
• README.md as a landing page with links to module-specific docs
• Optional: GitHub Actions or Makefile to test setup script locally
Current Placeholder: ./local_development_module/terminal_first_linux/readme.md
Be sure to also update development setup MD accordingly.