From 6de966506399583a0caa72871af4ae929a3710a1 Mon Sep 17 00:00:00 2001 From: Basti Lathe Date: Thu, 25 May 2023 05:29:38 +0200 Subject: [PATCH] add lxqt preset, add woodpecker pipe, up readme --- .woodpecker.yml | 67 +++++++++++++++ README.md | 85 +++++++++++++++++-- presets/lxqt-kwin-fhdk.toml | 13 +++ presets/lxqt-kwin-fhdk/01-xorg.toml | 1 + presets/lxqt-kwin-fhdk/02-user.toml | 1 + presets/lxqt-kwin-fhdk/03-lxqt-kwin-fhdk.toml | 1 + presets/lxqt-kwin-fhdk/06-pamac.toml | 1 + 7 files changed, 160 insertions(+), 9 deletions(-) create mode 100644 .woodpecker.yml create mode 100644 presets/lxqt-kwin-fhdk.toml create mode 120000 presets/lxqt-kwin-fhdk/01-xorg.toml create mode 120000 presets/lxqt-kwin-fhdk/02-user.toml create mode 120000 presets/lxqt-kwin-fhdk/03-lxqt-kwin-fhdk.toml create mode 120000 presets/lxqt-kwin-fhdk/06-pamac.toml diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..43f98cf --- /dev/null +++ b/.woodpecker.yml @@ -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 \ No newline at end of file diff --git a/README.md b/README.md index 392d89a..2ca8eea 100644 --- a/README.md +++ b/README.md @@ -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) \ No newline at end of file diff --git a/presets/lxqt-kwin-fhdk.toml b/presets/lxqt-kwin-fhdk.toml new file mode 100644 index 0000000..c48ba57 --- /dev/null +++ b/presets/lxqt-kwin-fhdk.toml @@ -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/ +""" + diff --git a/presets/lxqt-kwin-fhdk/01-xorg.toml b/presets/lxqt-kwin-fhdk/01-xorg.toml new file mode 120000 index 0000000..5949eb4 --- /dev/null +++ b/presets/lxqt-kwin-fhdk/01-xorg.toml @@ -0,0 +1 @@ +../xorg.toml \ No newline at end of file diff --git a/presets/lxqt-kwin-fhdk/02-user.toml b/presets/lxqt-kwin-fhdk/02-user.toml new file mode 120000 index 0000000..b54cb1e --- /dev/null +++ b/presets/lxqt-kwin-fhdk/02-user.toml @@ -0,0 +1 @@ +../user.toml \ No newline at end of file diff --git a/presets/lxqt-kwin-fhdk/03-lxqt-kwin-fhdk.toml b/presets/lxqt-kwin-fhdk/03-lxqt-kwin-fhdk.toml new file mode 120000 index 0000000..f76e77f --- /dev/null +++ b/presets/lxqt-kwin-fhdk/03-lxqt-kwin-fhdk.toml @@ -0,0 +1 @@ +../lxqt-kwin-fhdk.toml \ No newline at end of file diff --git a/presets/lxqt-kwin-fhdk/06-pamac.toml b/presets/lxqt-kwin-fhdk/06-pamac.toml new file mode 120000 index 0000000..5580141 --- /dev/null +++ b/presets/lxqt-kwin-fhdk/06-pamac.toml @@ -0,0 +1 @@ +../pamac.toml \ No newline at end of file