{ "uuid": [ { "value": "cd3df6ff-471f-4b56-af7c-9b9a6588367e" } ], "langcode": [ { "value": "en" } ], "type": [ { "target_id": "daily_email", "target_type": "node_type", "target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7" } ], "revision_timestamp": [ { "value": "2025-05-11T09:00:02+00:00" } ], "revision_uid": [ { "target_type": "user", "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" } ], "revision_log": [], "status": [ { "value": true } ], "uid": [ { "target_type": "user", "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" } ], "title": [ { "value": "Easy customisation using patches" } ], "created": [ { "value": "2025-01-13T00:00:00+00:00" } ], "changed": [ { "value": "2025-05-11T09:00:02+00:00" } ], "promote": [ { "value": false } ], "sticky": [ { "value": false } ], "default_langcode": [ { "value": true } ], "revision_translation_affected": [ { "value": true } ], "path": [ { "alias": "\/daily\/2025\/01\/13\/patches", "langcode": "en" } ], "body": [ { "value": "\n

I'm a long-time Vim and tmux user.<\/p>\n\n

I used them before I switched to using Neovim full time<\/a> in July 2021.<\/p>\n\n

More recently, I've used a script that creates and attaches to tmux sessions based on the directories in my Code directory, making it easy to switch between projects.<\/p>\n\n

It was based on others by Jess Archer<\/a> and ThePrimeagen, although Prime recently created a new version of his as its own project, so I decided to switch to his version.<\/p>\n\n

But there was one issue - the paths to search for directory names is hard-coded and don't match mine.<\/p>\n\n

I started by duplicating his and changing the paths, but that would mean missing any future updates and having to maintain my version separately.<\/p>\n\n

Until I realised I could use his version and apply patches to it for my changes and customisations.<\/p>\n\n

This is something I'm familiar with from my Drupal contributions, as we used to attach patch files to issues before moving to GitLab and merge requests.<\/p>\n\n

I was able to make my changes and easily apply the patch easily as part of my Nix derivation<\/a>.<\/p>\n\n

This means I'll get any future updates to the script, keep my changes and Nix will automatically apply my patch whenever I rebuild my system.<\/p>\n\n

I really like this approach, as I'm no longer duplicating the script and don't have the maintenance overhead whilst still making any customisations I need.<\/p>\n\n

In fact, there are Linux applications such as dwm, dmenu and st (a simple terminal), all written by suckless.org, that use this approach as the main method of configuration and customisation.<\/p>\n\n

They release the core package and people write and contribute patch files to customise it as they need.<\/p>\n\n

Although patches are no longer used on Drupal.org, they're still a great way to customise and contribute to open source software.<\/p>\n\n ", "format": "full_html", "processed": "\n

I'm a long-time Vim and tmux user.<\/p>\n\n

I used them before I switched to using Neovim full time<\/a> in July 2021.<\/p>\n\n

More recently, I've used a script that creates and attaches to tmux sessions based on the directories in my Code directory, making it easy to switch between projects.<\/p>\n\n

It was based on others by Jess Archer<\/a> and ThePrimeagen, although Prime recently created a new version of his as its own project, so I decided to switch to his version.<\/p>\n\n

But there was one issue - the paths to search for directory names is hard-coded and don't match mine.<\/p>\n\n

I started by duplicating his and changing the paths, but that would mean missing any future updates and having to maintain my version separately.<\/p>\n\n

Until I realised I could use his version and apply patches to it for my changes and customisations.<\/p>\n\n

This is something I'm familiar with from my Drupal contributions, as we used to attach patch files to issues before moving to GitLab and merge requests.<\/p>\n\n

I was able to make my changes and easily apply the patch easily as part of my Nix derivation<\/a>.<\/p>\n\n

This means I'll get any future updates to the script, keep my changes and Nix will automatically apply my patch whenever I rebuild my system.<\/p>\n\n

I really like this approach, as I'm no longer duplicating the script and don't have the maintenance overhead whilst still making any customisations I need.<\/p>\n\n

In fact, there are Linux applications such as dwm, dmenu and st (a simple terminal), all written by suckless.org, that use this approach as the main method of configuration and customisation.<\/p>\n\n

They release the core package and people write and contribute patch files to customise it as they need.<\/p>\n\n

Although patches are no longer used on Drupal.org, they're still a great way to customise and contribute to open source software.<\/p>\n\n ", "summary": null } ] }