NixOS

The NixOS logo

open bug reports open feature requests
The Repository License badge amount of stars on GitHub newest release
the status of checking if the generated CI matches up to the current CI Documentation build status

NixOS

This repository contains my configuration files for my Linux distribution of choice: NixOS. NixOS is special in the sense that it allows to configure all services, users, files, mounts, all via configuration files. Making the exact state of the system reproducible.

Ricing

[!TIP]
To see either light or dark mode, change your browsers polarity settings, and the images will reflect your settings!

Lock Screen

The first thing you’ll see before logging in is the login screen:

The login screen for my NixOS devices.

The image is the same image as the wallpaper used by the window managers. Both the colors of the image as well as the buttons and text are sampled from the base16 color scheme and can be changed everywhere using only a single setting.

Hyprland

I have switched to hyprland as my window manager of choice. This is what an empty desktop looks like at the moment:

An empty desktop showing the NixOS logo as the wallpaper.

and of course with the usual rice:

The desktop showing with some open terminal windows. a

VS Code

I have not looked at Vim yet, so my editor of choice is VS Code, which obviously uses the same beautiful color scheme:

VS Code using the same colors as the wallpaper, and login screen. </picture> ## Pros of using NixOS Here are some of the reasons you might want to use NixOS: ### 1. Reproducible Nix builds packages in isolation from each other. This ensures that they are reproducible and don’t have undeclared dependencies, so if a package works on one machine, it will also work on another. Declarative ### 2. Declarative Nix makes it trivial to share development and build environments for your projects, regardless of what programming languages and tools you’re using. ### 3. Reliable Nix ensures that installing or upgrading one package cannot break other packages. It allows you to roll back to previous versions, and ensures that no package is in an inconsistent state during an upgrade.