Posts tagged: linux

All posts with the tag "linux"

127 posts latest post 2026-04-18
Publishing rhythm
Mar 2026 | 1 posts

gpg setup for kdewallet

I’m trying to setup gpg for kdewallet on archlinux with hyprland so that brave shuts up. I’ve tried this, but brave still complains about the wallet setup, so this post is to be continued. sudo pacman -S gnupg gpg --full-generate-key # use RSA # key length 4096 # passphrase gpg --list-keys
1 min read
Today I discovered brightnessctl to adjust the screen brightness on my AwesomeWM machine. Its a command line utility that you can use to adjust the brightness of your screen. A command line interface like this gives you the ability to bind keys with something like [[xbindkeys]] or your window manager configuration. sudo apt install brightnessctl # or paru -S brightnessctl Now that you have it installed you can use it to adjust the brightness of your screen, this worked particularly well for my laptop screen, I don’t think this works for monitors, in my experience they are usually controlled by the built in osd. # Increase brightness by 10% brightnessctl set +10% # Decrease brightness by 10% brightnessctl set 10%- # Set brightness to 50% brightnessctl set 50% # Set brightness to 100% brightnessctl set 100% Note on my machine I had to use `sudo` to run the command, otherwise I got the following error: Can't modify brightness: Permission denied You should run this program with root privileges. Alternatively, get write permissions for device files.
- I’ve never heard of niri, or a scrolling window manager, it looks quite interesting. I think tiling window manager misses out on named sessions and hotkey straight to tmux sessions, Brodi mentions not using tmux right before this segment. Niri looks quite interesting, but looks like it suffers specificity. maybe there are other tools that allow me to jump straight to something like brave, or steam, but I don’t see how I could jump to a specific terminal. 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/
You can unset multiple environment variables at once. I did not know this was a thing, its something that ended up happening organically on a call and asking someone to run unset. They had never done it before and did not know how it works, but did exactly as I said instead of what I meant. I like this handy shortcut doing it in one line rather than each one individually, I will be using this in the future. You might need this for something like running aws cli commands with localstack [1]. unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION References: [1]: /running-aws-cli-commands-with-localstack/
i3lock is a fantastic lockscreen for tiling window managers. If you are using a tiling window manager within a public space you need to add a lockscreen. I have one machine that I take with me to a public space. Its secure enough that I can leave it, but not secure enough that I want to leave it unlocked. So when I need to leave it behind for the restroom I need to lock it up. arch wiki [1] paru -S i3lock # or apt install i3lock Now that you have i3lock installed lets lock that screen. # lock it with a pure white flashbang i3lock # lock it with a black background i3lock -c 000000 # lock it with a custom color i3lock -c 2e1330 # lock it with a wallpaper i3lock -c 000000 ~/Pictures/Wallpapers/mywallpaper.png You can use your window manager or something more generic like xbindkeys to set a hotkey. This way you don’t have to open a terminal and type out the command every time you leave your desk. You can just press something like SUPER+L like you would on other OS’s. Fancy # [2] If you like it a bit fancier, you can use i3lock-fancy, it can blur, pixelate, and greyscale your current screen. I did not really like this because you can still tell what is going on the screen. I...
Command Line | gitignore.io / docs To run gitignore.io from your command line you need an active internet connection and an environment function. You need to add a function to your environment that lets you access the gitignore.io API. docs.gitignore.io [1] This is a very interesting cli, its so simple. I stumbled accross the gi command awhile back and was like pfft, I dont want to install something for that. Didn’t even realize that you don’t install it, its just http. Their install instructions lead you to putting a curl funtion in your bashrc. function gi() { curl -sLw \"\\\n\" https://www.toptal.com/developers/gitignore/api/\$@ ;} This now has me wondering “What else can build like this?” 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://docs.gitignore.io/install/command-line [2]: /thoughts/

Linux Is About Choice

This Luke Smith video came across my feed Linux, Bitcoin: When Tech Projects Become “Too Popular…” Don’t forget the goal. [1]. It’s interesting to hear his perspective about Linux, FOSS, Free Software being the end goal, and that we are loosing sight of the goal. This sentiment really aligns with the early FOSS movement from Stallman, but was this ever the goal? Taken over by apathetic interests # [2] Luke talks about these projects getting taken over by people with no passion for the original goal of freedom and privacy. They want the projects to grow, get bigger, and become mainstream. This feels exactly the opposite of anything Luke would want, so my bias alarm goes off here. Honestly I do see some of the grossness of projects like this that were grassroots, for freedom and privacy get taken over for money grabs. I’m completely out on bitcoin so I cannot make any comment there, but I Truly believe that the Linux kernel is not a money grab as Luke makes the new face of bitcoin s...
6 min read
- How is usability and it doing the thing I paid for it to do a selling point?? Any time I’ve touched a windows machine in the past 7 years has felt awkward, I have no idea where things are now, but they look so much worse. 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/
- How is usability and it doing the thing I paid for it to do a selling point?? Any time I’ve touched a windows machine in the past 7 years has felt awkward, I have no idea where things are now, but they look so much worse. 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/

backup distrobox image

Today I’m upgrading my distrobox, but don’t want to end up in a situation where I can’t get anything done becauase I work out of my distrobox. distrobox ls distrobox stop devtainer distrobox create --clone devtainer --name devtainer-20250409 distrobox enter devtainer
Using pbpaste for command substitution keeps sensitive or long URLs out of your shell history. Instead of typing git clone https://github.com/user/repo-with-long-name.git, copy the URL to clipboard and run git clone "$(pbpaste)". This prevents the URL from appearing in ~/.bash_history or ~/.zsh_history. To get pbpaste working on both Xorg and Wayland, add this to your shell config: if [[ $(command -v wl-copy) ]]; then alias pbcopy='wl-copy' pbpaste() { wl-paste; } elif [[ $(command -v xclip) ]]; then alias pbcopy='xclip -selection clipboard' pbpaste() { xclip -selection clipboard -o; } fi The function approach (instead of alias) enables command substitution, while the quotes around $(pbpaste) handle spaces and special characters safely. Now you can use it. git clone "$(pbpaste)" More importantly secrets can stay out of your history. export GITHUB_TOKEN="$(pbpaste)" export AWS_ACCESS_KEY_ID="$(pbpaste)" export AWS_SECRET_ACCESS_KEY="$(pbpaste)" export DATABASE_URL="$(pbpaste)"
Today I ran into an interesting question, why am I being asked to configure tzdata while installing npm. Turns out that the aptitude cli has a why command that very handily nails down why you have something installed on a debian based system. Install aptitude # [1] apt install aptitude Why tzdata # [2] Now we can query why we need tzdata and see the full chain with the root package being npm. root@47685221fb82:/# aptitude why tzdata i npm Depends node-gyp i A node-gyp Depends gyp (>= 0.1+20200513gitcaa6002) i A gyp Depends python3:any i A python3 Provides python3:any i A python3 Depends python3.12 (>= 3.12.3-0~) i A python3.12 Depends tzdata References: [1]: #install-aptitude [2]: #why-tzdata
Today I ran into this interactive prompt on ubuntu while installing node and npm, and I do not want to manually configure this interactively every time I run an install, moreso in docker I do not have the interactive terminal to do so. Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 2. America 3. Antarctica 4. Arctic 5. Asia 6. Atlantic 7. Australia 8. Europe 9. Indian 10. Pacific 11. Etc 12. Legacy Geographic area: Why tzdata # [1] Checking aptitude why tzdata it shows that the chain goes back through npm. root@47685221fb82:/# aptitude why tzdata i npm Depends node-gyp i A node-gyp Depends gyp (>= 0.1+20200513gitcaa6002) i A gyp Depends python3:any i A python3 Provides python3:any i A python3 Depends python3.12 (>= 3.12.3-0~) i A python3.12 Depends tzdata The solution, configure tzdata # [2] export TZ="America/Chicago" export DEBIAN_FRONTEND=noninteractive apt update apt install tzdata -y ln -fs /usr/share/zoneinfo/$TZ /etc/localtime dpkg-reconfigure -f noninteractive tzdata D...
https://www.youtube.com/watch?v=03KsS09YS4E&t=610s [1] Today I learned about the basic calculator, bc. At the very end of this video prime uses it to add numbers in vim. REPL # [2] You can start a calculator repl at the command line, by running bc. Vim # [3] Since bc supports standard unix pipes you can easily pipe data from vim into bc and back out using !!bc. All you need is a string of math on the line you want to calculate, go to normal mode and run !!bc to get the answer. Traditionally I will open my system calculator or ipython to do something like this. To keep the equation and the result in the same line you can send the equation to stderr and the result to stdout using tee. :.!tee >(cat >&2) | bc References: [1]: https://www.youtube.com/watch?v=03KsS09YS4E&t=610s [2]: #repl [3]: #vim
GitHub - bootandy/dust: A more intuitive version of du in rust A more intuitive version of du in rust. Contribute to bootandy/dust development by creating an account on GitHub. GitHub · github.com [1] dust is one of my favorite rust rewrite tools. Its so useful for narrowing down file system bloat and cleaning up some disk space on your nearly full disks. It runs right in your terminal and gives you a nice bar graph on the top directories in use. [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://github.com/bootandy/dust?tab=readme-ov-file [2]: https://dropper.waylonwalker.com/api/file/31b206fd-d508-451e-ba96-860c5d8110d1.webp [3]: /thoughts/

nvim-manager

I recently built a cli application as a nearly-one-shot-app called nvim-manager [1]. It manages your nvim dotfiles install. [2] Why # [3] How is nvim manager any better # [4] nvim-manager allows you to install pinned versions of your dotfiles, your friends dotfiles, and distros in ~/.config. This allows you to have stable versions that will not break installed while you change things. I’m sure most of us have experienced the pain of installing one plugin, only to update all of your plugins and break something. Or, you have small changes on every machine you use, because they are all just a bit different and now you have big merge conflicts to deal with. All of this aside you can install a distro to get you by, or a known working version of your own dotfiles. So all these versions in ~/.config # [5] ya, thats the magic of NVIM_APPNAME, I can boot up any of these intalled working versions in an instant with NVIM_APPNAME=nvim-waylonwalker-v0.0.1 nvim. I can still cowboy up an...
- This man is responsible for making gaming on linux what it is today. Such a heartfelt story to hear that reviving his dad’s machine was at the core of what drove him to do what he has done for the wider gaming on linux community. Update on your schedule, remove all the tracking and bloatware, this is what drove him to start using linux before making it accessible for his Dad. But really do update, this is not your 2002 PHP box, things need updated and regular updates help the process. 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/
curl with partial files Back in September 2023, we extended the curl command line tool with a new fairly advanced and flexible variable system. Using this, users can use files, environment variables and more in a powerful... daniel.haxx.se · daniel.haxx.se [1] This is a cool new feature coming to bash, I can’t think of a use case I have out of the gate, but it looks cool. I’m thinking this might be good to keep in the back pocket for something like CI where I don’t have a hightly tuned bashrc file, and I want a dynamic curl request based on some state that exists as a fille. 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://daniel.haxx.se/blog/2024/12/30/curl-with-partial-files/ [2]: /thoughts/
- Red Hat has donated the whole open alternative to docker to the CNCF, the hosts weigh in with thier opinions all being pretty positive as they seem to be a legitimate donation and not dumping crap on open source. - podman - podman-desktop - buildah - compose-fs - podman - bootc - scopio Personally I’ve been running podman exclusively at home since switching to Bazzite in August. I’d like to use buildah in ci. I gave it a try, but was unable to swap out my use of kaniko for buildah, I will get there, but it was not quite as drop in as I wanted. 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/

setting up ucore-zfs

I just setup my oldest hardware on the newest hotest server distro ucore-zfs. This is a gateway FX6860 manufactured in 2010. Immutable is the future # [1] My current boot log shows that I first started daily driving bazzite back in August 2024. I’ve been hapily using it since my arch install was plaugued with a crippling display driver error, or something that would lock the display for minutes every 30s or so, it became unusable. I switched because this is what I put my son on and it was working great for him. waylon@razorcrest:~$ journalctl --list-boots IDX BOOT ID FIRST ENTRY LAST ENTRY -19 7e6e154d2609407da24fa12814eadbd7 Thu 2024-08-29 16:15:15 CDT Thu 2024-08-29 17:37:25 CDT Four months later and I am really loving the immutable distro experience. My base system gets fresh reliable updates, and I barely install anything directly on it, a handful of things are snaps or flatpaks from the discover store, but my main workflow is now in distrobox. It has been rock solid reliable...
3 min read