linux

  • Managing secrets in Nix using Agenix

    If tomorrow my laptop were to go in flames, I would lose two things. First I would lose my data, and this is what backups are for. The second thing I would lose is my configuration (software installed, network setup, …). Nix offers a way to preserve this (assuming the configuration is replicated externally like…

  • Switching between High DPI and Low DPI in XMonad

    Context¶ I enjoying using a tiling window manager on Linux. However it is hard to get them to work with my multiple monitor requirements. My situation can be described as follows: 1. I have multiple monitors, not all of them have the same DPI. 2. Not all of them are connected at the same time…

  • Managing databases users using nix

    Recently I had the following challenge: manage database (robotic) users using nix. More specifically I wanted to declare a list of MariaDB/MySQL users, alongside passwords, and permissions using nix. And while nix has some options for this (e.g. services.mysql.ensureUsers.*.name). Some aspects can’t be declared with nix options like the credentials or its permissions for given…

  • Publishing a pelican website using nix

    This website is statically generated using pelican and development on the website is done via nix flakes. Here is how : Overview¶ I use pelican to publish this website. Pelican is a python based command line tool to generate a static website. Pelican requires writing the articles in reStructuredText or Markdown and placing these files…

  • Converting Archlinux with BTRFS into NixOS

    Recently I have converted my laptop from Archlinux into NixOS without reformatting or plugging a USB live distro and kept my home partition as is. This was done from the existing Archlinux install. The former system was installed on top a BTRFS root sub-volume. I use that to my advantage. These steps are for NixOS…

  • Converting docker containers into AppImages

    In Linux, software is conventionally distributed through packages, usually compressed folders including executables, installations scripts and various configuration files. These packaging formats come in various flavors like deb packages, RPMs, and many others. While very useful, these packaging formats have a downside: they are distribution specific. Even if two distributions use the same packaging format,…

  • Measuring success with existing popular applications

    Instead of comparing the number of applications distributed as Snaps, FlatPaks or AppImage as a measure of success, let’s see how many existing Linux software has moved to Snap, FlatPak or AppImage. It should give us an idea of how successful these new packaging formats are with old open source projects. Disclaimer: Now I must…