Import from sourceforge

This commit is contained in:
MatMoul 2015-07-19 03:41:24 +02:00
commit 138128ac20
79 changed files with 3137 additions and 0 deletions

57
config/bash/aliases Executable file
View file

@ -0,0 +1,57 @@
#!/bin/bash
. ./lib
options=()
options+=("ls" "ls --color=auto -l --time-style long-iso" on)
options+=("ls(2)" "ls --color=auto -l" off)
options+=("ls(3)" "ls --color=auto" off)
options+=("l" "ls --color=auto -lA --time-style long-iso" on)
options+=("l(2)" "ls --color=auto -lA" off)
options+=("ll" "ls --color=auto -la --time-style long-iso" on)
options+=("ll(2)" "ls --color=auto -la" off)
options+=("cd.." "cd .." on)
options+=(".." "cd .." on)
options+=("..." "cd ../../../" on)
options+=("...." "cd ../../../../" on)
options+=("....." "cd ../../../../" on)
options+=("ff" "find / -name" on)
options+=("f" "find . -name" on)
options+=("grep" "grep --color=auto" on)
options+=("egrep" "egrep --color=auto" on)
options+=("fgrep" "fgrep --color=auto" on)
options+=("mkdir" "mkdir -pv" off)
sel=$(whiptail --backtitle "$apptitle" --title "Aliases in /etc/profile.d/alias.sh :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
rm /etc/profile.d/alias.sh > /dev/null
echo "#!/bin/bash" > /etc/profile.d/alias.sh
chmod 755 /etc/profile.d/alias.sh
for itm in $sel; do
case $itm in
'"ls"') echo "alias ls='ls --color=auto -l --time-style long-iso'" >> /etc/profile.d/alias.sh;;
'"ls(2)"') echo "alias ls='ls --color=auto -l'" >> /etc/profile.d/alias.sh;;
'"ls(3)"') echo "alias ls='ls --color=auto'" >> /etc/profile.d/alias.sh;;
'"l"') echo "alias l='ls --color=auto -lA --time-style long-iso'" >> /etc/profile.d/alias.sh;;
'"l(2)"') echo "alias l='ls --color=auto -lA'" >> /etc/profile.d/alias.sh;;
'"ll"') echo "alias ll='ls --color=auto -la --time-style long-iso'" >> /etc/profile.d/alias.sh;;
'"ll(2)"') echo "alias ll='ls --color=auto -la'" >> /etc/profile.d/alias.sh;;
'"cd.."') echo "alias cd..='cd ..'" >> /etc/profile.d/alias.sh;;
'".."') echo "alias ..='cd ..'" >> /etc/profile.d/alias.sh;;
'"..."') echo "alias ...='cd ../../'" >> /etc/profile.d/alias.sh;;
'"...."') echo "alias ....='cd ../../../'" >> /etc/profile.d/alias.sh;;
'"....."') echo "alias .....='cd ../../../../'" >> /etc/profile.d/alias.sh;;
'"ff"') echo "alias ff='find / -name'" >> /etc/profile.d/alias.sh;;
'"f"') echo "alias f='find . -name'" >> /etc/profile.d/alias.sh;;
'"grep"') echo "alias grep='grep --color=auto'" >> /etc/profile.d/alias.sh;;
'"egrep"') echo "alias egrep='egrep --color=auto'" >> /etc/profile.d/alias.sh;;
'"fgrep"') echo "alias fgrep='fgrep --color=auto'" >> /etc/profile.d/alias.sh;;
'"mkdir"') echo "alias mkdir='mkdir -pv'" >> /etc/profile.d/alias.sh;;
esac
done
exit 0

17
config/bash/bashrc Executable file
View file

@ -0,0 +1,17 @@
#!/bin/bash
. ./lib
if ( confirm "Replace /etc/skel/.bashrc ?\n\n(content of the file : source /etc/profile)" ) then
echo "source /etc/profile" > /etc/skel/.bashrc
fi
if ( confirm "Replace /root/.bashrc ?\n\n(content of the file : source /etc/profile)" ) then
echo "source /etc/profile" > /root/.bashrc
fi
items=$(ls /home/)
for item in $items; do
if ( confirm "Replace /home/$items/.bashrc ?\n\n(content of the file : source /etc/profile)" ) then
echo "source /etc/profile" > /home/$items/.bashrc
fi
done
exit 0

40
config/bash/default Executable file
View file

@ -0,0 +1,40 @@
#!/bin/bash
. ./lib
#archey3
cat > /etc/profile.d/alias.sh << "EOF"
#!/bin/bash
alias cd..='cd ..'
alias ll='ls --color=auto -l'
alias l='ls --color=auto -lA'
alias ff='find / -name'
alias f='find . -name'
EOF
chmod 755 /etc/profile.d/alias.sh
if [ ! -f /etc/profile.d/dircolors.sh ]; then
cat >> /etc/bash.bashrc << "EOF"
export PS1="\`if [ \$? = 0 ]; then echo -e '\[\033[01;32m\]'; else echo -e '\[\033[01;31m\]'; fi\`\w \\$ \[\033[01;0m\]"
EOF
fi
cat > /etc/profile.d/dircolors.sh << "EOF"
#!/bin/bash
if [ -f "/etc/dircolors" ] ; then
eval $(dircolors -b /etc/dircolors)
if [ -f "$HOME/.dircolors" ] ; then
eval $(dircolors -b $HOME/.dircolors)
fi
fi
export LS_OPTS='--color=auto'
alias ls='ls ${LS_OPTS}'
export LESS="--RAW-CONTROL-CHARS"
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP
export GREP_OPTIONS="--color=auto"
EOF
chmod 755 /etc/profile.d/dircolors.sh
echo "source /etc/profile" > /etc/skel/.bashrc
echo "source /etc/profile" > /root/.bashrc

24
config/bash/menu Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash
. ./lib
options=()
options+=("/etc/profile.d/alias.sh" "")
options+=("/etc/profile.d/ps1.sh" "")
options+=("Update .bashrc" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Bash Configuration :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'/etc/profile.d/alias.sh') script config/bash/aliases;;
'/etc/profile.d/ps1.sh') script config/bash/ps1;;
'Update .bashrc') script config/bash/bashrc;;
esac
exit 0

61
config/bash/ps1 Executable file
View file

@ -0,0 +1,61 @@
#!/bin/bash
. ./lib
options=()
options+=("Minimal" "/home #")
options+=("User" "user:/home #")
options+=("User and Hostname" "user@hostname:/home #")
sel=$(whiptail --backtitle "$apptitle" --title "Bash PS Configuration :" --menu "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
updateps1(){
case $1 in
'Minimal')
cat > /etc/profile.d/ps1.sh << "EOF"
#!/bin/bash
clrreset='\e[0m'
clrwhite='\e[1;37m'
clrgreen='\e[1;32m'
clrred='\e[1;31m'
export PS1="\[$clrwhite\]\w \`if [ \$? = 0 ]; then echo -e '\[$clrgreen\]'; else echo -e '\[$clrred\]'; fi\`\\$ \[$clrreset\]"
EOF
chmod 755 /etc/profile.d/ps1.sh
;;
'User')
cat > /etc/profile.d/ps1.sh << "EOF"
#!/bin/bash
clrreset='\e[0m'
clrwhite='\e[1;37m'
clrgreen='\e[1;32m'
clrred='\e[1;31m'
export PS1="\[$clrwhite\]$USER:\w \`if [ \$? = 0 ]; then echo -e '\[$clrgreen\]'; else echo -e '\[$clrred\]'; fi\`\\$ \[$clrreset\]"
EOF
chmod 755 /etc/profile.d/alias.sh
;;
'User and Hostname')
cat > /etc/profile.d/ps1.sh << "EOF"
#!/bin/bash
clrreset='\e[0m'
clrwhite='\e[1;37m'
clrgreen='\e[1;32m'
clrred='\e[1;31m'
export PS1="\[$clrwhite\]$USER@$HOSTNAME:\w \`if [ \$? = 0 ]; then echo -e '\[$clrgreen\]'; else echo -e '\[$clrred\]'; fi\`\\$ \[$clrreset\]"
EOF
chmod 755 /etc/profile.d/alias.sh
;;
esac
}
if ( confirm "Create /etc/profile.d/ps1.sh and force load it at end of /etc/bash.bashrc ?" ) then
updateps1 $sel
grep -q -F 'source /etc/profile.d/ps1.sh' /etc/bash.bashrc || echo 'source /etc/profile.d/ps1.sh' >> /etc/bash.bashrc
fi
exit 0

58
config/firewall/menu Executable file
View file

