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)
- Register accounts :
- 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
Archived captures for external links featured in this post :