Skip to content

Installation

Alpine Linux#

IXpect can be installed using the APK packages provided in our Codeberg package repository. IXpect can be installed from the repository following these steps:

# save the repository pubkey
wget -O /etc/apk/keys/ixpect@6669d09161682080a7e1305c4a35db20ac8d8d5a26f253299afbc5512d825654.rsa.pub https://codeberg.org/api/packages/ixpect/alpine/key

# get repository branch (edge, v3.22, v3.21, …)
branch="$(head -n 1 /etc/alpine-release | cut -d. -f1,2)"
test "$branch" != "edge" && branch="v$branch"

# add repository URL
echo "https://codeberg.org/api/packages/ixpect/alpine/$branch/stable" >> /etc/apk/repositories

# update repository and install ixpect
apk add -U ixpect

# edit command-line arguments and config file
vi /etc/conf.d/ixpect
vi /etc/ixpect/ixpect.conf.yaml

# enable and start ixpect service
rc-update add ixpect
rc-service ixpect start
# save the repository pubkey
wget -O /etc/apk/keys/ixpect@6669d09161682080a7e1305c4a35db20ac8d8d5a26f253299afbc5512d825654.rsa.pub https://codeberg.org/api/packages/ixpect/alpine/key

# get repository branch (edge, v3.22, v3.21, …)
branch="$(head -n 1 /etc/alpine-release | cut -d. -f1,2)"
test "$branch" != "edge" && branch="v$branch"

# add repository URL
echo "https://codeberg.org/api/packages/ixpect/alpine/$branch/unstable" >> /etc/apk/repositories

# update repository and install ixpect
apk add -U ixpect

# edit command-line arguments and config file
vi /etc/conf.d/ixpect
vi /etc/ixpect/ixpect.conf.yaml

# enable and start ixpect service
rc-update add ixpect
rc-service ixpect start

Command-line arguments can be configured be using environment variables in /etc/conf.d/ixpect. The configuration file and the templates directory are located in /etc/ixpect.

Debian GNU/Linux#

IXpect can be installed using the Debian packages provided in our Codeberg package repository. IXpect can be installed from the repository following these steps:

# save the repository OpenPGP key
wget -O /usr/share/keyrings/codeberg-ixpect.asc https://codeberg.org/api/packages/ixpect/debian/repository.key

# add sources list entry
echo "deb [signed-by=/usr/share/keyrings/codeberg-ixpect.asc] https://codeberg.org/api/packages/ixpect/debian linux stable" > /etc/apt/sources.list.d/ixpect.list

# update repository and install ixpect
apt update
apt install ixpect

# edit command-line arguments and config file
${EDITOR:-editor} /etc/default/ixpect
${EDITOR:-editor} /etc/ixpect/ixpect.conf.yam

# enable and start ixpect.service unit
systemctl enable --now ixpect.service
# save the repository OpenPGP key
wget -O /usr/share/keyrings/codeberg-ixpect.asc https://codeberg.org/api/packages/ixpect/debian/repository.key

# add sources list entry
echo "deb [signed-by=/usr/share/keyrings/codeberg-ixpect.asc] https://codeberg.org/api/packages/ixpect/debian linux unstable" > /etc/apt/sources.list.d/ixpect.list

# update repository and install ixpect
apt update
apt install ixpect

# edit command-line arguments and config file
${EDITOR:-editor} /etc/default/ixpect
${EDITOR:-editor} /etc/ixpect/ixpect.conf.yam

# enable and start ixpect.service unit
systemctl enable --now ixpect.service

Command-line arguments can be configured be using environment variables in /etc/default/ixpect. The configuration file and the templates directory are located in /etc/ixpect.

Nix#

IXpect can be installed as a nix module. See the full options reference for all available options.

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
    ifstate = {
      url = "git+https://codeberg.org/ixpect/ixpect/<version>";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { self, nixpkgs, ifstate, ... }: {
    nixosConfigurations = {
      hostname = nixpkgs.lib.nixosSystem {
        modules = [
          ifstate.nixosModules.default
        ];
      };
    };
  };
}