diff --git a/.gitea/pull_request_template/new_config.yaml b/.gitea/pull_request_template/new_config.yaml
index 83afef2..fde095a 100644
--- a/.gitea/pull_request_template/new_config.yaml
+++ b/.gitea/pull_request_template/new_config.yaml
@@ -14,7 +14,7 @@ body:
id: extra
attributes:
label: Extra
- description: Any extra thing you want to say
+ description: Anything you want to add
validations:
required: false
- type: checkboxes
diff --git a/.gitea/pull_request_template/new_wiki.yaml b/.gitea/pull_request_template/new_wiki.yaml
index 06cfb85..eb16030 100644
--- a/.gitea/pull_request_template/new_wiki.yaml
+++ b/.gitea/pull_request_template/new_wiki.yaml
@@ -21,7 +21,7 @@ body:
id: extra
attributes:
label: Extra
- description: Any extra thing you want to say
+ description: Anything you want to add
validations:
required: false
- type: checkboxes
diff --git a/configs.md b/configs.md
index eb38347..860aa08 100644
--- a/configs.md
+++ b/configs.md
@@ -1,3 +1,3 @@
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](/wiki/mc).
+using the `confer` tool. [Learn more](/wiki/confer).
diff --git a/index.md b/index.md
index 07871b9..079cec0 100644
--- a/index.md
+++ b/index.md
@@ -1,7 +1,7 @@
## Details
MatterLinux is a tiny, independent, [free/libre](https://www.gnu.org/philosophy/free-sw.html) and
[open source](https://opensource.com/resources/what-open-source) GNU/Linux distribution
-for `x86_64` (or `amd64`) systems. It has its own package management system and its own package repos.
+for `x86_64` (or `amd64`) systems. It has its own package management system and its own package pools.
All source code for MatterLinux is licensed under GPLv3 and available on the
[MatterLinux Gitea](https://git.matterlinux.xyz/Matter).
@@ -14,15 +14,16 @@ contributors. If you are interested you can follow the development of the projec
here is a rough roadmap:
- - >>> Package system
+ - >>> Package system
- >>> Website
- - >>> Official repos (
base
and desktop
)
+ - >>> Official pools (
base
and desktop
)
- >>> Wiki/documentation
- >>> First release
- - >>> Expanding
desktop
repo (100 packages)
- - >>> Expanding
desktop
repo (300 packages)
+ - >>> Server pool
+ - >>> Expanding
desktop
pool (100 packages)
+ - >>> Expanding
desktop
pool (300 packages)
- >>> Expanding the wiki
- - >>> Expanding
desktop
repo (500 packages)
+ - >>> Expanding
desktop
pool (500 packages)
- >>> TUI/GUI installer
diff --git a/wiki/other/bugs.json b/wiki/contribute/bugs.json
similarity index 100%
rename from wiki/other/bugs.json
rename to wiki/contribute/bugs.json
diff --git a/wiki/other/bugs.md b/wiki/contribute/bugs.md
similarity index 100%
rename from wiki/other/bugs.md
rename to wiki/contribute/bugs.md
diff --git a/wiki/other/chat.json b/wiki/contribute/chat.json
similarity index 100%
rename from wiki/other/chat.json
rename to wiki/contribute/chat.json
diff --git a/wiki/other/chat.md b/wiki/contribute/chat.md
similarity index 100%
rename from wiki/other/chat.md
rename to wiki/contribute/chat.md
diff --git a/wiki/other/conduct.json b/wiki/contribute/conduct.json
similarity index 100%
rename from wiki/other/conduct.json
rename to wiki/contribute/conduct.json
diff --git a/wiki/other/conduct.md b/wiki/contribute/conduct.md
similarity index 100%
rename from wiki/other/conduct.md
rename to wiki/contribute/conduct.md
diff --git a/wiki/other/contribute.json b/wiki/contribute/contribute.json
similarity index 100%
rename from wiki/other/contribute.json
rename to wiki/contribute/contribute.json
diff --git a/wiki/other/contribute.md b/wiki/contribute/contribute.md
similarity index 100%
rename from wiki/other/contribute.md
rename to wiki/contribute/contribute.md
diff --git a/wiki/main.md b/wiki/main.md
index c638cc3..b574696 100644
--- a/wiki/main.md
+++ b/wiki/main.md
@@ -6,7 +6,6 @@ edit a page or create a new page, make a [pull request](/wiki/contribute) to [co
> Due to ongoing package system rework, the `Packaging` section is currently in a messy state
> and may contain misinformation or missing links, [please see this post](/news/important_update).
-
## Installation
| Name | Description |
| --------------------------------------- | ----------------------------------------------- |
@@ -14,24 +13,33 @@ edit a page or create a new page, make a [pull request](/wiki/contribute) to [co
| [Installation](/wiki/install) | Learn how to install a base MatterLinux system |
| [Post-installation](/wiki/post_install) | Make your system (somewhat) usable |
+## Tools/libraries
+| Name | Description |
+| --------------------------------------------- | ------------------------------------------------------------------------------ |
+| [Working with matt](/wiki/matt) | Learn how to manage packages with MatterLinux package manager (`matt`) |
+| [Working with libmp](/wiki/libmp) | Learn how to use the MatterLinux package library (`libmp`) |
+| [Working with confer](/wiki/confer) | Learn how to manage your configs MatterLinux configuration manager (`confer`) |
+
## Packaging
| Name | Description |
| --------------------------------------------- | ------------------------------------------------------------------------------ |
-| [Releases](/wiki/releases) | Learn about MatterLinux release cycle |
| [Packages](/wiki/packages) | Learn about MatterLinux packages |
+| [Creating packages](/wiki/create) | Learn how you can create and add a package to the official pools |
+
+## Pools
+| Name | Description |
+| --------------------------------------------- | ------------------------------------------------------------------------------ |
| [Pools](/wiki/pools) | Learn about MatterLinux package pools |
| [Mirrors](/wiki/mirrors) | Discover pool mirros and learn how you can setup your own |
| [Pool guidelines](/wiki/pool_guides) | Package guidelines for the official pools |
-| [Creating packages](/wiki/create) | Learn how you can create and add a package to the official pools |
-| [Working with matt](/wiki/matt) | Learn how to manage packages with MatterLinux package manager (`matt`) |
-| [Working with libmp](/wiki/libmp) | Learn how to use the MatterLinux package library (`libmp`) |
-| [Understanding MPTP](/wiki/mptp) | Learn about MatterLinux package transfer protocol (MPTP) |
-| [Working with confer](/wiki/confer) | Learn how to manage your configs MatterLinux configuration manager (`confer`) |
+
+## Contribute
+| [Chat](/wiki/chat) | Learn how you can contact developers and contributers |
+| [Contributing](/wiki/contribute) | Learn how you can contribute to MatterLinux |
+| [Bugs](/wiki/bugs) | Learn how you can report bugs/issues |
## Other
| Name | Description |
| -------------------------------- | ------------------------------------------------------- |
-| [Chat](/wiki/chat) | Learn how you can contact developers and contributers |
-| [Contributing](/wiki/contribute) | Learn how you can contribute to MatterLinux |
-| [Bugs](/wiki/bugs) | Learn how you can report bugs/issues |
+| [Releases](/wiki/releases) | Learn about MatterLinux release cycle |
| [Licensing](/wiki/licensing) | Licensing for the MatterLinux repositories and software |
diff --git a/wiki/other/licensing.md b/wiki/other/licensing.md
index 20efaee..7463391 100644
--- a/wiki/other/licensing.md
+++ b/wiki/other/licensing.md
@@ -2,10 +2,10 @@
All of the MatterLinux software and the tools are available on
[MatterLinux Git Server](https://git.matterlinux.xyz) and they are licensed under
[GNU General Public License Version 3](https://www.gnu.org/licenses/gpl-3.0.en.html).
-A copy of this license can be found in every repository, in the `LICENSE.txt` file.
+A copy of this license can be found in every git repository, in the `LICENSE.txt` file.
MatterLinux software and the tools are distributed as [free/libre](https://www.gnu.org/philosophy/free-sw.en.html) and
-[open source](https://opensource.com/resources/what-open-source) software. This means anybody can:
+[open source](https://opensource.com/resources/what-open-source) software. This means anybody can freely:
- Use MatterLinux software and tools
- Distribute copies of MatterLinux software and tools
diff --git a/wiki/pkg/releases.json b/wiki/other/releases.json
similarity index 100%
rename from wiki/pkg/releases.json
rename to wiki/other/releases.json
diff --git a/wiki/pkg/releases.md b/wiki/other/releases.md
similarity index 78%
rename from wiki/pkg/releases.md
rename to wiki/other/releases.md
index 07a80a6..822559a 100644
--- a/wiki/pkg/releases.md
+++ b/wiki/other/releases.md
@@ -7,13 +7,15 @@ then you get a new release. So its expected to have a release or once a month.
### Package updates
MatterLinux follows a slow rolling release cycle for all the packages. Packages update every
-once in a while, generally to fix security issues. Packages get tested on a development repo,
-[next.matterlinux.xyz](https://next.matterlinux.xyz) before they get pushed into the main repos.
+once in a while, generally to fix security issues. Packages get tested on a development pool,
+[next.matterlinux.xyz](https://next.matterlinux.xyz) before they get pushed into the main pools.
This way we can maintain a stable experience.
### ISOs and release archives
-- ISO: A bootable disk image
-- Release Archive: An archive used during the installation of a release
+With each release, project releases two new files, an **ISO** and a **Release Archive**:
+
+- **ISO**: A bootable disk image
+- **Release Archive**: An archive used during the installation of a release
With new release, a new ISO and a release archive will be published. This way
the packages in these ISO and archive files will always be up-to-date.
@@ -27,17 +29,18 @@ out the `/etc/os-release` file:
## Version numbering
MatterLinux and all it's projects are version numbered after the year.
-For example MatterLinux release for the year 2024 is versioned "MatterLinux 24".
+For example MatterLinux release for the year 2024 is versioned "*MatterLinux 24*".
Minor numbers may be added for other releases. For example the 2nd release of the
-MatterLinux 24 ISO would be named "MatterLinux 24.01".
+MatterLinux 24 ISO would be named "*MatterLinux 24.01*".
Similarly 15th release of the MatterLinux package manager for the year 2024
-is versioned "24.14".
+is versioned "*24.14*".
## Building releases
-You can build an up-to-date ISO and a release archives using [MatterLinux tools](https://git.matterlinux.xyz/matter/tools).
-These tools also can be installed with the `tools` package.
+You can build an up-to-date ISO and a release archives using [`mtsc`](https://git.matterlinux.xyz/matter/mtsc).
+`mtsc` can be found the in the [`base` pool](/wiki/pools), and can be installed using
+the [package manager](/wiki/matt).
> **Important**
>
@@ -63,8 +66,8 @@ directory to this tool, you can create an ISO image.
As the configuration directory, you can clone the [official ISO configuration](https://git.matterlinux.xyz/Matter/iso).
Or you can use your own custom configuration.
-To build the ISO with the release archive that we created on the previous example, using the configuration directory
-located at `./iso`:
+To build the ISO with the release archive that we created on the previous example, using the configuration
+directory located at `./iso`:
```
# matter-iso matterlinux_example-build.tar.gz iso
```
diff --git a/wiki/pkg/create.json b/wiki/package/create.json
similarity index 100%
rename from wiki/pkg/create.json
rename to wiki/package/create.json
diff --git a/wiki/pkg/create.md b/wiki/package/create.md
similarity index 77%
rename from wiki/pkg/create.md
rename to wiki/package/create.md
index b951758..e5058b8 100644
--- a/wiki/pkg/create.md
+++ b/wiki/package/create.md
@@ -11,34 +11,42 @@ MatterLinux package for the official pools.
## Getting started
If you want to add your package to the official pools, then please
check the [official pool guidelines](/wiki/pool_guides). Make sure
-that your package follows the guidelines or your pull request maybe
+that your package follows the guidelines or your pull request may be
rejected.
-Also create an account on Gitea server and configure your editor
+Also, create an account on Gitea server and configure your editor
as specified in the [contribution guide](/wiki/contribute).
+## Install requirements
+To follow this tutorial you will need a working MatterLinux installation
+(minimum version 24.05). You also need to install the following packages
+from the [`base` pool](/wiki/pools):
+
+- an editor (`vim` and `nano` is avaliable on the `base` pool)
+- build-essential
+- [mtsc](https://git.matterlinux.xyz/matter/mtsc)
+- git
+
## Selecting a pool
If you want to add a new package to the official pools, you should
-first choose the pool you want to add the package to. If you are
-packaging a software that is fundamental to the OS, such as a kernel,
-or a C library, you should add your package to the `base` pool.
-
-If the software is mainly targeted for server use, you should add the package
-to the `server` pool.
-
-If none of these is the case then you should add the package to the `desktop`
-pool.
+first choose the pool you want to add the package to. You should check
+the [list of official pools](/wiki/pools), and figure out which pool
+your package belongs to.
## Fork the pool
After selecting the pool, fork it on Gitea and clone it to MatterLinux
system:
```
-$ git clone
+$ git clone
+```
+Create a new branch for your package:
+```
+$ git branch -m new-package
```
-## Install requirements
To build and create packages, you should install the `build-essential` package from the
-`base` pool. This package will provide you with all the scripts and the tools required.
+[`base` pool](/wiki/pools). This package will provide you with all the base tools
+required, such as the GNU C compiler. You will also need
## Create the package template
Change directory into the `src` folder of the pool you cloned, and use the `mp-new`
@@ -65,7 +73,7 @@ $ mp-new lxterminal_0.4.0
```
## Modify the package script
-`mp-temp` will create a directory for the new package, which will contain a `pkg.sh` script.
+`mp-new` will create a directory for the new package, named after the package, which will contain a `pkg.sh` script.
This script is called the **package script**. Open this script with the configured editor:
```
# general info
@@ -191,7 +199,7 @@ HASHES=("7938dbd50e3826c11f4735a742b278d3")
# install and build depends
DEPENDS=("vte")
-BUILD=()
+BUILD=("intltool")
PACKAGE() {
tar xf "${NAME}-${VERSION}.tar.xz"
@@ -213,33 +221,54 @@ When you are done, format the package script following these rules:
- Prevent using `&&` unless it's absolutely necessary, it usually ends up messing the error checking
- Split unrelated instructions with a newline
+You can use the `mp-check` script to automatically check for some of these issues:
+```
+$ mp-check lxterminal
+```
+
## Building the package
To build the newly created package, run the following in the `src` directory:
```
-$ mp-build --no-sign
+$ mp-build --no-sign lxterminal
```
This will install all the required dependencies, and only build the specified package.
## Testing the package
-When the package is built, check out the newly created root directory inside the package directory
-to make sure that everything is placed where it should be:
+When build is completed, you will have a new `.mpf` package archive in the `dist` directory
+of the package directory. You can check this archive for any potential issues using `mp-check`
+again:
```
-$ tree /root
+$ mp-check lxterminal/dist/lxterminal_0.4.0.mpf
+```
+After fixing any potential issues and warnings, you can install your newly created package using
+the [package manager](/wiki/matt) and test it out:
+```
+# matt install --yes lxterminal/dist/lxterminal_0.4.0.mpf
+$ lxterminal
```
-## Staging and commit your changes
+## Stage and commit your changes
After making sure that the package is working as intended, go back to the root of the pool source directory,
-and use `git add .` to stage all the changes. Then use `git commit -m ` to commit them. For the
+and use `git add .` to stage all the changes. Then use `git commit -m ` command to commit them. For the
commit message, follow the guidelines on the [contribution page](/wiki/contribute). For our example, the following
message should be fine:
```
-$ git commit -m "new: add lxterminal package"
+$ git commit -m "new: lxterminal package"
```
-Then push your changes:
+Then push your branch to the remote:
```
-$ git push -u origin main
+$ git push -u origin new-package
```
## Creating a pull request
Back on the Gitea, create a pull request to the official repository. Provide information about
the package you added, and explain why you think its important to include this package.
+
+Please patiently wait for a response from the maintainer(s) after creating your pull request,
+if find out any problems with your package after creating the pull request, fix them and make more commits
+to your new branch, they should automatically be added to the pull request.
+
+## You are done!
+If you follow every step correctly your pull request will be merged. After the merge, your package will
+be added to the [development (next) pools](/wiki/pools) and after some testing it will make it's way to
+the stable pools.
diff --git a/wiki/pkg/packages.json b/wiki/package/packages.json
similarity index 100%
rename from wiki/pkg/packages.json
rename to wiki/package/packages.json
diff --git a/wiki/pkg/packages.md b/wiki/package/packages.md
similarity index 100%
rename from wiki/pkg/packages.md
rename to wiki/package/packages.md
diff --git a/wiki/pkg/mptp.json b/wiki/pkg/mptp.json
deleted file mode 100644
index c3b9f13..0000000
--- a/wiki/pkg/mptp.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "id": "mptp",
- "title": "Working with mptp",
- "author": "ngn",
- "date": "14/08/24"
-}
diff --git a/wiki/pkg/mptp.md b/wiki/pkg/mptp.md
deleted file mode 100644
index 5c1562d..0000000
--- a/wiki/pkg/mptp.md
+++ /dev/null
@@ -1 +0,0 @@
-This page is currently under development.
diff --git a/wiki/pkg/mirrors.json b/wiki/pools/mirrors.json
similarity index 100%
rename from wiki/pkg/mirrors.json
rename to wiki/pools/mirrors.json
diff --git a/wiki/pkg/mirrors.md b/wiki/pools/mirrors.md
similarity index 57%
rename from wiki/pkg/mirrors.md
rename to wiki/pools/mirrors.md
index 68456ac..23b9248 100644
--- a/wiki/pkg/mirrors.md
+++ b/wiki/pools/mirrors.md
@@ -6,14 +6,14 @@ configuration file (`/etc/matt/config.ini`).
### Creating a mirror
To create a mirror you can use the [`mirp` tool](https://git.matterlinux.xyz/matter/mirp).
-This package can be installed from the `server` pool.
+This package can be installed from the [`server` pool](/wiki/pools).
After installing `mirp`, specify an URL and an output directory (files will be downloaded
-into the output directory). For example to mirror the `base` pool from `https://pkgs.matterlinux.xyz/base`
+into the output directory). For example to mirror the `base` pool from `https://stable.matterlinux.xyz/base`
to `base_mirror` directory:
```
$ mkdir base_mirror
-$ mirp mptp://pkgs.matterlinux.xyz/base base_mirror
+$ mirp mptp://stable.matterlinux.xyz/base base_mirror
```
To serve the mirror, you can setup [`pooler`](https://git.matterlinux.xyz/matter/pooler).
@@ -38,14 +38,14 @@ that you can use. To add your mirror to this list get in contact with the mainta
> from the list.
### Official pools
-| Pool | MPTP | HTTP(S) | Location |
-| -------------- | ---------------------------------------- | ----------------------------------------- | ----------- |
-| base | `mptp://stable.matterlinux.xyz/base` | `https://stable.matterlinux.xyz/base` | 🇹🇷 Turkey |
-| desktop | `mptp://stable.matterlinux.xyz/desktop` | `https://stable.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
-| server | `mptp://stable.matterlinux.xyz/server` | `https://stable.matterlinux.xyz/server` | 🇹🇷 Turkey |
-| base (next) | `mptp://next.matterlinux.xyz/base` | `https://next.matterlinux.xyz/base` | 🇹🇷 Turkey |
-| desktop (next) | `mptp://next.matterlinux.xyz/desktop` | `https://next.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
-| server (next) | `mptp://next.matterlinux.xyz/server` | `https://next.matterlinux.xyz/server` | 🇹🇷 Turkey |
+| Pool | MPTP | HTTP(S) | Location |
+| ---------------- | ---------------------------------------- | ----------------------------------------- | ----------- |
+| base (stable) | `mptp://stable.matterlinux.xyz/base` | `https://stable.matterlinux.xyz/base` | 🇹🇷 Turkey |
+| desktop (stable) | `mptp://stable.matterlinux.xyz/desktop` | `https://stable.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
+| server (stable) | `mptp://stable.matterlinux.xyz/server` | `https://stable.matterlinux.xyz/server` | 🇹🇷 Turkey |
+| base (next) | `mptp://next.matterlinux.xyz/base` | `https://next.matterlinux.xyz/base` | 🇹🇷 Turkey |
+| desktop (next) | `mptp://next.matterlinux.xyz/desktop` | `https://next.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
+| server (next) | `mptp://next.matterlinux.xyz/server` | `https://next.matterlinux.xyz/server` | 🇹🇷 Turkey |
### Mirrors
Currently there are no available mirrors.
diff --git a/wiki/pkg/pool_guides.json b/wiki/pools/pool_guides.json
similarity index 100%
rename from wiki/pkg/pool_guides.json
rename to wiki/pools/pool_guides.json
diff --git a/wiki/pkg/pool_guides.md b/wiki/pools/pool_guides.md
similarity index 82%
rename from wiki/pkg/pool_guides.md
rename to wiki/pools/pool_guides.md
index 3af2eb2..8b79afd 100644
--- a/wiki/pkg/pool_guides.md
+++ b/wiki/pools/pool_guides.md
@@ -3,18 +3,22 @@ Packages in the official MatterLinux pools (should) follow these guidelines:
- **Packaged software should be free or/and open source**: Proprietary software won't be included
to the pools. No exceptions. If you find a proprietary software package in the official pools,
please create an issue or a pull request on the related Git repository to remove the package.
+We also prioritize free/libre software over open source software.
+
- **Packaged software should be stable**: Software known to be unstable will not packaged,
if the stability is related to the version of the software, we may package a different/patched
version of the software.
+
- **Packaged software should be secure**: Outdated software that has critical vulnerabilities
will not be packaged.
+
- **Packaged software should be (somewhat) popular**: No, we are not gonna package some random window
manager that only has 3 users and was last updated in 1993.
-The following software packages will **NOT** be added, so do not waste your time with PRs or issues:
+The following software packages will **NOT** be added, so do not waste your time with pull requests or issues:
- DWM or other Suckless tools that are configured using header files
-- Any Wayland only window managers ("compositors"), status bars, terminals etc. We only have Weston which used for testing the Wayland environment
+- Any Wayland only window managers ("compositors"), status bars, terminals etc. We only have weston which used for testing the Wayland environment
- Other init systems (`dinit`, `runit` etc.)
-- Non-libre kernel
+- Non-libre Linux kernel
- Other third-party package managers (apt, dnf, pacman etc.), however containerized package managers can
-be packaged (except for snap, f*%#! snap)
+be packaged, except for snap (I don't like snap)
diff --git a/wiki/pkg/pools.json b/wiki/pools/pools.json
similarity index 100%
rename from wiki/pkg/pools.json
rename to wiki/pools/pools.json
diff --git a/wiki/pkg/pools.md b/wiki/pools/pools.md
similarity index 67%
rename from wiki/pkg/pools.md
rename to wiki/pools/pools.md
index 12786fe..2b4b3ff 100644
--- a/wiki/pkg/pools.md
+++ b/wiki/pools/pools.md
@@ -1,5 +1,34 @@
On this page, you will find information about MatterLinux package pools.
+# List
+Here is a list of all the official MatterLinux software package pools, you can
+find URL(s) for these pools in the [mirrors page](/wiki/mirrors).
+
+# Base
+- **Name**: base
+- **Signed with**: `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D`
+- **Maintainer**: ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D)
+
+Contains software packages for the core system (for example `glibc`, `grub`),
+so you need these packages in order to have a bootable system, however the base
+pool alone won't get you further from a simple installation.
+
+# Desktop
+- **Name**: desktop
+- **Signed with**: `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D`
+- **Maintainer**: ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D)
+
+Contains software packages for your desktop needs (for example `xorg`, `xfce4`),
+however they are not necessarily needed for a simple installation.
+
+# Server
+- **Name**: desktop
+- **Signed with**: `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D`
+- **Maintainer**: ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D)
+
+Contains software packages for your server needs (for example `apache`, `nginx`),
+similar to the `desktop` pool, you do not necessarily need these for a simple installation.
+
# Structure
A pool contains:
@@ -97,39 +126,38 @@ These pools can provide packages for users, these packages can be managed using
### Building an already existing pool
To build an already existing pool, such as the `base` or the `desktop` pool, first you will need to
-download the pool's source. Source for the `base` and the `desktop` pool can be found on [MatterLinux Git Server](https://git.matterlinux.xyz/matter).
+download the pool's source. Source for the `base`, `desktop` and `server` pool can be found on [MatterLinux Git Server](https://git.matterlinux.xyz/matter).
After downloading the pool source, you will need to install the `mp-pool` tool, which is the tool
-used for building MatterLinux pools. To do so please follow the steps [here](https://git.matterlinux.xyz/Matter/mp-pool#installation).
+used for building MatterLinux pools. To do so please you can simply install the [`mtsc`](https://git.matterlinux.xyz/matter/mtsc)
+package from the `base` pool.
Finally to build the pool:
```
$ mp-pool
```
-You will mostly likely want to disable package signing though, as you are probably not the
-owner of the pool:
+You will mostly likely want to disable package signing though, as you are probably don't have the
+PGP keys for the official pools:
```
$ mp-pool --no-sign
```
### Hosting pools
-Unlike most of the package managers, `mp` does not use HTTP, FTP or RSYNC to communicate with the pools. It has it's own
-custom protocol named [MPTP](/wiki/mptp). Pools are hosted over this protocol using [pooler](https://git.matterlinux.xyz/matter/pooler).
+Unlike most of the package managers, `matt` does not use HTTP, FTP or RSYNC to communicate with the pools. It has it's own
+custom protocol named [MPTP](/wiki/libmp). Pools are hosted over this protocol using [pooler](https://git.matterlinux.xyz/matter/pooler).
-To get host a pool using `pooler`, download and install the `pooler` by following the instructions on the [README](https://git.matterlinux.xyz/matter/pooler). It's also in the official pools so you can install it with `matt` as well.
+To host a pool using `pooler`, download and install the `pooler` by following the instructions on the [README](https://git.matterlinux.xyz/matter/pooler). It's also in the `server` pool so you can install it with `matt` as well.
After installing it, you'll need to create/edit the configuration file (`/etc/pooler/config.ini`).
Here is an example configuration file:
```
-# location for the pooler log file
-log = /var/log/pooler.log
-
# address to host the MPTP server on
addr = 0.0.0.0:5858
# pool name
[my-pool]
+
# pool directory
dir = /srv/my-pool
@@ -141,7 +169,7 @@ After editing this configuration for your needs, you can run pooler with the con
$ pooler /etc/pooler/config.ini
```
After running this command, pooler should start hosting your pool over MPTP on port 5858. If you experience
-any issues, you should check the log file for any errors.
+any issues, you should check the error logs.
### Creating a new pool
If you want to create an unofficial pool, setup the directory structure for the source pool as
diff --git a/wiki/pkg/confer.json b/wiki/tools/confer.json
similarity index 100%
rename from wiki/pkg/confer.json
rename to wiki/tools/confer.json
diff --git a/wiki/pkg/confer.md b/wiki/tools/confer.md
similarity index 90%
rename from wiki/pkg/confer.md
rename to wiki/tools/confer.md
index 9e62a6b..5a54c66 100644
--- a/wiki/pkg/confer.md
+++ b/wiki/tools/confer.md
@@ -2,13 +2,13 @@ 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 "dot files".
+known as "dotfiles".
### Installation
-`confer` can be installed with `matt` (MatterLinux package manager), it's located in the desktop
-pool:
+`confer` can be installed with the [package manager](/wiki/matt), it's located in the [`desktop
+pool](/wiki/pools):
```
-# matt install --yes mc
+# matt install --yes confer
```
In order to run `confer` as a non-root user, you will need to [install and configure `doas` or `sudo`](/wiki/post_install).
@@ -54,7 +54,7 @@ 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/repo
+$ 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.
@@ -79,4 +79,5 @@ After the installation `confer` will install all the requirements using `matt`,
### 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 or a pull request in the [website content repository](https://git.matterlinux.xyz/Matter/content/issues).
+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](https://git.matterlinux.xyz/Matter/content/issues).
diff --git a/wiki/pkg/libmp.json b/wiki/tools/libmp.json
similarity index 100%
rename from wiki/pkg/libmp.json
rename to wiki/tools/libmp.json
diff --git a/wiki/pkg/libmp.md b/wiki/tools/libmp.md
similarity index 100%
rename from wiki/pkg/libmp.md
rename to wiki/tools/libmp.md
diff --git a/wiki/pkg/matt.json b/wiki/tools/matt.json
similarity index 100%
rename from wiki/pkg/matt.json
rename to wiki/tools/matt.json
diff --git a/wiki/pkg/matt.md b/wiki/tools/matt.md
similarity index 90%
rename from wiki/pkg/matt.md
rename to wiki/tools/matt.md
index ae76418..31182a5 100644
--- a/wiki/pkg/matt.md
+++ b/wiki/tools/matt.md
@@ -3,7 +3,7 @@ On GNU/Linux systems, package management is usually done with a package manager.
# MatterLinux Package Manager
In a Matter system, package management is generally done with the MatterLinux Package Manager (`matt`).
-`matt` lets you install, remove, update and search different MatterLinux packages across different pools.
+`matt` lets you install, remove, update and search different MatterLinux packages across different [pools](/wiki/pools).
### Installation
`matt` should be already installed on a MatterLinux system. However if you want to install `matt` from
@@ -137,9 +137,7 @@ You can list all the installed packages with the `list` command:
# Other package managers
It's a really bad idea to use multiple package managers as they may conflict and may result in an
-unstable system. However package managers such as flatpak and snap offer containerized packages,
-making them possible to use with other package managers.
-
-- Flatpak will be added to `desktop` pool in the future. Currently the only way to use flatpak is to
-install it from the source.
-- Snap will never be added to any official pool, so only way to use it is to install it from the source.
+unstable system. However package managers such as `flatpak` and `snap` offer containerized packages,
+making them possible to use with other package managers. However currently none of these package
+managers are available in the official pools. If you want to use them, you will need to install them
+from the source.