mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-30 22:57:55 +00:00
docs: update
This commit is contained in:
parent
38d8542875
commit
07b198c5ab
@ -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.
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user