my nixos system configuration
Find a file
Anthony Rodriguez 861c658590
treewide: move styling to their respective modules
As a first step towards getting rid of home-manager and going towards a
cleaner, more concise configuration, I decided to move back the styling
to their respective home-manager modules. Since I'm not planning to
share my styling module anymore, as it is very specific to my config, I
just decided to merge everything together.

commit 078334af48
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Sun Jan 19 20:41:14 2025 +0100

    treewide: finish moving rest of styling to their respective hm modules

commit 57432a9655
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 12:13:54 2025 +0100

    treewide: move regreet styling out of module

commit 6fef9e0a76
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 12:10:33 2025 +0100

    treewide: move swaync styling out of module

commit 2f4a8433c7
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 12:06:33 2025 +0100

    treewide: move nvf styling out of module

commit a315915298
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 12:02:58 2025 +0100

    treewide: move hyprlock styling out of module

commit 0fe6f67b20
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 12:02:49 2025 +0100

    modules/nix/core/home-manager: import lib' in extraSpecialArgs

commit e09569b921
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 11:55:05 2025 +0100

    treewide: move hyprland styling out of module

commit eb25ce0c43
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 11:43:35 2025 +0100

    modules/nix/style/modules: remove styling for unused programs

commit efb6b91ce1
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 11:00:54 2025 +0100

    treewide: move foot styling out of module

commit 4c06a66b5e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 10:56:05 2025 +0100

    treewide: move fish styling out of module

commit b3a03e5e9b
Author: Anthony Rodriguez <anthony@nezia.dev>
Date:   Fri Jan 17 10:47:43 2025 +0100

    treewide: move discord styling out of module
2025-01-19 20:42:47 +01:00
assets README: add nix logo 2025-01-10 12:04:39 +01:00
hosts treewide: huge refactor, move everything into modules 2025-01-15 23:00:13 +01:00
modules treewide: move styling to their respective modules 2025-01-19 20:42:47 +01:00
secrets treewide: fix deploy issues 2024-11-15 19:49:20 +01:00
shared treewide: huge refactor, move everything into modules 2025-01-15 23:00:13 +01:00
.gitignore repo: add .envrc 2024-10-21 19:08:05 +02:00
flake.lock treewide: huge refactor, move everything into modules 2025-01-15 23:00:13 +01:00
flake.nix flake: update website 2025-01-10 21:41:06 +01:00
LICENSE LICENSE: update to GPL-3.0 2024-11-21 18:21:46 +01:00
nodes.nix treewide: refactor structure 2024-12-18 19:24:59 +01:00
README.md README: add nix logo 2025-01-10 12:04: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
assets Resources used throughout the system (images etc.)
config System configuration (separated between NixOS / home-manager)
hosts Host-specific
lib Helper functions
shared Re-used components (internal modules, custom derivations)

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.
  3. Setting up theming should be as simple as changing one or two options.

The main configuration can be found in config, which declares most of my programs, with re-usable modules and derivations in shared, to provide a way to globally set themes, usernames and more.

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:

  • fufexan/dotfiles for the configuration structure

  • jacekpoz/nixos for learning how NixOS modules work

  • sodiboo for helping me a whole lot with Niri-specific issues

  • llakala for being very thorough and helpful when cleaning up my code and general structure.

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