Skip to content

PrimaMateria's blog

Tag: #nixos

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.

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.