Debian + Propellor
The Propellor configuration management system uses Haskell and Git. Each system has a list of properties, which Propellor ensures are satisfied. Linux and FreeBSD are supported.
Debian
I use Propellor to manage my Debian
installation (it replaced my NixOS
installation — which I reconsidered because of this: abdication of founder)
Update [za 14 dec 2024 22:45:39 CET]: I have now calmed down and returned to NixOS :-}
Update [do 24 apr 2025 10:36:36 CEST]: NixOS updates are getting increasily heavy and it's getting too much for my aging 2013 Asus N53J notebook with 8 GiB to handle (last update made my computer unusable -- i.e. unresponsive -- for at least an hour). I'm thinking about returning to Debian + Propellor. Perhaps I'll try the unstable -- 'sid' -- branch.
Setup
Install Propellor as follows:
1apt install propellor
As a regular user, initialize Propellor as follows (this creates ~/.propellor
subdirectory):
1propellor --init
Do not yet attempt to run propellor!
First remove .propellor/config.hs
and replace it with your own (mine is on Codeberg); also change propellor.cabal
to include additional source files (mine are in a lib
subdirectory) — don't forget to add any additional files to git via a git add filename
command, prior to a first or next run of propellor (failure to do so appears to be recoverable only by removing /usr/local/propellor
subdirectory as root). Then try to run propellor
.
Configuration of /etc/ssh/sshd_config
may need changing from its default to run propellor
. Also see my configuration on Codeberg.
Usage
To compile your configuration but not install it, use this:
1propellor --build
To compile and install your configuration, use this:
1propellor
Configuration
API documentation for the configuration of Propellor is here: Propellor API documentation.
Quirks
Propellor typically only acts to ensure a property is met, it normally does not unact. If e.g. you have the Propellor cron functionality and remove it from your config.hs
then it will no longer be installed on subsequent Propellor runs, but you'll have to remove it manually from /etc/cron.d
to uninstall it. This may also apply to other and your own configuration you added.