= foo-dogsquared's NixOS config
:todo:

This is my NixOS config as a link:https://www.tweag.io/blog/2020-05-25-flakes/[Nix flake].

I finally have some time trying to grok flakes and redo my NixOS config from scratch after leaving NixOs (because I have work and have to quickly set things up without me trying to debug how NixOS works).
Here is the result.




== Installation

This primarily uses Nix flakes so you can have a preview of what's available in my config.

[source, shell]
----
nix flake show github:foo-dogsquared/nixos-config
----

It should only export my NixOS configurations of my different hosts (of only one so far excluding VMs and VPSs ;p).





== TODO

In order of priority:

* Create custom modules.
** Create a themes system similar to link:https://github.com/hlissner/dotfiles[this NixOS config].

* Manage secrets with agenix.

* Automate backups with NixOS config.

* Create custom packages and export it to flakes. (Maybe consider making it to upstream)

* Create cluser-wide configs.

* Create host-wide configs.

* Create user-specific configs with home-manager.

* ~Steal~ Get some ideas from link:https://github.com/divnix/devos[this overengineered template].

* Make use of other established utilities such as link:https://github.com/divnix/digga/[digga], link:https://github.com/gytis-ivaskevicius/flake-utils-plus[flake-utils-plus], and link:https://github.com/nix-community/home-manager[home-manager] once I'm familiar to create my own Nix programs.

Out of scope:

* Text editor configurations.
They are often updated. I don't want to rebuild it every time I change it.

* Migration of my link:https://github.com/foo-dogsquared/dotfiles[dotfiles].
I still use it on other non-NixOS systems.

