- Installation
- Network configuration - Part 1 (wpa_supplicant)
- Update the System
- Add non-free repository
- Install recommended packages
- Install development packages
- Desktop environment (GNOME)
- Enable required services
- Network configuration - Part 2 (Network Manager)
- Audio configuration (PulseAudio)
- Bluetooth configuration (BlueZ)
- Printing support configuration
- Cron configuration (cronie)
- Notebook Power Saving configuration
- Fonts installation
- Office suite (LibreOffice)
- Internet browser installation (Firefox)
- Media player (VLC)
- Backup software (Timeshift)
- Logging Daemon activation
- Profile Sync Daemon (PSD)
- Bash aliases
- Tilix (tiling terminal)
- Fzf (fuzzy finder)
- Zoxide (smarter cd command)
- Bat (cat clone with wings)
- Ripgrep (grep alternative)
- Exa (modern replacement for ‘ls’)
- Dust (intuitive version of du)
- Lazygit (git tui)
- Neovim + AstroNvim
- OctoXBPS (xbps frontend)
- VSV (Void Service Manager)
- Docker
- Flatpak
- Nix package manager
- Alternative Browser (Brave)
- Dconf Editor
- Nautilus embedded terminal
- Syncthing (peer-to-peer file synchronization)
- Sushi (Quick Look)
- Intel's Microcode
- Fonts, Theme, Icons, Cursor, Extensions, Wallpaper
Void Linux installation was done following the official guide.
-
Check the name of our interface:
ip a
In my case, “wlp3s0” is the name of the Wi-Fi interface.
-
Create a configuration file to connect to Wi-Fi:
sudo vi /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
Write these lines into the file and then save it:
ctrl_interface=DIR=/run/wpa_supplicant update_config=1
-
Add the information about your wireless network to the file:
wpa_passphrase SSID PASSWORD >> /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
-
Enable dhcpd and wpa_supplicant
sudo ln -s /etc/sv/dhcpcd /var/service sudo ln -s /etc/sv/wpa_supplicant /var/service sudo sv up dhcpcd sudo sv up wpa_supplicant
-
Run this last command:
wpa_supplicant -B -i wlp1s0 -c /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
-
To check your connection run:
ping google.com
-
sudo xbps-install -Suv
-
sudo xbps-install -Rs void-repo-nonfree
-
sudo xbps-install curl wget git xz unzip zip nano vim gptfdisk xtools mtools mlocate ntfs-3g fuse-exfat bash-completion linux-headers gtksourceview4 ffmpeg mesa-vdpau mesa-vaapi htop
-
sudo xbps-install autoconf automake bison m4 make libtool flex meson ninja optipng sassc
- Install the X Window System:
sudo xbps-install xorg
- Install desktop environment:
sudo xbps-install gnome
- Install display manager
Enable gdm service:
sudo xbps-install gdm
sudo ln -s /etc/sv/gdm /var/service
- Install xdg utilites:
sudo xbps-install -Rs xdg-desktop-portal xdg-desktop-portal-gtk xdg-user-dirs xdg-user-dirs-gtk xdg-utils
- Install gnome-browser-connector (prevously known as chrome-gnome-shell):
sudo xbps-install gnome-browser-connector
- Install dbus:
Enable dbus service:
sudo xbps-install -y dbus
sudo ln -s /etc/sv/dbus /var/service
- Install elogind:
Enable elogind service:
sudo xbps-install -y elogind
sudo ln -s /etc/sv/elogind /var/service
-
Install Network Manager:
sudo xbps-install NetworkManager NetworkManager-openvpn NetworkManager-openconnect NetworkManager-vpnc NetworkManager-l2tp
-
Enable Network Manager service:
sudo ln -sv /etc/sv/NetworkManager /var/service
Before enabling the NetworkManager daemon, disable any other network management services, such as dhcpcd, wpa_supplicant.
- Install PulseAudio:
Had some issues with pipewire, maybe will give a try in the future...
sudo xbps-install pulseaudio pulseaudio-utils pulsemixer alsa-plugins-pulseaudio
-
Install BlueZ:
sudo xbps-install bluez
-
Enable Bluetooth service:
sudo ln -sv /etc/sv/bluetoothd /var/service
-
Add user to the group:
sudo useradd -G bluetooth ${USER}
- Install CUPS:
sudo xbps-install cups cups-pk-helper cups-filters foomatic-db foomatic-db-engine
- Enable CUPS service:
sudo ln -sv /etc/sv/cupsd /var/service
- Optional:
- Epson Printer:
sudo xbps-install -Rs epson-inkjet-printer-escpr imagescan iscan-data
- HP Printer:
sudo xbps-install -Rs hplip-gui
- Canon Printer:
sudo xbps-install -Rs cnijfilter2
- Brother Printer:
sudo xbps-install -Rs brother-brlaser
# SANE scanner driver for brscan3-compatible Brother scanners sudo xbps-install brother-brscan3 # SANE scanner driver for brscan4-compatible printers sudo xbps-install brother-brscan4 # CUPS wrapper driver for the brother DCP-197C printer/scanner sudo xbps-install brother-dcp197c-cupswrapper # LPR driver for the brother DCP-197C printer/scanner sudo xbps-install brother-dcp197c-lpr
- Epson Printer:
- Install cronie:
sudo xbps-install -y cronie
- Enable cronie service:
sudo ln -sv /etc/sv/cronie /var/service
- Install TLP and PowerTop:
sudo xbps-install tlp tlp-rdw powertop
- Enable TLP service:
sudo ln -sv /etc/sv/tlp /var/service
- Install Noto fonts:
sudo xbps-install -Rs noto-fonts-emoji noto-fonts-ttf noto-fonts-ttf-extra
- Install microsoft fonts:
Installation:
git clone https://github.com/void-linux/void-packages cd void-packages ./xbps-src binary-bootstrap echo "XBPS_ALLOW_RESTRICTED=yes" >> etc/conf
./xbps-src pkg -f msttcorefonts xi msttcorefonts
- Install LibreOffice:
sudo xbps-install libreoffice-writer libreoffice-calc libreoffice-impress libreoffice-draw libreoffice-math libreoffice-base libreoffice-gnome libreoffice-i18n-en-US
- Install Firefox:
sudo xbps-install firefox firefox-i18n-en-US
- Set better font for firefox:
sudo ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/ sudo xbps-reconfigure -f fontconfig
- Install VLC Media Player:
sudo xbps-install vlc
- Install Timeshift:
sudo xbps-install timeshift
- By default, Void comes with no logging daemon:
sudo xbps-install -Rs socklog-void sudo ln -s /etc/sv/socklog-unix /var/service/ sudo ln -s /etc/sv/nanoklogd /var/service/
- PSD is a service that symlinks & syncs browser profile directories to RAM, thus reducing HDD/SSD calls & speeding up browsers. You can get it from here. This helps Firefox & Chromium reduce ram usage.
git clone https://github.com/madand/runit-services cd runit-services sudo mv psd /etc/sv/ sudo ln -s /etc/sv/psd /var/service/ sudo chmod +x etc/sv/psd/*
- Create bash aliases:
sudo nano ~/.bash_aliases
- Add this script:
alias xu='sudo xbps-install xbps && sudo xbps-install -Suv' alias xin='sudo xbps-install' alias xr='sudo xbps-remove -Rcon' alias xl='xbps-query -l' alias xf='xl | grep' alias xs='xbps-query -Rs' alias xd='xbps-query -x' alias clrk='sudo vkpurge rm all && sudo rm -rf /var/cache/xbps/*' alias halt='sudo halt' alias poweroff='sudo poweroff' alias reboot='sudo reboot' alias shutdown='sudo shutdown'
- Open bash config file:
sudo nano ~/.bashrc
- Add this line:
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases; fi
- In the end:
source ~/.bashrc
- Tiling terminal emulator
sudo xbps-install tilix
- To use in quake mode (wayland not supported), create custom shortcut and add this command:
tilix --quake
- A command-line fuzzy finder
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install
- zoxide is a smarter cd command, inspired by z and autojump:
sudo xbps-install -S zoxide
- Add this to your configuration (usually ~/.bashrc):
eval "$(zoxide init bash)"
- A cat(1) clone with wings:
sudo xbps-install -Su bat
- Add alias to the previously create bash_aliases file:
alias cat='bat'
- Grep alternative:
sudo xbps-install -Su ripgrep
- Add alias to the previously create bash_aliases file:
alias grep='rg'
- A modern replacement for ‘ls’:
sudo xbps-install -Su exa
- Add alias to the previously create bash_aliases file:
alias ls='exa --icons'
- A more intuitive version of du in rust:
sudo xbps-install -Su dust
- Add alias to the previously create bash_aliases file:
alias du='dust'
- Simple terminal UI for git commands:
sudo xbps-install -Su lazygit
- Install Neovim:
sudo xbps-install -Su neovim
- Install AstroNvim:
git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim nvim +PackerSync
- XBPS front end
sudo xbps-install -S octoxbps
- Manage and view runit services:
sudo xbps-install vsv
- Install docker:
sudo xbps-install -Su docker
- Enable required services:
sudo ln -s /etc/sv/containerd /var/service sudo ln -s /etc/sv/docker /var/service
- Add user to group:
sudo groupadd docker sudo usermod -aG docker ${USER}
- Set respective permissions:
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R sudo chmod g+rwx "$HOME/.docker" -R
- Install Flatpak:
sudo xbps-install -S flatpak
- Add the Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- Restart.
- Install Nix:
sudo xbps-install -Sy nix
- Activate Nix Daemon:
sudo ln -s /etc/sv/nix-daemon /var/service/ source /etc/profile
- Add channels:
# Unstable nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable # NixOS 22.05 nix-channel --add https://nixos.org/channels/nixos-22.05 nixpkgs # Update channels nix-channel --update # List channels nix-channel --list
- To see installed applications in the launcher create a symlink to Nix applications directory:
sudo ln -s "$HOME/.nix-profile/share/applications" "$HOME/.local/share/applications/nix-env"
- Install Brave browser using nix:
nix-env -iA nixpkgs.brave
- Applications internal settings viewer and editor:
sudo xbps-install dconf-editor
- Install dependencies:
sudo xbps-install python3 python3-pip python3-psutil
- Install Nautilus Terminal:
sudo xbps-install nautilus-python
- Check that the extension is properly installed:
nautilus-terminal --check python3 -m nautilus_terminal --check
- If everything is OK, the output should be:
Nautilus Python: Installed Nautilus Terminal Extension: Installed
- To edit extension configs run:
dconf-editor /org/flozz/nautilus-terminal
- Install Syncthing:
sudo xbps-install -Rs syncthing
- Starting Syncthing automatically when system starts:
sudo cp /usr/share/applications/syncthing-start.desktop ~/.config/autostart/
- File previewer for the GNOME desktop (macOS Quick Look):
sudo xbps-install -Rs sushi
- Install Intel's Microcode:
sudo xbps-install -Rs intel-ucode
- Reconfigure your kernel, according your kernel name:
To find your Linux kernel version, you can use
sudo xbps-reconfigure -f linux<kernel_version>
sudo xbps-query -l | grep linux
System Fonts:
- Interface Text: Inter Regular
- Document Text: Inter Regular
- Monospace Text: JetBrains Mono Regular
- Legacy Window Titles: Inter Medium
Terminal Font: ShureTechMono Nerd Font Mono Regular
Prompt Theme Engine: Oh My Posh
Theme: Fluent GTK Theme (use --icon void
flag to replace Activities with Void icon)
Icons: Fluent Icon Theme (color Grey)
Cursor: Borealis Cursors
Wallpaper: VOID LINUX
Extensions:
- AppIndicator and KStatusNotifierItem Support
- Bluetooth Quick Connect
- Clipboard History or Pano - Clipboard Manager (Dependencies:
sudo xbps-install libgda gsound
) - Color Picker
- Dash to Dock
- Disconnect Wifi
- Easy Docker Containers
- Espresso
- Frippery Move Clock
- Mute/Unmute
- No Overview at Startup
- Notification Banner Position
- Printers
- Resource Monitor
- Sound Output Device Chooser
- Status Area Horizontal Spacing
- Syncthing Icon
- Tiling Assistant
- Toggle Night Light
- Top Panel Workspace Scroll
- Transparent Window Moving
- Tweaks & Extensions in System Menu
- User Themes
- Window Is Ready - Notification Remover