docs: update

This commit is contained in:
Gabriel Arazas 2022-11-29 10:43:27 +08:00
parent 38d8542875
commit 07b198c5ab
6 changed files with 53 additions and 8 deletions

View File

@ -87,7 +87,7 @@ While possible with channels, this is just better experience overall and I have
You can see the full details with `nix flake show`. 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. 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]. * `packages` contains link:./pkgs[my custom packages] and some of usual images of several hosts which is nice for easily fetching custom images.
* `overlays` contains the overlay for extending nixpkgs with my packages. * `overlays` contains the overlay for extending nixpkgs with my packages.
If you want to use my packages alongside the nixpkgs attribute then this is what you're looking for. If you want to use my packages alongside the nixpkgs attribute then this is what you're looking for.

View File

@ -13,4 +13,11 @@ To make use of this, you can generate an ISO through link:https://github.com/nix
nix run github:nix-community/nixos-generators -- --flake .#bootstrap --format iso --out-link result nix run github:nix-community/nixos-generators -- --flake .#bootstrap --format iso --out-link result
---- ----
Though, you could also easily build one with `packages.bootstrap-install-iso` from the flake output.
[source, shell]
----
nix build $FLAKE#bootstrap-install-iso
----
With the ISO built, you can now use it for yourself for whatever reason. With the ISO built, you can now use it for yourself for whatever reason.

View File

@ -12,4 +12,11 @@ To make use of this, you can generate an ISO through link:https://github.com/nix
nix run github:nix-community/nixos-generators -- --flake .#graphical-installer --format iso --out-link result nix run github:nix-community/nixos-generators -- --flake .#graphical-installer --format iso --out-link result
---- ----
You could also get the ISO by getting the `packages.graphical-installer-install-iso` from the flake output.
[source, shell]
----
nix build $FLAKE#graphical-installer-install-iso
----
With the ISO built, you can now use it for yourself for whatever reason. With the ISO built, you can now use it for yourself for whatever reason.

View File

@ -2,12 +2,7 @@
:toc: :toc:
My desktop workstation. My desktop workstation.
I was about to have two computers but my desktop is broken ever since. Pretty nice, pretty handy, it is your basic desktop NixOS installation.
Whoops!
I try to be minimal with my dependencies unlike last time.
`direnv`, `lorri`, and Flatpak are mostly enough for desktop needs.
(Which is Fedora Silverblue is good at! :))
I know partitioning is not your favorite part so here's one way to prepare the laptop with this config. I know partitioning is not your favorite part so here's one way to prepare the laptop with this config.

View File

@ -16,3 +16,39 @@ Some of the self-hosted services from this server:
* An nginx server which will make tie all of the self-hosted services together. * An nginx server which will make tie all of the self-hosted services together.
* A link:https://github.com/dani-garcia/vaultwarden[Vaultwarden] instance for a little password management. * A link:https://github.com/dani-garcia/vaultwarden[Vaultwarden] instance for a little password management.
* A link:https://gitea.io/[Gitea] instance for my personal projects. * A link:https://gitea.io/[Gitea] instance for my personal projects.
== Deploying it as a Google Compute instance
Some documented guidelines to deploy this instance in Google Cloud Platform (GCP) so you won't have to re-read those documentation like a stuck rat the next time you visit them.
* A GCP Compute Instance image of the configuration is available to be stored at your storage buckets.
You can simply build it at `packages.plover-gce` and store it there.
+
You can take it further automating it by running link:../../scripts/generate-and-upload-gce-image[`../../scripts/generate-and-upload-gce-image`] which is just a modified version of the link:https://github.com/NixOS/nixpkgs/blob/ebdafd7244832f1f52cacd3eda39f2156988957e/nixos/maintainers/scripts/gce/create-gce.sh[`create-gce.sh` script from nixpkgs].
* If you already have access to at least one GCP KMS key, then skip this part.
Add a key to be used for deployment to wherever relevant file in the link:./secrets[secrets directory]. footnote:[Of course, you need previous keys which you're likely using the private age key for this system.]
For this, you'll have to create a GCP keyring on their key management system (KMS) and generate a key there.
* Enable link:https://cloud.google.com/compute/docs/oslogin/set-up-oslogin[OS Login] for your Compute Engine instance.
* Don't forget to set the appropriate scopes for the instance.
For example, since we're using a GCP KMS key, we may want to set the scope only to KMS API like in the following command.
+
--
[source, shell]
----
gcloud compute instances create "instance-1" \
--zone "us-east1-b" \
--scopes "https://www.googleapis.com/auth/cloudkms"
----
--
* Reserve a static IP address, pls.
Just don't forget to immediately assign it to the instance since it will charge higher if you just leave it alone.
* Creating a dedicated link:https://cloud.google.com/iam/docs/service-accounts[service account] for the VM is recommended.
Just make sure to set the least amount of privileges for that account.

View File

@ -2,7 +2,7 @@
:toc: :toc:
This is where user-specific configurations comes in. This is where user-specific configurations comes in.
Similar to modules, the top-level of this directory contains users for various config types (e.g., home-manager, NixOS). Similar to modules, the top-level of this directory contains users for various profiles (e.g., home-manager, NixOS).
As such, files put in here are only a part of the total sum of configuration (whether it is a home-manager configuration or a NixOS system). As such, files put in here are only a part of the total sum of configuration (whether it is a home-manager configuration or a NixOS system).
It shouldn't fully configure their respective system and should be put as a host configuration otherwise. It shouldn't fully configure their respective system and should be put as a host configuration otherwise.