my nixos system configuration
Find a file
2024-11-27 17:44:35 +01:00
home home/terminal: add bat as man pager 2024-11-27 17:44:35 +01:00
hosts treewide: implement notifications with swaync 2024-11-26 15:47:10 +01:00
lib treewide: implement notifications with swaync 2024-11-26 15:47:10 +01:00
modules treewide: global refactor towards a better module structure 2024-11-26 18:01:46 +01:00
nodes treewide: fix deploy issues 2024-11-15 19:49:20 +01:00
pkgs treewide: replace apple-color-emoji with noto-color-emoji 2024-11-23 23:56:07 +01:00
secrets treewide: fix deploy issues 2024-11-15 19:49:20 +01:00
system system: update nvidia drivers 2024-11-24 21:30:04 +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 inputs 2024-11-24 21:29:53 +01:00
flake.nix flake: unpin nixpkgs 2024-11-22 19:36:40 +01:00
LICENSE LICENSE: update to GPL-3.0 2024-11-21 18:21:46 +01:00
README.md readme: add credits 2024-11-08 17:38:28 +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.