Set of scripts I use when setting up a fresh install of Fedora.
Find a file
2025-07-12 16:04:15 -05:00
.archive chore: archive old post_install.sh script 2025-05-23 22:56:38 -05:00
nvim discord rpc 2023-12-26 06:06:40 -06:00
scripts feat: Added Signal and Discord flatpaks 2025-06-11 20:28:33 -05:00
steam (feat): Added steam_dev.cfg 2024-04-20 10:06:47 -05:00
terminal (feat): Added aliases 2024-04-20 10:20:44 -05:00
vim LazyVIM and some updated configurations 2023-12-25 10:03:17 -06:00
zsh LazyVIM and some updated configurations 2023-12-25 10:03:17 -06:00
.gitignore (feat): more dot file reworking 2022-10-10 20:58:38 -05:00
agignore (refactor): Cleaned up dotfils folder 2022-09-18 12:29:20 -05:00
aliases.zsh (feat): Changed micro to nvim 2024-09-13 13:27:01 -05:00
commit-conventions.txt (refactor): Cleaned up dotfils folder 2022-09-18 12:29:20 -05:00
gitconfig fix: changed gitconfig to look at ~/ instead of hardcoded path 2025-07-12 16:04:15 -05:00
gitignore (refactor): Cleaned up dotfils folder 2022-09-18 12:29:20 -05:00
LICENSE (refactor): Cleaned up dotfils folder 2022-09-18 12:29:20 -05:00
main-setup.sh refactor: modularize post-install setup script 2025-05-23 22:54:14 -05:00
README.md docs: update README and refactor IDE package installation 2025-05-23 23:02:34 -05:00
temp_dotnet_checklist.md Create temp_dotnet_checklist.md 2025-05-22 16:06:12 -05:00
vimrc (refactor): Added Python syntax, removed unneeded plugs 2022-11-24 12:09:07 -06:00
zshrc Added nvim to zshrc 2024-09-13 13:27:40 -05:00

Fresh Install

This is a collection of scripts and dotfiles I use when setting up a fresh Linux installation.

Quick Start

Run the main setup script to install software, configure development tools, and symlink dotfiles:

./main-setup.sh

The script will automatically detect your Linux distribution (Fedora, Ubuntu, Debian, etc.) and use the appropriate package manager.

What Gets Installed

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:

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
    
  2. Generate SSH key:

    ssh-keygen -t ed25519 -C ${USER}@$(hostname --fqdn)
    
  3. Install Powerlevel10k gitstatus (if using):

    ~/.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.