diff --git a/README.md b/README.md index 62a3a9e..2f75d24 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,35 @@ + + Nix Flakes Ready + + + nixpkgs + + + license + + # Welcome to my infrastructure configuration 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. +> [!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? -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 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) -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. +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 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 +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 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."".enable { ... }; ``` -## WM 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) +## 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) 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. diff --git a/assets/hyprlock_preview.png b/assets/hyprlock_preview.png new file mode 100644 index 0000000..be9c212 Binary files /dev/null and b/assets/hyprlock_preview.png differ