2024-11-01 08:39:52 +00:00
# ❄️ flocon
2024-02-07 13:14:55 +00:00
2024-10-11 15:54:32 +00:00
My NixOS configurations, using flakes.
2024-02-07 13:14:55 +00:00
2024-10-11 15:54:32 +00:00
# </> Software I use
2024-02-07 13:14:27 +00:00
2024-12-18 18:24:59 +00:00
- Wayland compositor: [Hyprland ](https://github.com/hyprwm/Hyprland )
2024-10-11 15:54:32 +00:00
- Text editor: [neovim ](https://github.com/neovim/neovim )
- Shell: [fish ](https://github.com/fish-shell/fish-shell )
2024-02-07 13:15:27 +00:00
2024-10-11 15:54:32 +00:00
Additionally using a lot of other software you can find in the configuration files.
2024-02-07 13:15:27 +00:00
2024-10-11 15:54:32 +00:00
# 🛠️ Structure
2024-02-07 14:45:56 +00:00
2024-12-18 18:24:59 +00:00
| Name | Description |
| ----------------- | ------------------------------------------------------------- |
| [assets ](assets/ ) | Resources used throughout the system (images etc.) |
| [config ](config/ ) | System configuration (separated between NixOS / home-manager) |
| [hosts ](hosts/ ) | Host-specific |
| [lib ](lib/ ) | Helper functions |
| [shared ](shared/ ) | Re-used components (internal modules, custom derivations) |
2024-10-22 00:00:07 +00:00
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.
2024-12-18 18:24:59 +00:00
3. Setting up theming should be as simple as changing one or two options.
2024-10-22 00:00:07 +00:00
2024-12-18 18:24:59 +00:00
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.
2024-10-22 00:00:07 +00:00
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.
2023-09-20 16:27:06 +00:00
2024-10-11 15:54:32 +00:00
# 👥 Credits
2024-02-07 14:45:56 +00:00
2024-10-11 15:54:32 +00:00
People / repositories I have copied / learned from:
2024-02-07 14:45:56 +00:00
2024-10-11 15:54:32 +00:00
- [fufexan/dotfiles ](https://github.com/fufexan/dotfiles ) for the configuration structure
- [jacekpoz/nixos ](https://git.jacekpoz.pl/poz/niksos ) for learning how NixOS modules work
2024-11-08 16:38:28 +00:00
- [sodiboo ](https://github.com/sodiboo ) for helping me a whole lot with Niri-specific issues
2024-12-18 18:24:59 +00:00
- [llakala ](https://github.com/llakala ) for being very thorough and helpful when cleaning up my code and general structure.
2024-02-07 14:36:27 +00:00
2024-12-18 18:24:59 +00:00
Some bits have also been borrowed from within the configuration, and credit has been given where its due.