---
name: "switchconf"
section: "8"
platform: "linux"
package: "switchconf"
version: "0.0.17-1.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/switchconf"
---

# switchconf(8)

Change system configuration to one of many predefined

## NAME

switchconf - Change system configuration to one of many predefined

## SYNOPSIS

**switchconf** \[ *-f conf\_file* \] *-help* \| *-list* \| *config\_scheme*

## DESCRIPTION

**switchconf** is a command line tool that helps nomad laptop users to easily change their configuration.

## OPTIONS

**switchconf** takes only one mandatory argument. If this argument is *-help*, the command synopsis is output.  If it is *-list*, a list of all known configuration schemes is returned for the current set (found in $conf\_top\_dirs). If the argument is a configuration scheme, this configuration will be installed on the laptop.

**switchconf** can take an optional argument, which must be first, flagged by *-f*.  This argument specifies the set of configuration schemes to work with.  It names a configuration file, with format described below, located on the current directory.  If no optional argument is present, the default file */etc/switchconf/conf* is used.

## CONFIGURATION FILE

The configuration file (default */etc/switchconf/conf*) is simple. The following entries are defined:

- *conf\_top\_dirs*

  This specify where are located the configurations schemes.

- *dest\_dir*

  This specify in which top directory you want to install the new configuration. This option is pretty useful if you want to debug your configuration without overwritting the actual one.

- *exec\_dir\_before*, *exec\_dir\_after*

  This specify the name of the exec directory : all files included will  be executed before or after configuration changes

- *run\_parts*

  This specifies the path to the run-parts command which is used to execute the scripts.  Leave it empty to use the internal implementation of run-parts.

- *config\_method*

  This specify the method to use to copy the configuration files, to their  places: softlink, hardlink, copy

*/etc/switchconf/conf* should be written so it is parsable as a shell script - There should be no spaces between the variable name and its value.

## SCHEMES

You should create a directory for each configuration scheme you define, including all the files it should set in the system. Inside /etc/switchconf the directories you should create the files including the full path (i.e., */etc/switchconf/home/etc/network/interfaces* for */etc/network/interfaces*).

No scheme should be named as either the exec\_dir\_before or the exec\_dir\_after, unless the conf\_top\_dirs is moved out of its default directory, */etc/switchconf.*

*Although it is not really necessary, you should probably ensure that* *all the files existing in one of the schemes exist on every other* *scheme, in order to ensure you do not end up in a hybrid state.*

## FILES

- */etc/switchconf/conf*

  Configuration file.

- */var/lib/misc/switchconf.lastcfg*

  Memory file, has the name of the current active scheme

- */var/lock/switchconf*

  Lock file.

## BUGS

Actually no bugs are reported.

## AUTHOR

**switchconf** was written by Sebastien J. Gross \<seb@sjgross.org\> **switchconf** was contributed by Julien Ducros \<jul@chezwam.org\> **switchconf** was maintained by Jose Calhariz \<jose.calhariz@tagus.ist.utl.pt\>
