ria's install party v.2023

I've been contracting as a Python backend developer for a while now, and I've been using the vim editor ever since graduating. It's enabled me to deliver good code at a decent pace for years, but lately, I've felt things to be... dissatisfactory. I've grown more conscious about the dumb stuff, like typing errors, missing imports, elusive built-in signatures, etc. Surely there's a way to bypass these tedious mistakes. Surely there's a way to ride steadily on the clever part of the job. Right?

Of course, there's already an answer to that. It's called getting an IDE with a proper programming interface. But I can't deal with the GUIs. I just can't. I won't leave my terminal.

Enters helix, a fairly recent text editor designed as a successor to vim. It's got good language server support, and it runs from the terminal. Let's give it a try then?

Except it hardly runs on Debian. Helix users live on the edge... So let's move to the edge?

Hence I found myself browsing through Linux OSes. I pondered giving in to the Arch Linux side. Then I learned about Manjaro, a mature Arch-based distribution shipping with a sensible installer and a reasonable set of seasoned utilities —most of which I was already using on Debian.

Migrating to this new OS actually simplified my system setup, with many of my previous Debian customizations made redundant by out-of-the-box Manjaro capabilities. So I took the opportunity to switch from bash to zsh, along with configuring a nice powerlevel10k prompt. In any case, changes were more than enough to justify a revamp of my 4-year-old documentation.

Last but not least, I created a Github repository to keep track of my various configuration files (or dotfiles). It still requires a bit of symlinking for deployment, but it's definitely going to feel better than the clanky self-hosted directory I've used before. I had a look at further automation tools, like Dotbot, but I've done enough tinkering for now. Next time, maybe.

Install Manjaro

  • Go to the Manjaro Downloads page, and get the Full version image running the Xfce desktop.
  • Flash the image on a USB stick with Etcher.
  • Follow the Manjaro installer, select LibreOffice when asked.

Add packages

sudo pamac install helix vim tmux xclip bitwarden-cli telegram-desktop chromium deluge gphoto2 \
obs-studio darktable perl-image-exiftool python-pipenv nginx sqlite npm arduino picocom

Configure Git

git config --global user.name ria4
git config --global user.email "16877076+ria4@users.noreply.github.com"

Retrieve & deploy dotfiles

git clone https://github.com/ria4/dotfiles .dotfiles

# import terminal config
ln -s /home/ria/.dotfiles/.zshrc /home/ria/.zshrc
ln -s /home/ria/.dotfiles/.zsh_aliases /home/ria/.zsh_aliases
ln -s /home/ria/.dotfiles/.p10k.zsh /home/ria/.p10k.zsh
ln -s /home/ria/.dotfiles/.tmux.conf /home/ria/.tmux.conf

# import vim config if needed
ln -s /home/ria/.dotfiles/.vimrc /home/ria/.vimrc

# import bash config if needed
ln -s /home/ria/.dotfiles/.profile /home/ria/.profile
ln -s /home/ria/.dotfiles/.bashrc /home/ria/.bashrc
ln -s /home/ria/.dotfiles/.bash_aliases /home/ria/.bash_aliases

Deploy Xfce config

The Xfce settings spill over multiple directories, which make it difficult to export between systems. My approach is to store backups with Git, and deploy with hard copies instead of symlinking.
cp -rT ~/.dotfiles/xfce4/20230726/xfce4 ~/.config/xfce4
cp -rT ~/.dotfiles/xfce4/20230726/autostart ~/.config/autostart
cp -rT ~/.dotfiles/xfce4/20230726/Thunar ~/.config/Thunar

Setup tmux plugins

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# then do a Ctrl-B followed by Shift+I in a fresh tmux session to fetch all plugins registered in .tmux.conf

Setup desktop utilities

  • Sync Firefox account
  • Sync Telegram account
  • Setup Thunderbird (syncing is barely in beta yet)
    • Register accounts :
      • [redacted]@outlook.com
      • contact@oriane.ink
      • [redacted-android]@gmail.com
      • [redacted-junk]@gmail.com
    • Then replicate filters on contact@oriane.ink
    • And remove threaded sorting (View/Sort by/Unthreaded)
  • If Firefox is slow to load, try uninstalling xdg-desktop-portal-gnome

Reminder: How to capture Canon camera

sudo modprobe v4l2loopback
gphoto2 --set-config depthoffield=1 --stdout --capture-movie \
| ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0