#+TITLE: =home= monorepo #+FILETAGS: #home infra configuration dotfiles monorepo
home is the monorepo containing my personal tools and infrastructure. Almost everything in
here is built using [[https://nixos.org/nix][Nix]]. /This README needs some updates/.
- I need to rewrite this part based on =flake.nix= and updates.
- Explore the =nixos-rebuild --build-host … --target-host … --flake .#host boot= as it might remove the need for =deploy-rs= altogether 😈
- I need to make a big overall on the docs.
- Highlights
It is meant to be fully reproducible (using [[https://github.com/nmattia/niv][niv]] for now) and position-independent, meaning
there is no moving around of configuration.nix. For the configurations' entry points see
the individual [[file:systems][systems]], as well as [[file:default.nix][default.nix]].
This will be a all-time work-in-progress, so please beware that things might change dramatically or even not working anymore 😛.
** =/systems=
This holds the configuration of my different systems. It is meant to be
position-independent, meaning there is no moving around of configuration.nix. For the
configurations' entry points see the individual [[file:systems][systems]], as well as [[file:default.nix][default.nix]].
*** =/hosts=
This is the configuration for each hosts. It should be as simple as enabling some profiles and some ad-hoc very specific configuration.
*** =/modules=
This is where all configuration that can be used across different system would lend. These are not system dependent and should be configurable. This contains the following "modules", a bit like how nixpkgs is organized
- hardware
- profiles
- programs
- services
- virtualisation
** =/ops=
Network and =morph= configuration of my infrastructure.
** =/users=
Users configuration, for [[https://nixos.org][NixOS]] or not and using home-manager.
*** =/modules=
This is a list of modules that can be used by all users.
*** =/{users}/default.nix=
Contains NixOS user specific configuration. It gets imported if the user is listed in a given configuration. It will contains the user creation information (groups, …) and can refer to a given home-manager configuration.
*** =/{users}/home.nix=
Contains home-manager configuration. /Note/: In order to get information from Nixos, use =nixosConfig=. This should be useful to configure some modules depending on the host configuration.
** =/nix=
Nix configurations, packages definitions, overlays.
** =/tools=
Those are tools I have written for my personal usage.
** =/www=
Website sources and builders/deployers.
- References
Repositories
- [[https://github.com/jordanisaacs/dotfiles][https://github.com/jordanisaacs/dotfiles]] — [[file:/net/sakhalin.home/export/gaia/src/configs/jordanisaacs.dotfiles/][src]]
- [[https://github.com/chvp/nixos-config][https://github.com/chvp/nixos-config]] — [[file:/net/sakhalin.home/export/gaia/src/configs/chvp.nixos-config/][src]]
- [[https://github.com/gytis-ivaskevicius/nixfiles][https://github.com/gytis-ivaskevicius/nixfiles]] — [[file:/net/sakhalin.home/export/gaia/src/configs/gytis-ivaskevicius.nixfiles/][src]]
- [[https://github.com/davidtwco/veritas]] — [[file:/net/sakhalin.home/export/gaia/src/configs/davidtwco.veritas/][src]]
- [[https://github.com/buckley310/nixos-config][https://github.com/buckley310/nixos-config]] — [[file:/net/sakhalin.home/export/gaia/src/configs/buckley310.nixos-config/][src]]
- [[https://github.com/eadwu/nixos-configuration][https://github.com/eadwu/nixos-configuration]] — [[file:/net/sakhalin.home/export/gaia/src/configs/eadwu.nixos-configuration/][src]]
- [[https://github.com/berbiche/dotfiles][https://github.com/berbiche/dotfiles]] — [[file:/net/sakhalin.home/export/gaia/src/configs/berbiche.dotfiles/][src]]
- https://github.com/hlissner/dotfiles/ — [[file:/net/sakhalin.home/export/gaia/src/configs/hlissner.dotfiles/][src]]
- [[https://github.com/Mic92/dotfiles][https://github.com/Mic92/dotfiles]] — [[file:/net/sakhalin.home/export/gaia/src/configs/Mic92.dotfiles/][src]]
- [[https://github.com/lovesegfault/nix-config][https://github.com/lovesegfault/nix-config]]
- [[https://github.com/bqv/nixrc][https://github.com/bqv/nixrc]]
- [[https://github.com/leotaku/nixos-config]]
- [[https://github.com/rasendubi/dotfiles]]
- [[https://git.tazj.in/about/]]
- [[https://github.com/danieldk/nix-home]]
- https://github.com/terlar/nix-config
- https://github.com/foo-dogsquared/nixos-config
- https://github.com/barrucadu/nixfiles/tree/master
- https://github.com/EmergentMind/nix-config
- https://github.com/shahinism/45r4r/
- https://github.com/wimpysworld/nix-config This one is very interesting in how it is shaped (the mixins, …)
- https://github.com/Hoverbear-Consulting/flake
- https://github.com/jnsgruk/nixos-config
- https://gitlab.com/ahoneybun/nix-configs
-
https://github.com/akirak/homelab
- [[https://git.sr.ht/~akirak/nix-config][https://git.sr.ht/~akirak/nix-config]] — [[file:/net/sakhalin.home/export/gaia/src/configs/akirak.nix-config/][src]]
- [[https://github.com/akirak/nix-desktop][https://github.com/akirak/nix-desktop]]
- https://git.rossabaker.com/ross/cromulent
- https://github.com/thiagokokada/nix-configs
Old
- Licensing
Unless otherwise stated in a subdirectory, all code is licensed under the GNU GPL v3. See [[file:COPYING][COPYING]] for details.