@ -0,0 +1,58 @@
#!/bin/bash
. ./lib
options=()
options+=("Edit IPv4" "nano /etc/iptables/iptables.rules")
options+=("Edit IPv6" "nano /etc/iptables/ip6tables.rules")
options+=("" "")
options+=("Load Rules" "iptables-restore & ip6tables-restore")
options+=("" "")
options+=("Start At Boot" "systemctl enable iptables & systemctl enable ip6tables")
options+=("Generate Default Rules" "/etc/iptables/iptables.rules & /etc/iptables/ip6tables.rules")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Firewall Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Edit IPv4') nano /etc/iptables/iptables.rules;;
'Edit IPv6') nano /etc/iptables/ip6tables.rules;;
'Load Rules') iptables-restore < /etc/iptables/iptables.rules
ip6tables-restore < /etc/iptables/ip6tables.rules;;
'Start At Boot') systemctl enable iptables
systemctl start iptables
systemctl enable ip6tables
systemctl start ip6tables;;
'Generate Default Rules')
file=/etc/iptables/iptables.rules
echo '*filter' > $file
echo ':INPUT DROP [0:0]' >> $file
echo ':FORWARD DROP [0:0]' >> $file
echo ':OUTPUT ACCEPT [0:0]' >> $file
echo '-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT' >> $file
echo '-A INPUT -i lo -j ACCEPT' >> $file
echo '# SSH' >> $file
echo '#-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT' >> $file
echo '# Ping' >> $file
echo '#-A INPUT -p icmp -j ACCEPT' >> $file
echo '# SNMP' >> $file
echo '#-A INPUT -s 192.168.0.0/24 -p udp -m udp --dport 161 -m state --state NEW -j ACCEPT' >> $file
echo 'COMMIT' >> $file
iptables-restore $file
file=/etc/iptables/ip6tables.rules
echo '*filter' > $file
echo ':INPUT DROP [0:0]' >> $file
echo ':FORWARD DROP [0:0]' >> $file
echo ':OUTPUT ACCEPT [0:0]' >> $file
echo '-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT' >> $file
echo '-A INPUT -i lo -j ACCEPT' >> $file
echo 'COMMIT' >> $file
ip6tables-restore $file;;
esac
exit 0

33
config/menu Executable file
View file

@ -0,0 +1,33 @@
#!/bin/bash
. ./lib
options=()
options+=("Bash" "")
options+=("Firewall" "")
options+=("Users" "")
options+=("Sudoers" "")
options+=("XOrg" "")
options+=("Grub" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Config Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Bash') menu config/bash/menu;;
'Firewall') menu config/firewall/menu;;
'Users') menu config/users/menu;;
'Sudoers') menu config/sudoers/menu;;
'XOrg') menu config/xorg/menu;;
'Grub') nano /etc/default/grub
if(confirm "Run grub-mkconfig -o /boot/grub/grub.cfg ?") then
grub-mkconfig -o /boot/grub/grub.cfg
fi;;
esac
exit 0

67
config/sudoers/menu Executable file
View file

@ -0,0 +1,67 @@
#!/bin/bash
. ./lib
options=()
options+=("Add sudoer" "")
options+=("Edit sudoer" "")
options+=("Delete sudoer" "")
options+=("" "")
options+=("Edit /etc/sudoers" "")
defaultitem="Add sudoer"
sel=$(whiptail --backtitle "$apptitle" --title "Sudoers Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Add sudoer')
users=$(awk -F: '{if ($3 >= 1000) { print $1 } }' /etc/passwd)
userlist=()
for itm in $users; do
userlist+=("$itm" "")
done
sel=$(whiptail --backtitle "$apptitle" --title "Add sudoer :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${userlist[@]}" \
3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then
echo "$sel ALL=(ALL) ALL" > /etc/sudoers.d/$sel
fi
;;
'Edit sudoer')
sudoers=$(ls /etc/sudoers.d)
sudoerlist=()
for itm in $sudoers; do
sudoerlist+=("$itm" "")
done
sel=$(whiptail --backtitle "$apptitle" --title "Edit sudoer :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${sudoerlist[@]}" \
3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then
nano /etc/sudoers.d/$sel
fi
;;
'Delete sudoer')
sudoers=$(ls /etc/sudoers.d)
sudoerlist=()
for itm in $sudoers; do
sudoerlist+=("$itm" "")
done
sel=$(whiptail --backtitle "$apptitle" --title "Delete sudoer :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${sudoerlist[@]}" \
3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then
if (confirm "Remove $sel from sudoers"); then
rm /etc/sudoers.d/$sel
fi
fi
;;
'Edit /etc/sudoers')
nano /etc/sudoers
;;
esac
exit 0

45
config/users/menu Executable file
View file

@ -0,0 +1,45 @@
#!/bin/bash
. ./lib
options=()
options+=("Add User" "")
options+=("List Users" "")
options+=("Delete User" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Users Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'List Users')
clear
awk -F: '{if ($3 >= 1000) { print $1 } }' /etc/passwd
read -n1 -p "press a key to continue"
;;
'Add User')
username=$(whiptail --backtitle "$apptitle" --title "Add User" --inputbox "Enter the new user name :" 0 0 3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then
useradd -d /home/$username -s /bin/bash -m -N $username
clear
echo "User $username created."
echo ""
echo "Choose a password for $username :"
echo ""
passwd $username
pressanykey
fi
;;
'Delete User')
username=$(whiptail --backtitle "$apptitle" --title "Delete User" --inputbox "Enter the user name to delete :" 0 0 3>&1 1>&2 2>&3)
if [ "$?" = "0" ]; then
userdel -r -f $username
fi
;;
esac
exit 0

71
config/xorg/keyboard Executable file
View file

@ -0,0 +1,71 @@
#!/bin/bash
. ./lib
options=()
items=$(localectl list-x11-keymap-layouts)
for item in $items; do
options+=("$item" "")
done
layout=$(whiptail --backtitle "$apptitle" --title "Select keyboard layout :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
options=()
options+=("ignore" "")
options+=("pc104" "Default")
options+=("pc105" "")
items=$(localectl list-x11-keymap-models)
for item in $items; do
options+=("$item" "")
done
model=$(whiptail --backtitle "$apptitle" --title "Select keyboard model :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
if [ "$model" = "ignore" ]; then
model=""
fi
options=()
options+=("ignore" "Default")
items=$(localectl list-x11-keymap-variants $layout)
for item in $items; do
options+=("$item" "")
done
variant=$(whiptail --backtitle "$apptitle" --title "Select keyboard variant :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
if [ "$variant" = "ignore" ]; then
variant=""
fi
options=()
options+=("ignore" "Default")
items=$(localectl list-x11-keymap-options)
for item in $items; do
options+=("$item" "")
done
option=$(whiptail --backtitle "$apptitle" --title "Select keyboard option :" --menu "" --cancel-button "Cancel" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
if [ "$option" = "ignore" ]; then
option=""
fi
if ( confirm "Run localectl set-x11-keymap $layout $model $variant $option ?") then
localectl set-x11-keymap $layout $model $variant $option
fi
exit 0

38
config/xorg/menu Executable file
View file

@ -0,0 +1,38 @@
#!/bin/bash
. ./lib
options=()
options+=("Generate /etc/X11/xorg.conf.d/00-keyboard.conf" "")
options+=("Edit /etc/X11/xorg.conf.d/00-keyboard.conf" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Bash Configuration :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
"Generate /etc/X11/xorg.conf.d/00-keyboard.conf")
localectl > /dev/null
if [ "$?" = "0" ]; then
script config/xorg/keyboard
else
echo '# Because dbus is not available in arch-chroot, if you run this command after reboot a best wizard is provided' > /etc/X11/xorg.conf.d/00-keyboard.conf
echo 'Section "InputClass"' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo ' Identifier "system-keyboard"' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo ' MatchIsKeyboard "on"' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo ' Option "XkbLayout" "us"' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo ' Option "XkbModel" "pc104"' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo ' Option "XkbVariant" ""' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo ' Option "XkbOptions" ""' >> /etc/X11/xorg.conf.d/00-keyboard.conf
echo 'EndSection' >> /etc/X11/xorg.conf.d/00-keyboard.conf
nano /etc/X11/xorg.conf.d/00-keyboard.conf
fi
;;
"Edit /etc/X11/xorg.conf.d/00-keyboard.conf") nano /etc/X11/xorg.conf.d/00-keyboard.conf;;
esac
exit 0

24
install/apps/dev Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash
. ./lib
options=()
options+=("Geany" "" off)
options+=("WebStorm" "(AUR)" off)
sel=$(whiptail --backtitle "$apptitle" --title "Dev applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"WebStorm"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

23
install/apps/games Executable file
View file

@ -0,0 +1,23 @@
#!/bin/bash
. ./lib
options=()
options+=("0AD" "" off)
options+=("puzzles" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "Game applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

32
install/apps/graphic Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
. ./lib
options=()
options+=("gimp" "" on)
options+=("inkscape" "" on)
options+=("dia" "" off)
options+=("calligra-krita" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "Graphic applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
#'""') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"gimp"') choosepkg "gimp-help-";;
esac
done
exit 0

39
install/apps/gstreamer Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
. ./lib
options=()
options+=("gst-plugins-base" "" on)
options+=("gst-plugins-good" "" on)
options+=("gst-plugins-ugly" "" on)
options+=("gst-plugins-bad" "" off)
options+=("gst-libav" "" on)
#options+=("gst-plugin-libde265" "(AUR)" off)
options+=("gstreamer0.10-base-plugins" "" on)
options+=("gstreamer0.10-good-plugins-slim" "(AUR)" off)
options+=("gstreamer0.10-good-plugins" "" on)
options+=("gstreamer0.10-ugly-plugins" "" on)
options+=("gstreamer0.10-bad-plugins" "" off)
options+=("gstreamer0.10-ffmpeg" "" on)
#options+=("gstreamer0.10-plugin-libde265" "(AUR)" off)
#options+=("libde265" "(AUR)" off)
sel=$(whiptail --backtitle "$apptitle" --title "Gstreamer Install" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'gst-plugin-libde265' | \
'gstreamer0.10-good-plugins-slim' | \
'gstreamer0.10-plugin-libde265') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

42
install/apps/internet Executable file
View file

@ -0,0 +1,42 @@
#!/bin/bash
. ./lib
options=()
options+=("chromium" "" on)
options+=("chromium-pepper-flash" "(AUR)" on)
options+=("chromium-pepper-flash-standalone" "(AUR)" off)
options+=("firefox" "" on)
options+=("flashplugin" "" off)
options+=("freshplayerplugin-git" "(AUR)" on)
options+=("freshplayerplugin" "(AUR)" off)
options+=("tixati" "(AUR)" on)
options+=("thunderbird" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "Internet applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"chromium-pepper-flash"' | \
'"chromium-pepper-flash-standalone"' | \
'"freshplayerplugin-git"' | \
'"freshplayerplugin"' | \
'"tixati"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"firefox"') choosepkg "firefox-i18n-";;
'"thunderbird"') choosepkg "thunderbird-i18n-";;
esac
done
exit 0

39
install/apps/menu Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
. ./lib
options=()
options+=("Office" "")
options+=("Internet" "")
options+=("GStreamer" "")
options+=("Multimedia" "")
options+=("Graphic" "")
#options+=("Network" "")
options+=("System" "")
options+=("PacMan GUI" "")
#options+=("Dev" "")
#options+=("Games" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Apps Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
"Office") script install/apps/office;;
"Internet") script install/apps/internet;;
"GStreamer") script install/apps/gstreamer;;
"Multimedia") script install/apps/multimedia;;
"Graphic") script install/apps/graphic;;
"Network") script install/apps/network;;
"System") script install/apps/system;;
"PacMan GUI") script install/apps/pacmangui;;
"Dev") script install/apps/dev;;
"Games") script install/apps/games;;
esac
exit 0

