Skip to main content

Posts

Copilot CLI OpenCode

From GitHub Copilot CLI to OpenCode: A Pragmatic Take from a Pro+ User I’m a GitHub Copilot Pro+ subscriber, and I’ll start with this: I genuinely love the GitHub ecosystem . GitHub has shaped the way many of us work—code hosting, CI, issues, pull requests, and now AI-assisted development. Naturally, when GitHub released Copilot CLI , I decided to go all in. Betting on Copilot CLI as an Exclusive Coding Agent Despite its early preview status , I made a deliberate choice: Copilot CLI would be my exclusive coding agent . I wanted a CLI-first, first-party AI experience, tightly integrated with GitHub. I knowingly accepted the risks that come with preview software. Initially, the bet paid off. Contributing Back: When Feedback Turns into Features Early on, I proposed a small but important enhancement: a command to list available models . Issue: https://github.com/github/copilot-cli/issues/47 To my surprise (and appreciation), the idea was welcomed, discussed, and...
Recent posts

Fedora Proart Tips

I’ve been a Linux user for a long time, and historically my comfort zone has been “hands-on” distributions: Slackware, Gentoo, Debian, Arch Linux. I also virtualize heavily. I started back in the day with OpenVZ, then moved to VMware Workstation… until I got fed up with the constant “you must patch your kernel” routine to keep things working smoothly. Recently I got an Asus ProArt P16 (AMD Ryzen 9 + NVIDIA GPU). Great machine—until I tried to install my usual favorite Linux distributions. To my surprise, none of them handled the hardware properly (or at least not enough to reliably use the laptop day-to-day). I then tried Fedora 43 , and it immediately handled the basics out of the box — the minimum needed to actually use the system. After a bit more digging, I realized I needed to explicitly enable the NVIDIA dGPU. The fix was simple once you know it: supergfxctl --mode Hybrid Then came the “random Google search” moment: I searched for a Fedora derivative that would handle the...

LazyGit AI Commit Message

Having AI‑generated commit messages directly integrated into LazyGit If you use LazyGit every day, you already know how it turns Git from a chore into something you can actually enjoy. But there is one part of the workflow that still tends to feel a bit tedious: writing good commit messages. In this post, I show how to plug OpenAI models directly into LazyGit using a tiny one‑file BASH script, so you can get AI‑generated commit messages based on your actual diffs, without waiting for external tools to catch up with the new OpenAI Responses API . The result is a minimal, focused tool you can drop into your setup today: lgaicm . It behaves like a mini aichat that does exactly one thing: generate commit messages from Git diffs, optimized for LazyGit. Why AI‑generated commit messages in LazyGit? Commit messages matter. They are the stor...

Journey Samsung Devices

My Journey with Samsung Devices: From Galaxy S to the Ultra Era Over the years, smartphones have come and gone, but for me, one brand has defined more than a decade of my tech life — Samsung . It all started in 2010 . The Early Days: Galaxy S to Note 3 My first Samsung was the Galaxy S (2010) — the beginning of an era. It was sleek, fast, and years ahead of what other Android phones offered at the time.   In 2011 , I moved to the Galaxy S2 , the brown leather back edition . It felt premium — classy, even — and I remember thinking: this is what smartphones should feel like .   Then came 2012 , and I stepped into something new: the Galaxy Note 2 . I didn’t have the first Note, but the second one changed the game for me. The big screen, the stylus… it was productivity in your pocket. Unfortunately, it wasn’t waterproof (no “IP sixty-something” rating back then), and one sweaty day — literally — it died. In 2013 , I replaced it with the Note 3 , another fantastic upgrade. ...

Custom TMux configuration

This is how I configured my TMux The default TMux configuration misses two points I relly want: I need to be notified when I switch pane. More precisely: I switch pane with "Ctrl-b arrow", but sometimes I type it foo fast and it is not effective. So I need to know when it succeds (so I also know when it fails) I want more padding on pane name. It is too narrow for me. I need more space on the left and right side of the text! So, the configuration I made has the feature to blink when I switch pane, and put some right and left padding on pane names: # Enable focus events set-option -g focus-events on # Make the pane blink on focus set-hook -g pane-focus-in 'select-pane -P bg=colour247; run-shell "sleep 0.1"; select-pane -P bg=default;' set -g window-status-current-style "bg=grey,fg=black" set-option -g status-style "bg=black,fg=grey" set -g window-status-format ' #I:#W ' set -g window-status-curre...

My Git Configuration

My simple user level Git configuration Default configuration is even fine for me. But among the default configuration, I sometimes use "meld" as "difftool" and "mergetool". This is what I put in the configuration for that purpose: [user] email = mihamina@rktmb.org name = Mihamina [difftool] prompt = false [difftool "meld"] trustExitCode = true cmd = meld "$LOCAL" "$REMOTE" [diff] tool = meld [mergetool] prompt = false [mergetool "meld"] trustExitCode = true cmd = meld --auto-merge "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED" [merge] tool = meld

CopilotChat GlobFile Configuration

CopilotChat GlobFile Configuration Want to feed multiple files into GitHub Copilot Chat from Neovim without listing each one manually? Let's add a tiny feature that does exactly that: a file glob that includes full file contents . In this post, we'll walk through what CopilotChat.nvim offers out of the box, why the missing piece matters, and how to implement a custom #file_glob:<pattern> function to include the contents of all files matching a glob. Using Copilot Chat with Neovim CopilotChat.nvim brings GitHub Copilot's chat right into your editing flow. No context switching, no browser hopping — just type your prompt in a Neovim buffer and let the AI help you refactor code, write tests, or explain tricky functions. You can open the chat (for example) with a command like :CopilotChat , then provide extra context using built-in functions. That “extra context” is where the magic really happens. Built-in functio...