my nixos system configuration
Find a file
2024-10-24 14:49:32 +02:00
home hosts/anastacia: add VPS host, searx and forgejo 2024-10-23 18:04:37 +02:00
hosts hosts/anastacia: add laptop ssh key 2024-10-24 14:12:11 +02:00
lib home/programs/niri: add xwayland-satellite, update layout settings, add colors 2024-10-08 13:33:25 +02:00
modules modules: rename nixosModules.style to nixosModules.theme 2024-10-22 13:44:47 +02:00
nodes hosts/anastacia: add VPS host, searx and forgejo 2024-10-23 18:04:37 +02:00
system hosts/anastacia: add VPS host, searx and forgejo 2024-10-23 18:04:37 +02:00
wallpapers add different wallpapers for desktop and laptop 2024-08-27 18:23:43 +02:00
.envrc repo: add .envrc 2024-10-21 19:08:05 +02:00
.gitignore repo: add .envrc 2024-10-21 19:08:05 +02:00
flake.lock hosts/anastacia: add VPS host, searx and forgejo 2024-10-23 18:04:37 +02:00
flake.nix flake: remove useless {} around niri 2024-10-24 14:49:32 +02:00
LICENSE add nix dotfiles 2024-08-25 21:58:12 +02:00
README.md repo: update README (explain configuration and minor fixes) 2024-10-22 02:00:07 +02:00
treefmt.nix flake: move away from flake-parts (remove unnecessary abstractions) 2024-10-22 11:56:48 +02:00

❄️ nix

My NixOS configurations, using flakes.

</> Software I use

Additionally using a lot of other software you can find in the configuration files.

🛠️ Structure

Name Description
home Home manager configuration
hosts Host-specific
lib Helper functions
modules NixOS modules
system NixOS configuration

My configuration is structured based on the following principles:

  1. Hosts should be the main entry points and outputs.
  2. Abstractions should be avoided as much as possible.

The bulk of the configuration can be found either in home or system, which declares most of my programs, with some extra Nix code in lib and custom modules, mostly for convenience and to provide a way to globally set styles and themes for now.

My hosts can then pick and choose the programs and configurations that they need from the other directories. If the need arises for a more modular setup for a specific piece of software (ie. having different flavors of Firefox per host), I will write a custom module for it. This helps to avoid unnecessarily abstracting my configuration, as I don't find it necessary for the most part, and I would also like it to remain as simple as possible.

👥 Credits

People / repositories I have copied / learned from:

Some bits have also been borrowed from within the configuration, and credit has been given where its due.