Geekices

Metapackage for a personal installation of Arch Linux and Arch-based distributions

I’ve been using Arch or Arch-based distributions for over a year now. In this time testing a few of them, I’ve always lacked a simple and logical way of installing the same “essential” software. To tackle this, I’ve created a metapackage with all this software and this is what I’ve got so far:

# Maintainer: Bruno Miguel <https://twitter.com/brunomiguel>

pkgname='bruno-essentials'
pkgdesc="A metapackage for some packages I find essential. Requires userrepository.eu repo"
pkgver='0.0.2'
pkgrel=2

url='https://github.com/brunomiguel/base-bruno'
arch=('any')
license=('GPL3')

depends=(
    # base
	'tmux' 'rxvt-unicode' 'urxvt-tabbedex' 'gotop-git' 'pakku' 'inxi' 'brightnessctl-git' 'broot' 'ranger' 'htop' 'git' 'scat' 'scaleway-cli' 'reflector' 'qjournalctl' 'openvpn' 'openssh' 'cpupower' 'bash-completion'
	
	# editors
	'vim' 'micro' 'marktext-bin' 'notable-bin' 'quilter'
	
	# cli utilities
	'terminal-markdown-viewer' 'redshift' 'youtube-dl' 'unrar' 'unzip' 'spicetify-cli' 'pfetch-git' 'profile-cleaner' 'cups'
	
	# multimedia
	'acestream-launcher' 'gimp' 'gimp-plugin-gmic' 'gimp-refocus' 'spotify' 'pavucontrol' 'vlc' 'curseradio-git' 'mpv-acestream' 'jpegoptim' 'optipng' 'acestream-engine' 'trimage' 'pngzop'
	
	# fonts
	'ttf-fira-go' 'ttf-fira-mono-ibx' 'ttf-league-mono' 'ttf-inter-ui' 'interui-otf'
	
	# plasma (somewhat minimal)
	'kvantum-qt5' 'kvantum-theme-materia' 'plasma-desktop' 'konsole' 'ark' 'gwenview' 'kde-gtk-config' 'kdeplasma-addons' 'ksysguard' 'powerdevil' 'user-manager' 'spectacle' 'kio-extras' 'kipi-plugins' 'kcalc' 'kcron' 'okular' 'dolphin' 'dolphin-plugins' 'sweeper' 'kdeconnect' 'oxygen' 'plasma-nm' 'plasma-pa' 'plasma5-applets-redshift-control' 'konsole' 'okular' 'kate' 'print-manager'
	
	# browsers
	'brave-dev-bin' 'firefox' 'firefox-i18n-pt-pt' 'falkon-git' 'librewolf-bin'
	
	# desktop utilities
	'roxterm' 'flameshot' 'libreoffice-fresh' 'filelight'
	
	# security
	'bitwarden-bin'
	
	# i3
	'i3-gaps-rounded-git' 'polybar' 'rofi' 'compton-tryone-git' 'nitrogen'
	
	# themes and icons
	'korla-icon-theme' 'arc-icon-theme' 'boston-icon-theme-git'	
	
	#gamimg
	'steam' 'gamehub'
	
	
)

You can keep up with the changes on Github.


Geekices

Managing dotfiles

I’ve been looking for a simple but powerful solution for managing my dotfiles, either the ones on my personal computer or the ones I use on virtual machines. After taking a look at a few options, I think I’ll give dotdrop a try and publish a new post as soon as I feel I’ve evaluated it enough.


Geekices

How-to customize the Bash prompt

In order to adapt a bit more my Debian Stable installation to my workflow, I’ve been tweaking the bash prompt. Simplicity and small line width are key here, because I often have tmux running with several panes in the same window and small panes with large one-liner prompts suck a lot! Everything feels crammed and hard to read. Just take a look at the image below to get an idea.

crammed bash prompt

After running a few commands in each pane with this prompt configuration, everything gets really crowded and confuse. For sanity safeguarding reasons and workflow improvement, the only thing to do is customize the prompt.

The Debian Stable bash prompt, shown on the image above, default value is:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

To make it more useful, I changed the second line to this:

PS1="[\033[00;32m]\u@\h[\033[00m]:\w[\033[00m]\n└─ [$(tput bold)]\$(__git_ps1 '[%s] ')\$: [$(tput sgr0)]"

All put together:

if [ "$color_prompt" = yes ]; then
		PS1="\[\033[00;32m\]\u@\h\[\033[00m\]:\w\[\033[00m\]\n└─ \[$(tput bold)\]\$(__git_ps1 '[%s] ')\$: \[$(tput sgr0)\]"
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

And this is the result:

readable bash prompt

Not only I get a more readable prompt (and with “more room to breathe”, if you may), but I get the name of the current branch if I’m in a Git repository folder. This is a convenient feature to have if you work with this version control system.

There are a lot more ways one can configure the prompt. Both How-To Geek and Boolean World websites have nice introductory guides to get you started. The Arch Linux wiki entry about this is also a good read. Oh, and RTFM (Read The … Fine … Manual).