Skip to content

Conversation

@jdeinum
Copy link
Contributor

@jdeinum jdeinum commented May 26, 2025

Context

As a Debian / Arch user, I want to install a terminal based development system.

What does this PR do?

This PR adds:

  1. A script to install all of the required packages
  2. A set of dotfiles to configure the packages
  3. A docker compose file that can be used to test the system without changing your local install
  4. A nix flake that can be used to test the shell/editor without changing your local install

Requirements Checklist

  • Script Support:

    • A Bash or fish script that detects whether the system is Ubuntu or Arch and installs accordingly.
  • Essential Packages:

    • NeoVim (with minimal LSP and plugin config)
    • Git (with global config and SSH key setup) -> purposefully not implemented
    • Terminal Emulator (Tilix or Alacritty)
    • Fish Shell with Oh My Fish and bobthefish theme -> terminal sets theme
    • Oh My Posh (for prompt styling) -> alternative used (starship)
    • cowsay, lolcat, and asciiquarium (for terminal aesthetic)
  • Cloud CLIs:

    • Azure CLI
    • AWS CLI
    • Google Cloud SDK
  • Infrastructure-as-Code Tools:

    • Terraform
    • OpenTofu
    • Bicep -> could not find on arch, left out until we switch to nixpkgs
    • Helm
  • Kubernetes Tooling Suite:

    • kubectl
    • k9s
    • kind
    • minikube
    • skaffold
    • helmfile
    • stern
    • kubectx / kubens -> alternative used (kubie)
  • 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 -> terraform yes, yaml yes, git and kubernetes no
    • Terminal file tree (e.g., nvim-tree.lua)
  • Git Setup:

    • Git installed and configured -> installed but not configured
    • SSH key generated and added to GitHub (or prompted to) -> purposefully not done
  • Shell Configuration:

    • fish shell set as default
    • Custom theme with Oh My Fish or bobthefish -> terminal sets theme
    • Post-setup success confirmation with asciiquarium -> deliberately not done

Related Issues

closes #73

Recommendations

  1. Only install the shell / editor related packages for the docker / nix files
    so its much faster (currently like 5 mins for both docker and nix, way too long
    when people just want to play around)
  2. Make arch use nixpkgs too. AUR has everything we need other than bicep so I
    started with that, seems fine to use for now.

@jdeinum jdeinum requested a review from a team as a code owner May 26, 2025 21:23
@kevinevans1
Copy link
Contributor

@jdeinum This looks great so far, the only thing I would ask, if for you to add instructions and clear description of the steps. If you're looking for inspiration take a look at the wider PE repo. Maybe add clearer steps and order to ensure the deployment is a success.

@jdeinum
Copy link
Contributor Author

jdeinum commented Jul 10, 2025

Gonna update it again today or tmr, bunch of great changes for a lot of plugins recently :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Terminal-First Dev Environment Setup for Hardcore Linux Users

2 participants