diff --git a/assets/configs/messier87.png b/assets/configs/messier87.png new file mode 100644 index 0000000..a391ca5 Binary files /dev/null and b/assets/configs/messier87.png differ diff --git a/configs.json b/configs.json new file mode 100644 index 0000000..755071b --- /dev/null +++ b/configs.json @@ -0,0 +1,9 @@ +{ + "list": [ + { + "image": "assets/configs/messier87.png", + "redirect": "https://git.matterlinux.xyz/Matter/messier87.git", + "url": "https://git.matterlinux.xyz/Matter/messier87/raw/branch/main/mc.cfg" + } + ] +} diff --git a/configs.md b/configs.md new file mode 100644 index 0000000..155680d --- /dev/null +++ b/configs.md @@ -0,0 +1,4 @@ +List of configuration packages (dotfiles) for MatterLinux. These simple configurations allow you to easily set up +your desktop and they create a baseline for all of your own configurations. You can install these configurations +using the `mc` tool. [Learn more](http://127.0.0.1:9878/wiki/configuration). + diff --git a/download.md b/download.md index 3b43153..d315407 100644 --- a/download.md +++ b/download.md @@ -1,5 +1,5 @@ For installation instructions, please [see the wiki](/wiki). You can -download the older versions from the [directory listing](https://rel.matterlinux.xyz/24/) +download the older versions from the [directory listing](https://rel.matterlinux.xyz/24/). Signatures can be verified using `gpg`. To do so, download the maintainer's key: ``` diff --git a/wiki/main.md b/wiki/main.md index 57615c1..122d5de 100644 --- a/wiki/main.md +++ b/wiki/main.md @@ -18,6 +18,7 @@ edit a page or create a new page, make a [pull request](/wiki/contribute) to [co | [Create a package](/wiki/create_pkg) | Learn how you can create and add a package to the official repos | | [Package Management](/wiki/package_man) | Learn about MatterLinux package manager | | [Mirrors](/wiki/mirrors) | Discover repo mirrors and learn how you can setup one | +| [Working with `mc`](/wiki/mc) | Learn how you can use `mc` to install and package your configs | ## Other | Name | Description | diff --git a/wiki/pkg/create.md b/wiki/pkg/create.md index 83f7c7f..4293a32 100644 --- a/wiki/pkg/create.md +++ b/wiki/pkg/create.md @@ -1,4 +1,4 @@ -On this you will learn how you can create your first +On this page, you will learn how you can create your first MatterLinux package for the official repos. ## Pre-requirements diff --git a/wiki/pkg/mc.json b/wiki/pkg/mc.json new file mode 100644 index 0000000..6f28f17 --- /dev/null +++ b/wiki/pkg/mc.json @@ -0,0 +1,6 @@ +{ + "id": "mc", + "title": "Working with `mc`", + "author": "ngn", + "date": "05/05/24" +} diff --git a/wiki/pkg/mc.md b/wiki/pkg/mc.md new file mode 100644 index 0000000..9ffa762 --- /dev/null +++ b/wiki/pkg/mc.md @@ -0,0 +1,78 @@ +On this page you will learn how you can use MatterLinux configuration manager. + +# MatterLinux Configuration Manager +`mc` or the MatterLinux configuration manager, is a simple program that allows you to +easily install and package your configurations. + +### Installing `mc` +`mc` can be installed with `mp` (MatterLinux package manager), it's located in the desktop +repo: +``` +# mp-install mc +``` +In order to run `mc` as a non-root user, you will need to [install and configure `doas` or `sudo`](/wiki/post_install). + +### 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 +`mc.cfg` 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, `mc` 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 `mc-gen` command, specifying the local path to the git repository +that contain the `mc.gen` file. `mc` 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 `mc-pull` command. After the command, +specify a directory, a HTTP(S) git URL, or just specify a name: +``` +$ mc-pull messier87 +``` +If you just specify a name, `mc` will look for that configuration in the [config hub](/hub). +In this case, `mc` will pull down the `messier87` configuration, and walk you through the installation +by asking yes/no questions. + +After the installation `mc` will install all the requirements using `mp`, and you will be ready to go! + +> **Important** +> +> Please check the `mc.cfg` 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](/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 in the [website content repository](https://git.matterlinux.xyz/Matter/content/issues). diff --git a/wiki/pkg/mirrors.json b/wiki/pkg/mirrors.json index 7aceab8..11fab7c 100644 --- a/wiki/pkg/mirrors.json +++ b/wiki/pkg/mirrors.json @@ -2,5 +2,5 @@ "id": "mirrors", "title": "Mirrors", "author": "ngn", - "date": "21/02/24" + "date": "05/05/24" } diff --git a/wiki/pkg/release.json b/wiki/pkg/release.json index 1671a7a..62a8a01 100644 --- a/wiki/pkg/release.json +++ b/wiki/pkg/release.json @@ -2,5 +2,5 @@ "id": "release", "title": "Releases", "author": "ngn", - "date": "21/02/24" + "date": "05/05/24" } diff --git a/wiki/pkg/release.md b/wiki/pkg/release.md index 592bccd..b3908c5 100644 --- a/wiki/pkg/release.md +++ b/wiki/pkg/release.md @@ -1,4 +1,4 @@ -On this package you will find information about MatterLinux release cycle and +On this page, you will find information about MatterLinux release cycle and version numbering. ## Release Cycle