Wiki: Working with confer
14/08/24
On this page you will learn how you can use MatterLinux configuration manager.
MatterLinux configuration manager
confer
is a simple program that allows you to easily install and package your configurations, also
known as “dotfiles”.
Installation
confer
can be installed with the package manager, it’s located in the `desktop
pool:
# matt install --yes confer
In order to run confer
as a non-root user, you will need to install and configure doas
or sudo
.
Packaging your configuration
First of all you should create and empty git repository:
$ mkdir my-config && cd my-config
$ git init
After adding a readme and a license (or any other files you might like), create an
confer.ini
file. This file should follow the simple INI
syntax. First section you should
create in this file, is the details section:
[details]
name = my-config
desc = My very cool configuration
author = me
keywords = cool,bright,rofi
name
: Name of your configurationdesc
: A short description (less then 200 chars)author
: Author of the configurationkeywords
: A comma-separated list of keywords for your configuration
The next sections you will add should contain individual configuration files different programs. These sections are called “targets”:
[rofi]
require = rofi
desc = rofi launcher configuration
dst = .config/rofi/config.rasi
src = src/rofi/config.rasi
- Section name: is the name of the target, it should explain what the target is
for (in this case the target is for
rofi
configuration, so its namedrofi
) require
: A comma-separated list of packages that this configuration requiresdesc
: A simple description explaining what the target is fordst
: Where should the configuration should be copied during the installation,confer
will append the current user’s home directory to this pathsrc
: Where should the configuration should be copied during the packaging, this path is relative to the repository’s path
After adding all the targets, run the gen
command, specifying the local path to the git repository
that contain the confer.ini
file:
$ confer gen /path/to/your/repository
confer
will copy all the target files/directories from the dst
to the
src
. When you are done, feel free to publish the git repository and share it.
Installing configurations
To install a configuration you need to use the pull
command. After the command,
specify a directory, a HTTP(S) git URL, or just specify a name:
$ confer pull messier87
If you just specify a name, confer
will look for that configuration in the config hub.
In this case, confer
will pull down the messier87
configuration, and walk you through the installation
by asking yes/no questions.
After the installation confer
will install all the requirements using matt
, and you will be ready to go!
Important
Please check the
confer.ini
file before installing third party configuration packages (packages that are not in the config hub), as they may include malicious configuration files that may harm your system.
Config Hub
MatterLinux offers a simple configuration hub, that you can use to find official configuration packages. You can also add your own configuration to the config hub, just create a issue or a pull request in the website content git repository.