35
install/apps/multimedia Executable file
View file

@ -0,0 +1,35 @@
#!/bin/bash
. ./lib
options=()
options+=("vlc" "Video player" off)
options+=("smplayer" "Video player" off)
options+=("mpv" "Recommended for smplayer" off)
options+=("smtube" "Youtube Player" off)
options+=("amarok" "Audio Player" off)
options+=("guayadeque" "Audio Player" off)
options+=("clementine" "Audio Player" off)
options+=("mixxx" "Audio Player" off)
options+=("gmusicbrowser" "(AUR) Audio Player" off)
options+=("avidemux-gtk" "Video Editor" off)
options+=("avidemux-qt" "Video Editor" off)
options+=("simplescreenrecorder" "Screen Recorder" off)
#options+=("lib32-simplescreenrecorder" "For simplescreenrecorder" off) #Need multilib
sel=$(whiptail --backtitle "$apptitle" --title "Multimedia applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"gmusicbrowser"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

29
install/apps/network Executable file
View file

@ -0,0 +1,29 @@
#!/bin/bash
. ./lib
options=()
options+=("remmina" "" off)
#options+=("kdenetwork-krdc" "" off)
#options+=("kvpnc" "" off)
options+=("teamviewer" "(AUR)" off)
#options+=("zenmap" "" off)
options+=("jnetmap" "(AUR)" off)
sel=$(whiptail --backtitle "$apptitle" --title "Network applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"teamviewer"' | \
'"jnetmap"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

33
install/apps/office Executable file
View file

@ -0,0 +1,33 @@
#!/bin/bash
. ./lib
options=()
options+=("libreoffice-fresh" "" on)
options+=("libreoffice-still" "" off)
options+=("calcoo" "(AUR)" off)
options+=("qalculate-gtk" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "Office applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"calcoo"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"libreoffice-fresh"') choosepkg "libreoffice-fresh-";;
'"libreoffice-still"') choosepkg "libreoffice-still-";;
esac
done
exit 0

39
install/apps/pacmangui Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
. ./lib
options=()
options+=("octopi" "(AUR) (QT)" off)
options+=("appset-qt" "(AUR) (QT)" off)
options+=("pamac-aur" "(AUR) (GTK)" off)
sel=$(whiptail --backtitle "$apptitle" --title "PacMan GUI applications :" --checklist "Recommended to choose one" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"octopi"' | \
'"appset-qt"' | \
'"pamac-aur"')
multilib="true"
aurpkg="$aurpkg $(echo $itm | sed 's/"//g')"
;;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
if [ "$multilib" = "true" ]; then
if ( confirm "To install wine or wine_gecko, multilib repo is requires.\nFor this, the script edit the [mulilib] part in /etc/pacman.conf and run pacman -Syu\n\nEnable multilib repo ?" ) then
sed -i '/\[multilib\]/s/^#//g' /etc/pacman.conf
sed -i '/\[multilib\]/{n;s/^#//g}' /etc/pacman.conf
pacman -Syu
else
exit 1
fi
fi
instpkg "$pkg" "$aurpkg"
exit 0

78
install/apps/system Executable file
View file

@ -0,0 +1,78 @@
#!/bin/bash
. ./lib
options=()
#options+=("octopi" "(AUR) qt pacman gui" off)
#options+=("appset-qt" "(AUR) qt pacman gui" off)
#options+=("pamac-aur" "(AUR) gtk pacman gui" off)
options+=("gparted" "Partitions manager" off)
options+=("bleachbit" "profile cleaner" off)
options+=("keepass" "Password Manager" off)
options+=("keepassx" "Password Manager" off)
options+=("keepassx-git" "(AUR) Password Manager" off)
options+=("virtualbox" "" off)
options+=("virtualbox-host-dkms" "recommended for virtualbox" off)
#options+=("virtualbox-host-modules" "" on)
options+=("wine" "MS Windows App Support" off)
options+=("wine_gecko" "MS Windows App Support" off)
options+=("wine-mono" "MS Windows App Support" off)
options+=("zenity" "recommended for wine" off)
options+=("winetricks" "recommended for wine" off)
options+=("k4dirstat" "(AUR)" off)
options+=("conky" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "System applications :" --checklist "Choose what you want" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"octopi"' | \
'"appset-qt"' | \
'"pamac-aur"' | \
'"keepassx-git"' | \
'"k4dirstat"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
'"wine"' | \
'"wine_gecko"')
multilib="true"
pkg="$pkg $(echo $itm | sed 's/"//g')"
;;
'"virtualbox-host-modules"')
pkg="$pkg virtualbox-host-dkms"
pkg="$pkg virtualbox-host-modules"
;;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
if [ "$multilib" = "true" ]; then
if ( confirm "To install wine or wine_gecko, multilib repo is requires.\nFor this, the script edit the [mulilib] part in /etc/pacman.conf and run pacman -Syu\n\nEnable multilib repo ?" ) then
sed -i '/\[multilib\]/s/^#//g' /etc/pacman.conf
sed -i '/\[multilib\]/{n;s/^#//g}' /etc/pacman.conf
pacman -Syu
else
exit 1
fi
fi
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"virtualbox-host-dkms"')
if ( confirm "virtualbox-host-dkms require to rebuild initcpio.\n\nRun mkinitcpio -o linux ?" ) then
mkinitcpio -p linux
fi
svcenable dkms
svcstart dkms
dkms autoinstall
;;
'"virtualbox-host-modules"')
dkms autoinstall
;;
esac
done
exit 0

48
install/console/menu Executable file
View file

@ -0,0 +1,48 @@
#!/bin/bash
. ./lib
options=()
options+=("bash-completion" "Best completion in bash" on)
options+=("lsof" "ls open file" on)
options+=("nmon" "System monitor" on)
options+=("rsync" "Sync files" on)
#options+=("unzip" "ZIP files" on)
#options+=("unrar" "RAR files" off)
#options+=("zip" "Compress files" off)
#options+=("p7zip" "File Archiver" off)
options+=("dnsutils" "DNS tools (nslookup)" on)
options+=("traceroute" "Trace network route" on)
options+=("nmap" "Network scanner" off)
options+=("mc" "Dual pane file explorer" off)
options+=("links" "Web browser" off)
options+=("powertop" "power mon and management" off)
#options+=("gpm" "Console mouse support" off)
options+=("wavemon" "WIFI monitor" off)
options+=("net-tools" "(deprecated) old ifconfig" off)
sel=$(whiptail --backtitle "$apptitle" --title "Console applications :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"gpm"')
svcstart gpm
svcenable gpm
;;
esac
done
exit 0

2
install/desktop/TODO Executable file
View file

@ -0,0 +1,2 @@
Add cinnamon
Add LXQT

30
install/desktop/cinnamon/menu Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
. ./lib
options=()
options+=("mate" "")
options+=("mate-extra" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Mate Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'mate')
require install/desktop/mate/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/mate/packages
script install/desktop/mate/packages
;;
'mate-extra')
require install/desktop/mate/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/mate/packages
script install/desktop/mate/packages
;;
esac
exit 0

View file

@ -0,0 +1,26 @@
#!/bin/bash
. ./lib
options=()
package="cinnamon"
items=$(pacman -Ssq $package)
for item in $items; do
options+=("$item" "" on)
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,2 @@
Add complements
No terminal

View file

@ -0,0 +1,24 @@
#!/bin/bash
. ./lib
options=()
package=""
options+=("enlightenment" "" on)
options+=("connman" "" on)
options+=("acpid" "" on)
sel=$(whiptail --backtitle "$apptitle" --title "Enlightenment Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

30
install/desktop/gnome/menu Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
. ./lib
options=()
options+=("gnome" "")
options+=("gnome-extra" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "XFCE4 Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'gnome')
require install/desktop/gnome/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/gnome/packages
script install/desktop/gnome/packages
;;
'gnome-extra')
require install/desktop/gnome/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/gnome/packages
script install/desktop/gnome/packages
;;
esac
exit 0

32
install/desktop/gnome/packages Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
. ./lib
options=()
package=""
items=$(pacman -Sqg $package)
for item in $items; do
options+=("$item" "" on)
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'gdm') svcenable gdm;;
esac
done
exit 0

View file

@ -0,0 +1,66 @@
#!/bin/bash
. ./lib
options=()
options+=("kdebase-plasma" "" on)
options+=("kdeplasma-applets-plasma-nm" "" on)
options+=("numlockx" "(Numlock on for kdm)" on)
options+=("kdesu" "" on)
options+=("kdesu4" "" on)
options+=("konsolepart4" "" on)
options+=("gnome-keyring" "" on)
options+=("smb4k" "" on)
options+=("partitionmanager" "" on)
options+=("archlinux-themes-kdm" "theme" on)
options+=("breeze-kde4" "theme" on)
options+=("breeze" "theme" on)
options+=("oxygen-gtk2" "theme gtk 2" on)
options+=("oxygen-gtk3-git" "(AUR) theme gtk 3" off)
options+=("qtcurve-kde4" "theme" off)
options+=("gtk-kde4" "(AUR) gtk2 theme config" on)
options+=("gtk3-dark-theme-patch" "/etc/skel/.config/gtk-3.0/settings.ini" off)
#options+=("qtcurve-gtk2" "" off)
#options+=("kde-gtk-config" "gtk theme config FOR PLASMA5" off)
#qtcurve-kde4
#qtcurve-gtk2
#qtcurve-qt4
#qtcurve-qt5
#options+=("gtk-qt-engine" "(AUR)" off)
options+=("kdeconnect" "" off)
options+=("sshfs" "(For kdeconnect)" off)
sel=$(whiptail --backtitle "$apptitle" --title "KDE Complements :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"gtk-qt-engine"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
'"gtk-kde4"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
'"oxygen-gtk3-git"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
'"gtk3-dark-theme-patch"') ;;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"gtk3-dark-theme-patch"')
mkdir -p /etc/skel/.config/gtk-3.0
echo "[Settings]" > /etc/skel/.config/gtk-3.0/settings.ini
echo "gtk-application-prefer-dark-theme=true" >> /etc/skel/.config/gtk-3.0/settings.ini
;;
'"numlockx"')
if ( confirm "Add numlockx on to /usr/share/config/kdm/Xsetup ?" ) then
echo "numlockx on" >> /usr/share/config/kdm/Xsetup
fi
;;
esac
done
exit 0

