Skip to content

Instantly share code, notes, and snippets.

@ittp
Forked from grigio/alpine-kde-installer.sh
Last active August 19, 2022 00:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ittp/499460c33b4e866494210d847dc10ba6 to your computer and use it in GitHub Desktop.
Save ittp/499460c33b4e866494210d847dc10ba6 to your computer and use it in GitHub Desktop.
#!/bin/sh
# non-interactive kde installer for alpine
# apk add curl && curl -L https://cutt.ly/alpine_kde | sh
echo "I will make Alpine Linux a Desktop Linux.. ."
## Desktop user
apk add sudo
export USER='user'
adduser -D $USER && echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER && chmod 0440 /etc/sudoers.d/$USER
echo "➜ Desktop user created"
##
echo "‣ Add login manager"
## Set here your preferred X driver
apk add xf86-video-modesetting
setup-xorg-base
echo "‣ Add main and community repositories"
cat > /etc/apk/repositories << EOF; $(echo)
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
http://dl-cdn.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
EOF
apk update
echo "★ Add Desktop Environment"
apk add plasma-desktop kde-applications-network kde-applications-base
apk add polkit consolekit2 breeze breeze-icons systemsettings
# Add NetworkManager
apk add plasma-nm
rc-service networkmanager start
rc-update add networkmanager
# Add fuse
apk add fuse-openrc gvfs-fuse gvfs-smb
rc-service fuse start
rc-update add fuse
# NOTE: `sddm` do not work
apk add lightdm lightdm-gtk-greeter dbus-x11
# rc-service lightdm start
rc-update add lightdm
apk add alsa-utils alsa-lib alsaconf
addgroup $USER audio
addgroup root audio
apk add pulseaudio pulseaudio-alsa alsa-plugins-pulse
rc-service alsa start
rc-update add alsa
echo "★ Add software"
# apk add firefox-esr
#apk add chromium
apk add htop neofetch
echo "★★★ Congrats! ★★★ run: passwd user, to set your user password and then run: reboot"
## Some more stuff you could need
# rc-service wpa_supplicant start
# /etc/init.d/networking restart
# sudo rc-update add wpa_supplicant boot
# sudo apk add acpi
# sudo apk add cpufreqd
# sudo rc-update add cpufreqd
# sudo apk add xbacklight xrand
## FIXME
#- brightness keys not working
#- networkmanager
#- pulseaudio
# no shutdown from GUI
#- no auth mount usbke
#!/bin/sh
url="https://gist.githubusercontent.com/ittp/499460c33b4e866494210d847dc10ba6/raw/0701b4c8995d2f6177222f6a39c5532ec005e9f9/setup.sh"
# apk add curl bash
echo "Run setup"
check_network=$()
download_scripts() {
apk add curl && curl -L $script -O /tmp/setup_scripts.sh
}
source_setup() {
download_scripts
. /tmp/setup_scripts.sh
}
auto_setup() {
download_scripts
}
read -p "exec: " exec_command
exec $exec_command "$@"
mirror=""
arch=""
release=$(cat /etc/alpine-release | cut -d'.' -f1,2)
pkgs="xf86-video-modesetting"
setup-xorg-base
export USER='app'
echo "Alpine Linux setup desktop kiosk"
## Desktop user
apk add sudo
adduser -D $USER && echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER && chmod 0440 /etc/sudoers.d/$USER
echo "➜ Desktop user created"
##
echo "‣ Add login manager"
## Set here your preferred X driver
apk add xf86-video-modesetting
setup-xorg-base
echo "‣ Add main and community repositories"
cat > /etc/apk/repositories << EOF; $(echo)
http://dl-cdn.alpinelinux.org/alpine/v$release/main
http://dl-cdn.alpinelinux.org/alpine/v$release/community
EOF
apk update
# echo "★ Add Desktop Environment"
# apk add plasma-desktop kde-applications-network kde-applications-base
# apk add polkit consolekit2 breeze breeze-icons systemsettings
# Add NetworkManager
#apk add plasma-nm
setup_nm() {
apk add networkmanager networkmanager-cli
rc-service networkmanager start
rc-update add networkmanager
}
# Add fuse
apk add fuse-openrc gvfs-fuse gvfs-smb
rc-service fuse start
rc-update add fuse
# NOTE: `sddm` do not work
setup_lightdm() {
apk add lightdm lightdm-gtk-greeter dbus-x11
# rc-service lightdm start
rc-update add lightdm
}
setup_alsa() {
apk add alsa-utils alsa-lib alsaconf
addgroup $USER audio
addgroup root audio
}
# apk add pulseaudio pulseaudio-alsa alsa-plugins-pulse
# rc-service alsa start
# rc-update add alsa
setup_firefox()
{
apk add firefox-esr
}
setup_nodejs() {
apk update && apk add nodejs && apk add --update yarn
}
setup_custom() {
local pkgs="$0"
apk add chromium
apk add htop neofetch
if [[ -z $pkgs ]];
then
echo $pkgs
apk update && apk add $pkgs
fi;
}
# echo "★ Add software"
# apk add firefox-esr
# echo "★★★ Congrats! ★★★ run: passwd user, to set your user password and then run: reboot"
# rc-service wpa_supplicant start
# /etc/init.d/networking restart
# sudo rc-update add wpa_supplicant boot
# sudo apk add acpi
# sudo apk add cpufreqd
# sudo rc-update add cpufreqd
# sudo apk add xbacklight xrand
## FIXME
#- brightness keys not working
#- networkmanager
#- pulseaudio
# no shutdown from GUI
#- no auth mount usbke
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment