content/wiki/tools/confer.md

3.4 KiB

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 configuration
  • desc: A short description (less then 200 chars)
  • author: Author of the configuration
  • keywords: 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 named rofi)
  • require: A comma-separated list of packages that this configuration requires
  • desc: A simple description explaining what the target is for
  • dst: Where should the configuration should be copied during the installation, confer will append the current user's home directory to this path
  • src: 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.