my nixos system configuration
Find a file
2024-11-06 16:49:58 +01:00
home treewide: minor cleanups 2024-11-06 16:49:58 +01:00
hosts treewide: minor cleanups 2024-11-06 16:49:58 +01:00
lib treewide: add mkSystem function for hosts and inject custom lib through _module.args 2024-11-06 16:27:40 +01: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
pkgs treewide: pass permittedInsecurePackages directly to bolt-launcher in outputs 2024-11-06 16:39:42 +01:00
secrets treewide: add server-side secrets management with agenix 2024-10-24 16:02:14 +02:00
system treewide: minor cleanups 2024-11-06 16:49:58 +01: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 flake: update input versions 2024-11-06 16:40:38 +01:00
flake.nix treewide: pass permittedInsecurePackages directly to bolt-launcher in outputs 2024-11-06 16:39:42 +01:00
LICENSE add nix dotfiles 2024-08-25 21:58:12 +02:00
README.md treewide: add kanata 2024-11-01 22:50:39 +01:00
treefmt.nix flake: move away from flake-parts (remove unnecessary abstractions) 2024-10-22 11:56:48 +02:00

❄️ flocon

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
pkgs Custom packages
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.