README: update README

This commit is contained in:
Anthony Rodriguez 2025-01-30 17:56:20 +01:00
parent b2f958e681
commit 84eeb6ef6c
Signed by: nezia
SSH key fingerprint: SHA256:Ihfpl0rUpqDevYqnzSR34OYfVLbDNkBiUjs3CpX4ykA

View file

@ -6,23 +6,14 @@
My NixOS configurations, using flakes. My NixOS configurations, using flakes.
# </> Software I use
- Wayland compositor: [Hyprland](https://github.com/hyprwm/Hyprland)
- Text editor: [neovim](https://github.com/neovim/neovim)
- Shell: [fish](https://github.com/fish-shell/fish-shell)
Additionally using a lot of other software you can find in the configuration files.
# 🛠️ Structure # 🛠️ Structure
| Name | Description | | Name | Description |
| ----------------- | ------------------------------------------------------------- | | ------------------- | ---------------------------------------------------------------- |
| [assets](assets/) | Resources used throughout the system (images etc.) | | [assets](assets/) | Resources used throughout the system (images etc.) |
| [config](config/) | System configuration (separated between NixOS / home-manager) | | [hosts](hosts/) | Host-specific |
| [hosts](hosts/) | Host-specific | | [modules](modules/) | Local module system (where the bulk of the configurations lives) |
| [lib](lib/) | Helper functions | | [shared](shared/) | Exported components (library functions, custom derivations...) |
| [shared](shared/) | Re-used components (internal modules, custom derivations) |
My configuration is structured based on the following principles: My configuration is structured based on the following principles:
@ -30,9 +21,9 @@ My configuration is structured based on the following principles:
2. Abstractions should be avoided as much as possible. 2. Abstractions should be avoided as much as possible.
3. Setting up theming should be as simple as changing one or two options. 3. Setting up theming should be as simple as changing one or two options.
The main configuration can be found in [config](config/), which declares most of my programs, with re-usable modules and derivations in [shared](shared/), to provide a way to globally set themes, usernames and more. The main configuration can be found in [modules](modules/), which declares most of my programs and services.
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. My hosts can then pick and choose the programs and configurations that they need from the local module system, which have its options declared in [modules/options](modules/options/) for easy reference.
# 👥 Credits # 👥 Credits
@ -42,5 +33,6 @@ People / repositories I have copied / learned from:
- [jacekpoz/nixos](https://git.jacekpoz.pl/poz/niksos) for learning how NixOS modules work - [jacekpoz/nixos](https://git.jacekpoz.pl/poz/niksos) for learning how NixOS modules work
- [sodiboo](https://github.com/sodiboo) for helping me a whole lot with Niri-specific issues - [sodiboo](https://github.com/sodiboo) for helping me a whole lot with Niri-specific issues
- [llakala](https://github.com/llakala) for being very thorough and helpful when cleaning up my code and general structure. - [llakala](https://github.com/llakala) for being very thorough and helpful when cleaning up my code and general structure.
- [Lunarnovaa](https://github.com/Lunarnovaa) for her [hjem](https://github.com/feel-co/hjem) configuration and functions, that I used when switching away from home-manager.
Some bits have also been borrowed from within the configuration, and credit has been given where its due. Some bits have also been borrowed from within the configuration, and credit has been given where its due.