Portrait

Cyprus, Paphos

Anton Plotnikov

Linux, debugging, and other obsessions

Publish Vscode Foam With Hugo

Introduction Foambubble is a good instrument to structure your data in a graph-oriented way in a manner of roam research, obsidian etc. For me, foam is an ancestor for org-roam, but with vscode flavor. In the original foam documentation, you can easily find examples and instructions on how to publish your notes with Jekyll, mkdocs and Gatsby engines, but not Hugo. Here is my example of foam notes integration to Hugo static website. ...

March 6, 2024 · 3 min · Anton Plotnikov

Nix Based Dark Light Theme Switch

Overview Nixos configuration in a matter of theming is very useful. There are several tools to define color-theme globally and re-use defined color variables to configure any program you want, for example, nix-colors or stylix. When you change a theme and switch configuration nix normally it will rebuild programm configuration file and re-start such program if it doesn’t support live configuration reloading. Such a behavior can be utilized for theme-switching without the help of any other tool or custom scripts. ...

February 28, 2024 · 4 min · Anton Plotnikov

Webauthn client-side hardware encryption

Intro In 2023 long-waited prf extension was finally released for Webauthn, which allows us to generate the encryption key using almost any Webauthn compatible chip. Here I want to describe as simple as possible how the whole process works from a top-level abstraction perspective. Demo TS code and react app, that covers this post you can find here and source code in github. Long story short the whole process can be simplified by several steps: ...

February 22, 2024 · 3 min · Anton Plotnikov

Minio Caddy Hugo Setup

Prerequisites The actual website deployed in a such way. The system consists of: NixOS host Minio S3 server Caddy server Woodpecker pipeline to build and publish Hugo Hugo setup First of all setup and test locally Hudo deploy, to publish statics directly to s3. [deployment] [[deployment.targets]] name = "production" URL = "s3://bucket-name?endpoint=https://s3.example.com&region=us-east-1&s3ForcePathStyle=true" Put your minio credentials to AWS_SECRET_ACCES_KEY and AWS_ACCESS_KEY_ID variables or to ~/.aws/credentials file and test deployment by hugo deploy command. ...

February 6, 2024 · 2 min · Anton Plotnikov