Skip to content

Prima​Materia's

Startpages: Your Personalized Browser Launch Pad

Have you ever wished for a more personalized and efficient way to start your browsing sessions? Enter Startpages – customizable web pages designed to replace your browser's new tab page and provide quick access to your curated list of links. Today, I'm excited to share a personal project I've been relying on for some time.

Playwright on NixOS for webdev

In this post, I will explain how to run Playwright tests on NixOS. Playwright is a framework for running automated tests on web pages in real browsers. However, the recommended method of installing browsers doesn't work on NixOS due to its unique nature. This post will demonstrate how to set up a flake for a Vite project to run the Playwright version of your choice.

nix-shell with custom nix channel

In NixOS, there is an old world of Nix channels, environments, and paths, and a new world of Nix flakes, inputs, and outputs. Today, after a long time, I needed to run nix-shell -p foo again, but it kept failing with an error stating that the package could not be found, even though I could find it while searching the stable and unstable channels.

Hive

Hive is a framework that aims to help with organizing personal Nix configurations. This post explains why I have decided to switch to it and provides a step-by-step tutorial for trying it out yourself. It is intended for Nix users who are curious and feel that their current configuration is disorganized, and are looking for a new way to restructure their code.

Paisano Cheatsheet

Paisano is not only a filesystem-based module system, but also a framework that specifies roles such as cell, block, target, or soil.

Haumea Cheatsheet

Haumea is a filesystem-based module system for Nix that sets itself apart from NixOS modules by embracing a structure more akin to traditional programming languages. It incorporates a file hierarchy and visibility, aligning with the principles of organized directory layouts and extensibility. Haumea simplifies the process of importing files by automatically incorporating them into an attribute set, eliminating the need for manual imports.

Display Manager Origins

The term "Display Manager" and "Login Manager" are often used interchangeably, causing confusion for many people. The question arises: why is it called a Display Manager, and what does the term "Display" refer to in this context?

How to create your own Neovim flake

In this blog post, I will guide you through the process of setting up Neovim as a Nix Flake, allowing you to keep your editor configuration in sync across multiple machines. We'll start by initializing the flake. We'll add Vim script configuration, organizing Vim scripts in separate files and transforming them into config files in the Nix store. I will guide you through adding plugins, Lua scripts, and runtime dependencies to Neovim using Nix. By the end of this blog post, you will be able to configure your own development environment in a more manageable way.

Solar i3 Workspaces

In this blog post, I'll be sharing my experience with customizing the workspaces in i3wm. Naming my workspaces based on the Solar System, and using corresponding wallpapers for each workspace. In this post, I'll explain how I declared the wallpapers in Home Manager and updated the i3 config.

Running Steam and Project Zomboid on NixOS

In recent years, Linux gaming has come a long way. Thanks to projects like Proton and the work of the Linux gaming community, more and more games are now available to play on Linux. In this blog post, I'll walk you through my experience of setting up Steam on NixOS and playing the game Project Zomboid. I'll cover how to install Steam, how to install games, and how to get mouse support and run Steam games from dmenu. While I still believe that Windows is a superior gaming platform, the recent announcement of Valve's Steam Deck has made me excited to try gaming on Linux once again.

AI generated images - Stable Diffusion on NixOS

In this blog post, I share my journey of discovering AI-generated images, starting with generating an image for my blog using Craiyon and moving on to using DALL·E 2 and Stable Diffusion. While the former required credits for each run, the latter was an open-sourced and more affordable option that I could run locally. I also share the steps that I followed to run Stable Diffusion on NixOS.

Time tracking with Watson and Jira

In this blog post, I share my experience of how I track my work using Watson and synchronize the logs with Jira. I prefer to keep most of my workflow inside the terminal and Watson has proven to be the most fitting tool for me. I track my work retrospectively in 5-minute intervals and use significant tags to instruct the synchronization tool with which Jira tickets to upload the logs. I also provide details about my environment setup, including the use of entr to watch Watson's frames and automatically rerun a script, and aliases for issuing Watson commands.