mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 04:58:01 +00:00
Update documentation
This commit is contained in:
parent
6bbad11fa0
commit
ae722324f5
56
README.adoc
56
README.adoc
@ -24,6 +24,38 @@ It should export my NixOS configurations of my different hosts (of only one so f
|
||||
To install it, run the `nixos-install --flake github:foo-dogsquared/nixos-config#ni`.
|
||||
(Please see the respective appropriate host README for more information.)
|
||||
|
||||
TIP: If you found some error regarding something in restricted mode, you can run the installation with `--impure` flag (i.e., `nixos-install --impure --flake github:foo-dogsquared/nixos-config#ni`).
|
||||
|
||||
|
||||
|
||||
|
||||
== What's in my flake?
|
||||
|
||||
You can see the full details with `nix flake show`.
|
||||
As a helpful summary, here's what my flake should contain sorting from the most interesting and helpful outputs to the most boring and unnecessary.
|
||||
|
||||
* `packages` contains link:./pkgs[my custom packages].
|
||||
It supports the default list of systems as defined from link:https://github.com/numtide/flake-utils[`flake-utils`].
|
||||
|
||||
* `devShells` from link:./shells/[my custom environments].
|
||||
Similar to `homeManagerConfigurations`, you can easily use it outside of NixOS.
|
||||
|
||||
* `nixosConfigurations` which is where you can install my various NixOS configurations directly (e.g., `nixos-install --flake MY_FLAKE_URL#HOST`).
|
||||
This mainly uses the link:./hosts/[hosts configuration].
|
||||
|
||||
* `homeManagerConfigurations` contains my various link:https://github.com/nix-community/home-manager[home-manager] configurations from link:./users/home-manager/[`./users/home-manager/`].
|
||||
The neat thing about it is you can easily install it in a non-NixOS Linux distro.
|
||||
|
||||
* `nixosModules` are composed from NixOS modules defined in link:./modules/nixos[`./modules/nixos`].
|
||||
It can be used as additional modules for your own NixOS config in case you want to use mine for whatever reason.
|
||||
footnote:[I don't know why did I put it there but eh...]
|
||||
|
||||
* `homeManagerModules` are where my link:./modules/home-manager[custom home-manager modules] to be exported.
|
||||
footnote:[This is more useful than my NixOS modules.]
|
||||
|
||||
* `lib` is defined from link:./lib/[my custom library].
|
||||
It's another unnecessary export but it's there.
|
||||
|
||||
|
||||
|
||||
|
||||
@ -76,8 +108,10 @@ In order of priority:
|
||||
|
||||
* [x] Create custom modules.
|
||||
* [x] Create a themes system similar to link:https://github.com/hlissner/dotfiles[this NixOS config].
|
||||
* [ ] Create a good workflow for creating ISOs.
|
||||
* [x] Create development shells.
|
||||
* [x] Manage secrets with agenix.
|
||||
* [ ] Create a good workflow for tests.
|
||||
* [x] Automate backups with NixOS config.
|
||||
* [x] Create custom packages and export it to flakes. (Maybe consider making it to upstream)
|
||||
* [x] Create cluser-wide configs.
|
||||
@ -99,6 +133,9 @@ I still use it on other non-NixOS systems.
|
||||
|
||||
== Frequently asked questions (FAQ)
|
||||
|
||||
More like "Most anticipated questions (MAQ)" since almost no one asked me about this yet. :)
|
||||
However, it doesn't roll off the tongue.
|
||||
|
||||
[qanda]
|
||||
Hello! I'm new to Nix and NixOS, where should I start?::
|
||||
Oh no, you've seen the multiple configurations from other systems, didn't you?
|
||||
@ -109,6 +146,25 @@ I've written link:https://foo-dogsquared.github.io/blog/posts/moving-into-nixos/
|
||||
Any requirements for this setup?::
|
||||
You only need Nix 2.4 installed with the experimental features for Nix command and flakes enabled (i.e., `experimental-features = nix-command flakes`).
|
||||
|
||||
Hey! I have an error something like `/nix/${HASH}-nmd/` from my installation. Why it doesn't work?::
|
||||
This error seems to be related to home-manager.
|
||||
See this link:https://github.com/nix-community/home-manager/issues/2074[issue] for more details.
|
||||
Basically, you have to add `--impure` flag when running `nixos-install`.
|
||||
|
||||
What is my experience on Nix flakes?::
|
||||
link:https://youtu.be/iWJKZK_1l88[I LIKE IT!]
|
||||
There are still some hiccups like the strict tie-in to Git which leads to strange experience like having to add untracked files just to be recognized.
|
||||
However, this feature is still in the works so no surprise there.
|
||||
|
||||
Is this based from link:https://github.com/divnix/devos[devos]?::
|
||||
Yes but I've created this from scratch.
|
||||
One of my goals when creating this config is to use as little dependency as much as possible.
|
||||
At the time I've rewritten this configuration, I have little idea about Nix as a language and I find devos to be overwhelming so I doubled down to create from scratch.
|
||||
+
|
||||
However, I can say that my configuration is moving in a similar direction to devos (which is intended to be modified anyways) as I explore more of Nix.
|
||||
In fact, I've based much of my config from it and may even be ended up as one.
|
||||
It is nice that such a project exists serving as a reference for bigger configurations.
|
||||
|
||||
|
||||
|
||||
|
||||
|
16
modules/nixos/themes/README.adoc
Normal file
16
modules/nixos/themes/README.adoc
Normal file
@ -0,0 +1,16 @@
|
||||
= Themes
|
||||
:toc:
|
||||
|
||||
These are where my themes are defined and configured.
|
||||
Basically, themes are mainly graphical sessions concerned with aesthetics.
|
||||
It could also include specific workflows and configurations.
|
||||
|
||||
This is where modules will define how you're going to interact with the computer.
|
||||
|
||||
The following list is the summary which can also serve as a guideline to developing a theme.
|
||||
|
||||
* Due to the bigger scope and importance of this module, there is a limit where you can only enable one theme at a time.
|
||||
You can disable this with `config.modules.themes.disableLimit` set to `true`.
|
||||
|
||||
* Custom themes should be defined in `config.modules.themes.themes` attribute (e.g., `options.modules.themes.themes.a-happy-gnome`, `options.modules.themes.themes.simple-way`).
|
||||
This makes up for a namespace entirely dedicated for setting themes.
|
Loading…
Reference in New Issue
Block a user