95
install/desktop/kde4/kdeapps Executable file
View file

@ -0,0 +1,95 @@
#!/bin/bash
. ./lib
options=()
#kde-agent
#kdepim-kleopatra
#kdeutils-kgpg
items=$(pacman -Sqg kde-applications)
for item in $items; do
case $item in
"dolphin" | \
"kdepasswd" | \
"kdialog" | \
"kfind" | \
"workspace" | \
"ksystemlog" | \
"kuser" | \
"ark" | \
"kwalletmanager" | \
"kgamma" | \
"ksnapshot" | \
"okular" | \
"audiocd-kio" | \
"ffmpegthumbs" | \
"kmix" | \
"mplayerthumbs" | \
"filesharing" | \
"zeroconf-ioslave" | \
"kate" | \
"thumbnailers" | \
"kdebase-dolphin" | \
"kdebase-kdepasswd" | \
"kdebase-kdialog" | \
"kdebase-kfind" | \
"kdebase-workspace" | \
"konsole" | \
"kwrite" | \
"kcron" | \
"kdeadmin-ksystemlog" | \
"kdeadmin-kuser" | \
"kdeutils-ark" | \
"kdeutils-kwalletmanager" | \
"kcalc" | \
"kcharselect" | \
"print-manager" | \
"kdegraphics-kgamma" | \
"kdegraphics-ksnapshot" | \
"kdegraphics-okular" | \
"kdemultimedia-audiocd-kio" | \
"kdemultimedia-ffmpegthumbs" | \
"kdemultimedia-kmix" | \
"kdemultimedia-mplayerthumbs" | \
"kdenetwork-filesharing" | \
"kdenetwork-zeroconf-ioslave" | \
"kate" | \
"kdesdk-thumbnailers" | \
"kleopatra" | \
"kdepim-kleopatra" | \
"kdeartwork-"*) options+=("$item" "" on);;
"akregator" | \
"kaddressbook" | \
"kalarm" | \
"kmail" | \
"knotes" | \
"kontact" | \
"korganizer" | \
"kdepim-akregator" | \
"kdepim-kaddressbook" | \
"kdepim-kalarm" | \
"kdepim-kmail" | \
"kdepim-knotes" | \
"kdepim-kontact" | \
"kdepim-korganizer" | \
"kdeartwork-"*) options+=("$item" "(recommended)" off);;
*) options+=("$item" "" off);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

28
install/desktop/kde4/kdeplasma Executable file
View file

@ -0,0 +1,28 @@
#!/bin/bash
. ./lib
options=()
items=$(pacman -Ssq kdeplasma4-)
for item in $items; do
case $item in
"kdeplasma-applets-plasma-nm") options+=("$item" "" on);;
*) options+=("$item" "" off);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "KDE Plasma :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,24 @@
#!/bin/bash
. ./lib
options=()
items=$(pacman -Ssq kde-l10n-)
for item in $items; do
options+=("$item" "" off)
done
sel=$(whiptail --backtitle "$apptitle" --title "KDE localisations :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

43
install/desktop/kde4/menu Executable file
View file

@ -0,0 +1,43 @@
#!/bin/bash
. ./lib
options=()
options+=("KDE Base" "kdebase-workspace")
options+=("KDE Localisations" "kde-l10n-")
options+=("KDE Plasma" "kdeplasma4-")
options+=("KDE Apps Meta Full" "kde-applications-meta")
options+=("KDE Apps Full" "kde-applications")
options+=("KDE Apps" "")
options+=("KDE Complements" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "KDE4 Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'KDE Base')
instpkg "kdebase-workspace" ""
svcenable kdm
;;
'KDE Localisations') script install/desktop/kde4/localisations;;
'KDE Plasma') script install/desktop/kde4/kdeplasma;;
'KDE Apps Meta Full')
if ( confirm "This option install all KDE applications with meta packages.\n\nInstall KDE Meta Full (pacman -S kde-applications-meta) ?" ) then
instpkg "kde-applications-meta" ""
fi
;;
'KDE Apps Full')
if ( confirm "This option install all KDE applications.\n\nInstall KDE Full (pacman -S kde-applications) ?" ) then
instpkg "kde-applications" ""
fi
;;
'KDE Apps') menu install/desktop/kde4/kdeapps;;
'KDE Complements') script install/desktop/kde4/complements;;
esac
exit 0

View file

@ -0,0 +1,35 @@
#!/bin/bash
. ./lib
options=()
items=$(for i in $(pacman -Sqg kde-applications-meta); do echo ${i#kde-meta-};done)
for item in $items; do
case $item in
"kdebase") options+=("$item" "" on);;
"kdeadmin") options+=("$item" "" on);;
"kdegraphics") options+=("$item" "" on);;
"kdemultimedia") options+=("$item" "" on);;
"kdeutils") options+=("$item" "" on);;
"kdepim") options+=("$item" "" on);;
"kdeartwork") options+=("$item" "" on);;
"kde-wallpapers") ;;
*) options+=("$item" "" off);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "KDE Meta Packages :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,44 @@
#!/bin/bash
. ./lib
options=()
options+=("kdebase" "")
options+=("kdeadmin" "")
options+=("kdeutils" "")
options+=("kdegraphics" "")
options+=("kdemultimedia" "")
options+=("kdenetwork" "")
options+=("kdesdk" "")
options+=("kdepim" "")
items=$(for i in $(pacman -Sqg kde-applications-meta); do echo ${i#kde-meta-};done)
for item in $items; do
case $item in
"kdebase") ;;
"kdeadmin") ;;
"kdeutils") ;;
"kdegraphics") ;;
"kdemultimedia") ;;
"kdenetwork") ;;
"kdesdk") ;;
"kdepim") ;;
"kde-wallpapers") ;;
"telepathy-kde-meta") ;;
*) options+=("$item" "");;
esac
done
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "KDE Package Categories :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
require install/desktop/kde4/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/kde4/packages
script install/desktop/kde4/packages
exit 0

90
install/desktop/kde4/packages Executable file
View file

@ -0,0 +1,90 @@
#!/bin/bash
. ./lib
options=()
package=""
items=$(pacman -Sqg $package)
for item in $items; do
case $item in
"dolphin" | \
"kdepasswd" | \
"kdialog" | \
"kfind" | \
"workspace" | \
"ksystemlog" | \
"kuser" | \
"ark" | \
"kgamma" | \
"ksnapshot" | \
"okular" | \
"audiocd-kio" | \
"ffmpegthumbs" | \
"kmix" | \
"mplayerthumbs" | \
"filesharing" | \
"zeroconf-ioslave" | \
"kate" | \
"thumbnailers" | \
"akregator" | \
"kaddressbook" | \
"kalarm" | \
"kleopatra" | \
"kmail" | \
"knotes" | \
"kontact" | \
"korganizer" | \
"kdebase-dolphin" | \
"kdebase-kdepasswd" | \
"kdebase-kdialog" | \
"kdebase-kfind" | \
"kdebase-workspace" | \
"konsole" | \
"kwrite" | \
"kcron" | \
"kdeadmin-ksystemlog" | \
"kdeadmin-kuser" | \
"kdeutils-ark" | \
"filelight" | \
"kcalc" | \
"kcharselect" | \
"print-manager" | \
"kdegraphics-kgamma" | \
"kdegraphics-ksnapshot" | \
"kdegraphics-okular" | \
"kdemultimedia-audiocd-kio" | \
"kdemultimedia-ffmpegthumbs" | \
"kdemultimedia-kmix" | \
"kdemultimedia-mplayerthumbs" | \
"kdenetwork-filesharing" | \
"kdenetwork-zeroconf-ioslave" | \
"kate" | \
"kdesdk-thumbnailers" | \
"kdepim-akregator" | \
"kdepim-kaddressbook" | \
"kdepim-kalarm" | \
"kdepim-kleopatra" | \
"kdepim-kmail" | \
"kdepim-knotes" | \
"kdepim-kontact" | \
"kdepim-korganizer" | \
"kdeartwork-"*) options+=("$item" "" on);;
*) options+=("$item" "" off);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

