add lxqt preset, add woodpecker pipe, up readme
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline failed

This commit is contained in:
PurpleCow 2023-05-25 05:29:38 +02:00
parent 36136c34ef
commit 6de9665063
7 changed files with 160 additions and 9 deletions

67
.woodpecker.yml Normal file
View File

@ -0,0 +1,67 @@
pipeline:
build:
image: rust
commands:
- apt-get update
- apt-get install -y libdbus-1-dev --no-install-recommends
- cargo build
when:
event: push
test:
image: rust
commands:
- apt-get update
- apt-get install -y libdbus-1-dev --no-install-recommends
- cargo test
when:
event: push
build-release-x86_64:
image: rust
commands:
- dpkg --add-architecture amd64
- apt-get update
- apt-get install -y crossbuild-essential-amd64 libdbus-1-dev:amd64 --no-install-recommends
- rustup target add x86_64-unknown-linux-gnu
- PKG_CONFIG=x86_64-linux-gnu-pkg-config CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc cargo build --release --target x86_64-unknown-linux-gnu
- mv target/x86_64-unknown-linux-gnu/release/alma alma-x86_64
when:
event: tag
build-release-arm:
image: rust
commands:
- dpkg --add-architecture armel
- apt-get update
- apt-get install -y crossbuild-essential-armel libdbus-1-dev:armel --no-install-recommends
- rustup target add arm-unknown-linux-gnueabi
- PKG_CONFIG=arm-linux-gnueabi-pkg-config CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc cargo build --release --target arm-unknown-linux-gnueabi
- mv target/arm-unknown-linux-gnueabi/release/alma alma-arm
when:
event: tag
build-release-aarch64:
image: rust
commands:
- dpkg --add-architecture arm64
- apt-get update
- apt-get install -y crossbuild-essential-arm64 libdbus-1-dev:arm64 --no-install-recommends
- rustup target add aarch64-unknown-linux-gnu
- PKG_CONFIG=aarch64-linux-gnu-pkg-config CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc cargo build --release --target aarch64-unknown-linux-gnu
- mv target/aarch64-unknown-linux-gnu/release/alma alma-aarch64
when:
event: tag
publish:
image: plugins/gitea-release
settings:
api_key:
from_secret: release_token
base_url: https://git.spaeth.biz/
files:
- alma-x86_64
- alma-aarch64
- alma-arm
when:
event: tag

View File

