From 88f882668f7f0efaa77cd387fe6b703f7d61cf11 Mon Sep 17 00:00:00 2001 From: ange Date: Sat, 25 May 2024 16:58:59 +0200 Subject: [PATCH] fix: array not exportable in bash --- config | 6 +-- install.sh | 2 + modules/base.sh | 3 +- modules/chroot/00-bootstrap.sh | 4 +- modules/chroot/40-flatpak.sh | 2 +- modules/desktop.sh | 68 +++++++++++++++++----------------- modules/dwm.sh | 18 ++++----- modules/prechroot/20-pkg.sh | 11 +++--- 8 files changed, 58 insertions(+), 56 deletions(-) diff --git a/config b/config index ab738a8..b4b72b5 100644 --- a/config +++ b/config @@ -18,10 +18,8 @@ shell=zsh hostname="$username-pc" tz=Europe/Paris -locales=( - en_US -) -lang="${locales[0]}" +locales=en_US # e.g. 'en_US,fr_FR' +lang=en_US pkg=( base-devel man-{db,pages} tldr diff --git a/install.sh b/install.sh index 827041d..1abe430 100755 --- a/install.sh +++ b/install.sh @@ -6,4 +6,6 @@ set -a . ./config set +a +printf '%s\n' "${pkg[@]}" > pkglist.txt + bash ./modules/"$install_type".sh diff --git a/modules/base.sh b/modules/base.sh index 817d715..3e77209 100644 --- a/modules/base.sh +++ b/modules/base.sh @@ -2,7 +2,8 @@ #shellcheck disable=SC2154 cp -r ./modules/chroot/ /mnt/ -for i in *.sh; do + +for i in ./modules/prechroot/*.sh; do bash -x "$i" done diff --git a/modules/chroot/00-bootstrap.sh b/modules/chroot/00-bootstrap.sh index c12b8ae..5a1bcab 100644 --- a/modules/chroot/00-bootstrap.sh +++ b/modules/chroot/00-bootstrap.sh @@ -4,9 +4,9 @@ ln -sf "/usr/share/zoneinfo/$tz" /etc/localtime hwclock --systohc -for l in "${locales[@]}"; do +while read -r l; do sed -i "/^#\s*$l.UTF-8/s/^#\s*//" /etc/locale.gen -done +done < <(sed 's/,/\n/g' "$locales") locale-gen echo "LANG=$lang.UTF-8" > /etc/locale.conf diff --git a/modules/chroot/40-flatpak.sh b/modules/chroot/40-flatpak.sh index f389db4..f3f6a96 100644 --- a/modules/chroot/40-flatpak.sh +++ b/modules/chroot/40-flatpak.sh @@ -1,4 +1,4 @@ #!/bin/bash #shellcheck disable=SC2154 -[ -n "$flatpak" ] && flatpak install -y "${flatpak[@]}" +[ -s flatpak.txt ] && xargs flatpak install -y < flatpak.txt diff --git a/modules/desktop.sh b/modules/desktop.sh index 89a6d53..792a067 100644 --- a/modules/desktop.sh +++ b/modules/desktop.sh @@ -1,43 +1,43 @@ #!/bin/bash #shellcheck disable=SC2154 -pkg+=( - aerc w3m - bluez{,-utils} - dunst libnotify - feh - gammastep - graphicsmagick ghostscript - gvfs{,-gphoto2,-mtp} - materia-gtk-theme papirus-icon-theme - monero - mpv - #newsraft - noto-fonts{,-cjk,-emoji} ttf-{dejavu,liberation} otf-font-awesome - pass{,-otp} gcr - pcmanfm-gtk3 - pipewire{,-pulse,-jack} pavucontrol playerctl - polkit-gnome - qemu-{base,audio-pipewire,hw-usb-host,hw-display-virtio-{gpu,vga},ui-gtk} dnsmasq - xdg-user-dirs - yt-dlp - zathura{,-pdf-poppler} - zenity -) +#newsraft +printf '%s\n' \ + aerc w3m \ + bluez{,-utils} \ + dunst libnotify \ + feh \ + gammastep \ + graphicsmagick ghostscript \ + gvfs{,-gphoto2,-mtp} \ + materia-gtk-theme papirus-icon-theme \ + monero \ + mpv \ + noto-fonts{,-cjk,-emoji} ttf-{dejavu,liberation} otf-font-awesome \ + pass{,-otp} gcr \ + pcmanfm-gtk3 \ + pipewire{,-pulse,-jack} pavucontrol playerctl \ + polkit-gnome \ + qemu-{base,audio-pipewire,hw-usb-host,hw-display-virtio-{gpu,vga},ui-gtk} dnsmasq \ + xdg-user-dirs \ + yt-dlp \ + zathura{,-pdf-poppler} \ + zenity \ + >> pkglist.txt -flatpakpkg+=( - com.valvesoftware.Steam org.freedesktop.Platform.VulkanLayer.gamescope - net.lutris.Lutris - org.gimp.GIMP - org.gtk.Gtk3theme.Materia-dark - org.mozilla.firefox -) +printf '%s\n' \ + com.valvesoftware.Steam org.freedesktop.Platform.VulkanLayer.gamescope \ + net.lutris.Lutris \ + org.gimp.GIMP \ + org.gtk.Gtk3theme.Materia-dark \ + org.mozilla.firefox \ + >> flatpak.txt case "$(lspci | grep 'VGA\|3D')" in - *AMD*) pkg+=(vulkan-radeon) ;; - *Intel*) pkg+=(vulkan-intel) ;; - *NVIDIA*) pkg+=(vulkan-nouveau) ;; - *) ;; + *AMD*) echo vulkan-radeon >> pkglist.txt ;; + *Intel*) echo vulkan-intel >> pkglist.txt ;; + *NVIDIA*) echo vulkan-nouveau >> pkglist.txt ;; + *) ;; esac find ./modules/ -name '*.sh.desktop' -exec rename '.desktop' '' '{}' + diff --git a/modules/dwm.sh b/modules/dwm.sh index 6934320..976fdad 100644 --- a/modules/dwm.sh +++ b/modules/dwm.sh @@ -1,22 +1,22 @@ #!/bin/bash #shellcheck disable=SC2154 -pkg+=( - autorandr - i3lock xss-lock - picom - xorg-{server,xinit,xrandr,xsetroot} xclip xdotool -) +printf '%s\n' \ + autorandr \ + i3lock xss-lock \ + picom \ + xorg-{server,xinit,xrandr,xsetroot} xclip xdotool \ + >> pkglist.txt case "$(lsmod)" in - *amdgpu*) pkg+=(xf86-video-amdgpu) ;; + *amdgpu*) echo xf86-video-amdgpu >> pkglist.txt ;; *i915*) # https://wiki.archlinux.org/title/Intel_graphics#Installation - #pkg+=(xf86-video-intel) + #echo xf86-video-intel >> pkglist.txt ;; *nouveau*) # https://bugs.freedesktop.org/show_bug.cgi?id=94844#c3 - #pkg+=(xf86-video-nouveau) + #echo xf86-video-nouveau >> pkglist.txt ;; *) ;; diff --git a/modules/prechroot/20-pkg.sh b/modules/prechroot/20-pkg.sh index 7b38356..c1cb733 100644 --- a/modules/prechroot/20-pkg.sh +++ b/modules/prechroot/20-pkg.sh @@ -2,16 +2,17 @@ #shellcheck disable=SC2154 case "$(lscpu)" in - *AMD*) pkg+=(amd-ucode) ;; - *Intel*) pkg+=(intel-ucode) ;; + *AMD*) echo amd-ucode >> pkglist.txt ;; + *Intel*) echo intel-ucode >> pkglist.txt ;; *) ;; esac -[ -n "$flatpak" ] && pkg+=(flatpak xdg-desktop-portal-gtk) +[ -s "$flatpakpkg" ] \ + && printf '%s\n' flatpak xdg-desktop-portal-gtk >> pkglist.txt -[ -f /sys/class/power_supply/BAT0 ] && pkg+=(tlp) +[ -f /sys/class/power_supply/BAT0 ] && echo tlp >> pkglist.txt pacstrap -C rootfs/etc/pacman.conf -K /mnt/ \ - base linux{,-lts,-firmware} "$shell" "${pkg[@]}" + base linux{,-lts,-firmware} "$shell" - < pkglist.txt find /mnt/etc -name '*.pacnew' -delete