Debian Linux scripting
I am reviewing the Practicalli web sites and issues already created to find the most useful things to work on.
Continuing to add Terminal UI (TUI) apps to my development environment. Adding those I find useful to the dev tools install script for Debian Linux.
This week I noticed that Node.js website has a configurable script for installing Node.js (and NPM). I took this script and tweaked it so it supports both XDG_CONFIG_HOME and classic $HOME installs.
I have been trying out different desktop greeters, the tool that presents a graphical login. Gnome edition of Debian Linux comes with Gnome Desktop Manager (gdm). I switched to LightDM which uses far fewer resources and has a nice Arctica theme.
TUIλ︎
Evaluating more TUI apps for software development and writing content. This week I've been running Lychee to check the Practicalli websites.
Lychee is also included in the Megalinter config which runs as a CI workflow for each push or pull request to a Practicalli Website.
I can run Megalinter locally, but that requires Docker and I only use that as a background check infrequently.
Lychee should encourage me to check a published website more often, especially if I make some changes or it has been a while since I reviewed a website.
Lychee hyperlink checkerλ︎
A Command line tool to check the hyperlinks in a website.
Installed via DRA.
Added to dev-tools-install.sh file in the Debian Linux post install scripts.
Lychee test of Practicalli Cycling website
❯ lychee https://practical.li/cycling
47/47 ━━━━━━━━━━━━━━━━━━━━ Finished extracting links Issues found in 1 input. Find details below.
[https://practical.li/cycling]:
[404] https://practical.li/assets/stylesheets/modern/main.1e989742.min.css | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/assets/stylesheets/modern/palette.dfe2e883.min.css | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/components/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/computers-sensors/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/docs/experiences/#ride-of-the-falling-leaves | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/experiences/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/experiences/#audax | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/experiences/#charity-rides | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/experiences/#kent-tour-de-france-sportive | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/experiences/#lands-end-to-john-ogroats | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/experiences/#oasts-and-coasts-300 | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/first-aid/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/hills/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/kit/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/lights/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/maintenance/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/route-planning/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/routes/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/toolbag/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/training-plan/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/training/ | Rejected status code: 404 Not Found (configurable with "accept" option)
[404] https://practical.li/zensical-tips/ | Rejected status code: 404 Not Found (configurable with "accept" option)
🔍 47 Total (in 2s) ✅ 12 OK 🚫 23 Errors ⛔ 12 Unsupported
Debian Linuxλ︎
Its a good time for a package upgrade as I am not doing anything critical and I think everything is backed up or pushed to the cloud. I have Debian Live on a USB stick if something should go badly wrong.
I created the Debian Live stick after a certain opinionated Arch Linux based distro went badly wrong after an update.
Regolith desktopλ︎
I use Regolith desktop as it provides an excellent tiling desktop environment. Regolith uses the i3 window manager and packages configuration to make the window manager and tooling really simple to work with.
Now that Debian Linux Trixie has been released, I checked the Apt sources definition and I was still using the testing release.
The Debian Linux instructions for Regolith use a stable URL, with trixie 3.4 as the release name.
The Apt sources on the rogueone computer uses the newer sources format:
Regolith apt sources for Debian Linux Trixie - new list format
Apt upgradeλ︎
Packages to be upgraded
# apt upgrade
Upgrading:
1password libgimp-3.0-0 regolith-i3-i3xrocks regolith-sway-kbd-layout
arc-icon-theme libimage-magick-perl regolith-i3-ilia regolith-sway-media-keys
ayu-theme libimage-magick-q16-perl regolith-i3-root-config regolith-sway-next-workspace
bind9-dnsutils libmagickcore-7.q16-10 regolith-i3-session regolith-sway-polkit
bind9-host libmagickcore-7.q16-10-extra regolith-i3-unclutter regolith-sway-root-config
bind9-libs libmagickwand-7.q16-10 regolith-i3xrocks-config regolith-sway-screensharing
childe libpq5 regolith-inputd regolith-sway-session
firefox-esr libssl3t64 regolith-look-ayu-dark regolith-sway-touchpad-gestures
firefox-esr-l10n-en-gb libtrawldb regolith-look-default regolith-sway-unclutter
fonts-nerd-font-bitstreamverasansmono linux-image-amd64 regolith-look-default-loader regolith-unclutter-xfixes
fonts-nerd-font-cousine linux-libc-dev regolith-look-gruvbox regolith-wm-base-launchers
fonts-nerd-font-hack openjdk-21-jdk regolith-powerd regolith-wm-config
gimp openjdk-21-jdk-headless regolith-rofication regolith-wm-ftue
gimp-data openjdk-21-jre regolith-session-common regolith-wm-navigation
gir1.2-gimp-3.0 openjdk-21-jre-headless regolith-session-flashback regolith-wm-networkmanager
google-chrome-stable openssl regolith-session-flashback-ext regolith-wm-resize
gruvbox-gtk openssl-provider-legacy regolith-session-sway regolith-wm-rofication-ilia
i3-next-workspace python3-urllib3 regolith-sway-background regolith-wm-swap-focus
i3-swap-focus regolith-avizo regolith-sway-clamshell regolith-wm-workspace-config
i3xrocks regolith-compositor-picom-glx regolith-sway-control-center-gnome sway-audio-idle-inhibit
i3xrocks-cpu-usage regolith-default-settings regolith-sway-dbus-activation sway-regolith
i3xrocks-net-traffic regolith-desktop regolith-sway-default-style trawlcat
i3xrocks-time regolith-displayd regolith-sway-gaps usbmuxd
ilia regolith-ftue regolith-sway-grimshot xdg-desktop-portal-regolith-wayland-config
imagemagick regolith-i3-compositor regolith-sway-gsd xdg-desktop-portal-regolith-x11-config
imagemagick-7-common regolith-i3-dbus-activation regolith-sway-gtklock xrescat
imagemagick-7.q16 regolith-i3-default-style regolith-sway-i3status-rs
inetutils-telnet regolith-i3-gaps regolith-sway-ilia
Installing dependencies:
linux-image-6.12.69+deb13-amd64
Suggested packages:
firmware-linux-free linux-doc-6.12 debian-kernel-handbook
Summary:
Upgrading: 110, Installing: 1, Removing: 0, Not Upgrading: 0
Download size: 0 B / 633 MB
Space needed: 198 MB / 203 MB available
Continue? [Y/n]
Software development toolsλ︎
I want the stability that Debian Linux provides so I don't have unexpected maintenance or show-stopping issues (like I've had with rolling releases like Arch Linux).
Some of the development tools I use regularly do not have their latest version packaged in Debian, however, I have a simple script that uses Download Release Artifices (DRA) tool to download and install the latest version of a tool from its GitHub Repository.
Some tools also provide a handy install script, like Node.js.
I am creating a series of scripts, one for each tool.
A 'debian-linux-post-install' script will call each tool script to installs (or updates) everything in one go. This is most useful after a fresh install of Debian Linux (or if tools havent been updated in a considerable time).
Nodejsλ︎
A script was created to install Node.js, using the official script on the website. This script was updated to use the XDG_CONFIG_HOME/nvm/ location for Node Version Manager (NVM) if it exists, otherwise use the classic $HOME/.nvm/ location.
The script needs to source the NVIM location after NVM is installed, so that NVM can be used to install Node.js within the same script.
Nodejs Dev Tool install script for Debian Linux
#!/usr/bin/env bash
# NOTE: run this script after setting up preferred shell, e.g. zsh
# and XDG environment variables are defined
# as the NVM script adds itself to the shell resource configuration
echo "# ---------------------------------------"
echo "Nodejs install via Node Version Manager - NVM"
# Nodejs official install script for vm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# Source the NVM script
if [ -d $XDG_CONFIG_HOME/nvm ]; then
echo "Source NVM script from XDG_CONFIG_HOME/nvim"
\. "$XDG_CONFIG_HOME/nvm/nvm.sh"
else
echo "Source NVM script from HOME/.nvim"
\. "$HOME/.nvm/nvm.sh"
fi
# Install the given version of nodejs
nvm install 24
# Confirm node was installed
node --version
echo "# ---------------------------------------"
Install of Nodejs & NPM via NVM - X
❯ ./nodejs-nvm-install-node24.sh
# ---------------------------------------
Nodejs install via Node Version Manager - NVM
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16631 100 16631 0 0 248k 0 --:--:-- --:--:-- --:--:-- 249k
=> nvm is already installed in /home/practicalli/.config/nvm, trying to update using git
=> => Compressing and cleaning up git repository
=> nvm source string already in /home/practicalli/.config/zsh/.zshrc
=> bash_completion source string already in /home/practicalli/.config/zsh/.zshrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.config/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Downloading and installing node v24.13.1...
Downloading https://nodejs.org/dist/v24.13.1/node-v24.13.1-linux-x64.tar.xz...
######################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v24.13.1 (npm v11.8.0)
Creating default alias: default -> 24 (-> v24.13.1)
v24.13.1
# ---------------------------------------
Desktop Display Managerλ︎
GDM2 was the default window manager when I installed Debian Linux (Gnome desktop environment). This is a good tool but was curious as to the other options.
Lightdm is a lightweight greeter with theme support. It is packaged in several deb packages, so only the features needed can be installed.
SDDM is a popular tool with Hyprland based distributions, as it is highly configurable.
Debian Linux Greeter packages
❯ apt search --names-only greeter
arctica-greeter/stable 0.99.9.4-1 amd64
LightDM Arctica Greeter
arctica-greeter-guest-session/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Guest Session Support
arctica-greeter-remote-logon/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Remote Login Support
arctica-greeter-theme-debian/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Debian Theme (active theme)
arctica-greeter-theme-debian-ceratopsian/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Debian Theme (Ceratopsian)
arctica-greeter-theme-debian-emerald/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Debian Theme (Emerald)
arctica-greeter-theme-debian-futureprototype/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Debian Theme (futurePrototype)
arctica-greeter-theme-debian-homeworld/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Debian Theme (Homeworld)
arctica-greeter-theme-debian-softwaves/stable 0.99.9.4-1 all
LightDM Arctica Greeter - Debian Theme (softWaves)
ayatana-greeter-badges/stable 0.3-1 all
Session badges for LightDM-based greeters
lightdm-autologin-greeter/stable 1.0-5 all
Autologin greeter for LightDM
lightdm-gtk-greeter/stable,now 2.0.9-1 amd64 [installed,automatic]
simple display manager (GTK+ greeter)
lightdm-gtk-greeter-settings/stable 1.2.3-1 all
settings editor for the LightDM GTK+ Greeter
lomiri-greeter/stable 0.5.0-2 all
LightDM Greeter for the Lomiri Operating Environment
slick-greeter/stable 2.0.9-1 amd64
Slick-looking LightDM greeter
ukui-greeter/stable 3.0.3.2-1 amd64
Lightdm greeter for UKUI
LightDMλ︎
LightDM package has very few package dependencies, most of which are related to LightDM or would be installed with any greeter.
I've used the de facto gtk greeter which does the job nicely.
LightDM package information
❯ apt show lightdm
Package: lightdm
Version: 1.32.0-6+b2
Priority: optional
Section: x11
Source: lightdm (1.32.0-6)
Maintainer: Debian Xfce Maintainers <debian-xfce@lists.debian.org>
Installed-Size: 838 kB
Provides: x-display-manager
Depends: adduser, dbus, libpam-systemd | logind, lightdm-gtk-greeter | lightdm-greeter, debconf (>= 0.5) | debconf-2.0, libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), lib>
Recommends: xserver-xorg
Suggests: accountsservice, upower, xserver-xephyr
Homepage: https://discourse.ubuntu.com/c/light-dm/107
Tag: interface::graphical, interface::x11, role::program
Download-Size: 165 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian trixie/main amd64 Packages
Description: simple display manager
An X display manager that:
* Has a lightweight codebase
* Is standards compliant (PAM, ConsoleKit, etc)
* Has a well defined interface between the server and user interface
* Fully themeable
* Cross-desktop (greeters can be written in any toolkit)
.
Additional software can be useful along with LightDM:
* xserver-xephyr can be used to add a nested X display by calling
'dm-tool add-nested-seat`
* upower can be used to suspend the computer from the display manager
* accountsservice is used to populate a user list with addition information.
LightDM Themesλ︎
LightDM install on Debian Linux includes a simple Debian based theme.
The arctica theme makes LightDM similar in appearance to the Gnome and KDE style greeters.
EDIT: In hindsight I may switch back to the default theme as Arctica depends on evolution packages (not required for anything else).
Arctica greeter for LightDM - package information
❯ apt show arctica-greeter
Package: arctica-greeter
Version: 0.99.9.4-1
Priority: optional
Section: x11
Maintainer: Debian Remote Maintainers <debian-remote@lists.debian.org>
Installed-Size: 3,292 kB
Provides: lightdm-greeter
Depends: dconf-gsettings-backend | gsettings-backend, libatk1.0-0t64 (>= 1.12.4), libayatana-ido3-0.4-0 (>= 0.4.0), libayatana-indicator3-7 (>= 0.6.0), libc6 (>= 2.>
Recommends: ayatana-indicator-a11y, ayatana-indicator-application, ayatana-indicator-datetime, ayatana-indicator-display, ayatana-indicator-keyboard, ayatana-indica>
Conflicts: lomiri-greeter
Breaks: edubuntu-artwork (<< 12.01.1~)
Homepage: https://github.com/ArcticaProject/arctica-greeter/
Tag: uitoolkit::gtk
Download-Size: 1,672 kB
APT-Sources: http://deb.debian.org/debian trixie/main amd64 Packages
Description: LightDM Arctica Greeter
A greeter shell for the LightDM login manager. Arctica Greeter can be used as
local display manager as well as thin client login manager.
.
Arctica Greeter has been forked from Ubuntu's Unity Greeter with focus on
keeping remote logon support a maintained feature and provide a user interface
based on Ayatana Indicators.
.
Arctica Greeter can be extended with various features:
.
- remote logon support against RDP, Arctica and X2Go Servers
- guest session support
- various themes available / providable
Arctica greeter debian linux package install and dependencies
❯ sudo apt install arctica-greeter in 9s971ms 16:39 practicalli
[sudo] password for practicalli:
Installing:
arctica-greeter
Installing dependencies:
ayatana-indicator-a11y evolution-data-server-common libecal-2.0-3 libmate-desktop-2-17t64 mate-settings-daemon
ayatana-indicator-application fonts-noto-core libedata-book-1.2-27t64 libmatekbd-common mate-settings-daemon-common
ayatana-indicator-common gir1.2-ayatanaappindicator3-0.1 libedata-cal-2.0-2t64 libmatekbd4 metacity
ayatana-indicator-datetime gtk2-engines-murrine libedataserver-1.2-27t64 libmatemixer-common metacity-common
ayatana-indicator-datetime-common libaccounts-glib0 libedataserverui-1.2-4t64 libmatemixer0 numix-gtk-theme
ayatana-indicator-display libayatana-common0 libgail-common libmessaging-menu0 numix-icon-theme
ayatana-indicator-keyboard libcamel-1.2-64t64 libgail18t64 libmetacity3 numlockx
ayatana-indicator-power libdbus-glib-1-2 libgtk2.0-0t64 libphonenumber8 onboard
ayatana-indicator-session libdeviceinfo0 libgtk2.0-bin librda-common onboard-common
ayatana-indicator-sound libebackend-1.2-11t64 libgtk2.0-common librda0 onboard-data
espeak-ng libebook-1.2-21t64 libical3t64 libxpresent1 xinput
evolution-data-server libebook-contacts-1.2-4t64 liblomiri-url-dispatcher0 mate-desktop-common xsct
Suggested packages:
indicator-applet | indicator-applet | lomiri-system-settings | indicator-renderer evolution
| mate-indicator-applet | indicator-renderer apport unity-control-center-signon murrine-themes
| xfce4-indicator-plugin mate-power-manager gnome-screensaver | gnome-control-center-signon lomiri-url-dispatcher
| indicator-renderer | xfce4-power-manager | mate-screensaver | mate-control-center mousetweaks
mate-indicator-applet | switchboard-plug-power mate-indicator-applet | lomiri-system-settings
| xfce4-indicator-plugin | gnome-power-statistics | xfce4-indicator-plugin lomiri-greeter-session-broadcast
Recommended packages:
geoclue-provider
Summary:
Upgrading: 0, Installing: 61, Removing: 0, Not Upgrading: 0
Download size: 35.9 MB
Space needed: 200 MB / 3,454 MB available
Continue? [Y/n]
Once the package is installed, choose the arttic greeter as the lightdm-greeter
Choose Arctica greeter in update-alternatives
❯ sudo update-alternatives --config lightdm-greeter
[sudo] password for practicalli:
There are 2 choices for the alternative lightdm-greeter (providing /usr/share/xgreeters/lightdm-greeter.desktop).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/share/xgreeters/lightdm-gtk-greeter.desktop 60 auto mode
1 /usr/share/xgreeters/arctica-greeter.desktop 50 manual mode
2 /usr/share/xgreeters/lightdm-gtk-greeter.desktop 60 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/share/xgreeters/arctica-greeter.desktop to provide /usr/share/xgreeters/lightdm-greeter.desktop (lightdm-greeter) in manual mode
SDDMλ︎
SDDM is commonly used with the KDE desktop environment and Hyprland compositor, as its highly customisable and has a wide availability of themes.
SDDM supports both X11 and Wayland sessions.
The Debian Linux package for SDDM depends on many additional packages, although when using KDE rather than Gnome many of these packages will already be installed.
SDDM package install dependencies
❯ sudo apt install sddm
[sudo] password for practicalli:
Installing:
sddm
Installing dependencies:
aha libkf5iconthemes-bin libkf6sonnetui6 libxdgutilsbasedir1.0.1
apt-config-icons-hidpi libkf5iconthemes-data libkf6statusnotifieritem-data libxdgutilsdesktopentry1.0.1
apt-config-icons-large libkf5iconthemes5 libkf6statusnotifieritem6 libxmlsec1t64
apt-config-icons-large-hidpi libkf5itemviews-data libkf6style6 libxmlsec1t64-openssl
bluedevil libkf5itemviews5 libkf6su-bin libzip5
bluez-obexd libkf5jobwidgets-data libkf6su-data media-player-info
breeze libkf5jobwidgets5 libkf6su6 mesa-utils
breeze-cursor-theme libkf5kiocore5 libkf6svg6 mesa-utils-bin
breeze-gtk-theme libkf5kiofilewidgets5 libkf6syndication6 milou
breeze-icon-theme libkf5kiogui5 libkf6syntaxhighlighting-data ocean-sound-theme
breeze-wallpaper libkf5kiontlm5 libkf6syntaxhighlighting6 oxygen-sounds
bup libkf5kiowidgets5 libkf6texteditor-bin partitionmanager
bup-doc libkf5kirigami2-5 libkf6texteditor-data phonon-backend-vlc-common
catdoc libkf5notifications-data libkf6texteditor-katepart phonon4qt6
clinfo libkf5notifications5 libkf6texteditor6 phonon4qt6-backend-vlc
cryfs libkf5service-bin libkf6texttemplate6 plasma-activities-bin
docbook-xsl libkf5service-data libkf6textwidgets-data plasma-browser-integration
drkonqi libkf5service5 libkf6textwidgets6 plasma-desktop
evolution-data-server-common libkf5solid5 libkf6unitconversion-data plasma-desktop-data
fonts-hack libkf5solid5-data libkf6unitconversion6 plasma-desktop-doc
fonts-noto libkf5sonnet5-data libkf6userfeedback-data plasma-desktoptheme
fonts-noto-cjk libkf5sonnetcore5 libkf6userfeedback-doc plasma-discover
fonts-noto-cjk-extra libkf5sonnetui5 libkf6userfeedbackcore6 plasma-discover-backend-fwupd
fonts-noto-core libkf5style5 libkf6wallet-data plasma-discover-common
fonts-noto-extra libkf5textwidgets-data libkf6wallet6 plasma-disks
fonts-noto-ui-core libkf5textwidgets5 libkf6walletbackend6 plasma-firewall
fonts-noto-ui-extra libkf5wallet-bin libkf6widgetsaddons-data plasma-integration
fonts-noto-unhinted libkf5wallet-data libkf6widgetsaddons6 plasma-nm
frameworkintegration6 libkf5wallet5 libkf6windowsystem-data plasma-pa
gdb libkf5waylandclient5 libkf6windowsystem6 plasma-systemmonitor
ibus-data libkf5widgetsaddons-data libkf6xmlgui-data plasma-thunderbolt
isa-support libkf5widgetsaddons5 libkf6xmlgui6 plasma-vault
kaccounts-providers libkf5windowsystem-data libkfontinst6 plasma-welcome
kactivitymanagerd libkf5windowsystem5 libkfontinstui6 plasma-workspace
kde-cli-tools libkf5xmlgui-bin libkglobalacceld0 plasma-workspace-data
kde-cli-tools-data libkf5xmlgui-data libkirigami-data plasma-workspace-doc
kde-config-gtk-style libkf5xmlgui5 libkirigami6 plasma5-integration
kde-config-screenlocker libkf6archive-data libkirigamidelegates6 pnp.ids
kde-config-sddm libkf6archive6 libkirigamidialogs6 polkit-kde-agent-1
kde-config-updates libkf6attica6 libkirigamilayouts6 powerdevil
kde-spectacle libkf6auth-data libkirigamiplatform6 powerdevil-data
kde-style-breeze libkf6authcore6 libkirigamiprimitives6 python3-fuse
kde-style-breeze-data libkf6baloo6 libkirigamiprivate6 python3-pylibacl
kde-style-breeze-qt5 libkf6balooengine6 libklipper6 python3-pyxattr
kdeconnect libkf6bluezqt-data libkmpris6 python3-sentry-sdk
kdeconnect-libs libkf6bluezqt6 libkpipewire-data python3-tornado
kded5 libkf6bookmarks-data libkpipewire6 qdbus-qt6
kded6 libkf6bookmarks6 libkpipewiredmabuf6 qml-module-gsettings
kdoctools6 libkf6bookmarkswidgets6 libkpipewirerecord6 qml-module-gsettings1.0
keditbookmarks libkf6breezeicons6 libkpmcore12 qml-module-org-kde-kirigami2
kf6-breeze-icon-theme libkf6calendarevents6 libkscreen-bin qml-module-org-kde-qqc2desktopstyle
kgamma libkf6codecs-data libkscreen-data qml-module-org-kde-sonnet
kglobalacceld libkf6codecs6 libkscreenlocker6 qml-module-qtgraphicaleffects
khelpcenter libkf6colorscheme-data libksysguard-bin qml-module-qtqml-models2
khelpcenter-data libkf6colorscheme6 libksysguard-data qml-module-qtquick-controls2
kinfocenter libkf6completion-data libksysguardformatter2 qml-module-qtquick-layouts
kio libkf6completion6 libksysguardsensorfaces2 qml-module-qtquick-templates2
kio-extras libkf6config-bin libksysguardsensors2 qml-module-qtquick-window2
kio-extras-data libkf6config-data libksysguardsystemstats2 qml-module-qtquick2
kio-fuse libkf6configcore6 libkwaylandclient6 qml6-module-org-kde-activities
kio6 libkf6configgui6 libkwin6 qml6-module-org-kde-baloo
kirigami-addons-data libkf6configqml6 libkworkspace6-6 qml6-module-org-kde-bluezqt
kmenuedit libkf6configwidgets-data liblayershellqtinterface6 qml6-module-org-kde-breeze
kpackagetool6 libkf6configwidgets6 libmarkdown2 qml6-module-org-kde-config
kscreen libkf6contacts-data libnotificationmanager1 qml6-module-org-kde-coreaddons
ksshaskpass libkf6contacts6 libopenconnect5 qml6-module-org-kde-desktop
ksystemstats libkf6coreaddons-data libpackagekitqt6-1 qml6-module-org-kde-draganddrop
kup-backup libkf6coreaddons6 libpam-kwallet-common qml6-module-org-kde-graphicaleffects
kwallet6 libkf6crash6 libpam-kwallet5 qml6-module-org-kde-guiaddons
kwalletmanager libkf6dbusaddons-bin libphonenumber8 qml6-module-org-kde-iconthemes
kwayland-integration libkf6dbusaddons-data libphonon-l10n qml6-module-org-kde-kcmutils
kwayland5-data libkf6dbusaddons6 libphonon4qt6-4t64 qml6-module-org-kde-kdeconnect
kwayland6-data libkf6declarative-data libplasma-geolocation-interface6 qml6-module-org-kde-kholidays
kwin-common libkf6dnssd-data libplasma5support-data qml6-module-org-kde-kirigami
kwin-data libkf6dnssd6 libplasma5support6 qml6-module-org-kde-kirigamiaddons-components
kwin-style-breeze libkf6doctools6 libplasma6 qml6-module-org-kde-kirigamiaddons-datetime
kwin-wayland libkf6filemetadata-bin libplasmaactivities6 qml6-module-org-kde-kirigamiaddons-delegates
kwrited libkf6filemetadata-data libplasmaactivitiesstats1 qml6-module-org-kde-kirigamiaddons-formcard
layer-shell-qt libkf6filemetadata3 libplasmaquick6 qml6-module-org-kde-kirigamiaddons-tableview
libaccounts-glib0 libkf6globalaccel-data libpolkit-qt5-1-1 qml6-module-org-kde-kirigamiaddons-treeview
libaccounts-qt6-1 libkf6globalaccel6 libpolkit-qt6-1-1 qml6-module-org-kde-kitemmodels
libappimage1.0abi1t64 libkf6guiaddons-bin libpoppler-qt6-3t64 qml6-module-org-kde-kquickcontrols
libappstreamqt3 libkf6guiaddons-data libpowerdevilcore2 qml6-module-org-kde-kquickcontrolsaddons
libbabeltrace1 libkf6guiaddons6 libprocesscore10 qml6-module-org-kde-ksvg
libbatterycontrol6 libkf6holidays-data libpskc0t64 qml6-module-org-kde-ksysguard
libboost-chrono1.83.0t64 libkf6holidays6 libqaccessibilityclient-qt6-0 qml6-module-org-kde-kwindowsystem
libboost-program-options1.83.0 libkf6i18n-data libqalculate-data qml6-module-org-kde-networkmanager
libcamel-1.2-64t64 libkf6i18n6 libqalculate23 qml6-module-org-kde-newstuff
libcolorcorrect6 libkf6i18nlocaledata6 libqca-qt6-2 qml6-module-org-kde-notifications
libdbusmenu-qt5-2 libkf6i18nqml6 libqca-qt6-plugins qml6-module-org-kde-people
libddcutil5 libkf6iconthemes-bin libqcoro6core0t64 qml6-module-org-kde-pipewire
libdebuginfod-common libkf6iconthemes-data libqcoro6dbus0t64 qml6-module-org-kde-plasma-plasma5support
libdebuginfod1t64 libkf6iconthemes6 libqmobipocket6-2 qml6-module-org-kde-prison
libdisplay-info-bin libkf6iconwidgets6 libqt5qmlworkerscript5 qml6-module-org-kde-purpose
libdmtx0t64 libkf6idletime6 libqt5quickcontrols2-5 qml6-module-org-kde-quickcharts
libebackend-1.2-11t64 libkf6itemmodels6 libqt5quicktemplates2-5 qml6-module-org-kde-sonnet
libebook-1.2-21t64 libkf6itemviews-data libqt5texttospeech5 qml6-module-org-kde-syntaxhighlighting
libebook-contacts-1.2-4t64 libkf6itemviews6 libqt6bluetooth6 qml6-module-org-kde-userfeedback
libedata-book-1.2-27t64 libkf6jobwidgets-data libqt6bluetooth6-bin qml6-module-qt-labs-folderlistmodel
libedataserver-1.2-27t64 libkf6jobwidgets6 libqt6core5compat6 qml6-module-qt-labs-platform
libepub0 libkf6kcmutils-bin libqt6labsplatform6 qml6-module-qt-labs-qmlmodels
libfakekey0 libkf6kcmutils-data libqt6multimedia6 qml6-module-qt5compat-graphicaleffects
libfmt10 libkf6kcmutils6 libqt6openglwidgets6 qml6-module-qtcore
libfuse2t64 libkf6kcmutilscore6 libqt6positioning6 qml6-module-qtmultimedia
libgit2-1.9 libkf6kcmutilsquick6 libqt6positioning6-plugins qml6-module-qtpositioning
libgsettings-qt1 libkf6kiocore6 libqt6positioningquick6 qml6-module-qtqml
libhfstospell11 libkf6kiofilewidgets6 libqt6printsupport6 qml6-module-qtqml-models
libhttp-parser2.9 libkf6kiogui6 libqt6quickcontrols2-6 qml6-module-qtqml-workerscript
libipt2 libkf6kiowidgets6 libqt6quickshapes6 qml6-module-qtquick
libkaccounts6-2 libkf6modemmanagerqt6 libqt6quicktemplates2-6 qml6-module-qtquick-controls
libkdecorations3-6 libkf6networkmanagerqt6 libqt6quickwidgets6 qml6-module-qtquick-dialogs
libkdecorations3private2 libkf6newstuff-data libqt6sensors6 qml6-module-qtquick-effects
libkdsoap-qt6-2 libkf6newstuffcore6 libqt6serialport6 qml6-module-qtquick-layouts
libkdsoapwsdiscoveryclient0 libkf6newstuffwidgets6 libqt6shadertools6 qml6-module-qtquick-particles
libkexiv2qt6-0 libkf6notifications-data libqt6sql6 qml6-module-qtquick-shapes
libkf5archive-data libkf6notifications6 libqt6sql6-sqlite qml6-module-qtquick-templates
libkf5archive5 libkf6notifyconfig-data libqt6texttospeech6 qml6-module-qtquick-tooling
libkf5auth-data libkf6notifyconfig6 libqt6uitools6 qml6-module-qtquick-virtualkeyboard
libkf5authcore5 libkf6package-data libqt6virtualkeyboard6 qml6-module-qtquick-window
libkf5bookmarks-data libkf6package6 libqt6webchannel6 qml6-module-qtwebchannel
libkf5bookmarks5 libkf6parts-data libqt6webchannelquick6 qml6-module-qtwebengine
libkf5codecs-data libkf6parts6 libqt6webengine6-data qml6-module-qtwebview
libkf5codecs5 libkf6people-data libqt6webenginecore6 qml6-module-sso-onlineaccounts
libkf5completion-data libkf6people6 libqt6webenginecore6-bin qt6-virtualkeyboard-plugin
libkf5completion5 libkf6peoplebackend6 libqt6webenginequick6 qtspeech5-speechd-plugin
libkf5config-bin libkf6prison6 libqt6webenginewidgets6 rsync
libkf5config-data libkf6prisonscanner6 libqt6webview6 sddm-theme-breeze
libkf5configcore5 libkf6pty-data libquickcharts1 sddm-theme-debian-breeze
libkf5configgui5 libkf6pty6 libquickchartscontrols1 signon-plugin-oauth2
libkf5configwidgets-data libkf6pulseaudioqt5 libscim8v5 smartmontools
libkf5configwidgets5 libkf6purpose-bin libsignon-plugins-common1 socat
libkf5coreaddons-data libkf6purpose-data libsignon-qt6-1 sonnet-plugins
libkf5coreaddons5 libkf6purpose6 libsource-highlight-common sonnet6-plugins
libkf5crash5 libkf6purposewidgets6 libsource-highlight4t64 sse3-support
libkf5dbusaddons-bin libkf6qqc2desktopstyle-data libspdlog1.15 sshfs
libkf5dbusaddons-data libkf6runner6 libsquashfuse0 switcheroo-control
libkf5dbusaddons5 libkf6screen8 libstoken1t64 systemd-coredump
libkf5doctools5 libkf6screendpms8 libtaskmanager6 systemsettings
libkf5globalaccel-bin libkf6service-bin libtomcrypt1 vulkan-tools
libkf5globalaccel-data libkf6service-data libtommath1 wayland-utils
libkf5globalaccel5 libkf6service6 libvoikko1 xdg-desktop-portal-kde
libkf5guiaddons-data libkf6solid-data libweather-ion7 xsettingsd
libkf5guiaddons5 libkf6solid6 libxapian30 xwaylandvideobridge
libkf5i18n-data libkf6sonnet-data libxcb-dpms0
libkf5i18n5 libkf6sonnetcore6 libxcb-record0
Suggested packages:
tk libxalan2-java libpam-fprintd reiserfsprogs network-manager-iodine python-pyxattr-doc
| wish libxslthl-java libpam-sss xfsprogs network-manager-l2tp python3-pycurl
dbtoepub xalan libpam-pkcs11 phonon4qt6-backend-gstreamer network-manager-openconnect python-tornado-doc
docbook-xsl-doc-html gdb-doc voikko-fi kde-config-flatpak network-manager-openvpn python3-twisted
| docbook-xsl-doc-pdf gdbserver xapian-tools plasma-theme-oxygen network-manager-pptp python3-braceexpand
| docbook-xsl-doc-text libc-dbg btrfs-progs plasma-discover-backend-flatpak network-manager-ssh gsmartcontrol
| docbook-xsl-doc ibus hfsplus plasma-discover-backend-snap network-manager-strongswan smart-notifier
docbook-xsl-saxon kde-config-gtk-style-preview hfsutils firewalld network-manager-vpnc hspell
fop samba jfsutils | ufw gocryptfs
libsaxon-java kwin-addons reiser4progs network-manager-fortisslvpn python-pylibacl-doc
Recommended packages:
software-properties-qt
Summary:
Upgrading: 0, Installing: 579, Removing: 0, Not Upgrading: 0
Download size: 617 MB
Space needed: 2,081 MB / 3,416 MB available
Continue? [Y/n]
Neovimλ︎
I update the latest versions of neovim packages and external development tools around once a month, or when ever I have no immediate work to do (in case there are issues).
My recommendation is to update packages on a monthly basis, as there are often little fixes that are helpful. I would not recommend waiting more than 3 months between updates (unless there is a known bug or breaking change to avoid - but this is rare in my experience).
Update Packages (Lazy) and Tools (Mason)
Total: 71 plugins
Updated (9)
● astrocommunity 0.06ms start
2adab99 feat(python): Split python pack into seperate smaller packs (#1688) (23 hours ago)
998e0d0 fix(compiler-nvim): add telescope.nvim to Compiler.nvim dependencies (#1734) (2 weeks ago)
● astrocore 21.6ms astrocore AstroNvim
41e7e72 chore(main): release 2.1.1 (5 days ago)
f0ec513 chore(build): auto-generate vimdoc (5 days ago)
cf7c5ea fix(buffer): make sure to not rule a buffer as large until it is fully loaded (5 days ago)
852ea56 chore(main): release 2.1.0 (2 weeks ago)
53a5d69 chore(build): auto-generate vimdoc (2 weeks ago)
e619a6b feat: add AstroUpdateCompleted event after Mason tools update (2 weeks ago)
269484c chore(build): auto-generate vimdoc (9 months ago)
8bba793 chore: configure lua language server to disable formatting (9 months ago)
cd9a7d8 chore(build): auto-generate vimdoc (9 months ago)
6ea387b chore: remove unnecessary 0.10 check (9 months ago)
○ astrotheme
cf0e65a chore(main): release 4.10.1 (#174) (2 days ago)
02530da chore(extras): auto-generate extras (3 days ago)
1a5d5d5 chore(build): auto-generate vimdoc (3 days ago)
510b9d1 fix(extras): add in missing comma to yazi extras (3 days ago)
7894b03 chore(extras): auto-generate extras (4 days ago)
50c3614 fix(extras): improve yazi status separators (4 days ago)
fa2d615 chore(extras): auto-generate extras (4 days ago)
3cd7b3e chore(build): auto-generate vimdoc (4 days ago)
ba8a858 fix(extras): update Yazi extra for latest release breaking changes (4 days ago)
4163138 ci: fix test script (5 weeks ago)
b846665 chore(build): auto-generate vimdoc (5 weeks ago)
a60a797 docs: fixed typo `terminal_color` -> `terminal_colors` (#172) (5 weeks ago)
● catppuccin 4.9ms colorscheme catppuccin-mocha astrocore
0a5de4d fix(treesitter): `@type.builtin` styles (#944) (7 days ago)
○ conjure python lua janet fennel racket hy scheme guile julia lisp rust sql clojure
42048ce Wait for the initial ns pre-creation to complete #759 (9 days ago)
426c56a Bump all the Clojure deps (9 days ago)
○ gist.nvim GistsList GistCreate GistCreateFromFile
45bdc70 fix: issue with `CreateGistFromFile` (4 days ago)
f054e0d docs update (11 days ago)
800e234 feat: add pastecn provider (#27) (11 days ago)
● neogit 11.31ms User AstroGitFile
d5af26e Add documentation for NeogitDiffLoaded event (14 hours ago)
455d10b lint (14 hours ago)
435b10f Expose vim.b.neogit_git_dir variable on status buffer (14 hours ago)
52fa24d Allow for hunk highlighting to be disabled by setting buffer local variable. (14 hours ago)
a4da0a3 Emit "NeogitDiffLoaded" event (14 hours ago)
2a47e1d style: format (2 days ago)
0060520 refactor: use nvim_echo instead of vimscript echo (2 days ago)
57142af fix: hide noisy process spinner for background jobs (2 days ago)
22433ea Fix: https://github.com/NeogitOrg/neogit/issues/1844 (3 days ago)
df32385 style: add back stylua ignore pragma (6 days ago)
ad4d7bc fix: prevent `--literal-pathspecs` leaking into git hooks (6 days ago)
9104991 lint (8 days ago)
3e973d2 feat: add codediff.nvim as alternative diff viewer (8 days ago)
75ca811 fix: when private/global ignore file doesn't exist, create it. (10 days ago)
● rainbow-delimiters.nvim 1.77ms User AstroFile
e2858c4 Merge branch 'templ-goraw' (6 days ago)
272e99d Update changelog (6 days ago)
4b9e3c5 Add missing Astro patterns (6 days ago)
7782606 Add more SPDX license headers (6 days ago)
50b045d Add rawgo_block query for Templ (7 days ago)
15a7678 Add license and copyright to generated test specs (6 weeks ago)
7bac5cf Add explicit license files (6 weeks ago)
○ schemastore.nvim
Thank you.