@ -13,15 +13,51 @@ Upgrading your packages is as easy as running `pacman -Syu` (or [Topgrade](https
booted. This tool also provides an easy chroot command, so you can keep your live environment up to
date without having to boot it. Encrypting the root partition is as easy as providing the `-e` flag
---
###### Index
- [ALMA - Arch Linux Mobile Appliance](#alma---arch-linux-mobile-appliance)
- [Index](#index)
- [Installation](#installation)
- [Using Arch Linux derivatives](#using-arch-linux-derivatives)
- [Usage](#usage)
- [Image creation on removable device](#image-creation-on-removable-device)
- [Disk encryption](#disk-encryption)
- [chroot](#chroot)
- [Create raw image and boot in qemu](#create-raw-image-and-boot-in-qemu)
- [Presets](#presets)
- [Order of execution](#order-of-execution)
- [Troubleshooting](#troubleshooting)
- [mkinitcpio: /etc/mkinitcpio.d/linux.preset: No such file or directory](#mkinitcpio-etcmkinitcpiodlinuxpreset-no-such-file-or-directory)
- [Problem opening /dev/... for reading! Error is 123.](#problem-opening-dev-for-reading-error-is-123)
- [Similar projects](#similar-projects)
- [Useful Resources](#useful-resources)
---
## Installation
You can either build the project using cargo build or install the `alma` package from AUR.
You can either build the project using cargo build or install the `alma-aur` package.
Build with cargo from source:
``` shell
cd src
cargo build --release
```
Use makepkg with PKGBUILD and install package:
``` shell
git clone https://codeberg.org/PurpleCow4u/PKGBUILD.git
cd PKGBUILD/alma-aur
makepkg -si
```
### Using Arch Linux derivatives
Using Arch Linux derivatives, such as Manjaro, isn't supported it ALMA. It may work and may not. Please do not open bugs or feature
requests if you are not using the official Arch Linux.
- **current test with manjaro successful**
## Usage
### Image creation on removable device
@ -65,6 +101,12 @@ Creating a 10GiB raw image, with disk encryption:
sudo alma create -e --image 10GiB almatest.img
```
Creating a 10GiB raw image, with disk encryption, with user test (ALMA_USER), with preset xfce-manjaro:
``` shell
sudo ALMA_USER=test alma create -e --image 10GiB almatest.img --presets ./presets/xfce-manjaro
```
If you receive the following error:
```
Error setting up a loop device: losetup: cannot find an unused loop device
@ -118,13 +160,37 @@ If a directory is provided, then all files and subdirectories in the directory a
```
.
├── 00-add_user.toml
├── 01-xorg
│   ├── 00-install.toml
│   └── 01-config.toml
└── 02-i3
├── 00-install.toml
└── 01-copy_dotfiles.toml
├── aur_example.toml
├── copy_file_example
│   └── testfile.txt
├── copy_file.toml
├── kde.toml
├── lxqt-kwin-fhdk
│   ├── 01-xorg.toml -> ../xorg.toml
│   ├── 02-user.toml -> ../user.toml
│   ├── 03-lxqt-kwin-fhdk.toml -> ../lxqt-kwin-fhdk.toml
│   └── 06-pamac.toml -> ../pamac.toml
├── lxqt-kwin-fhdk.toml
├── pamac.toml
├── user.toml
├── xfce
│   ├── 01-xorg.toml -> ../xorg.toml
│   ├── 02-user.toml -> ../user.toml
│   └── 03-xfce.toml -> ../xfce.toml
├── xfce-branding
│   └── lightdm-gtk-greeter.conf
├── xfce-branding.toml
├── xfce-goodies.toml
├── xfce-manjaro
│   ├── 01-xorg.toml -> ../xorg.toml
│   ├── 02-user.toml -> ../user.toml
│   ├── 03-xfce.toml -> ../xfce.toml
│   ├── 04-xfce-goodies.toml -> ../xfce-goodies.toml
│   ├── 05-xfce-branding.toml -> ../xfce-branding.toml
│   ├── 06-pamac.toml -> ../pamac.toml
│   └── xfce-branding -> ../xfce-branding
├── xfce.toml
└── xorg.toml
```
Example preset TOML:
@ -182,4 +248,5 @@ again.
## Useful Resources
* [Arch Wiki: Installing Arch Linux on a USB key](https://wiki.archlinux.org/index.php/Install_Arch_Linux_on_a_USB_key)
* [ValleyCat's Arch Linux USB guide](http://valleycat.org/linux/arch-usb.html?i=1)
* [Github - philmmanjaro/alma](https://github.com/philmmanjaro/alma)
* [Github - r-darwish/alma](https://github.com/r-darwish/alma)

View File

@ -0,0 +1,13 @@
packages = ["feathernotes", "featherpad", "firefox", "gparted", "gvfs", "udiskie", "udisks2", "konsole", "bash-completion", "dmidecode", "htop", "mc", "micro", "numlockx", "powertop", "xclip", "xsel", "firewalld", "network-manager-applet", "networkmanager-openvpn", "networkmanager-qt", "openssh", "plank", "freetype2", "noto-fonts", "ttf-dejavu", "ttf-hack", "kvantum", "breeze", "breeze-gtk", "breeze-icons", "adwaita-icon-theme", "gnome-icon-theme-extras", "gnome-themes-extra", "hicolor-icon-theme", "oxygen-icons", "oxygen-icons-svg", "xdg-desktop-portal-lxqt", "sddm", "kwin", "systemsettings", "lximage-qt", "lxqt-about", "lxqt-admin", "lxqt-archiver", "lxqt-config", "lxqt-globalkeys", "lxqt-notificationd", "lxqt-openssh-askpass", "lxqt-panel", "lxqt-policykit", "lxqt-powermanagement", "lxqt-qtplugin", "lxqt-runner", "lxqt-session", "lxqt-sudo", "pcmanfm-qt", "alsa-utils", "alsa-firmware", "pavucontrol-qt", "pipewire-alsa", "pipewire", "pipewire-v4l2", "pipewire-zeroconf", "sof-firmware", "accountsservice", "gnome-keyring", "perl-file-mimeinfo", "polkit", "python-pyxdg", "squashfs-tools", "xdg-user-dirs", "xdg-user-dirs-gtk", "xdg-utils", "zlib", "acpilight", "xorg-server", "xorg-server-common", "xorg-server-xephyr", "xorg-twm", "xorg-xinit", "xorg-xinput", "xorg-xkill", "xorg-xprop", "xsettingsd", "xsettings-client", "xscreensaver", "xf86-input-evdev","xf86-input-libinput", "xf86-video-fbdev", "xf86-video-dummy", "qterminal"]
script = """
set -exu
systemctl enable NetworkManager
systemctl enable sddm
systemctl enable firewalld
git clone https://github.com/fhdk/lxqt-kwin.git
cp -r lxqt-kwin/etc/. /etc/
cp -r lxqt-kwin/usr/. /usr/
cp -r lxqt-kwin/root/. /root/
"""

View File

@ -0,0 +1 @@
../xorg.toml

View File

@ -0,0 +1 @@
../user.toml

View File

@ -0,0 +1 @@
../lxqt-kwin-fhdk.toml

View File

@ -0,0 +1 @@
../pamac.toml