Configure dob¶
Before we dive into dob and how to really use it, you’ll first want to understand how to configure it.
dob has a robust user configuration. There are lots of settings you can tweak, and there are lots of ways to tweak those settings (like using the CLI, editing a config file, or even setting environment variables).
Let’s start with how to view the config. You can either dump it to the terminal using the CLI, or you can open the config file.
We recommend using the CLI to see all the settings. The config file may not contain settings that have not been changed from their default.
Show the config¶
Run the config show
command to see all the settings you can change.
For example:
$ dob config show
+---------+----------+-------------------------------+------------------------------+
| Section | Name | Value <Default> | Help |
+=========+==========+===============================+==============================+
| db | orm | sqlalchemy | ORM used by dob to interface |
| | | | with the DBMS. Most likely |
| | | | ‘sqlalchemy’. |
+---------+----------+-------------------------------+------------------------------+
| db | engine | sqlite | Database management system |
| | | | used to manage your data. |
| | | | Most likely ‘sqlite’. |
...
You’ll notice that each config setting belongs to a section, has a name, has a current value (with the default value shown in <brackets> if different), and a bit of help.
Dump a config section¶
You can restrict to a section or even a specific setting by specifying them after the command. E.g.,:
$ dob config show term
+---------+---------------+-----------------+---------------------------------------+
| Section | Name | Value <Default> | Help |
+=========+===============+=================+=======================================+
| term | editor_suffix | .rst <> | The filename suffix to tell EDITOR so |
| | | | it can determine highlighting |
...
Dump a single setting¶
Or, to see a single setting’s entry, include the setting name:
$ dob config show term use_color
+---------+-----------+-----------------+-------------------------------------------+
| Section | Name | Value <Default> | Help |
+=========+===========+=================+===========================================+
| term | use_color | True | If True, use color and font ornamentation |
| | | | in output. |
+---------+-----------+-----------------+-------------------------------------------+
Get and set config settings¶
If you’d like to see just the value, use the get
command. For instance:
$ dob config get editor centered
True
To change the value of a setting, use the set
command. For instance:
$ dob config set editor centered False
$ dob config get editor centered
False
You can also edit config settings directly in the config file itself.
Find your config file¶
If you’d like to inspect the raw config file, you’ll have to find where it lives.
Run the details
command, e.g.,:
$ dob details
You are running dob version 3.0.7
Configuration file at: /home/user/.config/dob/dob.conf
Plugins directory at: /home/user/.config/dob/plugins
Logfile stored at: /home/user/.cache/dob/log/dob.log
Reports exported to: .{format}
Using sqlite on database: /home/user/.local/share/dob/dob.sqlite
Obviously, you’ll find the config at the path shown after “Configuration file at”.
If you really want to impress yourself, you can automate opening the config. Run the
environs
command to output shell-styleVAR=VALUE
strings, source that, and use theDOB_CONF
variable, e.g.,:$ eval "$(dob env)" && vim $DOB_CONF
If you’d like to keep the config file under revision control, feel free to use a symlink at the config file path, and then put the real file in your private repo.
Populate your config file¶
Each config set
command will write one value to your config file,
but if you’d like to add all settings to your config file, so you can
see them all, run config update
:
$ dob config update
Then open your config file, and you should see all settings therein.
Note that any comments you may have added to the config file will be preserved.
Change settings at runtime¶
If you want to change configuration settings on the fly, you can do that, too.
You can specify a different configuration file using the
DOB_CONFIGFILE
variable. You could set it permanently, say, from your startup scripts, or you could set if just for a single command, e.g.,:DOB_CONFIGFILE=path/to/dob.conf dob COMMAND ...
Likewise, you can specify config values using environment variables, e.g.,:
DOB_CONFIG_DB_ENGINE=sqlite dob stats
or using a global CLI option,
-C
, e.g.,:dob -C db.engine=sqlite stats
Refer to dob config --help
for more details.