f_00_Void_KDE_plasma_no-kernel.plug
# f_00_Void_KDE_plasma_no-kernel.plug # version="1.0"; revision="-CЕ-1.3" # Kennel Linux Void outfitted with a KDE-plasma desktop # Creation date 27.11.2024; Revision date:27.11.2024 # Copyright Kennel Linux team; License MIT # build this via terminal commands: build_firstrib_rootfs.sh # ./build_firstrib_rootfs.sh void default amd64 f_00_Void_KDE_plasma_no-kernel.plug # Architecture i386 will probably successfully build too as an alternative to amd64 # login is: # user=spot; passwd=spot # All the parameters/commandlines can be appropriately changed: # Simply comment in or comment out till you have what you desire # or add new packages to the xbps-install lists. # You can add as many valid commandlines as you want in here. # # base system echo base-minimal ncurses-base \ | xargs -n1 xbps-install -y echo file mc xterm xauth bash eudev \ | xargs -n1 xbps-install -y echo shadow wpa_supplicant \ | xargs -n1 xbps-install -y echo ntfs-3g zstd rsync \ | xargs -n1 xbps-install -y # set up passwd system pwconv grpconv printf "root\nroot\n" | passwd >/dev/null 2>&1 # Quietly set default root passwd to "root" # set root to use /bin/bash usermod --shell /bin/bash root # Set locale to en_US.UTF-8 sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/default/libc-locales echo "LANG=en_US.UTF-8" >> /etc/environment xbps-reconfigure -f glibc-locales # Set Bash as shell xbps-alternatives --set bash ## -------------------------------------------------------------------------- ## KDE Plasma echo kde5 kde5-baseapps \ | xargs -n1 xbps-install -Syu echo aha dmidecode clinfo glxinfo fwupd cryfs encfs libglvnd mesa-dri xf86-video-nouveau \ | xargs -n1 xbps-install -y echo xdg-user-dirs xdg-utils xtools xorg plasma-wayland-protocols mdadm dbus-elogind-x11 \ | xargs -n1 xbps-install -y echo vsv jq xf86-input-libinput kdegraphics-thumbnailers ffmpegthumbnailer polkit \ | xargs -n1 xbps-install -y echo gvfs gvfs-smb gvfs-mtp gvfs-cdda gvfs-afc acpid nano fastfetch gst-plugins-bad1 \ | xargs -n1 xbps-install -y echo gst-plugins-good1 gst-plugins-ugly1 xbacklight setxkbmap spectacle conky \ | xargs -n1 xbps-install -y echo git wget curl p7zip ark unzip tar unrar dtrx xinit mpv smplayer vte3 dialog octoxbps \ | xargs -n1 xbps-install -y echo kde-cli-tools mtools lm_sensors squashfs-tools kcron gufw plasma-firewall kwalletmanager okular \ | xargs -n1 xbps-install -y echo yad xmessage parted plasma-disks kpmcore mtpaint kolourpaint hddtemp kvantum krdc krdp krfb atool \ | xargs -n1 xbps-install -y echo zsh zsh-autosuggestions zsh-syntax-highlighting source-highlight fzf fd ripgrep gettext kwrite \ | xargs -n1 xbps-install -y echo wayland-utils Vulkan-Tools Vulkan-Headers void-artwork isoimagewriter kcolorchooser kcalc mtpfs gptfdisk wmctrl \ | xargs -n1 xbps-install -y echo dosfstools e2fsprogs btrfs-progs f2fs-tools udisks2 gtk-layer-shell plasma-vault ImageMagick \ | xargs -n1 xbps-install -y echo kdeconnect kcharselect sweeper filelight gwenview skanlite partitionmanager samba smbclient cifs-utils \ | xargs -n1 xbps-install -y echo nerd-fonts-symbols-ttf fonts-roboto-ttf font-awesome6 \ | xargs -n1 xbps-install -y # Build essentials # xbps-install base-devel make cmake rust cargo go # xbps-install -Suy void-repo-multilib void-repo-nonfree void-repo-debug void-repo-multilib-nonfree # Browser selection echo falkon \ | xargs -n1 xbps-install -y # Fix Fonts # ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/ xbps-reconfigure -f fontconfig # Pipewire volume - alsa-plugins-pulseaudio / libjack-pipewire echo pipewire wireplumber alsa-utils alsa-pipewire gstreamer1-pipewire paprefs pavucontrol pamixer ffmpeg ffmpegthumbs qpwgraph \ | xargs -n1 xbps-install -y # symlink pipewire.desktop launcher in /etc/xdg/autostart/ ln -s /usr/share/applications/pipewire.desktop /etc/xdg/autostart/pipewire.desktop ln -s /usr/share/applications/pipewire-pulse.desktop /etc/xdg/autostart/pipewire-pulse.desktop mkdir -p /etc/pipewire/pipewire.conf.d ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /etc/pipewire/pipewire.conf.d/ ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /etc/pipewire/pipewire.conf.d/ mkdir -p /etc/alsa/conf.d ln -s /usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d ln -s /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d # for root desktop # mkdir -p /root/.config/pipewire/pipewire.conf.d # ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /root/.config/pipewire/pipewire.conf.d/ # ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /root/.config/pipewire/pipewire.conf.d/ # for spot desktop mkdir -p /home/spot/.config/pipewire/pipewire.conf.d ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /home/spot/.config/pipewire/pipewire.conf.d/ ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /home/spot/.config/pipewire/pipewire.conf.d/ # power-profiles-daemon # powerprofilesctl set power-saver / balanced #change selected profile # powerprofilesctl #check what mode is being used # ln -s /etc/sv/power-profiles-daemon /var/service/ # xbps-install -y power-profiles-daemon # ln -s /etc/sv/power-profiles-daemon /etc/runit/runsvdir/default/power-profiles-daemon # Notebook Power Saving configuration # ln -s /etc/sv/tlp /var/service/ echo tlp tlpui tlp-rdw powertop \ | xargs -n1 xbps-install -y ln -s /etc/sv/tlp /etc/runit/runsvdir/default/tlp # tlpui cat <<'EOF' >> /usr/share/applications/tlpui.desktop [Desktop Entry] Name=TLP UI Exec=tlpui Terminal=false Type=Application Icon=tlpui Comment=Configuration interface Categories=Settings;HardwareSettings;GTK; EOF # Cups print service echo cups cups-filters cups-pdf samba-cups print-manager system-config-printer \ | xargs -n1 xbps-install -y ln -s /etc/sv/cupsd /etc/runit/runsvdir/default/cupsd # Install Network Manager # echo NetworkManager \ | xargs -n1 xbps-install -y ln -s /etc/sv/NetworkManager /etc/runit/runsvdir/default/NetworkManager # Bluetooth # bluez bluez-alsa blueman echo bluez bluez-deprecated libspa-bluetooth \ | xargs -n1 xbps-install -y ln -s /etc/sv/bluetoothd /etc/runit/runsvdir/default/bluetoothd usermod -G bluetooth -a spot # Add ~/Startup directory # mkdir -p /root/Startup cat <<'EOF' >> /usr/local/bin/start-up #!/bin/bash sleep 3 user_home=$(eval echo ~${SUDO_USER}) ls $user_home/Startup/* | while read J do "$J" & done EOF chmod +x /usr/local/bin/start-up # Setup autologin on tty1 # ##cp -a /etc/X11/xinit/xinitrc /root/.xinitrc ##cp -R /etc/sv/agetty-tty1 /etc/sv/agetty-autologin-tty1 ##sed -i 's/GETTY_ARGS.*/GETTY_ARGS="--autologin root --noclear"/' /etc/sv/agetty-autologin-tty1/conf # editing for autologin root ##touch /etc/sv/agetty-tty1/down # Arrange to startx in user's .bash_profile (per Arch Wiki) # Remove this section if not wanting boot straight into X ##touch ~/.bash_profile ##cat <<'AUTOLOGIN' > /etc/profile.d/autologin.sh # autologin on tty1 ##if [ -z "$DISPLAY" ] && [ "$(fgconsole)" -eq 1 ]; then ##exec startx # remove the exec if you want back to tty1 on exit X ##fi #AUTOLOGIN # Get and install autologin fix # ##cd /etc/sv ##wget https://rockedge.org/kernels/data/XBPS_packages/agetty-autologin-tty1.tar.gz ##tar xvfz agetty-autologin-tty1.tar.gz # Use agetty-autologin-tty1 instead of agetty-tty1 ##rm -f /etc/runit/runsvdir/default/agetty-tty1 ##ln -s /etc/sv/agetty-autologin-tty1 /etc/runit/runsvdir/default/agetty-autologin-tty1 # enable dbus service # ln -s /etc/sv/dbus /var/service ln -s /etc/sv/dbus /etc/runit/runsvdir/default/dbus # Enable ZSH by default # chsh -s /bin/zsh root # sed -i 's/zsh/# zsh/' /root/.bashrc ## autostart firewall Gufw ln -s /etc/sv/ufw /var/service # ln -s /etc/sv/ufw /etc/runit/runsvdir/default/ufw # sddm # ln -s /etc/sv/sddm /var/service ln -s /etc/sv/sddm /etc/runit/runsvdir/default/sddm # Samba config rm -f /etc/samba/smb.conf cat <<'EOF' >> /etc/samba/smb.conf [global] workgroup = Workgroup netbios name = void-live server string = KLV-Plasma-kde Server security = user map to guest = Bad Password printing = cups printcap name = cups load printers = yes client min protocol = NT1 server min protocol = LANMAN1 [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = yes writable = no printable = yes [smbvoid] path = /home/spot/smbvoid comment = Shared files writable = yes EOF # SAMBA README.md cat <<'README' >> /etc/samba/README.md 1. Create a user group: sudo groupadd -r sambauser 2. Add the user1 to the sambauser group: sudo gpasswd sambauser -a spot 3. Now create samba share user: sudo smbpasswd -a spot New SMB password: Retype new SMB password:README groupadd -r sambauser gpasswd sambauser -a spot ## USER CONFIGS: Copy main configs to /etc/skel for all normal users later added # xbps-install -y sudo # Configure system for multi-users # cp -af /root/. /etc/skel mkdir -p /etc/skel/.config /etc/skel/.cache /etc/skel/.local/share # # Create user spot and put in wheel group (and more) and give wheel group nopasswd sudo rights echo '%wheel ALL=(ALL) NOPASSWD: ALL' | (VISUAL="tee -a" visudo) # wheel group added to sudo no password required useradd -m -G audio,video,wheel,storage -s /bin/bash spot printf "spot\nspot" | passwd spot >/dev/null 2>&1 # Quietly set default spot passwd to "spot" # Create /root directories # mkdir -p /root/Desktop mkdir -p /root/Documents mkdir -p /root/Downloads mkdir -p /root/Music #mkdir -p /root/my-applications mkdir -p /root/Pictures mkdir -p /root/Public mkdir -p /root/Startup mkdir -p /root/Templates mkdir -p /root/Videos # Create /home/spot directories # mkdir -p /home/spot/Desktop mkdir -p /home/spot/Documents mkdir -p /home/spot/Downloads mkdir -p /home/spot/Music #mkdir -p /home/spot/my-applications mkdir -p /home/spot/Pictures mkdir -p /home/spot/Public mkdir -p /home/spot/Startup mkdir -p /home/spot/Templates mkdir -p /home/spot/Videos # save2flash mkdir -p /home/spot/.local/share/applications cat <<'EOF' >> /home/spot/.local/share/applications/save2flash.desktop #!/usr/bin/env xdg-open [Desktop Entry] Name=save2flash Comment=save RAM2 to media Exec=sudo save2flash Terminal=false Icon=system-save-session Type=Application Categories=Utility;System;Modules; EOF # Set permissions # chown -R spot:spot /home/spot # add users to groups and change permissions # usermod -a -G audio spot usermod -a -G video spot # chmod 755 / # chmod 755 /bin # chmod 755 /lib #### Get KLV custom packages #### # # Create and switch to build directory mkdir -p /root/Build cd /root/Build wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/save2flash-1.9_0.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/Create-xbps-tools-1.2_1.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/kde-plasma-config-1.0_1.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/kio-admin-24.08.2_1.x86_64.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/uextract-4.7_1.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/Conky_toggle_switch-1.0_1.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/plasma-welcome-6.1_3.x86_64.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/Yradio-Hypr-1.8_1.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/plasma-applet-weather-widget-3.0_3.x86_64.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/packit-1.0_2.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/qemu-ready-0.3_1.x86_64.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/gadmin-samba-0.3.2_1.x86_64.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/Termv-1.4_1.x86_64.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/Conky-restart-1.0_2.noarch.xbps wget -c https://gitlab.com/sofija.p2018/kla-ot2/-/raw/main/KDE-plasma-desktop/ttf-hack-nerd-3.3_1.noarch.xbps #### Install KLV custom packages #### # Register and index packages cd /root xbps-rindex -a Build/*.xbps # Install save2flash xbps-install -y --repository=Build/ save2flash-1.9_0 # xbps tools xbps-install -y --repository=Build/ Create-xbps-tools-1.2_1 # xbps kde-plasma-config xbps-install -y --repository=Build/ kde-plasma-config-1.0_1 # xbps kio-admin xbps-install -y --repository=Build/ kio-admin-24.08.2_1 # xbps uextract xbps-install -y --repository=Build/ uextract-4.7_1 # xbps Conky_toggle_switch xbps-install -y --repository=Build/ Conky_toggle_switch-1.0_1 # xbps plasma-welcome xbps-install -y --repository=Build/ plasma-welcome-6.1_3 # xbps Yradio-Hypr xbps-install -y --repository=Build/ Yradio-Hypr-1.8_1 # xbps plasma-applet-weather-widget xbps-install -y --repository=Build/ plasma-applet-weather-widget-3.0_3 # xbps packit xbps-install -y --repository=Build/ packit-1.0_2 # xbps qemu-ready xbps-install -y --repository=Build/ qemu-ready-0.3_1 # xbps gadmin-samba xbps-install -y --repository=Build/ gadmin-samba-0.3.2_1 # xbps Termv xbps-install -y --repository=Build/ Termv-1.4_1 # xbps Conky-restart xbps-install -y --repository=Build/ Conky-restart-1.0_2 # xbps ttf-hack-nerd xbps-install -y --repository=Build/ ttf-hack-nerd-3.3_1 # Set execution permissions recursivly for binaries and scripts chmod +x -R /usr/local/bin # Clean Up # rm -r /root/Build rm /var/cache/xbps/* ln -s /home/spot/.gtkrc-2.0 /root/.gtkrc-2.0 ln -s /home/spot/.config/gtk-3.0 /root/.config/gtk-3.0 # Set permissions # chown -R spot:spot /home/spot #----------------------------------------------------------------------- ## TIMEZONE SETUP # Etc/UTC # current_timezone="Etc/UTC" ln -sf /usr/share/zoneinfo/${current_timezone} /etc/localtime # Russian # ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime # to install from console # # current_timezone="Europe/Moscow" # ln -sf /usr/share/zoneinfo/${current_timezone} /etc/localtime #----------------------------------------------------------------------- echo "desktop build process finished" desktop build process finished" ess finished" " d process finished" ess finished" " </pre>