41554 blogs · [
{
"id": "01a0da28-d884-70fc-8407-8f5a854811db",
"title": "Replace Docker Access Tokens in GitHub Actions with an OIDC Connection",
"url": "https://nickjanetakis.com/blog/replace-docker-access-tokens-in-github-actions-with-an-oidc-connection",
"published_at": "2026-09-22T00:00:00+00:00"
},
{
"id": "01a0bb9b-109f-73b1-bff5-b4e1f8675792",
"title": "Lock Your Mouse Cursor to a Specific Monitor with niri",
"url": "https://nickjanetakis.com/blog/lock-your-mouse-cursor-to-a-specific-monitor-with-niri",
"published_at": "2026-09-14T00:00:00+00:00"
},
{
"id": "01a087af-5804-72a7-865d-61c878a89fe4",
"title": "Parse Wildcard Arguments in Bash",
"url": "https://nickjanetakis.com/blog/parse-wildcard-arguments-in-bash",
"published_at": "2026-09-08T00:00:00+00:00"
},
{
"id": "01a087af-5804-72a7-865d-61c878c95b3d",
"title": "The Real Reason I Like niri and Vim",
"url": "https://nickjanetakis.com/blog/the-real-reason-i-like-niri-and-vim",
"published_at": "2026-09-01T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b731650087bc",
"title": "Instantly Scale Your Monitors with niri",
"url": "https://nickjanetakis.com/blog/instantly-scale-your-monitors-with-niri",
"published_at": "2026-08-25T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316533b448",
"title": "Checklist Before Formatting Windows",
"url": "https://nickjanetakis.com/blog/checklist-before-formatting-windows",
"published_at": "2026-08-18T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b731663271ba",
"title": "Using Your Monitor as a Key Light with Bash and a Wallpaper Tool",
"url": "https://nickjanetakis.com/blog/using-your-monitor-as-a-key-light-with-bash-and-a-wallpaper-tool",
"published_at": "2026-08-11T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316720d9aa",
"title": "Getting PagerDuty's Latest vCard with curl and awk",
"url": "https://nickjanetakis.com/blog/getting-pagerduty-latest-vcard-with-curl-and-awk",
"published_at": "2026-08-04T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316732cb56",
"title": "SMART Stats for Your SSD and HDD on Linux, macOS and Windows",
"url": "https://nickjanetakis.com/blog/smart-stats-for-your-ssd-and-hdd-on-linux-macos-and-windows",
"published_at": "2026-07-28T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b731674a6272",
"title": "How to Back Up PostgreSQL in Docker (Local, S3, and Plakar)",
"url": "https://nickjanetakis.com/blog/how-to-back-up-postgresql-in-docker-local-s3-and-plakar",
"published_at": "2026-07-21T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316776d9d3",
"title": "Customize Tumbler's Thumbnail Entries on Arch Linux",
"url": "https://nickjanetakis.com/blog/customize-tumblers-thumbnail-entries-on-arch-linux",
"published_at": "2026-07-14T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b731687619a5",
"title": "Watch Out for Data Loss When Redirecting to a File in a Shell Script",
"url": "https://nickjanetakis.com/blog/watch-out-for-data-loss-when-redirecting-to-a-file-in-a-shell-script",
"published_at": "2026-07-07T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b73169675f14",
"title": "Install Docker on Arch Linux with and Without Docker Desktop",
"url": "https://nickjanetakis.com/blog/install-docker-on-arch-linux-with-and-without-docker-desktop",
"published_at": "2026-06-30T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b73169feaea1",
"title": "Visually Create Video Clips with mpv, FFmpeg and a Lua Extension",
"url": "https://nickjanetakis.com/blog/visually-create-video-clips-with-mpv-ffmpeg-and-a-lua-extension",
"published_at": "2026-06-23T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316a00e521",
"title": "Prevent Kdenlive from Producing Millions of Log Lines on Linux",
"url": "https://nickjanetakis.com/blog/prevent-kdenlive-from-producing-millions-of-log-lines-on-linux",
"published_at": "2026-06-16T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316aff64e4",
"title": "tmux: Swapping Windows and Rotating Panes",
"url": "https://nickjanetakis.com/blog/tmux-swapping-windows-and-rotating-panes",
"published_at": "2026-06-09T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316b5fb8c4",
"title": "8 Useful Ways to Configure Your Zsh History",
"url": "https://nickjanetakis.com/blog/8-useful-ways-to-configure-your-zsh-history",
"published_at": "2026-06-02T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316b60ba54",
"title": "Remap a Second Mod Key in niri's Config Without Extra Tools",
"url": "https://nickjanetakis.com/blog/remap-a-second-mod-key-in-niri-config-without-extra-tools",
"published_at": "2026-05-26T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316c54b12b",
"title": "Locked Out of Sudo on Arch Linux? Skip the 10 Minute Wait",
"url": "https://nickjanetakis.com/blog/locked-out-of-sudo-on-arch-linux-skip-the-10-minute-wait",
"published_at": "2026-05-19T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316d0ee2be",
"title": "DotFriedRice: niri / Arch Desktop Environment with Modern CLI Tools",
"url": "https://nickjanetakis.com/blog/dotfriedrice-niri-arch-desktop-environment-with-modern-cli-tools",
"published_at": "2026-05-12T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316d89ff6f",
"title": "Walking Through a Minimal Arch Linux Set Up with archinstall",
"url": "https://nickjanetakis.com/blog/walking-through-a-minimal-arch-linux-set-up-with-archinstall",
"published_at": "2026-05-05T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316d94f398",
"title": "Create Bootable Arch USB on Linux / macOS with cat (Rufus on Windows)",
"url": "https://nickjanetakis.com/blog/create-bootable-arch-usb-on-linux-macos-with-cat-or-rufus-on-windows",
"published_at": "2026-04-28T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316dd68d25",
"title": "Combine Tmux, btop and a GPU Monitoring Tool for System Monitoring",
"url": "https://nickjanetakis.com/blog/combine-tmux-btop-and-a-gpu-monitoring-tool-for-system-monitoring",
"published_at": "2026-04-21T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316deb3156",
"title": "Differentiate Between an Empty or Unset String Variable with Bash",
"url": "https://nickjanetakis.com/blog/differentiate-between-an-empty-or-unuset-string-variable-with-bash",
"published_at": "2026-04-14T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316e1570bd",
"title": "Custom dmenu / fzf Picker to Set Your Timezone with Geolocation",
"url": "https://nickjanetakis.com/blog/custom-dmenu-fzf-picker-to-set-your-timezone-with-geolocation",
"published_at": "2026-04-07T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316e853b20",
"title": "Bash Nameref: Mutate Function Arguments (Pointer-Like Behavior)",
"url": "https://nickjanetakis.com/blog/bash-nameref-mutate-function-arguments-pointer-like-behavior",
"published_at": "2026-03-31T00:00:00+00:00"
},
{
"id": "01a087af-5805-732f-a496-b7316f4aba42",
"title": "Awesome Git Diffs with Delta, fzf and a Little Shell Scripting",
"url": "https://nickjanetakis.com/blog/awesome-git-diffs-with-delta-fzf-and-a-little-shell-scripting",
"published_at": "2026-03-24T00:00:00+00:00"
}
] posts Claim your blog