51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
|
---
|
||
|
title: With patches, I can change anything I want
|
||
|
date: 2025-04-21
|
||
|
permalink: daily/2025/04/21/patch
|
||
|
tags:
|
||
|
- software-development
|
||
|
- linux
|
||
|
cta: ~
|
||
|
snippet: |
|
||
|
Using patches, I can change software in any way I want or need.
|
||
|
---
|
||
|
|
||
|
I've been a Drupal and Linux user for a long time, as well as using command-line tools and utilities like Neovim and tmux.
|
||
|
|
||
|
Since September 2022, I've used NixOS as my daily operating system on my computers.
|
||
|
|
||
|
Based on similar programs, in particular by ThePrimeagen, I wrote and use a program to automatically open tmux sessions and run initial commands for any project in my Code directory.
|
||
|
|
||
|
In October, he released [tmux-sessionizer as its own package][0].
|
||
|
|
||
|
There is a `tmux-sessionizer` already in nixpkgs, but [I wrote my own derivation][1] to use Prime's.
|
||
|
|
||
|
There was also this problem in the code:
|
||
|
|
||
|
```bash
|
||
|
# If someone wants to make this extensible, i'll accept
|
||
|
# PR
|
||
|
selected=$(find ~/ ~/personal ~/personal/dev/env/.config -mindepth 1 -maxdepth 1 -type d | fzf)
|
||
|
```
|
||
|
|
||
|
These directories don't match what I use on my computers.
|
||
|
|
||
|
People have submitted pull requests, but these haven't yet been merged.
|
||
|
|
||
|
Either I change my directory structure or I can't use it.
|
||
|
|
||
|
But, in my derivation, I can apply my own patch files to make any changes I want - such as changing the directories to ones I'd want to use - making it usable for me.
|
||
|
|
||
|
I can also apply other people's patches, the same as I'm doing with dwm.
|
||
|
|
||
|
Someone has created a pull request to make the directories dynamic based on a configuration file.
|
||
|
|
||
|
I can apply these changes as a patch to my configuration and remove my custom one.
|
||
|
|
||
|
I can make any other changes I want or need to.
|
||
|
|
||
|
The possibilities are endless.
|
||
|
|
||
|
[0]: https://github.com/ThePrimeagen/tmux-sessionizer
|
||
|
[1]: https://code.oliverdavies.uk/opdavies/nix-config/src/commit/28d75ce6b85e0852aa3f8454bab4f2206ad7e50a/pkgs/tmux-sessionizer/default.nix
|