3 min read

Debian to Arch migration

Debian to Arch migration
Dracula with a dark blue background for btop, fastfetch, neovim & soundcloud

I finally decided to try out Arch as I was bored of waiting for the Hyprlock and Hypridle packages to come into Debian Sid, and Hyprland has also been stuck on 0.42 vs 0.49 on Arch.

https://github.com/sebday/hyprdots

Install

wget -qO- https://raw.githubusercontent.com/sebday/hyprdots/dracula/install.sh | bash

Software Choices

Shell

Bash - chosen over zsh, which I used for a year before switching back to bash. The syntax highlighting in zsh is great and not possible in bash, but apart from that there are no real improvements for me. The autocomplete and history search are slower in zsh. My terminal generally feels faster in bash.

Terminal

Ghostty - chosen over Foot, which again I used for a long time. The only reason for me to swap from Foot was that I could not figure out how to reload open terminals to refresh their theme in foot.

Launcher

Fuzzel - I have lightly messed around with Walker and others, but fuzzel is very fast and does everything I want, with scripts for using it to set wallpapers, clipboard history and emoji.

Dev packages

Mise - much nicer way of managing node, python, ruby etc vs separate tools for each. I will keep using nvm on my servers for the moment. Big thanks for dhh and Omarchy for the inspiration.

Side effect - nvm really slows down opening a terminal! Ghostty is now loaded before my (fast) hyprland animation has finished placing the window.

Cloud

Insync - well worth paying for. I use it for Google and OneDrive, so all my personal documents live in the cloud and sync into my home dir. Great for storing obsidian vaults.

Theme switcher

Inspired by Omarchy, I was jealous there were hot swap themes available so I made my own version for the software I use. Expanded to use a local http server and a script plugin in the browser to theme website such as Soundcloud.

Conclusion

I'm used to a Debian netinst and building from there so I know my package list already and my dot files will migrate straight over.

But Arch really is minimal - I immediately restarted after installing and tried to nano my first config file - only to find not even an editor included. In the same vain I needed a few attempts to get networking up on my laptop as iwd is available during the install, but is then not installed by default. I just reinstalled rather than messing around chrooting.

Arch also never enables a service when installed though pacman, whereas I'm used to Debian enabling and starting everything after an apt install

Much love to Vaxry for making Hyprland.

Pros

  • archinstall is very similar to the Debian install, and possibly slightly easier.
  • Arch defaults are "more modern". I went with butterfs this time and it was nice that the installer created all the sub-volumes for me - Debian does not.
  • Grub feels clunky to setup compared to Arch default systemd-boot, networkd is simple, timesyncd just works.
  • Using yay to install appimages with menu entries and icons is nicer than manually sticking them in bin
  • In the end I only need the AUR for Brave, Obsidian & InSync
  • Fixed a bug that locked up Electron or Brave when dragging a tab around
  • Feels slightly snappier. Probably the newer versions of hypr
  • My font Caskaydia is in the repos
  • The Arch wiki is brilliant

Cons

  • The much vaunted package manager on Arch needs... another package manager 😄 I was laughing when yay isn't in the master repos.
  • * Update* the AUR has been under attack for a while now which kinda blows my mind. Not sure why they are refusing CF protection.

Not really anything of note in the cons list !

Before and after

Debian Sid July 2025
Many less packages, so there was lots I never got around to ripping out of Debian!