nixos-config/configs
Gabriel Arazas e2af893f64
Some checks are pending
Build devcontainers / build-devcontainers (push) Waiting to run
Cache outputs / build-custom-packages (push) Waiting to run
Check flake outputs / check-outputs (push) Waiting to run
Publish every Git push to master to FlakeHub / flakehub-publish (push) Waiting to run
Build personalized bootstrap ISO / build-iso (x86_64-linux) (push) Waiting to run
Build project site / build (push) Waiting to run
Build project site / deploy (push) Blocked by required conditions
nix: init core subflake
It is heavily preferred if a private config is only meant to use the
project's module and also wants to avoid the heavy list of inputs it
isn't going to use anyways (which happens for 99% of the time).
2025-04-29 16:50:06 +08:00
..
disko chore: reformat codebase 2025-02-03 10:30:13 +08:00
flake-parts nix: init core subflake 2025-04-29 16:50:06 +08:00
home-manager users/foo-dogsquared/setups/music: update Mopidy config 2025-04-29 16:50:05 +08:00
nixos hosts/graphical-installer: update kernel version 2025-04-29 16:50:04 +08:00
nixvim treewide: replace builtins.map usage to lib.map 2025-04-13 15:15:55 +08:00
wrapper-manager wrapperManagerPackages/archive-setup: fix yt-dlp-video settings 2025-04-15 12:24:27 +08:00
README.adoc docs: document conventions for setting module arguments 2025-01-24 18:42:23 +08:00

Table of Contents

This is the folder containing various configurations for various environments, typically the ones configured using the Nix module system such as NixOS, home-manager, and nixvim. Each of these configurations are assumed to use custom modules defined at ../modules/ (where it has similar folder structure).

Furthermore, these configurations do have a certain "codename" in the commits for easier inspection of the history. Here is the following list of them used in the repo history:

  • diskoConfigs for Disko configurations.

  • hosts for NixOS systems (e.g., hosts/ni).

  • users for home-manager configurations (e.g., users/foo-dogsquared).

  • nixvimConfigs for NixVim configurations (e.g., nixvimConfigs/fiesta).

  • wrapperPackages for wrapper-manager packages (e.g., wrappers/archive-setup).

  • flake for flake-parts (seeing it only has one of them, it is constantly referred to as flake).

These "codenames" are also used for their environment-specific module structuring (e.g., hosts.ni.services.backup.enable for NixOS, nixvimConfigs.fiesta.setups.tree-sitter for NixVim, users.foo-dogsquared.setups.desktop.enable for home-manager) with the exception of flake-parts where it is basically a free-for-all.

Lastly, these modules are referred collectively in the commits as modules.

Conventions

Theres a few things you need to remember for these configurations.

  • Module arguments that are only suitable to be included in the first build step of the configuration are all under the firstSetupArgs namespace.

  • Module arguments that are only found inside of the configuration itself should be under the configurationArgs namespace.