Category Archives: Tutorials

Getting Started with LM Studio in Linux

I report my first experiences with LM Studio in (Arch) Linux. LM Studio is a desktop application that allows you to discover, download, and run Large Language Models (LLMs) entirely on your own computers, offline. This is the hardware and system I’m testing it (you see, no GPU with VRAM):

First, download the AppImage […]

Archinstall: dual boot with another Linux installation

In the past, I had several problems using archinstall for installing Arch Linux in a dual boot with another existing Linux installation. In fact, I gave up using archinstall and created my own script for installing Arch. In particular, I experienced these two problems: Archinstall failed installing Arch if the disk already contained a BTRFS […]

Fedora Silverblue: upgrading

I’m continuing my evaluation of the Fedora Silverblue Linux distribution, which I started some time ago. Let’s upgrade the system! As mentioned in the official documentation: On Atomic Desktops, you can keep using your computer while applying OS updates as they are downloaded and installed in the background. Once an update has been installed, you […]

Neovim and LaTeX with LazyVim, part 3: custom commands

This is a follow-up to the first post on Neovim and LaTeX and the second one. If you write LaTeX in Neovim using the LazyVim distribution, you already get a fantastic editing experience thanks to VimTeX and texlab. But there’s one thing that often trips people up: how do you quickly wrap selected text in \emph{…}, […]

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 […]