1
install/desktop/lxde/TODO Executable file
View file

@ -0,0 +1 @@
Test on 32bit version

32
install/desktop/lxde/packages Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
. ./lib
options=()
package=""
items=$(pacman -Sqg $package)
for item in $items; do
options+=("$item" "" on)
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'lxdm') svcenable lxdm;;
esac
done
exit 0

4
install/desktop/mate/TODO Executable file
View file

@ -0,0 +1,4 @@
Add Complements
- No terminal
lightdm-gtk2-greeter as optional dependencie

30
install/desktop/mate/menu Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
. ./lib
options=()
options+=("mate" "")
options+=("mate-extra" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Mate Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'mate')
require install/desktop/mate/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/mate/packages
script install/desktop/mate/packages
;;
'mate-extra')
require install/desktop/mate/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/mate/packages
script install/desktop/mate/packages
;;
esac
exit 0

26
install/desktop/mate/packages Executable file
View file

@ -0,0 +1,26 @@
#!/bin/bash
. ./lib
options=()
package=""
items=$(pacman -Sqg $package)
for item in $items; do
options+=("$item" "" on)
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

44
install/desktop/menu Executable file
View file

@ -0,0 +1,44 @@
#!/bin/bash
. ./lib
options=()
options+=("KDE4" "")
options+=("XFCE4" "")
options+=("Gnome" "")
options+=("Plasma5" "")
options+=("LXDE" "")
options+=("Cinnamon" "")
options+=("Mate" "")
options+=("Enlightenment" "")
#options+=("LXQT" "")
#options+=("GnuStep" "")
#options+=("i3" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Install Desktop Menu :" --menu "First item is most maintained" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Plasma5') menu install/desktop/plasma5/menu;;
'KDE4') menu install/desktop/kde4/menu;;
'XFCE4') menu install/desktop/xfce4/menu;;
'Gnome') menu install/desktop/gnome/menu;;
'LXDE')
require install/desktop/lxde/packages 755
sed -i "/^package=/c\package=\"lxde\"" install/desktop/lxde/packages
script install/desktop/lxde/packages
svcenable lxdm
;;
'Enlightenment')
script install/desktop/enlightenment/packages
;;
'Mate') menu install/desktop/mate/menu;;
'Cinnamon') script install/desktop/cinnamon/packages;;
esac
exit 0

View file

@ -0,0 +1,59 @@
#!/bin/bash
. ./lib
options=()
#options+=("sddm-kcm" "" off)
options+=("networkmanager" "" on)
options+=("partitionmanager" "" on)
options+=("kmix" "" on)
#plasma-nm
#muon (package manager)
#options+=("kdesu" "" on)
#options+=("kdesu4" "" on)
options+=("gnome-keyring" "" on)
#options+=("konsolepart4" "" on)
#options+=("octopi" "(AUR)" on)
#options+=("kde-gtk-config" "" on)
#options+=("oxygen-gtk2" "" on)
#options+=("oxygen-gtk3-git" "(AUR)" off)
#options+=("breeze-kde4" "" on)
#options+=("breeze" "" on)
#options+=("archlinux-themes-kdm" "" on)
#options+=("numlockx" "" on)
#options+=("kdeconnect" "" off)
#options+=("kdeconnect+sshfs" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "Plasma Complements :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"octopi"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
'"oxygen-gtk3-git"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"networkmanager"')
systemctl disable dhcpcd
if (svcenable NetworkManager) then
svcdisable dhcpd
fi
;;
'"numlockx"')
if ( confirm "Add numlockx on to /usr/share/config/kdm/Xsetup ?" ) then
echo "numlockx on" >> /usr/share/config/kdm/Xsetup
fi
;;
esac
done
exit 0

89
install/desktop/plasma5/kdeapps Executable file
View file

@ -0,0 +1,89 @@
#!/bin/bash
. ./lib
options=()
items=$(pacman -Sqg kde-applications)
for item in $items; do
case $item in
"dolphin" | \
"kdepasswd" | \
"kdialog" | \
"kfind" | \
"workspace" | \
"ksystemlog" | \
"kuser" | \
"ark" | \
"kwalletmanager" | \
"kgamma" | \
"ksnapshot" | \
"okular" | \
"audiocd-kio" | \
"ffmpegthumbs" | \
"mplayerthumbs" | \
"filesharing" | \
"zeroconf-ioslave" | \
"kate" | \
"thumbnailers" | \
"kdebase-dolphin" | \
"kdebase-kdepasswd" | \
"kdebase-kdialog" | \
"kdebase-kfind" | \
"kdebase-workspace" | \
"konsole" | \
"kwrite" | \
"kcron" | \
"kdeadmin-ksystemlog" | \
"kdeadmin-kuser" | \
"kdeutils-ark" | \
"kdeutils-kwalletmanager" | \
"kcalc" | \
"kcharselect" | \
"print-manager" | \
"kdegraphics-kgamma" | \
"kdegraphics-ksnapshot" | \
"kdegraphics-okular" | \
"kdemultimedia-audiocd-kio" | \
"kdemultimedia-ffmpegthumbs" | \
"kdemultimedia-mplayerthumbs" | \
"kdenetwork-filesharing" | \
"kdenetwork-zeroconf-ioslave" | \
"kate" | \
"kdesdk-thumbnailers" | \
"kdeartwork-"*) options+=("$item" "" on);;
"akregator" | \
"kaddressbook" | \
"kalarm" | \
"kleopatra" | \
"kmail" | \
"knotes" | \
"kontact" | \
"korganizer" | \
"kdepim-akregator" | \
"kdepim-kaddressbook" | \
"kdepim-kalarm" | \
"kdepim-kleopatra" | \
"kdepim-kmail" | \
"kdepim-knotes" | \
"kdepim-kontact" | \
"kdepim-korganizer" | \
"kdeartwork-"*) options+=("$item" "(recommended)" off);;
*) options+=("$item" "" off);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,29 @@
#!/bin/bash
. ./lib
options=()
items=$(pacman -Ssq kdeplasma-)
for item in $items; do
case $item in
"kdeplasma-addons-applets-icontasks" | \
"kdeplasma-applets-plasma-nm") options+=("$item" "" on);;
*) options+=("$item" "" off);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "KDE Plasma :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

29
install/desktop/plasma5/menu Executable file
View file

@ -0,0 +1,29 @@
#!/bin/bash
. ./lib
options=()
options+=("Plasma Packages" "")
#options+=("Plasma Meta Full" "pacman -S plasma-meta")
#options+=("Plasma Full" "pacman -S plasma")
options+=("KDE Apps" "")
options+=("Complements" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Plasma5 Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Plasma Packages') menu install/desktop/plasma5/plasma-packages;;
'Plasma Meta Full') instpkg "plasma-meta" "";;
'Plasma Full') instpkg "plasma" "";;
'KDE Plasma') script install/desktop/plasma5/kdeplasma;;
'KDE Apps') menu install/desktop/plasma5/kdeapps;;
'Complements') script install/desktop/plasma5/complements;;
esac
exit 0

View file

@ -0,0 +1,29 @@
#!/bin/bash
. ./lib
options=()
package="plasma"
items=$(pacman -Sqg $package)
for item in $items; do
case $item in
"plasma-mediacenter") options+=("$item" "" off);;
*) options+=("$item" "" on);;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,28 @@
#!/bin/bash
. ./lib
options=()
options+=("gksu" "" on)
options+=("gvfs" "" on)
options+=("gvfs-afc" "" on)
options+=("udisks" "" on)
options+=("network-manager-applet" "" on)
sel=$(whiptail --backtitle "$apptitle" --title "XFCE4 Complements :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
pressanykey
exit 0

32
install/desktop/xfce4/menu Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
. ./lib
options=()
options+=("xfce4" "")
options+=("xfce4-goodies" "")
options+=("Complements" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "XFCE4 Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'xfce4')
require install/desktop/xfce4/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/xfce4/packages
script install/desktop/xfce4/packages
;;
'xfce4-goodies')
require install/desktop/xfce4/packages 755
sed -i "/^package=/c\package=\"$sel\"" install/desktop/xfce4/packages
script install/desktop/xfce4/packages
;;
'Complements') script install/desktop/xfce4/complements;;
esac
exit 0

26
install/desktop/xfce4/packages Executable file
View file

@ -0,0 +1,26 @@
#!/bin/bash
. ./lib
options=()
package=""
items=$(pacman -Sqg $package)
for item in $items; do
options+=("$item" "" on)
done
sel=$(whiptail --backtitle "$apptitle" --title "$package Install :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

53
install/displaymngr/menu Executable file
View file

@ -0,0 +1,53 @@
#!/bin/bash
. ./lib
options=()
options+=("kdm" "KDE Login")
options+=("gdm" "Gnome Login")
options+=("sddm" "QT5 Login")
options+=("lxdm" "LXDE Login")
options+=("lightdm-gtk-greeter" "Other Login")
#options+=("lightdm-kde-greeter" "Other Login")
options+=("slim" "Other Login")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Install Display Manager Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
"kdm")
instpkg kdebase-workspace
svcenable kdm
;;
"gdm")
instpkg gdm
svcenable gdm
;;
"sddm")
instpkg sddm
svcenable sddm
;;
"lxdm")
instpkg lxdm
svcenable lxdm
;;
"lightdm-gtk-greeter")
instpkg lightdm-gtk-greeter
svcenable lightdm
;;
"lightdm-kde-greeter")
instpkg lightdm-kde-greeter
svcenable lightdm
;;
"slim")
instpkg slim
svcenable slim
;;
esac
exit 0

