barzvoid/Makefile

106 lines
2.5 KiB
Makefile

include config.mk
define vinstall
export XBPS_ARCH=$(VOID_ARCH) && xbps-install -Suy -R $(VOID_REPO) -r $(MNTDIR) $(1)
endef
mnt-drive:
mount $(DRIVE) $(MNTDIR)
mnt-system:
mkdir -p $(MNTDIR)/dev
mkdir -p $(MNTDIR)/proc
mkdir -p $(MNTDIR)/sys
mkdir -p $(MNTDIR)/run
mount --rbind /dev $(MNTDIR)/dev
mount --rbind /proc $(MNTDIR)/proc
mount --rbind /sys $(MNTDIR)/sys
mount --rbind /run $(MNTDIR)/run
mount --make-rslave $(MNTDIR)/dev
mount --make-rslave $(MNTDIR)/proc
mount --make-rslave $(MNTDIR)/sys
mount --make-rslave $(MNTDIR)/run
umnt:
umount -R $(MNTDIR)
base:
$(call vinstall,base-system)
set-loc:
echo $(BVCLOC) >> $(MNTDIR)/etc/default/libc-locales
chroot $(MNTDIR) xbps-reconfigure -f glibc-locales
set-term:
$(call vinstall,st-terminfo)
set-root:
chroot $(MNTDIR) chown root:root /
chroot $(MNTDIR) chmod 755 /
chroot $(MNTDIR) passwd root
set-resolv:
cp files/resolv.conf.head $(MNTDIR)/etc/resolv.conf.head
cp files/resolv.conf.head $(MNTDIR)/etc/resolv.conf
set-fstab:
cp files/fstab $(MNTDIR)/etc/fstab
echo "$(shell file -s $(DRIVE)|tr ' ' '\n'|grep UUID) / ext4 rw,noatime,discard 0 1" >> $(MNTDIR)/etc/fstab
grub:
$(call vinstall,grub)
mkdir $(MNTDIR)/boot/grub
chroot $(MNTDIR) grub-mkconfig -o /boot/grub/grub.cfg
chroot $(MNTDIR) grub-install $(BOOTLDR)
wifi:
$(call vinstall,NetworkManager,elogind)
xorg:
$(call vinstall,xorg)
audio:
$(call vinstall,alsa-utils)
$(call vinstall,pulseaudio)
$(call vinstall,apulse)
$(call vinstall,alsa-plugins-pulseaudio)
metal: mnt-drive mnt-system base set-loc set-resolv set-fstab set-root grub
python:
$(call vinstall,python3 python3-pip python3-pipenv)
tools:
$(call vinstall,base-devel git tcc wget vim-x11 tmux)
post-install: python tools
cp post-install.sh $(MNTDIR)/usr/local/bin/
chmod 755 $(MNTDIR)/usr/local/bin/post-install.sh
chroot $(MNTDIR) ln -s /usr/share/zoneinfo/$(TIMEZN) /etc/localtime
echo $(HSTNM) > $(MNTDIR)/etc/hostname
cp first-boot.sh $(MNTDIR)/usr/local/bin/first-boot.sh
chmod 755 $(MNTDIR)/usr/local/bin/first-boot.sh
run-post-install: post-install
chroot $(MNTDIR) /usr/local/bin/post-install.sh
nuser:
chroot $(MNTDIR) useradd $(NUSRNAME) -G wheel,audio,lp,scanner
chroot $(MNTDIR) passwd $(NUSRNAME)
chroot $(MNTDIR) dot-install $(NUSRNAME)
laptop: metal wifi xorg audio post-install nuser
archive:
tar -cvpjf void-fs.tar.bz2 \
--exclude=./dev/* \
--exclude=./proc/* \
--exclude=./sys/* \
--exclude=./tmp/* \
--exclude=./run/* \
-C $(MNTDIR) .
base-from-archive:
tar -xpf $(VOID_ARCHIVE) -C $(MNTDIR)