Script for installing and configuring a development environment with Arch Linux
Make the file executable:
chmod +x setup.sh
Run script as root:
sudo ./setup.sh
- All tools and settings made
Core:
Package | Description |
---|---|
base-devel |
Group of packages necessary for compiling and building software |
dosfstools |
Utilities for FAT file system |
net-tools |
Configuration tools for Linux networking |
traceroute |
Tracks the route taken by packets over an IP network |
Extras:
Package | Description |
---|---|
audacity |
Audio editor |
awesome-terminal-fonts |
Fonts for terminal |
bat |
Cat clone with syntax highlighting |
bitwarden |
Password manager |
bind |
A complete, highly portable implementation of the DNS protocol |
blanket |
Background noise app |
btop |
Resource monitor |
dbeaver |
Database manager |
discord |
Chat for gamers |
docker |
Container runtime |
docker-compose |
Container orchestration |
eza |
A modern replacement for ls (community fork of exa) |
filezilla |
FTP client |
firefox |
Web browser |
firefox-adblock-plus |
Adblock Plus extension for Firefox |
firefox-dark-reader |
Dark Reader extension for Firefox |
flameshot |
Screenshot tool |
fwupd |
Firmware update daemon |
git |
Version control system |
github-cli |
GitHub command-line tool |
gnome-browser-connector |
GNOME Shell extension for browser integration |
gnome-shell-extension-caffeine |
GNOME Shell extension to disable the screensaver and auto suspend |
gnome-terminal |
Terminal emulator |
gparted |
Partition editor |
htop |
Interactive process viewer |
inkscape |
Vector graphics editor |
ipython |
Interactive Python shell |
jq |
Command-line JSON processor |
jupyter-notebook |
Web-based interactive computing |
keepassxc |
Password manager |
knockd |
Port-knock server |
libreoffice-still |
Office suite |
mesa-demos |
Mesa demos and tools |
mesa-utils |
Mesa utilities |
ncdu |
Disk usage analyzer |
neofetch |
System information tool |
network-manager-applet |
Network connection manager |
nodejs |
JavaScript runtime |
noto-fonts |
Google Noto fonts |
noto-fonts-extra |
Google Noto fonts |
npm |
Node.js package manager |
obs-studio |
Video recording and live-streaming |
onionshare |
Secure and anonymous file sharing |
pacman-contrib |
Contributed scripts and tools for pacman systems |
p7zip |
Command-line file archiver |
pyenv |
Python version manager |
python-devtools |
Python development tools |
python-pipx |
Install and run Python applications in isolated environments |
python-poetry |
Python dependency management and packaging |
qbittorrent |
BitTorrent client |
reflector |
Retrieve and filter the latest Pacman mirror list |
rust |
Systems programming language |
spyder |
Scientific Python development environment |
shfmt |
Shell script formatter |
signal-desktop |
Encrypted messaging and calling |
speedtest-cli |
Command-line interface for speedtest.net |
spotify-launcher |
Spotify launcher |
syncthing |
Continuous file synchronization |
thunderbird |
Email client |
tk |
Graphical toolkit for Tcl |
tldr |
Command line client for tldr, a collection of simplified and community-driven man pages |
tmux |
Terminal multiplexer |
tor |
Anonymizing overlay network |
torbrowser-launcher |
Download, update, and run the Tor Browser |
ttf-fira-code |
Monospaced font with programming ligatures |
ttf-jetbrains-mono |
Monospaced font for developers |
ttf-liberation |
Fonts from the Liberation family |
virtualbox-host-modules-arch |
VirtualBox host kernel modules for Arch Linux |
virtualbox |
Virtualization |
vlc |
Media player |
wget |
Network downloader |
wireshark-qt |
Network protocol analyzer |
xorg-xkill |
Kill a client by its X resource |
yarn |
JavaScript package manager |
zsh |
Shell |
Multilib:
Package | Description |
---|---|
lib32-vulkan-intel |
Intel's Vulkan mesa driver (32-bit) |
steam |
Valve's digital software delivery system |
wine |
Compatibility layer for running Windows applications |
Package | Description |
---|---|
anki-bin |
Flashcards |
arduino-ide-bin |
Arduino IDE |
chromedriver |
WebDriver for Chrome |
flyctl-bin |
Fly CLI |
github-desktop |
GitHub Desktop |
gnome-shell-extension-installer |
GNOME Shell extension installer |
google-chrome |
Web browser |
google-earth-pro |
Earth visualization |
localsend-bin |
LocalSend |
postman-bin |
API client |
proton-vpn-gtk-app |
ProtonVPN |
pycharm-professional |
Python IDE |
stellarium-bin |
Stellarium |
sublime-text-4 |
Sublime Text |
torcheck |
Check if Tor is working |
visual-studio-code-bin |
Code editor |
webstorm |
JavaScript IDE |
winbox |
MikroTik Winbox |
zoom |
Video conferencing |
Package | Description |
---|---|
blue |
Code formatter for Python |
ignr |
Create .ignores files |
isort |
Sort Python imports |
ruff |
Code linter |
Path: /etc/X11/xorg.conf.d/10-monitor.conf
Section "Monitor"
Identifier "HDMI-1"
Option "Primary" "true"
Modeline "2560x1080_30.00" 106.75 2560 2640 2896 3232 1080 1083 1093 1102 -hsync +vsync
Option "PreferredMode" "2560x1080_30.00"
EndSection
Section "Monitor"
Identifier "eDP-1"
Option "LeftOf" "HDMI-1"
EndSection
Path: /etc/pacman.conf
- Enable color in pacman output
- Enable
ParallelDownloads = 15
Installing YAY:
pacman -S --needed git base-devel --noconfirm
git clone https://aur.archlinux.org/yay.git
cd yay || exit
makepkg -si --noconfirm
yay -Y --gendb # Atualizando o banco de dados do Yay
if yay -Syu --noconfirm; then
echo -e "${VERDE}[INFO] - Yay atualizado.${SEM_COR}"
log "[INFO] - Atualização completa com yay OK."
else
echo -e "${VERMELHO}[ERRO] - Falha na atualização com Yay.${SEM_COR}"
exit 1
fi
- Install ZSH
- Install Oh My Zsh with Spaceship Prompt theme
- Install ZSH plugins:
zsh-autosuggestions
,zsh-syntax-highlighting
Path: ~/.config/spaceship.zsh
# Display username always
SPACESHIP_USER_SHOW=always
# Docker
SPACESHIP_DOCKER_SHOW=false
SPACESHIP_DOCKER_COMPOSE_SHOW=false
# Git
SPACESHIP_GIT_STATUS_SHOW=false
# Venvs
SPACESHIP_VENV_GENERIC_NAMES=(venv .venv)
# Package
SPACESHIP_PACKAGE_SHOW=false
- Path:
~/.aliases
echo "source ~/.aliases" >> ~/.zshrc
# ----------------------------- PIP ----------------------------- #
alias pip-rm-all="pip freeze | xargs pip uninstall -y"
alias activate="source venv/bin/activate"
# ---------------------------- POETRY -------------------------- #
alias pshell="poetry shell"
alias pexport="poetry export --with dev --without-hashes --without-urls --output requirements.txt"
alias pexport-production="poetry export -f requirements.txt --output requirements.txt --without-hashes --without dev"
# ---------------------------- UTILS ---------------------------- #
alias cl="clear"
alias ls="exa -a"
alias lt="exa tree"
alias bar="bat --style=auto"
# ---------------------------- DOCKER --------------------------- #
# remove all images
alias dk-rmai="docker rmi $(docker images -a -q)"
# --------------------------- ESPRESSIF ------------------------- #
alias get_idf='. $HOME/esp/esp-idf/export.sh'
# ------------------------- PORTAS SERIAIS ---------------------- #
# Permitir todos os usuários acessarem as portas seriais
alias serial='sudo chmod a+rw /dev/ttyACM0'
# Listas as portas seriais existentes
alias lss='ls /dev/ttyA*'
# ---------------------------- SHARED --------------------------- #
# Shred for file
alias rmm='shred -n 10 -z -u -v'
# Shred for disk
alias rmmd='shred -n 2 -z -v'
# -------------------------- IFCONFIG.ME ------------------------ #
alias ipp='curl ifconfig.me'
# ---------------------------- PACMAN --------------------------- #
alias pclean='sudo pacman -Rs $(pacman -Qdtq)'
# -------------------------- REFLECTOR -------------------------- #
alias reflector-setup='sudo reflector --verbose --latest 10 --sort rate --save /etc/pacman.d/mirrorlist'
python
- 3.11.9
- 3.12.3
nodejs
- latest
- User: Henrique Sebastião
- Email: [email protected]
- Default branch:
main
Path: /etc/resolv.conf
1.1.1.1
1.0.0.1
mkdir -p ~/git
mkdir -p ~/.temp