update: small wiki fixes and minor tweaks

This commit is contained in:
ngn 2024-08-21 03:53:10 +03:00
parent 0ff4366363
commit 2269f448ed
34 changed files with 168 additions and 103 deletions

View File

@ -14,7 +14,7 @@ body:
id: extra id: extra
attributes: attributes:
label: Extra label: Extra
description: Any extra thing you want to say description: Anything you want to add
validations: validations:
required: false required: false
- type: checkboxes - type: checkboxes

View File

@ -21,7 +21,7 @@ body:
id: extra id: extra
attributes: attributes:
label: Extra label: Extra
description: Any extra thing you want to say description: Anything you want to add
validations: validations:
required: false required: false
- type: checkboxes - type: checkboxes

View File

@ -1,3 +1,3 @@
List of configuration packages (dotfiles) for MatterLinux. These simple configurations allow you to easily set up 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 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).

View File

@ -1,7 +1,7 @@
## Details ## Details
MatterLinux is a tiny, independent, [free/libre](https://www.gnu.org/philosophy/free-sw.html) and 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 [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 All source code for MatterLinux is licensed under GPLv3 and available on the
[MatterLinux Gitea](https://git.matterlinux.xyz/Matter). [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: here is a rough roadmap:
<ul> <ul>
<li><k class="blue">>>></k> Package system</li> <li><k class="green">>>></k> Package system</li>
<li><k class="green">>>></k> Website</li> <li><k class="green">>>></k> Website</li>
<li><k class="blue">>>></k> Official repos (<code>base</code> and <code>desktop</code>)</li> <li><k class="blue">>>></k> Official pools (<code>base</code> and <code>desktop</code>)</li>
<li><k class="green">>>></k> Wiki/documentation</li> <li><k class="green">>>></k> Wiki/documentation</li>
<li><k class="green">>>></k> First release</li> <li><k class="green">>>></k> First release</li>
<li><k class="green">>>></k> Expanding <code>desktop</code> repo (100 packages)</li> <li><k class="blue">>>></k> Server pool</li>
<li><k class="green">>>></k> Expanding <code>desktop</code> repo (300 packages)</li> <li><k class="green">>>></k> Expanding <code>desktop</code> pool (100 packages)</li>
<li><k class="green">>>></k> Expanding <code>desktop</code> pool (300 packages)</li>
<li><k class="blue">>>></k> Expanding the wiki</li> <li><k class="blue">>>></k> Expanding the wiki</li>
<li><k class="blue">>>></k> Expanding <code>desktop</code> repo (500 packages)</li> <li><k class="blue">>>></k> Expanding <code>desktop</code> pool (500 packages)</li>
<li><k class="red">>>></k> TUI/GUI installer</li> <li><k class="red">>>></k> TUI/GUI installer</li>
</ul> </ul>

View File

@ -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 > 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). > and may contain misinformation or missing links, [please see this post](/news/important_update).
## Installation ## Installation
| Name | Description | | 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 | | [Installation](/wiki/install) | Learn how to install a base MatterLinux system |
| [Post-installation](/wiki/post_install) | Make your system (somewhat) usable | | [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 ## Packaging
| Name | Description | | Name | Description |
| --------------------------------------------- | ------------------------------------------------------------------------------ | | --------------------------------------------- | ------------------------------------------------------------------------------ |
| [Releases](/wiki/releases) | Learn about MatterLinux release cycle |
| [Packages](/wiki/packages) | Learn about MatterLinux packages | | [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 | | [Pools](/wiki/pools) | Learn about MatterLinux package pools |
| [Mirrors](/wiki/mirrors) | Discover pool mirros and learn how you can setup your own | | [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 | | [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`) | ## Contribute
| [Working with libmp](/wiki/libmp) | Learn how to use the MatterLinux package library (`libmp`) | | [Chat](/wiki/chat) | Learn how you can contact developers and contributers |
| [Understanding MPTP](/wiki/mptp) | Learn about MatterLinux package transfer protocol (MPTP) | | [Contributing](/wiki/contribute) | Learn how you can contribute to MatterLinux |
| [Working with confer](/wiki/confer) | Learn how to manage your configs MatterLinux configuration manager (`confer`) | | [Bugs](/wiki/bugs) | Learn how you can report bugs/issues |
## Other ## Other
| Name | Description | | Name | Description |
| -------------------------------- | ------------------------------------------------------- | | -------------------------------- | ------------------------------------------------------- |
| [Chat](/wiki/chat) | Learn how you can contact developers and contributers | | [Releases](/wiki/releases) | Learn about MatterLinux release cycle |
| [Contributing](/wiki/contribute) | Learn how you can contribute to MatterLinux |
| [Bugs](/wiki/bugs) | Learn how you can report bugs/issues |
| [Licensing](/wiki/licensing) | Licensing for the MatterLinux repositories and software | | [Licensing](/wiki/licensing) | Licensing for the MatterLinux repositories and software |

View File

@ -2,10 +2,10 @@
All of the MatterLinux software and the tools are available on All of the MatterLinux software and the tools are available on
[MatterLinux Git Server](https://git.matterlinux.xyz) and they are licensed under [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). [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 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 - Use MatterLinux software and tools
- Distribute copies of MatterLinux software and tools - Distribute copies of MatterLinux software and tools

View File

@ -7,13 +7,15 @@ then you get a new release. So its expected to have a release or once a month.
### Package updates ### Package updates
MatterLinux follows a slow rolling release cycle for all the packages. Packages update every 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, 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 repos. [next.matterlinux.xyz](https://next.matterlinux.xyz) before they get pushed into the main pools.
This way we can maintain a stable experience. This way we can maintain a stable experience.
### ISOs and release archives ### ISOs and release archives
- ISO: A bootable disk image With each release, project releases two new files, an **ISO** and a **Release Archive**:
- Release Archive: An archive used during the installation of a release
- **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 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. 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 ## Version numbering
MatterLinux and all it's projects are version numbered after the year. 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 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 Similarly 15th release of the MatterLinux package manager for the year 2024
is versioned "24.14". is versioned "*24.14*".
## Building releases ## Building releases
You can build an up-to-date ISO and a release archives using [MatterLinux tools](https://git.matterlinux.xyz/matter/tools). You can build an up-to-date ISO and a release archives using [`mtsc`](https://git.matterlinux.xyz/matter/mtsc).
These tools also can be installed with the `tools` package. `mtsc` can be found the in the [`base` pool](/wiki/pools), and can be installed using
the [package manager](/wiki/matt).
> **Important** > **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). 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. 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 To build the ISO with the release archive that we created on the previous example, using the configuration
located at `./iso`: directory located at `./iso`:
``` ```
# matter-iso matterlinux_example-build.tar.gz iso # matter-iso matterlinux_example-build.tar.gz iso
``` ```

View File

@ -11,34 +11,42 @@ MatterLinux package for the official pools.
## Getting started ## Getting started
If you want to add your package to the official pools, then please If you want to add your package to the official pools, then please
check the [official pool guidelines](/wiki/pool_guides). Make sure 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. 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). 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 ## Selecting a pool
If you want to add a new package to the official pools, you should 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 first choose the pool you want to add the package to. You should check
packaging a software that is fundamental to the OS, such as a kernel, the [list of official pools](/wiki/pools), and figure out which pool
or a C library, you should add your package to the `base` pool. your package belongs to.
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.
## Fork the pool ## Fork the pool
After selecting the pool, fork it on Gitea and clone it to MatterLinux After selecting the pool, fork it on Gitea and clone it to MatterLinux
system: system:
``` ```
$ git clone <git repo url> $ git clone <git repository url>
```
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 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 ## Create the package template
Change directory into the `src` folder of the pool you cloned, and use the `mp-new` 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 ## 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: This script is called the **package script**. Open this script with the configured editor:
``` ```
# general info # general info
@ -191,7 +199,7 @@ HASHES=("7938dbd50e3826c11f4735a742b278d3")
# install and build depends # install and build depends
DEPENDS=("vte") DEPENDS=("vte")
BUILD=() BUILD=("intltool")
PACKAGE() { PACKAGE() {
tar xf "${NAME}-${VERSION}.tar.xz" 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 - Prevent using `&&` unless it's absolutely necessary, it usually ends up messing the error checking
- Split unrelated instructions with a newline - 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 ## Building the package
To build the newly created package, run the following in the `src` directory: To build the newly created package, run the following in the `src` directory:
``` ```
$ mp-build --no-sign <package name> $ mp-build --no-sign lxterminal
``` ```
This will install all the required dependencies, and only build the specified package. This will install all the required dependencies, and only build the specified package.
## Testing the package ## Testing the package
When the package is built, check out the newly created root directory inside the package directory When build is completed, you will have a new `.mpf` package archive in the `dist` directory
to make sure that everything is placed where it should be: of the package directory. You can check this archive for any potential issues using `mp-check`
again:
``` ```
$ tree <pacakge_name>/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, 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 <message>` to commit them. For the and use `git add .` to stage all the changes. Then use `git commit -m <message>` command to commit them. For the
commit message, follow the guidelines on the [contribution page](/wiki/contribute). For our example, the following commit message, follow the guidelines on the [contribution page](/wiki/contribute). For our example, the following
message should be fine: 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 ## Creating a pull request
Back on the Gitea, create a pull request to the official repository. Provide information about 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. 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.

View File

@ -1,6 +0,0 @@
{
"id": "mptp",
"title": "Working with mptp",
"author": "ngn",
"date": "14/08/24"
}

View File

@ -1 +0,0 @@
This page is currently under development.

View File

@ -6,14 +6,14 @@ configuration file (`/etc/matt/config.ini`).
### Creating a mirror ### Creating a mirror
To create a mirror you can use the [`mirp` tool](https://git.matterlinux.xyz/matter/mirp). 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 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: to `base_mirror` directory:
``` ```
$ mkdir base_mirror $ 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). To serve the mirror, you can setup [`pooler`](https://git.matterlinux.xyz/matter/pooler).
@ -39,10 +39,10 @@ that you can use. To add your mirror to this list get in contact with the mainta
### Official pools ### Official pools
| Pool | MPTP | HTTP(S) | Location | | Pool | MPTP | HTTP(S) | Location |
| -------------- | ---------------------------------------- | ----------------------------------------- | ----------- | | ---------------- | ---------------------------------------- | ----------------------------------------- | ----------- |
| base | `mptp://stable.matterlinux.xyz/base` | `https://stable.matterlinux.xyz/base` | 🇹🇷 Turkey | | base (stable) | `mptp://stable.matterlinux.xyz/base` | `https://stable.matterlinux.xyz/base` | 🇹🇷 Turkey |
| desktop | `mptp://stable.matterlinux.xyz/desktop` | `https://stable.matterlinux.xyz/desktop` | 🇹🇷 Turkey | | desktop (stable) | `mptp://stable.matterlinux.xyz/desktop` | `https://stable.matterlinux.xyz/desktop` | 🇹🇷 Turkey |
| server | `mptp://stable.matterlinux.xyz/server` | `https://stable.matterlinux.xyz/server` | 🇹🇷 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 | | 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 | | 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 | | server (next) | `mptp://next.matterlinux.xyz/server` | `https://next.matterlinux.xyz/server` | 🇹🇷 Turkey |

View File

@ -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 - **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, 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. 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, - **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 if the stability is related to the version of the software, we may package a different/patched
version of the software. version of the software.
- **Packaged software should be secure**: Outdated software that has critical vulnerabilities - **Packaged software should be secure**: Outdated software that has critical vulnerabilities
will not be packaged. will not be packaged.
- **Packaged software should be (somewhat) popular**: No, we are not gonna package some random window - **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. 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 - 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.) - 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 - 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)

View File

@ -1,5 +1,34 @@
On this page, you will find information about MatterLinux package pools. 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 # Structure
A pool contains: 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 ### Building an already existing pool
To build an already existing pool, such as the `base` or the `desktop` pool, first you will need to 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 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: Finally to build the pool:
``` ```
$ mp-pool <pool dir> $ mp-pool <pool dir>
``` ```
You will mostly likely want to disable package signing though, as you are probably not the You will mostly likely want to disable package signing though, as you are probably don't have the
owner of the pool: PGP keys for the official pools:
``` ```
$ mp-pool --no-sign <pool dir> $ mp-pool --no-sign <pool dir>
``` ```
### Hosting pools ### 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 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/mptp). Pools are hosted over this protocol using [pooler](https://git.matterlinux.xyz/matter/pooler). 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`). After installing it, you'll need to create/edit the configuration file (`/etc/pooler/config.ini`).
Here is an example configuration file: Here is an example configuration file:
``` ```
# location for the pooler log file
log = /var/log/pooler.log
# address to host the MPTP server on # address to host the MPTP server on
addr = 0.0.0.0:5858 addr = 0.0.0.0:5858
# pool name # pool name
[my-pool] [my-pool]
# pool directory # pool directory
dir = /srv/my-pool 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 $ pooler /etc/pooler/config.ini
``` ```
After running this command, pooler should start hosting your pool over MPTP on port 5858. If you experience 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 ### Creating a new pool
If you want to create an unofficial pool, setup the directory structure for the source pool as If you want to create an unofficial pool, setup the directory structure for the source pool as

View File

@ -2,13 +2,13 @@ On this page you will learn how you can use MatterLinux configuration manager.
# MatterLinux configuration manager # MatterLinux configuration manager
`confer` is a simple program that allows you to easily install and package your configurations, also `confer` is a simple program that allows you to easily install and package your configurations, also
known as "dot files". known as "dotfiles".
### Installation ### Installation
`confer` can be installed with `matt` (MatterLinux package manager), it's located in the desktop `confer` can be installed with the [package manager](/wiki/matt), it's located in the [`desktop
pool: 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). 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 After adding all the targets, run the `gen` command, specifying the local path to the git repository
that contain the `confer.ini` file: 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 `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. `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 ### Config Hub
MatterLinux offers a simple [configuration hub](/hub), that you can use to find official configuration packages. 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).

View File

@ -3,7 +3,7 @@ On GNU/Linux systems, package management is usually done with a package manager.
# MatterLinux Package Manager # MatterLinux Package Manager
In a Matter system, package management is generally done with the MatterLinux Package Manager (`matt`). 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 ### Installation
`matt` should be already installed on a MatterLinux system. However if you want to install `matt` from `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 # Other package managers
It's a really bad idea to use multiple package managers as they may conflict and may result in an 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, unstable system. However package managers such as `flatpak` and `snap` offer containerized packages,
making them possible to use with other package managers. 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
- Flatpak will be added to `desktop` pool in the future. Currently the only way to use flatpak is to from the source.
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.