docs: update README and refactor IDE package installation

- Update README to reflect new modular setup architecture
- Document all installed packages, scripts, and post-install tasks
- Add clear instructions for supported distributions and customization

- Move Visual Studio Code installation to main package script
- Add JetBrains Rider to package installation
- Remove redundant VS Code install from Fedora .NET script
- Consolidate IDE installations in single location for better organization
This commit is contained in:
Blake Ridgway 2025-05-23 23:02:34 -05:00
parent 71ad3511e4
commit b1b7d61769
3 changed files with 116 additions and 11 deletions

124
README.md
View file

@ -1,19 +1,123 @@
# Fresh Install
This is a collection of items I use when I setup a fresh install.
This is a collection of scripts and dotfiles I use when setting up a fresh Linux installation.
## Install
## Quick Start
./post_install will run a script that installs the software that I use on daily basis, and if you have all the necessary programs installed. If you don't, it installs them for you! Once the dependencies are installed, it will run any third party installations, and create symlinks for the necessary config files in the correct locations.
Run the main setup script to install software, configure development tools, and symlink dotfiles:
### Dotfiles
```bash
./main-setup.sh
```
Here's my collection of dotfiles I use on Linux environments. I continuously add to this repo over time, as I customise my dev environment. Feel free to fork this and modify the scripts/dotfiles to suit your own needs!
The script will automatically detect your Linux distribution (Fedora, Ubuntu, Debian, etc.) and use the appropriate package manager.
Git Make sure to edit the gitconfig and add your credentials instead of mine
## What Gets Installed
VIM Installation Tips I use neovim and vim-plug. So if you're using regular vim you might want to remove the neovim specific plugins from my vimrc. Also, you might need to run :PlugClean to remove the plugin directories then run :PlugInstall to reinstall them.
### Core Packages
- Development tools: `git`, `gh`, `curl`, `wget`, `ripgrep`, `fd-find`
- System utilities: `btop`, `fastfetch`, `zsh`, `flatpak`
- Virtualization: `virt-manager`
- Python: `python3`, `python3-pip`
### Development Environment
- **Neovim** (latest version from GitHub)
- **Hack Nerd Font** for terminal
- **Oh My Zsh** shell framework
- **Starship** prompt
- **Rust** toolchain via rustup
### Fedora-Specific (.NET Development)
On Fedora systems, additional packages are installed:
- **Visual Studio Code**
- **.NET SDK** (with Microsoft repository)
- **PostgreSQL** server and tools
- **Docker** (moby-engine) with Docker Compose
### Flatpak Applications
- Bitwarden
- Flatseal
- Steam
- ProtonUp-Qt
- Rider
- Veloren Airshipper
- Visual Studio Code
- VLC Media Player
## 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, fonts, shell)
- `03-fedora-dotnet-setup.sh` - Fedora-specific .NET environment
- `04-config-symlinks.sh` - Dotfile symlinking
You can run individual scripts if you only need specific components.
## Dotfiles
The following configuration files will be symlinked to your home directory:
- `.vimrc` & `.vim/` - Vim/Neovim configuration
- `.zshrc` & `.zsh/` - Zsh shell configuration
- `.gitconfig` - Git configuration (**edit with your credentials**)
- `.gitignore` - Global Git ignore patterns
- `.agignore` - Silver Searcher ignore patterns
- `.aliases` - Shell aliases (from `aliases.zsh`)
- `.gitmessage` - Git commit template (from `commit-conventions.txt`)
### Git Configuration
**Important:** Edit `gitconfig` and replace my credentials with yours before running the setup.
### Vim/Neovim Setup
I use Neovim with vim-plug for plugin management. If you're using regular Vim, you may need to:
1. Remove Neovim-specific plugins from `.vimrc`
2. Run `:PlugClean` to remove plugin directories
3. Run `:PlugInstall` to reinstall compatible plugins
## Post-Installation Tasks
After running the setup, remember to:
1. **Configure Git with your details:**
```bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```
2. **Generate SSH key:**
```bash
ssh-keygen -t ed25519 -C ${USER}@$(hostname --fqdn)
```
3. **Install Powerlevel10k gitstatus (if using):**
```bash
~/.oh-my-zsh/custom/themes/powerlevel10k/gitstatus/install -f
```
4. **Log out and back in** for Docker group changes to take effect (Fedora)
5. **Install VS Code extensions** (Fedora):
- C# Dev Kit
- GitLens
- Prettier
- NuGet Package Manager GUI
## Supported Distributions
- **Fedora** (with full .NET development environment)
- **Ubuntu/Debian** (core packages and development tools)
- **Pop!_OS** (core packages and development tools)
## Customization
Feel free to fork this repository and modify the scripts/dotfiles to suit your needs. The modular structure makes it easy to add, remove, or modify specific components.
## Legacy
The original monolithic `post_install.sh` script has been archived in `.archive/` for reference.
*Things to Remember*
`~/.oh-my-zsh/custom/themes/powerlevel10k/gitstatus/install -f`
`ssh-keygen -t ed25519 -C ${USER}@$(hostname --fqdn)`

View file

@ -53,7 +53,9 @@ PACKAGE_LIST=($(printf "%s\n" "${PACKAGE_LIST[@]}" | LC_ALL=C sort -u))
FLATPAK_LIST=(
com.bitwarden.desktop
com.github.tchx84.Flatseal
com.jetbrains.Rider
com.valvesoftware.Steam
com.visualstudio.code
net.davidotek.pupgui2
net.veloren.airshipper
org.videolan.VLC

View file

@ -21,7 +21,6 @@ echo "############################################################"
echo ""
FEDORA_DOTNET_PACKAGES=(
"code" # Visual Studio Code from Fedora repositories
"postgresql-server"
"postgresql-contrib"
"moby-engine" # Docker Engine on Fedora