Скрипт для сборки в модуль из исходников тайлингового оконного менеджера bspwm, бара polybar и меню запуска программ rofi. Дополнительно из репозитория устанавливаются i3 и feh.
Размер модуля 13 мб при сжатии в lz4 -Xhc.
#!/bin/bash -e
# Author: ilfat <http://forum.magos-linux.ru>
export LANG=ru_RU.UTF-8
mkdir /work && cd /work
urpmi --auto --no-suggests \
feh \
fonts-ttf-unifont \
i3-wm \
lib64asound2 \
lib64cairo2 \
lib64curl4 \
lib64glib2.0_0 \
lib64gmodule2.0_0 \
lib64iw29 \
lib64jsoncpp19 \
lib64mpdclient2 \
lib64nl-genl3_200 \
lib64pango1.0_0 \
lib64pangocairo1.0_0 \
lib64pulseaudio0 \
lib64rsvg2_2 \
lib64startup-notification-1_0 \
lib64xcb1 \
lib64xcb-ewmh2 \
lib64xcb-randr0 \
lib64xcb-util1 \
lib64xcb-util-image0 \
lib64xcb-util-keysyms1 \
lib64xcb-xinerama0 \
lib64xcb-xkb1 \
lib64xcb-xrm0 \
lib64xcb-xtest0 \
lib64xdg-basedir1 \
lib64xkbcommon0 \
lib64xkbcommon-x11_0
urpmi.recover --checkpoint
CHECKPOINT_TIME=$(date "+%F %T")
urpmi --auto --no-suggests \
bdftopcf \
bison \
cmake \
git \
lib64asound-devel \
lib64cairo-devel \
lib64curl-devel \
lib64iw-devel \
lib64jsoncpp-devel \
lib64mpdclient-devel \
lib64nl3-devel \
lib64pango1.0-devel \
lib64pangocairo1.0-devel \
lib64pulseaudio-devel \
lib64rsvg2-devel \
lib64startup-notification-1-devel \
lib64xcb-cursor-devel \
lib64xcb-devel \
lib64xcb-util-devel \
lib64xcb-util-image-devel \
lib64xcb-util-keysyms-devel \
lib64xcb-util-wm-devel \
lib64xcb-xrm-devel \
lib64xdg-basedir-devel \
lib64xkbcommon-devel \
lib64xkbcommon-x11-devel \
libtool \
x11-proto-devel
# bspwm, sxhkd, xdo, xtitle
git clone https://github.com/baskerville/bspwm.git
git clone https://github.com/baskerville/sxhkd.git
git clone https://github.com/baskerville/xdo.git
git clone https://github.com/baskerville/xtitle.git
cd bspwm && make && make install PREFIX=/usr
cd ../sxhkd && make && make install PREFIX=/usr
cd ../xdo && make && make install PREFIX=/usr
cd ../xtitle && make && make install PREFIX=/usr
cd ..
install -Dm755 /usr/share/doc/bspwm/examples/bspwmrc /etc/skel/.config/bspwm/bspwmrc
install -Dm644 /usr/share/doc/bspwm/examples/sxhkdrc /etc/skel/.config/sxhkd/sxhkdrc
# siji font for polybar
git clone https://github.com/stark/siji
cd siji
./install.sh -d /usr/share/fonts
cd ..
# polybar
git clone --recursive https://github.com/jaagr/polybar
mkdir -p polybar/build && cd polybar/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j$(nproc) && make install
cd /work
install -Dm644 /usr/share/doc/polybar/config /etc/skel/.config/polybar/config
# rofi
git clone https://github.com/DaveDavenport/rofi
cd rofi
git submodule update --init
autoreconf -i
mkdir build && cd build
../configure --disable-check --libdir=/usr/lib64 --prefix=/usr
make -j$(nproc) && make install
cd /
rm -rf /work
urpmi.recover --auto --rollback "$CHECKPOINT_TIME"
urpmi.recover --disable
rm -rf /etc/rpm/macros.d
rm -rf /var/tmp /var/cache/{urpmi,ldconfig} /etc/{urpmi,ld.so.cache,localtime,machine-id,resolv.conf} \
/var/lib/{rpm,urpmi,menu} /usr/share/applications/mimeinfo.cache /.wh* 2>/dev/null
find "/usr/share/icons" -type f -name icon-theme.cache 2>/dev/null | xargs rm -f
i3-bspwm.sh (3.3 КБ)