Smooth clipboard settings for tmux is critical for my workflow. I’m often
grabbing snippets of terminal output to paste into team chats, blog posts, or
llm prompts. Admittedly, I’m often doing this with the mouse, unless it’s
coming from neovim, which I generally do with motions. Moving from an xorg
based setup to hyprland has required me to reconfigure my tmux clipboard
settings. This is what I did.
First install wl-clipboard with AUR [1].">paru.
paru -S wl-clipboard
Next add this to your tmux config. I’ve long had this config, but with only
the xorg/xclip setup, now this checks for wl-copy, uses it, or falls back to
my old xclip setup.
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "bash -c 'command -v wl-copy >/dev/null && wl-copy || xclip -i -f -selection primary | xclip -i -selection clipboard'"
set-option -s set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "bash -c 'command -v wl-copy >/dev/null && wl-copy || xclip -i -f -selection primary | xclip -i -selection clipboard'"
References:
[1]: /aur/
Today I Learned
Short TIL posts
1852 posts
latest post 2026-05-13
Publishing rhythm
External Link
stackoverflow.com [1]
I need to give this a try for markata glossary
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://stackoverflow.com/questions/56755439/modifying-hover-in-tailwindcss
[2]: /thoughts/
-
Never did I think I would see the day that theprimeagen decided to run archlinux [1]. Furthermore him to start ricing it, EVEN furthermore, Pewdiepie runs arch [2] now, and thinks you should too?? and is promoting it on one of the largest YouTube channels ever [3]?? Even DHH is getting in the mix with omarchy [4] Such a cool transistion to see everyone find their way to linux and diving deep into the freedom and customization.
Note
This post is a thought [5]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://archlinux.org/
[2]: https://www.youtube.com/watch?v=pVI_smLgTY0
[3]: https://socialblade.com/youtube/lists/top/100/subscribers/all/global
[4]: https://omarchy.org/
[5]: /thoughts/
Home | { TechDufus }
TechDufus writes about platform engineering, homelab rebuilds, and agent workflows that hold up in the real world.
{ TechDufus } · techdufus.com [1]
This has to be top tier dopest home page of all time. The commands are all so well customized and whimsical on the terminal.
[2]
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://techdufus.com/#timeline
[2]: https://dropper.waylonwalker.com/api/file/5387bb34-4a9d-4a51-95d2-ed6242c411f8.webp
[3]: /thoughts/
[1]
I’ve ran my homelab [2] on k3s for a year and a half now, and have had talos fomo the whole time. I’m not sure if this article helps or hurts. Helps to see that techdufus struggled and wished he went k3s first, but theres so much good to it that I want it.
Prometheus and Grafana for monitoring (because you can’t manage what you can’t see) # [3]
I’m getting there, ok, I have some of it figured out but not firing on all cylinders like I want.
CloudNativePG # [4]
for PostgreSQL (way better than managing databases manually)
Amen to this, cnpg is kick ass and has me tempted to drop sqlite for my production database default. I mostly make small shit on the side that is never going to blow up. sqlite is really good, but the automation that comes along with cnpg to just run it on all nodes and backups once you establish the pattern with the first one is sick.
🤣🤣🤣 actually read the docs 🤣🤣🤣 # [5]
[6]
Is This Overkill for a Homelab? # [7]
Absolutely. Could do most of this with k3s or Docker Compose. But where’s the fun in that?
Speaking my language here! Again I’m well past the 1 year mark of running k3s and i’ve had no regrets. Kubernetes is about establishing and replica...
Forming URIs for Autofill | Bitwarden
Find out more about how URI match detection works in the Bitwarden password manager.
Bitwarden · bitwarden.com [1]
For anyone self hosting a bunch of apps under one domain, I just swapped all of mine to Host matching which includes the full subdomain, and it is glorious to not have 9+ items hit on all of your pages and only the one that you actually want.
open one > edit > gear icon next to url > Host
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://bitwarden.com/help/uri-match-detection/
[2]: /thoughts/
-
vim usage is becoming normie level. Just like archinstall made it too easy to install arch and brought normies into the ecosystem. It killed ArchBTW^TM^, distros like lazyvim have killed vimBTW^TM^. It used to be that to run arch, vim, nvim you had to read the docs, and go deep on understanding. running archinstallor lazyvim make it so easy to get started that you miss all of the details, you no longer have to understand ctags, quickfix, what an lsp is, or even how to set your own keybindings. You just use the damn thing, like you would with VSC****. No shame to anyone who does this, but you are probably missing out on a bunch of really useful features of a very core tool in your workflow.
Just discovered Sylvan Franklin in this post and he is cracked, sub now.
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/
[1]
Wish I would have saw this guide and provided assembly file for setting up virt-manager in distrobox. They call out immutable distros like the knew I was coming.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /static/https://github.com/89luca89/distrobox/blob/main/docs/posts/run_libvirt_in_distrobox.md
[2]: /thoughts/
I got virtual machine manager running on two Bazzite machines today. It was a
bit tricky, more than I thought actually. I ran into all sorts of
virtualisation not setup issues when I tried the flatpak. Then I found that
Bazzite comes with a ujust setup-virtualization command that does all the
work for me. I tried that and again virtual machine manager was here, but not
working, this time it feels like flatpak issues.
In a Hail Mary attempt I got it working by using an ubuntu distrobox container
to run the UI. And it worked!
from the host # [1]
From the host we create the container to use from distrobox. This is an ubuntu
machine, it can be any os of your choosing, preferably one that you are
familiar with and contains virt-manager in its package repos.
distrobox create -i ubuntu
distrobox enter ubuntu
from inside the distrobox container # [2]
Now that we are in the distrobox we are no longer in an immutable distro and we
can easily install anything we want. I actually like this process. I might
have shit like this that I use for a month or a few months, on a normal distro,
this is fully installed on the os, raises the potential of package conflicts
and lengthens the update ...
Looking for inspiration? opencode [1] by sst [2].
AI coding agent, built for the terminal.
References:
[1]: https://github.com/sst/opencode
[2]: https://github.com/sst
I’m impressed by opencode [1] from anomalyco [2].
The open source coding agent.
References:
[1]: https://github.com/anomalyco/opencode
[2]: https://github.com/anomalyco
Notes – 06:11 Sun 22 Jun 2025
Notes – 06:11 Sun 22 Jun 2025
dbushell.com · dbushell.com [1]
What’s even real anymore? What a shitty age we are in that you have to form an opinion about news outlets and media outlets.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://dbushell.com/notes/2025-06-22T06:11Z/
[2]: /thoughts/
neverjust
a guide to better developer communication
neverjust · neverjust.net [1]
I just never quite understood why the word just can send people over the top. I get it when you don’t know someone, you don’t have history with them, and they come in saying you are doing something wrong.
I pulled this out into a full post just [2]
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://www.neverjust.net/
[2]: /just/
[3]: /thoughts/
-
2025 is not the year to get put on the market, its rough out there. Junior’s have little chance, senior+ are even struggling. We had it easy from 2020-2023, now its over saturated and you have to want to be in this industry to be here and stay here. It used to be a fine place to get a good job to pay the bills, the bar has been raised and if you don’t want to be here you are going to struggle. Theo covers this in this linked video deeply [[ thoughts-472 ]].
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/
-
Nailed the netflix documentary style. Videos like this make me so grateful that I have a job in this rough market, if you’ve followed jepi’s series you know he’s been out of a job for months, and he is not alone in this. This is the year of “laid of, i didn’t get laid off, I left to focus on my startup”, [[ thoughts-716 ]]
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/
Notes – 09:32 Thu 19 Jun 2025
Notes – 09:32 Thu 19 Jun 2025
dbushell.com · dbushell.com [1]
David’s design on his blog is fantastic likely from years of small improvements like this converting ugly quotes to pretty quotes and optimizing fonts.
It’s common for markdown libraries to convert the first to the second like my build script does.
This is new to me, I had no idea that markdown libraries did this, I’m now interested if markdown-it does it.
For subsetting I use the fontTools library but I’ve no idea how to setup Python environments. I got it working once and failed to document the process.
David, David, David, I’m sorry python has done you this dirty. I should do a post on making python environments in the age of Posts tagged: uv [2]. You got options to run in docker/podman, a whole ass vm, uv venv, uvx, uv run, uv script, python -m venv, virtualenv, poetry, hatch, and too many more. The ones that matter are containers or uv.
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://dbushell.com/notes/2025-06-19T09:32Z/
[2]: /tags/uv/
[3]: /thoughts/
Copier has a few quirks with vcs that I just discovered by trying to test out
some changes. I may have some config that I have long forgotten about
somewhere deep in my dotfiles, I don’t think so, but id love to be wrong and
corrected, please reach out.
What Doesn’t Work # [1]
I tried throwing everything at this template to make it work. I tried a bunch
of flags that did not work. I tried making commits to the local repo to get rid
of the dirty warning. I really wanted to test new changes locally without
committing and pushing untested and potentially broken changes.
uvx copier copy ../markata-blog-starter .
uvx copier copy gh:waylonwalker/markata-blog-starter@develop .
uvx copier copy ../markata-blog-starter . -wlg --trust
What Works - –vcs-ref # [2]
Finally after trying everything to get the local copy to work, and my guess of
@branch not working I found this to work. It does require me to go to the repo
on my develop branch.
uvx copier copy gh:waylonwalker/markata-blog-starter --vcs-ref develop .
What Works - delete .git # [4]
Really this might be my best option to make quick changes and test them locally
without going through a version control system. It is not ideal, ...
I came across checkbox [1] from canonical [2], and it’s packed with great features and ideas.
Checkbox is a testing framework used to validate device compatibility with Ubuntu Linux. It’s the testing tool developed for the purposes of the Ubuntu Certification program.
References:
[1]: https://github.com/canonical/checkbox
[2]: https://github.com/canonical
Bug: Pypi metadata is wrong (Requires: Python >=3.6) · Issue #1131 · jmcnamara/XlsxWriter
Current behavior When pulling the dependency with pip (without pinning the version), our python3.6 tester pulls 3.2.3 and not 3.2.2 even though the version is no longer compatible with python 3.6. ...
GitHub · github.com [1]
pypi yanks suck, they are rare, this one got me today as it was a pinned dependency in my dependency chain. The latest release broke python 3.6/3.7 (which 3.6 has been EOL for 3.5 years btw), and it claimed >=3.6. In order to allow users to still install xlsxwriter without pinning down it needed yanked. I’m not sure if there was another way around it as pypi releases are immutable, so you cannot fix
[2]
This now has me wondering what the heck is using it with old pythons.
It appears to have broken builds on Canonical/checkbox for ubuntu 18.04. Checkbox is a device compatibility testing framework.
https://github.com/canonical/checkbox/actions/runs/14644718138/job/41098549191#step:8:125
[3]
Note
This post is a thought [4]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://github.com/jmcnamara/XlsxWriter/issues...
Conventional Commits
A specification for adding human and machine readable meaning to commit messages
Conventional Commits · conventionalcommits.org [1]
I try to use conventional commits on all of my commits, but I often end up only using feat/fix. I need to keep this page handy and get new verbiage worked into my language
- fix:
- feat:
- build:
- chore:
- ci:
- docs:
- style:
- refactor:
- perf:
- test:
Optionally include a scope fix(parser):
A bang indicates a breaking change note. For example …
chore!: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://www.conventionalcommits.org/en/v1.0.0/
[2]: /thoughts/