Run Xorg applications with podman

Containers are a great way to deliver and run all kinds of applications. Although many people build containers for server applications, you can also use them for client applications on your local workstation. This helps when you want to test new applications without disrupting your existing system or when you use an immutable system such as Fedora Silverblue. Podman takes this further by allowing you to run a client application without root access or daemons....

2021-10-17 · 3 min · Major Hayden

Backlight control with i3

Controlling the LED backlight brightness on a laptop in Linux used to be a chore, but most window managers automatically configure the brightness buttons on your laptop. However, everything is much more customizable in i3 and it requires a little more configuration. Controlling the light First off, we need something that allows us to control the brightness. There’s a perfectly named project called light that does exactly this task!...

2021-10-14 · 2 min · Major Hayden

Forwarding ports with firewalld

I’ve tamed many of my complex firewall rules with firewalld over the years. It allows you to divide your devices, destinations, and network interfaces into zones. From there, you apply rules to zones. In addition, it handles all of the difficult work on the backend with iptables and nftables. Forwarding ports remains a tricky process in firewalld, but there are a few different ways to work through it....

2021-10-11 · 4 min · Major Hayden

My summer 2021 reading list

I set a goal this summer to read a little each day and work through my reading list on Goodreads. I managed to make it through nine books! If you’re looking for some interesting books to read, this post highlights several of the ones I enjoyed. Tom Clancy I saw all the big Tom Clancy movies as a kid, such as The Hunt for Red October, Clear and Present Danger, and Patriot Games....

2021-09-06 · 8 min · Major Hayden

Deploy Fedora CoreOS in Hetzner cloud

Hetzner has always been a reliable and cost-effective hosting company for me for several years. I’ve run icanhazip.com on their dedicated servers and I run several small applications in their cloud. When I run containers, I love using Fedora CoreOS for its easy updates and very small server footprint. Almost everything you need for hosting containers is provided right out of the box, but you can add extra packages via rpm-ostree layers and reboot to use them....

2021-08-20 · 5 min · Major Hayden

Set network interface speed with systemd-networkd

Sometimes automation is your best friend and sometimes it isn’t. Typically, when two devices are connected via ethernet cables, they negotiate the best speed they can manage across a network link. They also try to agree on whether they can run full or half duplex across the network link. Most of the time, this works beautifully. It can break down with strange networking configs, damaged adapters, or finicky cables....

2021-08-20 · 3 min · Major Hayden

Wildcard LetsEncrypt certificates with Traefik and Cloudflare

Wildcard certificates make it easy to secure lots of subdomains under a single domain. For example, you can secure web.example.com and mail.example.com with a single certificate for *.example.com. Fortunately, LetsEncrypt allows you to get wildcard certificates via a DNS ownership check (often called a DNS-01 challenge). Fortunately, Traefik can request a certificate from LetsEncrypt automatically and complete the challenge for you. It can publish DNS records to multiple providers, but my favorite is Cloudflare....

2021-08-16 · 4 min · Major Hayden

Build Fedora AWS images in GitHub Actions with Image Builder

GitHub Actions provides infrastructure for all kinds of amazing automation. Anyone can test software, build packages, deploy applications, or even publish a blog (like this one!) with a few snippets of YAML. I often use it to bundle my software in a container after testing it. 🤖 One day, as I was working through another Packer configuration, I wondered if there was a way to build cloud images directly in GitHub Actions without building an instance in the cloud, making tons of changes, and snapshotting that image....

2021-08-06 · 7 min · Major Hayden

DHCPv6 prefix delegation with systemd-networkd

My home internet comes from Spectrum (formerly Time Warner Cable) and they offer IPv6 addresses for cable modem subscribers. One of the handy features they provide is DHCPv6 prefix delegation. If you’re not familiar with that topic, here’s a primer on how you get IPv6 addresses: SLAAC: Your machine selects an IPv6 address based on router advertisements DHCPv6: Your machine makes a DHCPv6 request (a lot like DHCP requests) and gets an address back to use DHCPv6 with prefix delegation: Your machine makes a special DHCPv6 request where you provide a hint about the size of the IPv6 network prefix you want....

2021-07-28 · 4 min · Major Hayden

Enable dark mode in Firefox without changing themes

Most modern web browsers, such as Firefox, take cues from the desktop environment or from themes applied to the browser to determine whether a user wants light or dark mode from websites. This is often done through the prefers-color-scheme CSS media feature: .day { background: #eee; color: black; } .night { background: #333; color: white; } @media (prefers-color-scheme: dark) { .day.dark-scheme { background: #333; color: white; } .night.dark-scheme { background: black; color: #ddd; } } @media (prefers-color-scheme: light) { ....

2021-07-19 · 2 min · Major Hayden