Anthony Rodriguez
6d643f903c
I decided to import my custom lib as lib' as it makes it easier to read and differentiate from lib. I also removed unnecessary imports from my mkSystem function (that I actually put directly inside hosts/default.nix, as that made more sense), since system is not needed anymore (already set in hardware-configuration.nix), and the only required argument is inputs, that will be then parsed automatically by nixosSystem. |
||
---|---|---|
home | ||
hosts | ||
lib | ||
modules | ||
nodes | ||
pkgs | ||
secrets | ||
system | ||
wallpapers | ||
.envrc | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md | ||
treefmt.nix |
❄️ flocon
My NixOS configurations, using flakes.
</> Software I use
- Wayland compositor: niri
- Text editor: neovim
- Shell: fish
- Colors: Catppuccin
- Font: Intel One Mono
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:
- Hosts should be the main entry points and outputs.
- 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:
- 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
Some bits have also been borrowed from within the configuration, and credit has been given where its due.