chore: update readme

This commit is contained in:
Christoph Hollizeck 2025-12-02 18:13:36 +01:00
parent 7305880d6f
commit a553064bab
Signed by: Daholli
GPG key ID: 249300664F2AF2C7
2 changed files with 24 additions and 6 deletions

View file

@ -1,17 +1,35 @@
<a href="https://nixos.wiki/wiki/Flakes" target="_blank">
<img alt="Nix Flakes Ready" src="https://img.shields.io/static/v1?logo=nixos&logoColor=d8dee9&label=Nix%20Flakes&labelColor=5e81ac&message=Ready&color=d8dee9&style=for-the-badge">
</a>
<a href="https://github.com/NixOS/nixpkgs/tree/nixos-unstable" target="_blank">
<img alt="nixpkgs" src="https://img.shields.io/badge/nixpkgs-unstable-green.svg">
</a>
<a href="https://spdx.org/licenses/AGPL-3.0-or-later.html" target="_blank">
<img alt="license" src="https://img.shields.io/badge/License-AGPL_3.0_or_later-blue.svg">
</a>
# Welcome to my infrastructure configuration # Welcome to my infrastructure configuration
My configuration is based on [Dendritic Nix](https://dendrix.oeiuwq.com/Dendritic.html#dendritic-nix) My configuration is based on [Dendritic Nix](https://dendrix.oeiuwq.com/Dendritic.html#dendritic-nix)
and was heavily inspired by [github:drupol/infra](https://github.com/drupol/infra) including taking some parts ad-verbatim. and was heavily inspired by [github:drupol/infra](https://github.com/drupol/infra) including taking some parts ad-verbatim.
> [!WARNING]
> Do not just use this repo out of the box since it will not work for your setup (you will not be able to use my secrets)
> Feel free to copy any parts you find interesting or useful, but I would recommend building your flake up from scratch as it will allow for easier bughunting.
![hyprlock_screenshot](./assets/hyprlock_preview.png)
## How does it work? ## How does it work?
The two main aspects are [github:vic/import-tree](https://github.com/vic/import-tree) and [flake-parts](https://flake.parts/) The two main aspects that define this approach are [github:vic/import-tree](https://github.com/vic/import-tree) and [flake-parts](https://flake.parts/)
```nix ```nix
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules); outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
``` ```
this lets us define our starting point in another file. In this case this would be [host-machines](./modules/flake-parts/host-machines.nix) This lets us define our starting point in another file (or across multiple). In my case this would be the [host-machines](./modules/flake-parts/host-machines.nix) file.
There are many different approaches to this but I found drupols approach of parsing the module name interesting so I wanted to use it aswell.
I extended mine by filtering my rpi configurations to be a bit different. There are many different approaches to this, but I found the approach drupol used, parsing the module name, interesting so I wanted to use it as well.
I extended mine by filtering my raspberry-pi configurations to be a bit different.
### defining hosts ### defining hosts
Now to define the host machine, you will want to import other flake-part modules and maybe set some settings unique to this machine
```nix ```nix
flake.modules.nixos."hosts/yggdrasil" = { inputs, ... }: { flake.modules.nixos."hosts/yggdrasil" = { inputs, ... }: {
... ...
@ -40,7 +58,7 @@ all that matters is that your modules are name exactly how you import them.
home.file = lib.mkIf osConfig.programs."<program name>".enable { ... }; home.file = lib.mkIf osConfig.programs."<program name>".enable { ... };
``` ```
## WM of choice ## Window Manager of choice
A friend of mine introduced me to niri and I really like it configuration of that can be found under [niri.nix](./modules/desktop/niri.nix) A friend of mine introduced me to Niri and I really like it configuration of that can be found under [niri.nix](./modules/desktop/niri.nix)
I still use [hyprpaper](./modules/desktop/addons/hyprpaper.nix), and [hyprlock](./modules/desktop/addons/hyprlock.nix) because I was previously using hyprland and the still work perfectly fine. I still use [hyprpaper](./modules/desktop/addons/hyprpaper.nix), and [hyprlock](./modules/desktop/addons/hyprlock.nix) because I was previously using hyprland and the still work perfectly fine.
My bar of choice is [waybar](./modules/desktop/addons/waybar.nix) it is very minimalistic, and my current runner is fuzzel with I just use with a catppuccin theme. My bar of choice is [waybar](./modules/desktop/addons/waybar.nix) it is very minimalistic, and my current runner is fuzzel with I just use with a catppuccin theme.

BIN
assets/hyprlock_preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB