practicalli

practicalli-johnny 2026-02-23T11:19:13.436259Z

Whilst I am planning the next work for Practicalli, I have been automating a few fundamentals of Operating System use. I use Debian Linux (since 1995) as my main operating system. It is very stable which means I don't have to fix updates to get work done. Stability is a trade-off against all the new shiny things we love, especially our regularly changing development tools. So I have automated around this challenge and it works even better than I thought, adding all the extra apps, languages, TUI's and cli tools I use. I have grown my use of Terminal UI (TUI) tools, as I take a keyboard first approach to interacting with the computer (and use a keyboard driven tiling window manager). There arehttps://practical.li/engineering-playbook/os/tui/. I am https://github.com/practicalli/dotfiles/tree/main/debian-linux that add the latest software development tools to a stable Debian Linux install. Each app / cli / tui / programming language will have its own script and an uberscript (which maybe could be interactive to select what to install - or even a TUI). The scripts were tested on a new Debian Linux install (replacing an Arch Linux install that went bang). It only took a couple of minutes to set up a Clojure environment with all my configs and content in place (terminal, git, shell-aliases, neovim & emacs configs, 1Password, Discord, Slack, etc.) The scripts have also been used to add / manage a consistent set of tools across several computers. About half of the tools are installed using https://github.com/devmatteini/dra, which pulls the relevant release from a GitHub project. So those scripts are Linux distribution agnostic. I have also switch to using Python packages installed as tools, using https://docs.astral.sh/uv/ which is a fast alternative to pip. Using tools I dont need to specifically create a Python Virtual Environment. Each tool is avalable on the execution path so I can run it anywhere. Currently I use this approach for my static site generators. I'll write up this approach on the Practicalli Blog once I've finished polishing the scripts. Any suggestions for improvements or other TUI tools is greatly appreciated. > NOTE: I spend a lot of 2025 wrangling with Arch Linux and Hyprland last year. Although its cool it also added a significant amount of maintenance overhead. I also had two unrecoverable failures after upgrading (and many other rollbacks required after upgrading). I assume some/all of this was due to the breaking changes in Hyprland and not a typical experience. However, Hyprland was the only reason I was trying Arch Linux (in hindsight, i3 and sway are just fine for my day to day needs - and I wont spend all my time forever tweaking them 🤣 )

❤️ 1
🚀 2
practicalli-johnny 2026-02-23T14:10:17.035939Z

By the start of March I should be deep in testing AstroNvim v6 with all the Clojure and software development plugins I regularly use, to prepare for the upcoming Neovim 0.12 release (not sure when, but not far away 🤞) There are significant under the cover changes as AstroNvim v6 migrates to the latest version of nvim-lspconfig with first class support for vim.lsp.conig and the full rewrite of nvim-treesitter However, I am not expecting any major changes to Practicalli Nvim-astro5 (except the name of the repo maybe) I will test using a nightly release of Neovim and a separate NVIM_APPNAME configuration, using a astro6 shell alias, so I can keep on working on other projects with my current Neovim config without interruption. It seems quite a lot of people have already been using AstroNvim v6 for a while, so not expecting any issues with the core packages. There may be an odd issue with the extra plugins I use, hence the testing 🙂 I aim to have a new release for Practicailli nvim-astro within a week of Neovim 0.12 being officially released. I'll take the opportunity to update (and perhaps extend) https://practical.li/neovim The Neovim config and Book will support Neovim 0.11 and 0.12 versions.

🎉 3