30
install/menu Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
. ./lib
options=()
options+=("Console" "")
options+=("System" "")
options+=("XOrg" "")
options+=("Desktop Environment" "")
options+=("Display Manager" "")
options+=("Applications" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
"Console") script install/console/menu;;
"System") menu install/system/menu;;
"XOrg") menu install/xorg/menu;;
"Display Manager") menu install/displaymngr/menu;;
"Desktop Environment") menu install/desktop/menu;;
"Applications") menu install/apps/menu;;
esac
exit 0

46
install/system/filesystem Executable file
View file

@ -0,0 +1,46 @@
#!/bin/bash
. ./lib
options=()
options+=("os-prober" "Detect OS for multi-boot (grub)" off)
options+=("snapper" "snapshot manager (ext4, lvm, btrfs)" off)
options+=("dosfstools" "FAT32 file support (Windows Drives)" on)
options+=("ntfs-3g" "NTFS file support (Windows Drives)" on)
options+=("btrfs-progs" "BTRFS file utils" on)
options+=("gptfdisk" "" on)
options+=("autofs" "" on)
options+=("fuse" "" on)
options+=("fuseiso" "" on)
options+=("samba" "" off)
options+=("nfs-utils" "" off)
options+=("open-iscsi" "" off)
options+=("sshfs" "" off)
#options+=("mtpfs" "" off)
#options+=("unionfs-fuse" "" off)
#options+=("glusterfs" "" off)
#options+=("fuse-exfat" "" off)
#options+=("exfat-utils" "" off)
#options+=("f2fs-tools" "" off)
#options+=("nilfs-utils" "" off)
#options+=("favfs2" "" off)
#options+=("gnome-vfs" "" off)
#options+=("s3fs-fuse" "" off)
#options+=("hfsprogs" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "File System Install" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

26
install/system/menu Executable file
View file

@ -0,0 +1,26 @@
#!/bin/bash
. ./lib
options=()
options+=("Services" "")
options+=("File System" "")
options+=("Sound" "")
options+=("Print" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "System Install Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Services') script install/system/services/menu;;
'File System') script install/system/filesystem;;
'Sound') script install/system/sound/sound;;
'Print') script install/system/print;;
esac
exit 0

40
install/system/print Executable file
View file

@ -0,0 +1,40 @@
#!/bin/bash
. ./lib
options=()
options+=("cups" "Print support" on)
options+=("ghostscript" "" on)
options+=("cups-pdf" "" on)
options+=("hplip" "" off)
options+=("gutenprint" "" off)
options+=("foomatic-db" "" off)
options+=("foomatic-db-engine" "" off)
options+=("foomatic-db-nonfree" "" off)
#options+=("system-config-printer" "" off)
sel=$(whiptail --backtitle "$apptitle" --title "System Print Install" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"cups"') svcenable org.cups.cupsd cups;;
'"cups-pdf"')
#if (confirm "Add a PDF Printer ?") then
#fi
#Redirect target folder
;;
esac
done
exit 0

87
install/system/services/menu Executable file
View file

@ -0,0 +1,87 @@
#!/bin/bash
. ./lib
options=()
options+=("networkmanager" "Network Management" on)
options+=("openssh" "Server SSH" on)
options+=("cronie" "Cron tasks server" on)
options+=("ntp" "Client NTP for clock sync" on)
options+=("numlockon" "numlock on on tty" on)
options+=("net-snmp" "SNMP Server" off)
options+=("syslog-ng" "" off)
#options+=("rsyslog" "" off)
#options+=("systemd-readahead" "(AUR) boot improvement" off)
sel=$(whiptail --backtitle "$apptitle" --title "Services Install" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"numlockon"') ;;
'"systemd-readahead"') aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"networkmanager"')
systemctl disable dhcpcd
if (svcenable NetworkManager) then
svcdisable dhcpd
fi
;;
'"openssh"')
svcenable sshd "SSH Server"
;;
'"cronie"')
svcenable cronie
;;
'"ntp"')
svcenable ntpd "NTP Server"
;;
'"numlockon"') script install/system/services/numlockon;;
'"syslog-ng"')
#echo "ForwardToSyslog=yes" >> /etc/systemd/journald.conf
systemctl enable syslog-ng
;;
'"rsyslog"')
systemctl enable rsyslog
;;
'"net-snmp"')
if (confirm "Create and edit /etc/snmp/snmpd.conf ?") then
mkdir /etc/snmp > /dev/null
echo "# SNMP Server Config" > /etc/snmp/snmpd.conf
echo "# ------------------" >> /etc/snmp/snmpd.conf
echo "" >> /etc/snmp/snmpd.conf
echo "# SNMP 1 and 2" >> /etc/snmp/snmpd.conf
echo "#rocommunity read_only_user" >> /etc/snmp/snmpd.conf
echo "#rwcommunity read_write_user" >> /etc/snmp/snmpd.conf
echo "" >> /etc/snmp/snmpd.conf
echo "# SNMP 3" >> /etc/snmp/snmpd.conf
echo "#rouser read_only_user" >> /etc/snmp/snmpd.conf
nano /etc/snmp/snmpd.conf
fi
if (confirm "Create and edit /var/net-snmp/snmpd.conf (for SNMPv3) ?") then
mkdir -p /var/net-snmp/ > /dev/null
echo "# Note : Clear text password will be encrypted when you restart snmpd." > /var/net-snmp/snmpd.conf
echo "" >> /var/net-snmp/snmpd.conf
echo "#createUser read_only_user SHA password1 AES password2" >> /var/net-snmp/snmpd.conf
nano /var/net-snmp/snmpd.conf
fi
svcenable snmpd "SNMP Server"
;;
'"systemd-readahead"')
svcenable systemd-readahead
;;
esac
done
exit 0

View file

@ -0,0 +1,18 @@
#!/bin/bash
. ./lib
if (confirm "numlockon is a custom service created by this script.\nIt call ""setleds -D +num"" on tty1 to tty6.\n\nCreate /etc/systemd/system/numlockon.service ?") then
cat > /etc/systemd/system/numlockon.service << "EOF"
[Unit]
Description=Switch on numlock from tty1 to tty6
[Service]
ExecStart=/bin/bash -c 'for tty in /dev/tty{1..6};do /usr/bin/setleds -D +num < \"$tty\";done'
[Install]
WantedBy=multi-user.target
EOF
svcenable numlockon
fi
exit 0

26
install/system/sound/sound Executable file
View file

@ -0,0 +1,26 @@
#!/bin/bash
. ./lib
options=()
options+=("alsa-utils" "Sound support" on)
options+=("alsa-plugins" "Extra alsa plugins" on)
#options+=("lib32-alsa-plugins" "Extra alsa plugins" on)
options+=("pulseaudio" "Sound server" on)
options+=("pulseaudio-alsa" "ALSA Configuration for PulseAudio" on)
sel=$(whiptail --backtitle "$apptitle" --title "System Sound Install" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,32 @@
#!/bin/bash
. ./lib
options=()
#options+=("numlockx" "" on)
sel=$(whiptail --backtitle "$apptitle" --title "XOrg Complements :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
for itm in $sel; do
case $itm in
'"numlockx"')
if ( confirm "Add numlockx on to /usr/share/config/kdm/Xsetup ?" ) then
echo "numlockx on" >> /usr/share/config/kdm/Xsetup
fi
;;
esac
done
exit 0

32
install/xorg/fonts/default Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
. ./lib
options=()
options+=("artwiz-fonts" "" on)
options+=("font-bh-ttf" "" on)
options+=("font-bitstream-speedo" "" on)
options+=("gsfonts" "" on)
options+=("sdl_ttf" "" on)
options+=("ttf-bitstream-vera" "" on)
options+=("ttf-cheapskate" "" on)
options+=("ttf-dejavu" "" on)
options+=("ttf-liberation" "" on)
options+=("xorg-fonts-type1" "" on)
sel=$(whiptail --backtitle "$apptitle" --title "XOrg Default Fonts :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

22
install/xorg/fonts/menu Executable file
View file

@ -0,0 +1,22 @@
#!/bin/bash
. ./lib
options=()
options+=("Default" "")
options+=("TTF" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "XOrg Fonts Install Menu" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Default') script install/xorg/fonts/default;;
'TTF') script install/xorg/fonts/ttf;;
esac
exit 0

29
install/xorg/fonts/ttf Executable file
View file

@ -0,0 +1,29 @@
#!/bin/bash
. ./lib
options=()
options+=("ttf-ms-fonts" "(AUR)" off)
items=$(pacman -Ssq ttf-)
for item in $items; do
options+=("$item" "" off)
done
sel=$(whiptail --backtitle "$apptitle" --title "XOrg TTF :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"ttf-ms-fonts"') aurpkg="$aurpkg ttf-ms-fonts";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,47 @@
#!/bin/bash
. ./lib
options=()
items=$(pacman -Ssq xf86-input)
for item in $items; do
case $item in
"xf86-input-keyboard") options+=("$item" "" on);;
"xf86-input-mouse") options+=("$item" "" on);;
"xf86-input-synaptics") options+=("$item" "(For Most TrackPad)" off);;
"xf86-input-vmmouse") options+=("$item" "(VMWare)" off);;
*) options+=("$item" "" off);;
esac
done
options+=("Saitek-R.A.T.3" "(Not tested)" off)
options+=("Madcatz-R.A.T.3" "(Not tested)" off)
options+=("Madcatz-R.A.T.5" "(Not tested)" off)
options+=("Madcatz-R.A.T.7" "" off)
options+=("Madcatz-R.A.T.9" "(Not tested)" off)
options+=("Madcatz-R.A.T.TE" "(Not tested)" off)
sel=$(whiptail --backtitle "$apptitle" --title "XOrg input drivers :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
'"Saitek-R.A.T.3"') script install/xorg/input-drivers/saitekrat3;;
'"Madcatz-R.A.T.3"') script install/xorg/input-drivers/madcatzrat3;;
'"Madcatz-R.A.T.5"') script install/xorg/input-drivers/madcatzrat5;;
'"Madcatz-R.A.T.7"') script install/xorg/input-drivers/madcatzrat7;;
'"Madcatz-R.A.T.9"') script install/xorg/input-drivers/madcatzrat9;;
'"Madcatz-R.A.T.TE"') script install/xorg/input-drivers/madcatzratte;;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

