Skip to content

ItsNotPaths/Unrawk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unrawk

The unrawk distro overlay: opinionated Void Linux defaults + ISO build machinery + the metapackage definition.

Layout

defaults/        # files staged into unrawk-defaults.xbps
  sway/          # WM config + status.sh + launcher.sh
  bash/          # /etc/skel rc + profile (TTY1 sway autostart)
  profile.d/     # /etc/profile.d/unrawk.sh (env)
  xdg/Xrawk/     # default thrawk palette
  qutebrowser/   # /etc/skel/.config/qutebrowser/config.py (rawk-style binds)
  fonts/         # fontconfig + Hack + Symbols NF Mono (download-deps.sh populates)
  doas.conf
  release.sh     # --local stages tree; --public triggers GH Actions
  download-deps.sh  # fetches thrawk + fonts
meta/            # unrawk-base metapackage (Void deps only)
scripts/         # build_iso.sh (mklive wrapper)
iso/hooks/       # live-ISO overlay (mklive -I)

Build deps

On Void

System xbps-create / xbps-install / xbps-rindex are present. ISO build also needs:

xbps-install -Sy squashfs-tools xorriso \
                 qemu-system-amd64 qemu-firmware qemu-img

Skip the qemu meta — it pulls every cross-arch emulator. The three above are ~50MB total and cover the smoke test.

On Devuan

Run as a single line (the multi-line \-continued form is paste-fragile — terminals that collapse newlines turn \<space> into a literal escaped space and apt then sees package names with a leading space):

sudo apt install -y build-essential pkgconf git curl zlib1g-dev libssl-dev libarchive-dev squashfs-tools xorriso qemu-system-x86 ovmf libwayland-dev libxkbcommon-dev libfreetype-dev

On older Devuan (chimaera/daedalus) libfreetype-dev is transitional or absent — use libfreetype6-dev instead.

Nim (for the installer build) — Devuan's nim is usually too old; use choosenim:

curl https://nim-lang.org/choosenim/init.sh -sSf | sh
# add ~/.nimble/bin to PATH per choosenim's instructions

Clone the siblings via the bundled script, then build xbps:

cd unrawk
bash scripts/download-vendors.sh --void-tools   # clones xbps, void-mklive, unrawk-installer

cd ../xbps
./configure --enable-rpath --prefix=/usr --sysconfdir=/etc
make -j$(nproc)
sudo make install   # or: make DESTDIR=$PWD/build install ; export PATH=$PWD/build/usr/bin:$PATH

On Void, drop the --void-tools flag — system xbps/mklive are present; the script only clones unrawk-installer.

void-mklive ships Void's repo signing keys (keys/*.plist), so xbps trusts Void's repo on first contact — no key import needed.

Use

Run from any sibling repo's working tree (paths in build_iso.sh are relative to itself).

# One-time per workstation, after download-vendors.sh + xbps build:
cd ../unrawk-installer
bash download-deps.sh        # vendor wayluigi + rawk-luigi + freetype headers
bash release.sh --local      # produces ./unrawk_installer binary

cd ../unrawk/defaults
bash download-deps.sh        # vendor thrawk + Hack + Symbols NF Mono fonts

# ISO build (needs root for mklive's chroot mounts):
cd ../scripts
sudo bash build_iso.sh       # → ../dist/unrawk-YYYYMMDD.iso

# Smoke test:
qemu-system-x86_64 -enable-kvm -m 4G \
    -bios /usr/share/qemu/edk2-x86_64-code.fd \
    -cdrom ../dist/unrawk-*.iso

build_iso.sh orchestrates: defaults/release.sh --localmeta/build-meta.sh → wrap installer into .xbps → generate throwaway dev signing key → xbps-rindex --sign the local repo → invoke mklive with both Void's repo and ours. mklive does the big network download (Void base + sway + qutebrowser etc.) into a chroot.

About

Opinionated minimal void overlay. light applets covering most needs, modern fallback defaults.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors