Bump
This commit is contained in:
parent
c1a10aefdc
commit
750ca64362
107
installer
107
installer
@ -90,7 +90,7 @@ typeset -a WM_PKGS=(
|
|||||||
"polkit-gnome"
|
"polkit-gnome"
|
||||||
"arandr"
|
"arandr"
|
||||||
"dunst"
|
"dunst"
|
||||||
"exo"
|
# "exo"
|
||||||
"feh"
|
"feh"
|
||||||
"nitrogen"
|
"nitrogen"
|
||||||
"picom"
|
"picom"
|
||||||
@ -166,14 +166,16 @@ declare -A WM_EXT=(
|
|||||||
[dk]='archlabs-skel-dk sxhkd archlabs-lemonbar'
|
[dk]='archlabs-skel-dk sxhkd archlabs-lemonbar'
|
||||||
[bspwm]='archlabs-skel-bspwm jgmenu tint2 sxhkd'
|
[bspwm]='archlabs-skel-bspwm jgmenu tint2 sxhkd'
|
||||||
[fluxbox]='archlabs-skel-fluxbox jgmenu lxmenu-data'
|
[fluxbox]='archlabs-skel-fluxbox jgmenu lxmenu-data'
|
||||||
[i3-gaps]='archlabs-skel-i3-gaps i3status perl-anyevent-i3'
|
[i3-wm]='archlabs-skel-i3 i3status perl-anyevent-i3'
|
||||||
[openbox]='archlabs-skel-openbox archlabs-kickshaw archlabs-pipemenus obconf jgmenu tint2 conky lxmenu-data'
|
[openbox]='archlabs-skel-openbox archlabs-kickshaw archlabs-pipemenus obconf jgmenu tint2 conky lxmenu-data'
|
||||||
|
[dwm]=''
|
||||||
) # }
|
) # }
|
||||||
|
|
||||||
# executable name for each wm/de used in ~/.xinitrc {
|
# executable name for each wm/de used in ~/.xinitrc {
|
||||||
declare -A SESSIONS=(
|
declare -A SESSIONS=(
|
||||||
[dk]='dk'
|
[dk]='dk'
|
||||||
[i3-gaps]='i3'
|
[dwm]='dwm'
|
||||||
|
[i3-wm]='i3'
|
||||||
[bspwm]='bspwm'
|
[bspwm]='bspwm'
|
||||||
[fluxbox]='startfluxbox'
|
[fluxbox]='startfluxbox'
|
||||||
[openbox]='openbox-session'
|
[openbox]='openbox-session'
|
||||||
@ -368,6 +370,7 @@ main()
|
|||||||
select_show()
|
select_show()
|
||||||
{
|
{
|
||||||
local pkgs="${USER_PKGS[*]} ${SES_PKGS[*]}" fmtpkgs='' pkg=''
|
local pkgs="${USER_PKGS[*]} ${SES_PKGS[*]}" fmtpkgs='' pkg=''
|
||||||
|
[[ $INSTALL_WMS == *dwm* ]] && pkgs="dwm st dmenu $pkgs"
|
||||||
pkgs="${pkgs// / }"
|
pkgs="${pkgs// / }"
|
||||||
pkgs="${pkgs# }"
|
pkgs="${pkgs# }"
|
||||||
|
|
||||||
@ -707,13 +710,17 @@ select_sessions()
|
|||||||
dlg INSTALL_WMS check "Sessions" "$_sessions\n" \
|
dlg INSTALL_WMS check "Sessions" "$_sessions\n" \
|
||||||
dk "A dynamic tiling window manager in the vein of dwm, bspwm, and xmonad" "$(ofn dk "$INSTALL_WMS")" \
|
dk "A dynamic tiling window manager in the vein of dwm, bspwm, and xmonad" "$(ofn dk "$INSTALL_WMS")" \
|
||||||
openbox "A lightweight, powerful, and highly configurable stacking wm" "$(ofn openbox "$INSTALL_WMS")" \
|
openbox "A lightweight, powerful, and highly configurable stacking wm" "$(ofn openbox "$INSTALL_WMS")" \
|
||||||
i3-gaps "A fork of i3 tiling window manager with more features including gaps" "$(ofn i3-gaps "$INSTALL_WMS")" \
|
i3-wm "The improved dynamic tiling window manager" "$(ofn i3-wm "$INSTALL_WMS")" \
|
||||||
|
dwm "A dynamic WM for X that manages windows in tiled, floating, or monocle layouts" "$(ofn dwm "$INSTALL_WMS")" \
|
||||||
bspwm "A tiling wm that represents windows as the leaves of a binary tree" "$(ofn bspwm "$INSTALL_WMS")" \
|
bspwm "A tiling wm that represents windows as the leaves of a binary tree" "$(ofn bspwm "$INSTALL_WMS")" \
|
||||||
fluxbox "A lightweight and highly-configurable window manager" "$(ofn fluxbox "$INSTALL_WMS")"
|
fluxbox "A lightweight and highly-configurable window manager" "$(ofn fluxbox "$INSTALL_WMS")"
|
||||||
|
|
||||||
[[ $INSTALL_WMS ]] || return 0
|
[[ $INSTALL_WMS ]] || return 0
|
||||||
|
|
||||||
for i in $INSTALL_WMS; do
|
if [[ $INSTALL_WMS =~ dwm ]]; then
|
||||||
|
msg "DWM Install" "\nThe following programs be installed with \`git clone .. && make install\` from /home/$NEWUSER/suckless\n\n\t- dwm\n\t- dmenu\n\t- st\n"
|
||||||
|
fi
|
||||||
|
for i in ${INSTALL_WMS/dwm/}; do
|
||||||
pkgs+=("$i")
|
pkgs+=("$i")
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -1320,7 +1327,7 @@ mount_boot()
|
|||||||
BOOT="$(awk 'NF > 0 {print $1}' <<< "$pts")"
|
BOOT="$(awk 'NF > 0 {print $1}' <<< "$pts")"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
dlg BOOT menu "EFI Partition" "$_uefi" $pts
|
dlg BOOT menu "EFI Boot Partition" "$_uefi" $pts
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
[[ $BOOT ]] || return 1
|
[[ $BOOT ]] || return 1
|
||||||
@ -1338,7 +1345,7 @@ mount_boot()
|
|||||||
BOOT="$(awk 'NF > 0 {print $1}' <<< "$pts")"
|
BOOT="$(awk 'NF > 0 {print $1}' <<< "$pts")"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
dlg BOOT menu "Boot Partition" "$_biosluks" $pts
|
dlg BOOT menu "Legacy Boot Partition" "$_biosluks" $pts
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
[[ $BOOT ]] || return 1
|
[[ $BOOT ]] || return 1
|
||||||
@ -1398,7 +1405,7 @@ mount_root()
|
|||||||
else
|
else
|
||||||
local txt="\nSelect the root (/) partition, this is where $DIST will be installed."
|
local txt="\nSelect the root (/) partition, this is where $DIST will be installed."
|
||||||
txt+="\n\nDevices smaller than 8G will not be shown here."
|
txt+="\n\nDevices smaller than 8G will not be shown here."
|
||||||
dlg ROOT menu "Mount Root" "$txt" $pts
|
dlg ROOT menu "Root Partition" "$txt" $pts
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -1777,6 +1784,29 @@ install_user()
|
|||||||
chrun "chpasswd <<< '$NEWUSER:$USER_PASS'" 2> "$ERR" 2>&1
|
chrun "chpasswd <<< '$NEWUSER:$USER_PASS'" 2> "$ERR" 2>&1
|
||||||
errshow 1 "chrun 'chpasswd <<< \"$NEWUSER:$USER_PASS\"'"
|
errshow 1 "chrun 'chpasswd <<< \"$NEWUSER:$USER_PASS\"'"
|
||||||
|
|
||||||
|
if [[ $INSTALL_WMS == *dwm* ]]; then
|
||||||
|
local dir="/home/$NEWUSER/suckless"
|
||||||
|
mkdir -pv "$dir"
|
||||||
|
for i in dwm dmenu st; do
|
||||||
|
if chrun "git clone 'https://git.suckless.org/$i' '$dir/$i'"; then
|
||||||
|
chrun "cd '$dir/$i' && make PREFIX=/usr install"
|
||||||
|
else
|
||||||
|
printf "failed to clone %s repo\n" "$i"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p "$MNT/usr/share/xsessions"
|
||||||
|
cat > "$MNT/usr/share/xsessions/dwm.desktop" <<- EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Name=Dwm
|
||||||
|
Comment=Dynamic Window Manager
|
||||||
|
Exec=dwm
|
||||||
|
TryExec=dwm
|
||||||
|
Type=Application
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
# upgrade existing home with new skeleton configs, making backups when needed
|
# upgrade existing home with new skeleton configs, making backups when needed
|
||||||
(( i )) && cp -rfaT -b --suffix='.bak' "$MNT/etc/skel/" "$MNT/home/$NEWUSER"
|
(( i )) && cp -rfaT -b --suffix='.bak' "$MNT/etc/skel/" "$MNT/home/$NEWUSER"
|
||||||
|
|
||||||
@ -1786,7 +1816,7 @@ install_user()
|
|||||||
# remove tint2 configs if bspwm and openbox aren't being installed
|
# remove tint2 configs if bspwm and openbox aren't being installed
|
||||||
[[ $INSTALL_WMS =~ (bspwm|openbox) ]] || rm -rf "$MNT/home/$NEWUSER/.config/tint2"
|
[[ $INSTALL_WMS =~ (bspwm|openbox) ]] || rm -rf "$MNT/home/$NEWUSER/.config/tint2"
|
||||||
|
|
||||||
# remove jgmenu configs if bspwm, fluxbox, and openbox aren't being installed
|
# remove jgmenu configs if bspwm, fluxbox, or openbox aren't being installed
|
||||||
[[ $INSTALL_WMS =~ (fluxbox|bspwm|openbox) ]] || rm -rf "$MNT/home/$NEWUSER/.config/jgmenu"
|
[[ $INSTALL_WMS =~ (fluxbox|bspwm|openbox) ]] || rm -rf "$MNT/home/$NEWUSER/.config/jgmenu"
|
||||||
|
|
||||||
# remove geany configs if it wasn't installed
|
# remove geany configs if it wasn't installed
|
||||||
@ -1928,6 +1958,8 @@ install_packages()
|
|||||||
[[ $NEWSHELL == 'zsh' ]] && inpkg+=('zsh-completions')
|
[[ $NEWSHELL == 'zsh' ]] && inpkg+=('zsh-completions')
|
||||||
[[ $NEWSHELL =~ (bash|zsh) ]] && inpkg+=('bash-completion')
|
[[ $NEWSHELL =~ (bash|zsh) ]] && inpkg+=('bash-completion')
|
||||||
|
|
||||||
|
# needed to build dwm
|
||||||
|
[[ $INSTALL_WMS =~ dwm ]] && inpkg+=('git' 'make' 'gcc' 'pkgconf')
|
||||||
|
|
||||||
# remove the packages we don't want on the installed system
|
# remove the packages we don't want on the installed system
|
||||||
[[ ${rmpkg[*]} ]] && chrun "pacman -Rnsc ${rmpkg[*]} --noconfirm"
|
[[ ${rmpkg[*]} ]] && chrun "pacman -Rnsc ${rmpkg[*]} --noconfirm"
|
||||||
@ -2102,6 +2134,33 @@ install_tearfree()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_suckless()
|
||||||
|
{
|
||||||
|
local dir="/home/$NEWUSER/suckless"
|
||||||
|
shift
|
||||||
|
|
||||||
|
chrun "mkdir -pv '$dir'"
|
||||||
|
|
||||||
|
for i in dwm dmenu st; do
|
||||||
|
if chrun "git clone 'https://git.suckless.org/$i' '$dir/$i'"; then
|
||||||
|
chrun "cd '$dir/$i' && make PREFIX=/usr install"
|
||||||
|
else
|
||||||
|
printf "failed to clone %s repo\n" "$i"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p "$MNT/usr/share/xsessions"
|
||||||
|
cat > "$MNT/usr/share/xsessions/dwm.desktop" <<- EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Name=Dwm
|
||||||
|
Comment=Dynamic Window Manager
|
||||||
|
Exec=dwm
|
||||||
|
TryExec=dwm
|
||||||
|
Type=Application
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
install_mkinitcpio()
|
install_mkinitcpio()
|
||||||
{
|
{
|
||||||
local add=''
|
local add=''
|
||||||
@ -2247,6 +2306,30 @@ config_lightdm()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
config_st()
|
||||||
|
{
|
||||||
|
cat > $MNT/home/$NEWUSER/suckless/st <<-EOF
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
config_dwm()
|
||||||
|
{
|
||||||
|
cat > $MNT/home/$NEWUSER/suckless/dwm <<-EOF
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
config_dmenu()
|
||||||
|
{
|
||||||
|
cat > $MNT/home/$NEWUSER/suckless/dmenu <<-EOF
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# bootloader setup
|
# bootloader setup
|
||||||
# prerun_* set up the configs needed before actually running the commands
|
# prerun_* set up the configs needed before actually running the commands
|
||||||
@ -2508,9 +2591,9 @@ lvm_menu()
|
|||||||
local choice
|
local choice
|
||||||
while :; do
|
while :; do
|
||||||
dlg choice menu "Logical Volume Management" "$_lvmmenu" \
|
dlg choice menu "Logical Volume Management" "$_lvmmenu" \
|
||||||
'create' "Create a new volume group and volumes" \
|
'create' "Create a new volume group and volume(s)" \
|
||||||
'remove' "Delete an existing volume group" \
|
'remove' "Delete an existing volume group" \
|
||||||
'remove_all' "Delete ALL volume groups and volumes" \
|
'remove_all' "Delete ALL volume groups and volume(s)" \
|
||||||
"back" "Return to the device management menu"
|
"back" "Return to the device management menu"
|
||||||
case "$choice" in
|
case "$choice" in
|
||||||
'create') lvm_create && break ;;
|
'create') lvm_create && break ;;
|
||||||
@ -3535,7 +3618,7 @@ fi
|
|||||||
|
|
||||||
trap 'printf "\n^C\n" && die 1' INT
|
trap 'printf "\n^C\n" && die 1' INT
|
||||||
|
|
||||||
while getopts ":hcnrfDtb:m:d:" OPT; do
|
while getopts ":hcnr:fDtb:m:d:" OPT; do
|
||||||
case "$OPT" in
|
case "$OPT" in
|
||||||
D) debug ;;
|
D) debug ;;
|
||||||
h) usage "${0##*/}" ;;
|
h) usage "${0##*/}" ;;
|
||||||
|
Reference in New Issue
Block a user