Skip to content

Instantly share code, notes, and snippets.

@1ma
Last active November 6, 2023 18:52
Show Gist options
  • Save 1ma/6be065e83350ff9d0112a58568e5f4f8 to your computer and use it in GitHub Desktop.
Save 1ma/6be065e83350ff9d0112a58568e5f4f8 to your computer and use it in GitHub Desktop.
Void Linux Notes

Essential packages:

sudo xbps-install -Su void-repo-nonfree

sudo xbps-remove firefox-esr

sudo xbps-install -Su \
ascii \
baobab \
bash-completion \
bind-utils \
chromium \
cloc \
composer \
curl \
docker \
docker-compose \
dropbox \
erlang \
evince \
firefox \
git \
gitk \
gnupg \
go \
htop \
inetutils-telnet \
jq \
keepassx2 \
make \
meld \
nano \
net-tools \
oracle-jdk \
paperkey \
php \
php-mysql \
php-pgsql \
php-sqlite \
rebar3 \
spotify \
terminator \
tree \
unrar \
unzip \
vagrant \
vlc \
wrk \
xdebug \
xfce4-battery-plugin \
xfce4-cpufreq-plugin \
xfce4-cpugraph-plugin \
xfce4-pulseaudio-plugin \
zip

SSH/GPG keyring popup

Add this to ~/.bashrc:

if [ -n "$DESKTOP_SESSION" ];then
    eval $(gnome-keyring-daemon --start)
    export SSH_AUTH_SOCK
fi

Docker

Post-Install Configuration

sudo usermod -aG docker marcel
sudo reboot
sudo ln -s /etc/sv/docker /var/service/
sudo sv start docker

Autocompletion

Bash completion both for docker and docker-compose is automatically available through the bash-completion package.

PHP

Xdebug CLI helpers

Create /etc/php/conf.d/xdebug.ini as root to enable Xdebug:

zend_extension=xdebug.so

Then add these aliases to ~/.bashrc:

alias xdeboff='sudo mv /etc/php/conf.d/xdebug.ini ~/.xdebug.ini'
alias xdebon='sudo mv ~/.xdebug.ini /etc/php/conf.d/xdebug.ini'

Enable all extensions

Void's php package comes with all sorts of extensions, but as of this writing they are not enabled by default. The shared libraries are at /usr/lib/php/modules.

Create /etc/php/conf.d/extensions.ini as root to enable them:

extension=bcmath.so
extension=bz2.so
extension=calendar.so
extension=curl.so
extension=exif.so
extension=ftp.so
extension=gettext.so
extension=gmp.so
extension=iconv.so
extension=mysqli.so
extension=openssl.so
extension=pdo_mysql.so
extension=pdo_pgsql.so
extension=pdo_sqlite.so
extension=pgsql.so
extension=phar.so
extension=posix.so
extension=shmop.so
extension=soap.so
extension=sockets.so
extension=sqlite3.so
extension=sysvmsg.so
extension=sysvsem.so
extension=sysvshm.so
extension=xmlrpc.so
extension=zip.so
zend_extension=opcache.so

You may omit the phar line, or remove the /etc/php/conf.d/composer.ini file created by the composer package.

Erlang

Enable erl shell history

Add this to ~/.profile:

export ERL_AFLAGS="-kernel shell_history enabled"

Rebar3 command line plugins

Create .config/rebar3/rebar.config:

{plugins, [
  rebar_cmd,
  rebar3_auto,
  rebar3_hex
]}.

Xfce4 Configuration

Terminator Shortcut

Applications > Settings > Keyboard > Application Shortcuts > Add: /usr/bin/terminator, Ctrl+Alt+T

Disable xfce4 Alt+F12 (conflicts with PHPStorm's Terminal Shortcut)

Applications > Settings > Window Manager > Keyboard > Clear "Toggle Above"

Shortcut for moving a window to another workspace

Applications > Settings > Window Manager > Keyboard > "Move window to left workspace" and "Move window to right workspace"

Fix "gray background image" error

Run "xfdesktop &" on a terminal and reboot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment