https://github.com/knightthecoder/linux-distro-post-install-scripts
Configure a distro after a fresh install
https://github.com/knightthecoder/linux-distro-post-install-scripts
arch-linux bash bash-prompt bash-script debian debian-linux fedora fedora-linux fish fish-prompt fish-shell linux linux-desktop opensuse-tumbleweed setup setuptools zsh zsh-prompt
Last synced: 16 days ago
JSON representation
Configure a distro after a fresh install
- Host: GitHub
- URL: https://github.com/knightthecoder/linux-distro-post-install-scripts
- Owner: KnightTheCoder
- License: gpl-2.0
- Created: 2024-01-15T19:18:40.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-12T21:10:59.000Z (17 days ago)
- Last Synced: 2025-04-13T08:12:53.134Z (16 days ago)
- Topics: arch-linux, bash, bash-prompt, bash-script, debian, debian-linux, fedora, fedora-linux, fish, fish-prompt, fish-shell, linux, linux-desktop, opensuse-tumbleweed, setup, setuptools, zsh, zsh-prompt
- Language: Shell
- Homepage:
- Size: 1.32 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Welcome to Linux Distro Post Install Scripts! ๐
![Stargazers][star-shield]
[![GitHub License][license-shield]][license-url]
![GitHub code size in bytes][size-shield]
[![GitHub last commit][commit-shield]][commit-url]
[![GitHub Issues][issue-shield]][issue-url][star-shield]: https://img.shields.io/github/stars/KnightTheCoder/Linux-Distro-Post-Install-Scripts?style=for-the-badge
[license-shield]: https://img.shields.io/github/license/KnightTheCoder/Linux-Distro-Post-Install-Scripts?color=blue&style=for-the-badge
[license-url]: LICENSE
[size-shield]: https://img.shields.io/github/languages/code-size/KnightTheCoder/Linux-Distro-Post-Install-Scripts?color=blue&style=for-the-badge
[commit-shield]: https://img.shields.io/github/last-commit/KnightTheCoder/Linux-Distro-Post-Install-Scripts?color=blue&style=for-the-badge
[commit-url]: https://github.com/KnightTheCoder/Linux-Distro-Post-Install-Scripts/commits/master/
[issue-shield]: https://img.shields.io/github/issues/KnightTheCoder/Linux-Distro-Post-Install-Scripts?color=green&style=for-the-badge
[issue-url]: https://github.com/KnightTheCoder/Linux-Distro-Post-Install-Scripts/issuesPost install script
Requirements
ยท
Usage
ยท
Features
ยท
Project documentationA collection of scripts for getting a new system up and running easily

> [!NOTE]
> Click on distros for distro specific features and information## Supported distros
- [OpenSUSE][1]
- [Fedora][2]
- [Debian][3]
- [Arch linux][4]Tested distros:
- OpenSUSE Tumbleweed
- OpenSUSE Leap
- Fedora
- Debian
- Ubuntu
- Linux Mint
- ZorinOS
- Pop!\_OS
- MX Linux
- Linux Lite
- WSL
- Arch Linux
- EndeavourOS
- Manjaro Linux> Written in Bash and whiptail
> [!NOTE]
> Originally designed for OpenSUSE Tumbleweed KDE
> Only tested with the x86 architecture> [!IMPORTANT]
> If you're using a very old iso, update the system and restart before running the script
> Recommended on Arch Linux and OpenSUSE Tumbleweed## ๐ Requirements
- curl (to download the scripts)
- unzip (to unzip the scripts)
- bash (to run the scripts)
- systemd (needed to start services)Debian
```console
sudo apt install curl unzip bash -y
```Fedora
```console
sudo dnf install curl unzip bash -y
```OpenSUSE
```console
sudo zypper install --details -y curl unzip bash
```Arch linux
```console
sudo pacman -Syy curl unzip bash --noconfirm --needed
```## ๐ก Usage
> [!NOTE]
> Step 1: Download scripts (will be downloaded to your downloads directory)
> Step 2: Navigate to the downloaded scripts and unzip them
> Step 3: Run the scriptStable
```console
curl -Lo "$(xdg-user-dir DOWNLOAD)/post-install-scripts.zip" "https://github.com/KnightTheCoder/Linux-Distro-Post-Install-Scripts/archive/refs/heads/master.zip"cd "$(xdg-user-dir DOWNLOAD)" && unzip -o post-install-scripts.zip && cd Linux-Distro-Post-Install-Scripts-master
bash ./post_install.sh
```Experimental
```console
curl -Lo "$(xdg-user-dir DOWNLOAD)/post-install-scripts.zip" "https://github.com/KnightTheCoder/Linux-Distro-Post-Install-Scripts/archive/refs/heads/maintanence.zip"cd "$(xdg-user-dir DOWNLOAD)" && unzip -o post-install-scripts.zip && cd Linux-Distro-Post-Install-Scripts-maintanence
bash ./post_install.sh
```## โจ Features
- Choose the apps and configurations you need
- Install one of 3 firefox policy templates for privacy and preinstalled extensions
- Updates the system
- Removes bloat
- Install NVIDIA drivers
- Option to remove discover
- Installs browsers
- Sets up flatpak and install flatpak apps
- Downloads and installs microsoft and hack nerd fonts
- Installs Visual Studio Code and Codium extensions and copies the keybindings (customizable in the config file)
- Adds the following command line utilities: neovim, eza, bat
- Installs gaming launchers
- Installs wine, Protonup-Qt to run windows games
- Sets up shells and prompts
- Installs NvChad or AstroNvim for neovim as configs
- Installs programming languages and development environments
- Optionally sets hostname## [Full list of packages](docs#list-of-packages-to-install)
## โ Why use it?
Post install script for linux aims to quickly setup a system with the same configuration/software across multiple distros.
The scripts are meant to be reproducable and allow you to get to using your new system/virtual machine rather than try to replicate your already existing setup.
You only need to configure apps and configuration files once when changing the project to suit your own needs and be able to use it afterwards.
## ๐ป Project location
By using the provided commands the scripts will be downloaded and unzipped in your language's Downloads folder
> [!NOTE]
> Run `xdg-user-dir DOWNLOAD` to find out the location of yours## ๐ Firefox policy
3 firefox policy templates are included for increased privacy.
Increases privacy, removes telemetry and installs privacy extensions.
Full policy list and changes: [here](docs#-firefox-policy)
> [!NOTE]
> Can be found at `config/firefox/policies.json`
> Manually edit to customize, then copy to `/etc/firefox/policies/` for it to work[1]: distros/opensuse
[2]: distros/fedora
[3]: distros/debian
[4]: distros/arch