View file

@ -0,0 +1,15 @@
#!/bin/bash
. ./lib
if ( confirm "MadCatz Mad R.A.T.3 patch for xorg. This correct the stop working mouse bug after start X session.\n\nCreate /usr/share/X11/xorg.conf.d/50-madcatzrat3.conf ?" ) then
cat << EOF > /usr/share/X11/xorg.conf.d/50-madcatzrat3.conf
Section "InputClass"
Identifier "Madcatz Mad Catz R.A.T.3"
MatchProduct "Madcatz Mad Catz R.A.T.3 Mouse"
MatchDevicePath "/dev/input/event*"
Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 0 0 0 13 14 15 16 17 18"
EndSection
EOF
fi
exit 0

View file

@ -0,0 +1,18 @@
#!/bin/bash
. ./lib
if ( confirm "MadCatz Mad R.A.T.5 patch for xorg. This correct the stop working mouse bug after start X session.\n\nCreate /usr/share/X11/xorg.conf.d/50-madcatzrat5.conf ?" ) then
cat << EOF > /usr/share/X11/xorg.conf.d/50-madcatzrat5.conf
Section "InputClass"
Identifier "Madcatz Mad Catz R.A.T.5"
MatchProduct "Madcatz Mad Catz R.A.T.5 Mouse"
MatchDevicePath "/dev/input/event*"
Option "Buttons" "21"
Option "ButtonMapping" "1 2 3 4 5 0 0 11 10 7 6 8 0 0 0 0"
Option "ZAxisMapping" "4 5 11 10"
Option "AutoReleaseButtons" "13 14 15"
EndSection
EOF
fi
exit 0

View file

@ -0,0 +1,18 @@
#!/bin/bash
. ./lib
if ( confirm "MadCatz R.A.T.7 patch for xorg. This correct the stop working mouse bug after start X session.\n\nCreate /usr/share/X11/xorg.conf.d/50-madcatzrat7.conf ?" ) then
cat << EOF > /usr/share/X11/xorg.conf.d/50-madcatzrat7.conf
Section "InputClass"
Identifier "Mad Catz R.A.T.7"
MatchProduct "Mad Catz R.A.T.7 Mouse"
MatchDevicePath "/dev/input/event*"
Option "Buttons" "17"
Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 7 6 12 0 0 0 16 17"
Option "AutoReleaseButtons" "13 14 15"
Option "ZAxisMapping" "4 5 6 7"
EndSection
EOF
fi
exit 0

View file

@ -0,0 +1,18 @@
#!/bin/bash
. ./lib
if ( confirm "MadCatz R.A.T.9 patch for xorg. This correct the stop working mouse bug after start X session.\n\nCreate /usr/share/X11/xorg.conf.d/50-madcatzrat9.conf ?" ) then
cat << EOF > /usr/share/X11/xorg.conf.d/50-madcatzrat9.conf
Section "InputClass"
Identifier "Mad Catz R.A.T.9"
MatchProduct "Mad Catz R.A.T.9 Mouse"
MatchDevicePath "/dev/input/event*"
Option "Buttons" "17"
Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 7 6 12 0 0 0 16 17"
Option "AutoReleaseButtons" "13 14 15"
Option "ZAxisMapping" "4 5 6 7"
EndSection
EOF
fi
exit 0

View file

@ -0,0 +1,16 @@
#!/bin/bash
. ./lib
if ( confirm "MadCatz Mad R.A.T.TE patch for xorg. This correct the stop working mouse bug after start X session.\n\nCreate /usr/share/X11/xorg.conf.d/50-madcatzratte.conf ?" ) then
cat << EOF > /usr/share/X11/xorg.conf.d/50-madcatzratte.conf
Section "InputClass"
Identifier "Mad Catz Mad Catz R.A.T.TE"
MatchProduct "Mad Catz Mad Catz R.A.T.TE"
MatchDevicePath "/dev/input/event*"
Option "ButtonMapping" " 1 2 3 4 5 6 7 8 9 10 11 12 0 0 0"
Option "ZAxisMapping" "4 5 6 7"
EndSection
EOF
fi
exit 0

View file

@ -0,0 +1,15 @@
#!/bin/bash
. ./lib
if ( confirm "Saitek Cyborg R.A.T.3 patch for xorg. This correct the stop working mouse bug after start X session.\n\nCreate /usr/share/X11/xorg.conf.d/50-saitekrat3.conf ?" ) then
cat << EOF > /usr/share/X11/xorg.conf.d/50-saitekrat3.conf
Section "InputClass"
Identifier "Saitek Cyborg R.A.T.3"
MatchProduct "Saitek Cyborg R.A.T.3 Mouse"
MatchDevicePath "/dev/input/event*"
Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 0 0 0 13 14"
EndSection
EOF
fi
exit 0

36
install/xorg/install Executable file
View file

@ -0,0 +1,36 @@
#!/bin/bash
. ./lib
options=()
options+=("xorg-server" "" on)
options+=("xorg-xinit" "" on)
options+=("xorg-utils" "" on)
items=$(pacman -Ssq xorg-)
for item in $items; do
case $item in
"xorg-server") ;;
"xorg-xinit") ;;
"xorg-utils") ;;
*)
if [ ! "$(echo $item | cut -d '-' -f 1)" = "xf86" ]; then
options+=("$item" "" off)
fi
;;
esac
done
sel=$(whiptail --backtitle "$apptitle" --title "XOrg packages :" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0

28
install/xorg/menu Executable file
View file

@ -0,0 +1,28 @@
#!/bin/bash
. ./lib
options=()
options+=("Install" "")
options+=("Fonts" "")
options+=("Input Drivers" "")
options+=("Video Drivers" "")
#options+=("Complements" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "XOrg Install Menu" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Install') script install/xorg/install;;
'Fonts') menu install/xorg/fonts/menu;;
'Input Drivers') script install/xorg/input-drivers/input-drivers;;
'Video Drivers') script install/xorg/video-drivers/video-drivers;;
'Complements') script install/xorg/complements/complements;;
esac
exit 0

View file

@ -0,0 +1,37 @@
#!/bin/bash
. ./lib
gpus=$(lspci | grep -e VGA -e 3D)
whiptail --backtitle "$apptitle" --title "Detected video card" --msgbox "$gpus" 0 0
options=()
options+=("virtualbox-guest-utils" "" off)
options+=("nvidia" "" off)
options+=("nvidia-340xx" "" off)
options+=("nvidia-304xx" "" off)
#options+=("catalyst" "(AUR)" off)
#options+=("catalyst-total-hd234k" "(AUR)" off)
items=$(pacman -Ssq xf86-video)
for item in $items; do
options+=("$item" "" off)
done
sel=$(whiptail --backtitle "$apptitle" --title "XOrg video drivers :" --checklist "Choose video drivers for your system :" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
case $itm in
"catalyst" | \
"catalyst-total-hd234k") aurpkg="$aurpkg $(echo $itm | sed 's/"//g')";;
*) pkg="$pkg $(echo $itm | sed 's/"//g')";;
esac
done
instpkg "$pkg" "$aurpkg"
exit 0

128
launcher Executable file
View file

