Nix: Where are my neovim plugins?

Published on February 24, 2024

I was recently trying to figure my home manager setup and wasn’t sure why a plugin wasn’t working. The neovim part of this configuration looks something like this, programs.neovim = { enable = true; plugins = with pkgs.vimPlugins; [ nvim-solarized-lua editorconfig-vim vim-airline nvim-treesitter.withAllGrammars ]; extraLuaConfig = '' vim.opt.ai = true vim.opt.encoding = 'utf8' vim.opt.expandtab = true vim.opt.swapfile = false vim.opt.number = true vim.opt.shiftwidth = 4 ''; }; Before things broke, this worked auto-magically for me and I didn’t think about it much.

Read More

Managing servers with NixOS: a gitea instance

Published on February 19, 2024

I recently moved all my servers to NixOS1, which lets these machines be configured using code. The configuration for these servers is stored in a single git repository in a gitea instance managed by one of the servers. I’m going through the configuration for one of these machines in this post. The base of this configuration is flake.nix, { description = "Nix servers configurations"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; home-manager.

Read More

A more minimal theme

Published on December 5, 2023

I started this blog on Jekyll, and used the Jekyll Now theme by default. When I switched to Hugo I ported this theme. At the time I really liked the Jekyll now theme, and still do. But I also feel like it’s getting in the way of the content, and I want to focus on other things. On desktop this means you’re probably hitting ctrl + to zoom in on the content, but I think the content is clearer to read once you do.

Read More

GPT Intern: Infinite Loop

Published on June 10, 2023

Using GPT is like having a hardworking, if slow, intern that’s good at Googling things. Earlier today I was trying to write a simple Flask echo server – I’m not familiar with Flask – to echo a query string back at the user. I spent a comparable amount of time on my GPT prompt as I would have searching Google and I got back this nice piece of code, from flask import Flask, request app = Flask(__name__) @app.

Read More

Investigating Backup Solutions: Tarsnap vs. Restic and B2

Published on January 4, 2023

In my previous post I talked about the various changes I’ve made to my home server, among which was the ongoing switch from Tarsnap to Restic+B2 for backups. I’ve decided as part of this effort to evaluate both solutions in more detail, and I’m going to record the results of that research here. I’m going to be doing some rough tests to determine how fast, efficient (with regards to compression and deduplication), and how easy to use each solution is.

Read More

Setting up a Home Server with Fedora

Published on December 27, 2022

For a while now I’ve had a home server made from the remains of an old gaming PC after I sold the GPU. It sits in the corner generating heat, and running some non-essential services like a Gitea server, backing up my Dropbox files somewhere else1, and serving some static video files that I watch on my Xbox with Kodi. I traditionally have run Debian, but I’ve started to branch out and have started experimented with the Fedora distributions.

Read More

Daily Todo List

Published on October 28, 2022

There seems to be a resurgence over the past few months about notes. When to take notes, how to take notes and most importantly the software used. Hacker News recently had a thread about daily journalling and this is my too big to dump in a comment response.

Read More

In praise of Cloudflare Tunnels for self-hosting

Published on May 27, 2022

When self-hosting I’ll often setup a great application that works on my internal network but1, I want to access it when I’m not at home I don’t trust the application’s security and need an additional layer before exposing it to the internet I don’t want my application’s inbound traffic to go to my residential IP address I don’t want to pay $5/month for a box just to route traffic through I need to access these applications from computers I don’t fully control, for instances work computers Some background on myself: I do self-hosting as a hobby, but I try to keep it as practical as possible, since I genuinely do need to use the applications I use, and I need them to be reliable and not too expensive.

Read More

Some notes on writing shell scripts

Published on September 12, 2021

I use shell scripts for a number of things: Automating common tasks, and sets of commands Wrapping other tools, such as setting up environment Collecting information Creating “checklists” 1 I follow the common touted advice of not using shell scripts for anything too complicated, logic heavy or where strict error handling matters. Sometimes shell scripts do need to be used in these areas, and I shudder thinking how about poor the error handling in shell scripts are.

Read More

More posts...