Quickonf

Quickly (re)configure a Linux desktop system

With Quickonf, you are able to configure your Linux computers, and keep the configuration you want, using a single configuration file.

You may execute it whenever you want, to check your system is configured as needed or to fix some configuration you should not have changed.

After reinstalling your system or anytime you want, you simply have to run Quickonf and voilĂ , your system is (re)configured exactly how you had it before (as long as your configuration is described in your Quickonf configuration file, of course)!

Example overview

Let’s look at some extracts of a potential Quickonf configuration file…

APT sources
	priority 1
	aptsrc = file.read <confdir>/apt-sources.list
	expand aptsrc
	file.content /etc/apt/sources.list <aptsrc>
	apt.upgrade

This group allows configuring the APT sources and upgrading packages.

The apt-sources.list file contains:

# Sources from Quickonf
deb http://fr.archive.ubuntu.com/ubuntu/ <oscodename> main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ <oscodename>-updates main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ <oscodename>-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ <oscodename>-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu <oscodename> partner
Basic tools
	repeat apt.install
		baobab
		gnome-tweaks
		openssh-server
		net-tools

This groups installs the baobab, gnome-tweaks, openssh-server and net-tools packages, by repeating the apt.install command over them.

Vanilla GNOME
	apt.install gnome-session
	alternatives.set gdm-theme.gresource /usr/share/gnome-shell/gnome-shell-theme.gresource

This group installs the gnome-session package and changes the alternative for gdm-theme to the regular GNOME Shell theme, providing the vanilla experience of GNOME on Ubuntu.

BitScope DSO
	webpage = http.get.var http://my.bitscope.com/download/?p=download&f=APDX
	version = regexp.submatch "input type=\"checkbox\" name=\"row[]\" .*value=\"[0-9]+\".*</td>[[:space:]]*<td>bitscope-dso_(.*)_amd64.deb" <webpage>
	current = dpkg.version bitscope-dso
	if <version> != <current>
		tmpdest = tempdir
		http.get.file http://bitscope.com/download/files/bitscope-dso_<version>_amd64.deb <tmpdest>/bitscope.deb
		dpkg.install <tmpdest>/bitscope.deb

This groupe installs or upgrades the BitScope DSO package, which is not available in a repository.