@ -0,0 +1,128 @@
#!/bin/bash
# Arch Linux Desktop Install (archdi)
# -----------------------------------
# author : matmoul[@sourceforge.net]
# license : GPLv3 (http://opensource.org/licenses/GPL-3.0)
apptitle="Arch Linux Desktop Install (archdi) - Version: 2015.04.26.22.14.52 (GPLv3)"
baseurl=https://raw.githubusercontent.com/MatMoul/archdi/master
liburl=$baseurl/lib
cachedir=~/.cache/archdi
version="2015.04.26.22.14.52"
help(){
echo "-h | --help : this screen"
echo "-i | --install : install"
echo "no args : start setup"
}
install(){
dependencies
echo "Install $apptitle ..."
echo ""
chmod 755 $0 2>/dev/null
mv $0 /usr/bin/archdi 2>/dev/null
echo ""
echo "$apptitle is installed."
echo "type archdi to start."
}
run(){
dependencies
rm -R $cachedir 2>/dev/null
mkdir -p $cachedir 2>/dev/null
cd $cachedir 2>/dev/null
wget -O lib $liburl 2>/dev/null
chmod 755 lib 2>/dev/null
if [ "$chrootoption" = "true" ]; then
./lib --chroot
else
./lib --root
fi
cd 2>/dev/null
rm -R $cachedir 2>/dev/null
}
dependencies(){
needinstall="false"
clear
echo "Checking internet connexion and sourceforge server..."
if (curl $liburl 1>/dev/null 2>/dev/null) then
echo "Connexion OK."
else
echo "No connexion, please check your internet connexion !"
exit 1
fi
echo ""
echo "Checking $apptitle dependencies :"
echo ""
if [ -e /usr/bin/wget ]; then
echo "wget : installed"
else
echo "wget : not installed"
needinstall="true"
fi
if [ -e /usr/bin/whiptail ]; then
echo "libnewt : installed"
else
echo "libnewt : not installed"
needinstall="true"
fi
if [ "$needinstall" = "true" ]; then
echo ""
echo "Install missing dependencies ?"
while read -n1 -p "[Y/N] :" -s yesno; do
if [[ $yesno = [YyNn] ]]; then
[[ $yesno = [Yy] ]] && yesno=1
[[ $yesno = [Nn] ]] && yesno=0
break
fi
echo ""
done
echo ""
if [ $yesno = 1 ]; then
pacman -S --needed wget libnewt
else
exit 1
fi
fi
echo ""
echo "Checking bin version..."
chkupgrade
}
chkupgrade(){
if [ -f "/usr/bin/archdi" ]; then
chkver=$version
#chkver=$(curl archdi.sourceforge.net/archdi/version)
if [ ! "$version" = "$chkver" ]; then
if (whiptail --backtitle "$apptitle" --yesno "New version found !\n\nInstall last version ?" 0 0) then
cd /tmp
wget archdi.sourceforge.net/archdi
sh archdi -i
exit 0
fi
fi
fi
}
while (( "$#" )); do
case $1 in
-h|--help) help
exit 0;;
-i|--install) install
exit 0;;
--rc) isrc=true
liburl=$liburl-rc;;
--chroot) chrootoption="true";;
esac
shift
done
run

180
lib Executable file
View file

@ -0,0 +1,180 @@
#!/bin/bash
# Arch Linux Desktop Install (archdi)
# -----------------------------------
# author : matmoul[@sourceforge.net]
# license : GPLv3 (http://opensource.org/licenses/GPL-3.0)
apptitle="Arch Linux Desktop Install (archdi) - Version: 2015.06.15.21.37.45 (GPLv3)"
baseurl=https://raw.githubusercontent.com/MatMoul/archdi/master
cachedir=~/.cache/archdi
# $1: path
menu(){
require $1 755
$cachedir/$1
if [ $? = 0 ]; then
menu $1
fi
}
# $1: path
script(){
require $1 755
$cachedir/$1
}
# $1: pacman packages
# $2: aur packages
instpkg(){
if [ ! "$1" = "" ]; then
clear
echo "# pacman -S --needed $1"
pacman -S --needed $1
pressanykey
fi
if [ ! "$2" = "" ]; then
if [ -f /usr/bin/yaourt ]; then
clear
echo "# sudo -u aurbuilder yaourt -S --needed $2"
sudo -u aurbuilder yaourt -S --needed $2
pressanykey
else
if [ -f /usr/bin/packer ]; then
clear
echo "# sudo -u aurbuilder packer -S $2"
sudo -u aurbuilder packer -S $2
pressanykey
else
clear
echo "To install AUR packages, you need to install yaourt or packer in updates menu !"
fi
fi
fi
}
# $1: string
# $2: [title]
choosepkg(){
if [ "$2" = "" ]; then
title=$1
else
title=$2
fi
options=()
items=$(pacman -Ssq $1)
for item in $items; do
options+=("$item" "" off)
done
sel=$(whiptail --backtitle "$apptitle" --title "$title" --checklist "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
for itm in $sel; do
pkg="$pkg $(echo $itm | sed 's/"//g')"
done
instpkg "$pkg" "$aurpkg"
exit 0
}
# $1: path
# $2: chmod
require(){
if [ ! -f "$cachedir/$1" ]; then
path=$(dirname $1)
mkdir -p $cachedir/$path 2> /dev/null
cd $cachedir/$path
wget $baseurl/$1 2> /dev/null
fi
chmod $2 $cachedir/$1
cd $cachedir
}
# $1 : message
# $2 : args
confirm(){
whiptail --backtitle "$apptitle" --yesno "$1" $2 0 0
}
pressanykey(){
read -n1 -p "Press any key to continue."
}
# $1 : servicename
# $2 : [displayname]
svcstart(){
if [ "$2" = "" ]; then
displayname="$1"
else
displayname="$2 ($1)"
fi
if (confirm "Start $displayname service ?\n\nsystemctl start $1") then
systemctl start $1
else
exit 1
fi
}
# $1 : servicename
# $2 : [displayname]
svcenable(){
if [ "$2" = "" ]; then
displayname="$1"
else
displayname="$2 ($1)"
fi
if (confirm "Start $displayname service at boot ?\n\nsystemctl enable $1") then
systemctl enable $1
else
exit 1
fi
}
# $1 : servicename
# $2 : [displayname]
svcdisable(){
if [ "$2" = "" ]; then
displayname="$1"
else
displayname="$2 ($1)"
fi
if (confirm "Disable $displayname service at boot ?\n\nsystemctl disable $1") then
systemctl disable $1
else
exit 1
fi
}
while (( "$#" )); do
case $1 in
--root)
menu menu
exit 0
;;
--chroot)
require menu 755
sed -i "/options+=(\"Shutdown\" \"\")/d" menu
menu menu
exit 0
;;
esac
shift
done

26
menu Executable file
View file

@ -0,0 +1,26 @@
#!/bin/bash
. ./lib
options=()
options+=("Updates" "")
options+=("Install" "")
options+=("Config" "")
options+=("Shutdown" "")
defaultitem=""
sel=$(whiptail --backtitle "$apptitle" --title "Main Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Exit" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
Updates) menu updates/menu;;
Config) menu config/menu;;
Install) menu install/menu;;
Shutdown) menu shutdown/menu;;
esac
exit 0

28
shutdown/menu Executable file
View file

@ -0,0 +1,28 @@
#!/bin/bash
. ./lib
options=()
options+=("Reboot" "")
options+=("Shutdown" "")
sel=$(whiptail --backtitle "$apptitle" --title "Shutdown Menu :" --menu "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
case $sel in
Reboot)
if (confirm "Reboot now ?" --defaultno) then
reboot
fi
;;
Shutdown)
if (confirm "Shutdown now ?" --defaultno) then
shutdown now
fi
;;
esac
exit 0

85
updates/menu Executable file
View file

@ -0,0 +1,85 @@
#!/bin/bash
. ./lib
options=()
if [ -f /usr/bin/yaourt ]; then
options+=("Upgrade with yaourt" "yaourt -Syua")
aurhelper=1
fi
if [ -f /usr/bin/packer ]; then
options+=("Upgrade with packer" "packer -Syu")
aurhelper=1
fi
if [ ! "$aurhelper" = "1" ]; then
options+=("Install yaourt" "")
options+=("Install packer" "")
options+=("" "")
fi
options+=("Upgrade" "pacman -Syu")
options+=("Clean" "pacman -Sc")
options+=("" "")
options+=("Edit pacman.conf" "")
options+=("Edit mirrorlist" "")
options+=("" "")
if [ "$aurhelper" = "1" ]; then
if [ ! -f /usr/bin/yaourt ]; then
options+=("Install yaourt" "")
fi
if [ ! -f /usr/bin/packer ]; then
options+=("Install packer" "")
fi
fi
sel=$(whiptail --backtitle "$apptitle" --title "Updates Menu :" --menu "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
checkaurdependencies(){
if [ ! -f /usr/bin/automake ]; then
pacman -S --needed base-devel
fi
if [ ! $(id -u "aurbuilder") ]; then
newpass=$(< /dev/urandom tr -dc "@#*%&_A-Z-a-z-0-9" | head -c16)
useradd -r -N -M -d /home/.aurbuilder -s /usr/bin/nologin aurbuilder
echo -e "$newpass\n$newpass\n"|passwd aurbuilder
echo "aurbuilder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
echo "root ALL=(aurbuilder) NOPASSWD: ALL" >> /etc/sudoers
newpass=""
fi
}
checkarchlinuxfrrepo(){
if [ ! $(cat /etc/pacman.conf | grep "archlinuxfr") ]; then
echo "[archlinuxfr]" >> /etc/pacman.conf
echo "SigLevel = Never" >> /etc/pacman.conf
echo 'Server = http://repo.archlinux.fr/$arch' >> /etc/pacman.conf
pacman -Syy
fi
}
case $sel in
'Upgrade') pacman -Syu;;
'Upgrade with yaourt') sudo -u aurbuilder yaourt -Syua;;
'Upgrade with packer') sudo -u aurbuilder packer -Syu;;
'Clean') pacman -Sc;;
'Edit pacman.conf') nano /etc/pacman.conf;;
'Edit mirrorlist') nano /etc/pacman.d/mirrorlist;;
'Install yaourt')
if(confirm "Yaourt allow you to access the AUR applications.\nBecause is not possible to compile applications as root,\nthis installer create an aurbuilder user.\n\nInstall yaourt ?") then
checkaurdependencies
checkarchlinuxfrrepo
pacman -S --needed yaourt
fi
;;
'Install packer')
if(confirm "Packer allow you to access the AUR applications.\nBecause is not possible to compile applications as root,\nthis installer create an aurbuilder user.\n\nInstall packer ?") then
checkaurdependencies
checkarchlinuxfrrepo
pacman -S --needed packer
fi
;;
esac
exit 0