my nixos system configuration
Find a file
2024-11-17 18:52:11 +01:00
home home/programs/editors/neovim: configure lualine to be more minimal 2024-11-17 18:14:34 +01:00
hosts treewide: add syncthing 2024-11-17 15:04:22 +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 treewide: add ironbar for niri 2024-11-13 23:19:57 +01:00
nodes treewide: fix deploy issues 2024-11-15 19:49:20 +01:00
pkgs treewide: add Apple Color Emoji 2024-11-14 22:13:04 +01:00
secrets treewide: fix deploy issues 2024-11-15 19:49:20 +01:00
system system/programs/fonts: add intel one mono and nerd fonts symbols 2024-11-17 18:52:07 +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-17 18:52:11 +01:00
flake.nix treewide: add ironbar for niri 2024-11-17 18:51:10 +01:00
LICENSE add nix dotfiles 2024-08-25 21:58:12 +02: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.