mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
34 lines
1.9 KiB
Plaintext
34 lines
1.9 KiB
Plaintext
|
= foodogsquared's custom homepage
|
||
|
:toc:
|
||
|
|
||
|
My custom homepage intended to be deployed alongside my home-manager configuration.
|
||
|
In theory, you could deploy this outside of the home-manager config but that's on you (READ: anyone that is not foodogsquared) to figure out.
|
||
|
It should be fairly easy to do that though since all you need is the following list of components to successfully build the website:
|
||
|
|
||
|
* GNU Make for its build automation.
|
||
|
This is structured in this way to make building consistent either with Nix and non-Nix'd environments.
|
||
|
|
||
|
* https://gohugo.io/[Hugo] is the site generator mainly designed to be deployed with one binary.
|
||
|
|
||
|
* https://foo-dogsquared.github.io/panapton[Panapton] to compile the stylesheet with my custom scheme.
|
||
|
In place of this, you could use other Base16 builders but you'll have to recreate the stylesheet template for that particular builder.
|
||
|
|
||
|
There are some design constraints when developing this website.
|
||
|
|
||
|
* This homepage is pretty much designed to be completely possible to use entirely offline.
|
||
|
As such, it has a design constraint of using less (zero as much as possible) remote resources such as a CDN.
|
||
|
Usage of third-party libraries are fine as long as it is bundled nicely (we'll probably use something like https://bun.sh/[Bun] for this).
|
||
|
|
||
|
* We cannot use anything within the site generator requiring a network access mostly because we're relying on the Nix which has sandboxing by default including networking isolation. footnote:[While we can remove it ourselves, it isn't really good practice.]
|
||
|
As a neat side effect, it also strengthens the previous goal of keeping it as offline as possible.
|
||
|
|
||
|
|
||
|
[#development]
|
||
|
== Development
|
||
|
|
||
|
It is recommended to set up the development environment with https://nixos.org/[Nix package manager].
|
||
|
In case it isn't possible to use it, you'll have to install the following tools.
|
||
|
|
||
|
* Hugo v0.130.0 and above
|
||
|
* https://treefmt.com/[treefmt]
|