Category Archives: Tutorials

Run mako in Sway/Hyprland, but not in KDE (Wayland)

If you use a Wayland compositor like Sway or Hyprland, mako is a great lightweight notification daemon. Many distros make it “start automatically” via a systemd user service, so you don’t need to add exec mako to your compositor config. I’m experimenting with a setup with KDE, Sway, and Hyprland installed on the same machine […]

Install Endeavouros with Disk Encryption

A small blog post on how to install EndeavourOS with LUKS disk encryption. The installation starts and proceeds as usual (see, e.g., my older post). I’m using KDE for this installation. When you get to disk partitioning, choose manual: If you start from a fresh disk, create a new partition table and choose GPT: If […]

Neovim and LaTeX with LazyVim, part 2: customizations

This is a follow-up to the first post on Neovim and LaTeX. I love LaTeX, but I don’t love LaTeX noise. If you use LazyVim’s lang.tex extra, you’ve probably seen a familiar friend pop up in your editor diagnostics: Underfull \hbox. It’s usually harmless, but it’s distracting—especially when you’re trying to focus on content. In […]

Install Ubuntu on Apple Silicon Macs Using UTM

Let’s install Ubuntu 25.04 on Apple Silicon (M1) in a virtual machine using UTM. We must first download an Ubuntu ISO for ARM. Go to https://ubuntu.com/download/desktop and search for “ARM 64-bit architecture”; if not available for the specific version you want to install, then you’ll have to install the Ubuntu Server and then install the “ubuntu-desktop” […]

Managing KDE Dotfiles with Chezmoi and Chezmoi Modify Manager

If you’re a KDE user who wants to keep your desktop configuration under version control, you’ve probably discovered that KDE’s configuration files can be quite challenging to manage with traditional dotfile tools. KDE stores settings in complex INI files that frequently change, contain system-specific data, and include sections you may not want to track. This […]

Installing EndeavourOS Linux on an old MacBook Air (2016)

I bought this laptop in late 2016. It’s still a good laptop (8 GB RAM, 128 GB SSD) and very light. However, I cannot use it with macOS anymore. I previously blogged on installing Ubuntu on my old MacBook Air. Everything mainly went smoothly, except for the WiFi, which was not working during and after the […]

Neovim and LaTeX with LazyVim, part 1: initial configuration

This is the first part of a few tutorials on using the LaTeX typesetting system with Neovim using the LazyVim setup. I highly recommend LazyVim because it has many cool plugins configured with nice defaults. Moreover, as we see in this tutorial, it lets you quickly have VimTeX and the TexLab LSP up and running […]

Java, Maven and Gitpod, part 5: the Formatter

This is the 5th post about using Java in Gitpod. It assumes you have already read the first, second, third, and fourth posts. We can benefit from automatic formatting. First, select (from F1) the command “View: Toggle Render Whitespaces”. We can see that the Maven archetype generated Java source code with spaces for indentation: I prefer […]

Neovim and Java with LazyVim, part 3: Dependencies and Maven

This is the third part of a few tutorials on Java development with Neovim using the LazyVim setup. This post assumes you already read and applied all the steps of the first part and the second part. You need Java installed (possibly 21), while Maven is optional. I will use this Maven example during the […]

Neovim and Java with LazyVim, part 2: IDE mechanisms

This is the second part of a few tutorials on Java development with Neovim using the LazyVim setup. This post assumes you already read and applied all the steps of the first part. You need Java installed (possibly 21), while Maven is optional. I will use this Maven example during the tutorial: https://github.com/LorenzoBettini/maven-bank-example, part of […]

Sway in Arch Linux: other configurations

Let’s continue the Sway window manager (in Arch Linux) series I started in my previous post and continued in the other post. Screenshots We can use “grimshot”, part of sway-contrib, to take screenshots, which requires the main program for performing the actual screenshot, “grim”.

By default, such utilities are installed in “/usr/share/sway-contrib”, which is […]

Neovim and Java with LazyVim, part 1: initial configuration

Updated 16 December 2024 (for Telescope) This is the first part of a few tutorials on Java development with Neovim using the LazyVim setup. I highly recommend LazyVim because it has many cool plugins configured with nice defaults. Moreover, as we see in this tutorial, it lets you quickly have the Java LSP up and […]

Sway WM: Notifications with Mako

Let’s continue the Sway window manager (in Arch Linux) series I started in my previous post. In this post, we deal with system notifications. (This post is similar to the corresponding one about Hyprland.) We use mako, a lightweight notification daemon for Wayland, one of the optional software suggested when we installed Sway. We also […]

Sway in Arch Linux: getting started

I’m starting a new blog series about Sway, a Wayland Tiling Window Manager (the Wayland version of i3). Though I’ve already blogged about Sway, this post (and a few future ones) are intended as “getting started tutorials”. I’ll focus on Sway in Arch, in particular, EndeavourOS. Let’s start by installing EndeavourOS with no graphical environment […]