Archive of

Arch Linux x Dank Linux

Written by Isaac

Recently, I've delved down the rabbit hole of customizing my Framework 131 laptop's software. I originally started out using NixOS, and of course had my configuration files source-tracked. But, I eventually grew tired of its consistency and reliability; I decided I wanted something more exciting, a new hobby and project to truly have to maintain.

Enter Arch Linux; I'm no expert on Linux distributions (let alone Linux), but Arch is known for being somewhat cutting-edge and customizable. Perfect for someone that is bored.

I had a few ideal requirements for my distribution:

  • I want a minimal TTY environment by default
  • I want to be able to easily launch a DE2 when desired
  • I want it secure, encrypted, and with support for both Yubikey and the Fingerprint reader

Installation

I consider most Linux distributions nowadays to be similar to different chocolate companies: all the same, with very minor flavor differences. Arch, frankly, doesn't seem that much different. The installation process has been fairly streamlined with the archinstall project, though I ended up re-installing and doing the manual install roughly four times just to get it correct.

Security

A tricky part I found was being able to use my Yubikey for encrypting / decrypting the hard drive. Though there are (apparently) better (and more proper) ways of going about this, I ended up simply having 2 LUKS2 keys for my drive. The first one being a passphrase that I've entirely memorized (roughly 32 characters). Of course, having to type this every time I restarted my laptop would get tedious (and I often made a common typo). Thankfully, the Yubikey I have supports having a 'static' password, wherein it acts as a simple USB keyboard and repeats that password.

Thus, the second key for the drive is a much shorter and easier to type password (~16 characters), combined with the static password.

Post-Install

Once I had Arch installed, it was a simpler matter of setting up basic preferences. Dank Linux has recently released 1.0 of DankMaterialShell3. Curling and running the install script allowed me to both keep the TTY session by default, and simply running niri-session once logged in quickly booted up the DE.

Bluetooth and Power Profiles

With that, I achieved all three of the things I wanted. To ensure no sane person would try to get into my laptop, I've configured logging in and sudo to require my password and one of either the fingerprint or Yubikey. This is assuming they've decrypted the hard drive in the first place. Lastly, ensuring that whenever I close the laptop lid I'm signed out (either within niri or within the simple TTY) allows me to be fairly confident that my data is safe. Oh, and bind Ctrl + Alt +Del to reboot, just for funsies.


  1. a rabbit hole in a rabbit hole!

    ↩︎

  2. desktop environment

    ↩︎

  3. "a Wayland desktop shell built with Quickshell and Go"

    ↩︎

Discourse Setup Troubleshooting

Written by Isaac

Recently I tried looking into getting Discourse setup on a homelab server. Unfortunately, the project has a heavily customized installation / launcher script, resulting in this venture spanning roughly a week.

I did eventually manage to get it setup behind Cloudflare, and for posterity sake figured I'd detail the troubleshooting I had to go through:

Launcher Refusing to Progress Past Port Check

Launch the setup script with --skip-connection-test (found here).

Website Not Accessible Through Tunnel

Ensure the Rocket Loader is disabled.

Appending - "templates/cloudflare.template.yml"1 to the templates breaks it

Ensure that you've appended that line; the order of the templates does matter.

MailJet Suspending / Preventing Emails

I couldn't figure this out, but Brevo worked flawlessly.


  1. Important to ensure client IPs passthrough.

    ↩︎