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
priority 1
means the “APT sources” group will be ordered before othersfile.read
reads the content of the fileapt-sources.list
which is placed in the same directory as the Quickonf configuration, and puts its content into variableaptsrc
expand aptsrc
replaces occurrences of variables names with their values in variableaptsrc
file.content
puts the content of variableaptsrc
into file/etc/apt/sources.list
apt.upgrade
updates the packages list and upgrades all needed packages
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.
http.get.var
reads the given webpage and puts its content in variablewebpage
.regexp.submatch
looks for the version of the latest available package for thebitscope-dso_*_amd64.deb
file in thewebpage
variable, and extracts it into variableversion
.dpkg.version
checks the current version of packagebitscope-dso
and stores it into variablecurrent
if
compares theversion
andcurrent
variables, and executes the next lines only if they are differenttempdir
creates a temporary directory (which will be removed when closing Quickonf) and puts its path intotmpdest
http.get.file
downloads the package tobitscope.deb
in the temporary directorydpkg.install
installs thebitscope.deb
package