Post

Running etckeeper on Void Linux

2025-03-25

First, install etckeeper.

Then, create these two (executable) files:

/usr/local/bin/xbps-install

#!/usr/bin/env perl

use v5.38;

`whoami` eq "root\n" or die "Not root user";

!system('etckeeper pre-install') or die "Couldn't execute 'etckeeper pre-install'";
!system("/usr/bin/xbps-install", @ARGV) or die "Couldn't execute '/usr/bin/xbps-install @ARGV'";
!system('etckeeper post-install') or die "Couldn't execute 'etckeeper post-install'";

/usr/local/bin/xbps-remove

#!/usr/bin/env perl

use v5.38;

`whoami` eq "root\n" or die "Not root user";

!system('etckeeper pre-install') or die "Couldn't execute 'etckeeper pre-install'";
!system("/usr/bin/xbps-remove", @ARGV) or die "Couldn't execute '/usr/bin/xbps-remove @ARGV'";
!system('etckeeper post-install') or die "Couldn't execute 'etckeeper post-install'";

Then do sudo etckeeper init.

Then edit /etc/.gitignore to include files that shouldn't be versioned (such as /etc/resolv.conf).

Then create this executable file:

/etc/cron.daily/01-record_manual_packages

#!/bin/sh
xpkg -m > /etc/my_list_of_manual_pkgs

Then create this executable file:

/etc/cron.daily/02-etckeeper-daily-commit

#!/bin/sh
etckeeper commit "daily commit"

This setup is perfect.

Comments

-- No one has left a comment --
Write your comment: