Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/LeDragoX/linux-script

Script that configure my Linux post-install.
https://github.com/LeDragoX/linux-script

installation-script linux packages personal postinstall script

Last synced: 9 days ago
JSON representation

Script that configure my Linux post-install.

Awesome Lists containing this project

README

        



Linux Script

[![Differential ShellCheck](https://github.com/LeDragoX/linux-script/actions/workflows/shellcheck.yml/badge.svg?branch=main&style=flat)](https://github.com/LeDragoX/linux-script/actions/workflows/shellcheck.yml)

**_Script that configure my Linux post-install._**

## ⚙️ Setup Requirements

Open the terminal and paste these lines:

### Arch-like

**This was made to install after you've runned the `archinstall` command and set up at least a minimal install before**

```sh
sudo pacman -Sy --needed --noconfirm curl rsync reflector git
```

#### **⚠️ Get Fastest Mirrors (Arch only)**

Reflector allows Arch to get the fastest mirrors for package downloading.

_**Note:** If you are not in Brazil, then change "BR" to your own country/code._

```sh
sudo reflector --country BR,AR,CL,EC,PY,US,CA,MX --sort rate --save /etc/pacman.d/mirrorlist
```

### ArchWSL ~ [Project Link](https://github.com/yuk7/ArchWSL)

These steps are for ArchWSL only.

```sh
# Fix 'git: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by git)'
sudo pacman -Sy --noconfirm archlinux-keyring git glibc
```

#### ❔ Notes for ArchWSL (Based on [THEIR](https://wsldl-pg.github.io/ArchW-docs/How-to-Setup/) wiki)

1. Open the `linux-script.sh`,
2. Select `[MENU] Arch for WSL` option,
3. Then `[WSL] ArchWSL setup Root and User` for setting root/user accounts
1. Close the Terminal window;
2. Open powershell and type `Arch.exe config --default-user <>`;
4. Then reopen the terminal and run steps 1-2 to select `[WSL] ArchWSL Post Configurations (Workflow)` for environment config.

### Fedora

Get `git` for Fedora:

```sh
sudo dnf install -y git
```

### Ubuntu-like or WSL2

Get `git` for Ubuntu:

```sh
sudo apt install -y git
```

## 🚀 Usage

> **_Never sudo this script, OKAY? It requests sudo when needed_**

```sh
mkdir --parents ~/Downloads
git clone https://github.com/LeDragoX/LinuxScript.git ~/Downloads/linux-script
cd ~/Downloads/linux-script/
chmod --recursive +x *.sh # Current folder files
chmod --recursive +x **/**/*.sh # Check all folders inside the current folder
bash --login ./linux-script.sh
```

> [!NOTE]
> This script was made following these conventions:
>
> - (while writing code)
> -
> -

## 📦 Installed Packages

### _ ALL Distros_

| Package | All Distros |
| :-------: | :---------: |
| asdf | ✔️ |
| curl wget | ✔️ |
| git | ✔️ |
| nvm | ✔️ |
| rvm | ✔️ |
| unzip zip | ✔️ |
| which | ✔️ |
| zsh | ✔️ |

### Flatpak

These packages will be installed in Arch and Fedora Desktop versions:

| Package | Verified |
| :---------------------------: | :------: |
| dev.vencord.Vesktop | ✔️ |
| org.onlyoffice.desktopeditors | ✔️ |
| net.rpcs3.RPCS3 | ❌ |
| net.pcsx2.PCSX2 | ✔️ |
| org.DolphinEmu.dolphin-emu | ❌ |
| org.ppsspp.PPSSPP | ✔️ |
| org.duckstation.DuckStation | ✔️ |
| net.kuribo64.melonDS | ✔️ |
| app.xemu.xemu | ❌ |
| org.libretro.RetroArch | ✔️ |
| org.ryujinx.Ryujinx | ✔️ |

### _ Arch_

| Package | Arch | Arch (WSL2) |
| :------------------------------------------------------------------------- | :--------: | :---------: |
| archlinux-keyring (Essential) | ✔️ | ✔️ |
| adobe-source-han-sans-cn/hk/jp/kr/otc/tw-fonts noto-fonts-emoji ttf-dejavu | ✔️ | ❌ |
| amd-ucode intel-ucode | ✔️ | ❌ |
| arc-gtk-theme | ✔️ | ❌ |
| code | ✔️ Snap | ❌ |
| discord | ❌ Opt-out | ❌ |
| emote | ✔️ Snap | ❌ |
| file-roller | ✔️ | ❌ |
| gimp | ✔️ | ❌ |
| google-chrome-stable | ❌ Opt-out | ❌ |
| gnome-keyring | ✔️ | ❌ |
| gparted | ✔️ | ❌ |
| grub-customizer os-prober | ✔️ | ❌ |
| htop | ✔️ | ❌ |
| lib32-pipewire pipewire pipewire-alsa/jack/pulse wireplumber | ✔️ | ❌ |
| microsoft-edge-stable | ✔️ AUR | ❌ |
| man-db man-pages | ✔️ | ✔️ |
| nano vim | ✔️ | ❌ |
| fastfetch | ✔️ | ❌ |
| obs-studio | ✔️ | ❌ |
| parsec-bin | ✔️ AUR | ❌ |
| pavucontrol | ✔️ | ❌ |
| python-pip | ✔️ | ❌ |
| qbittorrent | ✔️ | ❌ |
| scrcpy | ✔️ | ❌ |
| slack | ✔️ Snap | ❌ |
| spotify-client | ✔️ AUR | ❌ |
| steam | ✔️ | ❌ |
| steam-native-runtime | ✔️ | ❌ |
| svp | ✔️ AUR | ❌ |
| vlc | ✔️ | ❌ |
| snapd yay | ✔️ | ✔️ |

### _ Optional_

#### NVIDIA Users

| Package | Arch | Arch (WSL2) |
| :-------------------------------------------------: | :--: | :---------: |
| cuda lib32-nvidia-utils nvidia/-lts nvidia-settings | ✔️ | ❌ |

#### SVP Install

| Package | Arch | Arch (WSL2) |
| :------------------------------------------------------------: | :----: | :---------: |
| libmediainfo lsof qt5-base qt5-declarative qt5-svg vapoursynth | ✔️ | ❌ |
| mpv-full rsound spirv-cross svp | ✔️ AUR | ❌ |

### _ Ubuntu_

| Package | Require GPG/PPA | Ubuntu | Ubuntu (WSL2) |
| :--------------------------------------------------------- | :-------------: | :--------: | :-----------: |
| adb fastboot scrcpy | ❌ | ✔️ | ❌ |
| apt-transport-https code | ❌/GPG | ✔️ | ❌ |
| build-essential | ❌ | ✔️ | ✔️ |
| discord | ❌ | ✔️ Deb | ❌ |
| file-roller | ❌ | ✔️ | ❌ |
| gdebi gdebi-core | ❌ | ✔️ | ✔️ |
| gimp | ✔️ PPA | ✔️ | ❌ |
| google-chrome-stable | ✔️ GPG | ❌ Opt-out | ❌ |
| gparted | ❌ | ✔️ | ❌ |
| grub-customizer grub-efi grub2-common os-prober | ✔️ PPA/❌/❌/❌ | ✔️ | ❌ |
| htop | ❌ | ✔️ | ✔️ |
| pipewire pipewire-pulse/audio-client-libraries wireplumber | ❌ | ✔️ | ✔️ |
| gstreamer1.0-pipewire libspa-0.2-bluetooth libspa-0.2-jack | ❌ | ✔️ | ✔️ |
| microsoft-edge-stable | ✔️ GPG | ✔️ | ❌ |
| neofetch | ❌ | ✔️ | ✔️ |
| ntfs-3g | ❌ | ✔️ | ❌ |
| nvidia-driver-xxx | ❌ | ✔️ v525 | ❌ |
| obs-studio | ✔️ PPA | ✔️ | ❌ |
| onlyoffice-desktopeditors | ❌ | ✔️ Deb | ❌ |
| parsec-bin | ❌ | ✔️ Deb | ❌ |
| pavucontrol | ❌ | ✔️ | ❌ |
| pip | ❌ | ✔️ | ❌ |
| qbittorrent | ✔️ PPA | ✔️ | ❌ |
| spotify-client | ✔️ GPG | ✔️ | ❌ |
| nano vim | ❌ | ✔️ | ✔️ |
| vlc | ❌ | ✔️ | ❌ |

## 📝 License

Licensed under the [MIT](LICENSE) license.