Configuration¶
Configuration files allow you to override defaults for commandline arguments, defaults for command options and even set some settings that can't be set via commandline. The configuration file is an INI-file and can be created at the following locations:
- /etc/uberdot/uberdot.ini for system-wide configuration
- /home/username/.config/uberdot/uberdot.ini for only a specific user
- uberdot-repository/uberdot.ini for portable installations
You can copy an example for the configuration file from docs/config-example.ini
.
Settings¶
In this section are only settings which can't be set via commandline. Most of them have sane defaults, just make sure that profileFiles
and
targetFiles
are set. Those are the only required settings. Example:
[Settings]
profileFiles = /path/to/your/profiles/
targetFiles = /path/to/your/dotfiles/
The following settings are available:
Name | Values | Description |
---|---|---|
askroot | True, False (Default is True) | Shall uberdot ask for root permission if required |
backupExtension | String (Default is "bak") | The extension that is used to create backup files |
color | True, False (Default is True) | Should the output be colorized |
decryptPwd | String | Default password to decrypt encrypted dotfiles |
hashSeparator | String (Default is "#") | The symbol that is used as separator for hashes in dynamic files |
dataDir | String (Default is None) | A setting to use a special directory instead of the default data dir. Mainly useful for automated testing. |
profileFiles | Path (absolute or relatively to the installation) | The directory that contains the profiles |
shell | Path/Process name (Default is "bash") | The shell that is used to execute shell scripts from event callbacks |
shellTimeout | Integer (Default is 60) | Time in seconds that a shell command is allowed to run without printing anything. |
smartShellCWD | True, False (Default is True) | If true, event scripts will always start in the directory in which the profile started. |
tagSeparator | String (Default is "%") | The symbol that is used as separator for tags in dotfile names |
targetFiles | Path (absolute or relatively to the installation) | The directory that contains the dotfiles |
Arguments¶
The "Argument" section allows you to set defaults for commandline arguments.
Name | Values | Description |
---|---|---|
force | True, False (Default is False) | Equivalent to --force |
dui | True, False (Default is False) | Equivalent to --dui |
logginglevel | info, verbose, quiet or silent (Default is info) | Equivalent to --verbose, --quiet and --silent |
logfile | Path | Equivalent to --log |
makedirs | True, False (Default is False) | Equivalent to --makedirs |
skiproot | True, False (Default is False) | Equivalent to --skiproot |
superforce | True, False (Default is False) | Equivalent to --superforce |
Defaults¶
The "Default" section allows you to overwrite the default values of a profile. This includes defaults for command options, the directory and the tags.
Name | Values | Description |
---|---|---|
directory | Absolute or relative path to the repository (Default is "$HOME") | The directory a profile starts in |
name | String (Default is "") | Sets default for the command option name |
optional | True, False (Default is False) | Sets default for the command option optional |
owner | String (Default is "") | Sets default for the command option owner |
permission | Integer (Default is 644) | Sets default for the command option permission |
prefix | String (Default is "") | Sets default for the command option prefix |
replace | String (Default is "") | Sets default for the command option replace |
replace_pattern | String (Default is "") | Sets default for the command option replace_pattern |
tags | Comma-seperated list (Default is "") | Sets default tags |
Defaults for installed-files¶
You can overwrite your own defaults when you use multiple installed file.
For example if you create an installed file called "test" with --save test
, you could set the default starting directory to
your desktop like this:
[Installed.test.Defaults]
directory = /home/username/Desktop
This overwrites the section "Defaults" for all calls of uberdot that have --save test
set.
You can do this for any section with the following naming schema: "Installed.<installed-file name>.<section name>"