From 17b33e5d8a1d62aa04cf86416b4a3a6e5476f0fa Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Fri, 30 Aug 2024 23:33:06 -0400 Subject: [PATCH 1/4] Clone repo and reference local files rather than using curl to acquire files as needed --- .gitignore | 1 - README.md | 13 +- chrootInstall.sh | 118 ++++++++---------- commit.sh | 3 +- config-files/{ => plasma}/Sonnet.conf | 0 config-files/{ => plasma}/breezerc | 0 .../gruvboxDarkKonsole.colorscheme | 0 config-files/{ => plasma}/kactivitymanagerdrc | 0 config-files/{ => plasma}/katerc | 0 config-files/{ => plasma}/kded5rc | 0 .../kdeglobals-gruvboxDark.colors | 0 config-files/{ => plasma}/kglobalshortcutsrc | 0 config-files/{ => plasma}/konsole-profile | 0 config-files/{ => plasma}/konsolerc | 0 config-files/{ => plasma}/kwinrc | 0 .../plasma-org.kde.plasma.desktop-appletsrc | 0 config-files/{ => plasma}/powerdevilrc | 0 install.sh | 9 +- programs/konquake/konquake.desktop | 7 ++ programs/pipewire-start/pipewire.desktop | 7 ++ 20 files changed, 79 insertions(+), 79 deletions(-) delete mode 100644 .gitignore rename config-files/{ => plasma}/Sonnet.conf (100%) rename config-files/{ => plasma}/breezerc (100%) rename config-files/{ => plasma}/gruvboxDarkKonsole.colorscheme (100%) rename config-files/{ => plasma}/kactivitymanagerdrc (100%) rename config-files/{ => plasma}/katerc (100%) rename config-files/{ => plasma}/kded5rc (100%) rename config-files/{ => plasma}/kdeglobals-gruvboxDark.colors (100%) rename config-files/{ => plasma}/kglobalshortcutsrc (100%) rename config-files/{ => plasma}/konsole-profile (100%) rename config-files/{ => plasma}/konsolerc (100%) rename config-files/{ => plasma}/kwinrc (100%) rename config-files/{ => plasma}/plasma-org.kde.plasma.desktop-appletsrc (100%) rename config-files/{ => plasma}/powerdevilrc (100%) create mode 100644 programs/konquake/konquake.desktop create mode 100644 programs/pipewire-start/pipewire.desktop diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 72e8ffc..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/README.md b/README.md index ec79e97..c70acb3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ With the recent release of Plasma 6, this script needs some restructuring. Do not use it until this message disappears. # Overview -An Artix Linux (OpenRC) installation script that can be used to install and configure Artix Linux (OpenRC) with my preferred setup. +An Artix Linux (OpenRC) installation script that can be used to install and configure Artix Linux (OpenRC) with _**my**_ preferred setup. Some major/noteworthy differences from common configurations: @@ -14,21 +14,20 @@ Some major/noteworthy differences from common configurations: - Plasma Wayland is configured for speed and security by default (disabled Klipper, Baloo, session restore, etc.) # Usage -Upon loading up the official Artix OpenRC base ISO (tested on weekly base images only), logging in, connecting to the internet, and switching to the root user, run: +Upon loading up the official Artix OpenRC base ISO (tested on weekly base images only), logging in as root, and connecting to the internet, run: ``` -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/install.sh -o install.sh -chmod +x install.sh +pacman -Sy git +git clone --depth 1 https://github.com/rwinkhart/artix-install-script +cd artix-install-script ./install.sh ``` -After running the script, it will ask you some questions about your desired configuration. Answer them and then the installation will complete automatically. +After running the script, it will ask some questions about your desired configuration. Answer them and then the installation will complete automatically. # Supported Devices Generic: - - Most x86_64 desktops and laptops Special: - - ASUS Zephyrus G14 (2020) diff --git a/chrootInstall.sh b/chrootInstall.sh index 1eea318..559754a 100755 --- a/chrootInstall.sh +++ b/chrootInstall.sh @@ -15,13 +15,16 @@ intel_vaapi_driver=${args[9]} res_x=${args[10]} res_y_half=${args[11]} +# cd into repo directory +cd /mnt + # configuring locale and clock Settings echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen echo 'LANG=en_US.UTF-8' > /etc/locale.conf ln -s "$timezone" /etc/localtime locale-gen -# networkmanager configuration +# networkmanager configuration pacman -S networkmanager-openrc --noconfirm rc-update add NetworkManager @@ -36,8 +39,8 @@ if [ "$boot" == 2 ]; then echo "Exec=/bin/sh -c 'grub-install --target=i386-pc "$disk" && grub-mkconfig -o /boot/grub/grub.cfg'" >> /etc/pacman.d/hooks/grub.hook grub-install --target=i386-pc "$disk" fi -cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/grub -o /etc/default/grub +install -m 0644 /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo +install -m 0644 ./config-files/grub /etc/default/grub if [ "$gpu" == 'NVIDIA' ]; then echo "GRUB_CMDLINE_LINUX_DEFAULT=\"loglevel=3 quiet sysrq_always_enabled=1 nowatchdog mem_sleep_default=deep nvidia-drm.modeset=1\"" >> /etc/default/grub elif [ "$gpu" == 'AMD' ]; then @@ -63,24 +66,23 @@ permit nopass :wheel as root cmd /usr/bin/reboot ln -s /usr/bin/doas /usr/local/bin/sudo # pacman configuration -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/pacman.conf -o /etc/pacman.conf -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/makepkg.conf -o /etc/makepkg.conf +install -m 0644 ./config-files/pacman.conf /etc/pacman.conf +install -m 0644 ./config-files/makepkg.conf /etc/makepkg.conf mkdir -p /etc/pacman.d/hooks -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/paccache-clean.hook -o /etc/pacman.d/hooks/paccache-clean.hook -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/modemmanager.hook -o /etc/pacman.d/hooks/modemmanager.hook -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/dash-link.hook -o /etc/pacman.d/hooks/dash-link.hook +install -m 0644 ./config-files/paccache-clean.hook /etc/pacman.d/hooks/paccache-clean.hook +install -m 0644 ./config-files/modemmanager.hook /etc/pacman.d/hooks/modemmanager.hook +install -m 0644 ./config-files/dash-link.hook /etc/pacman.d/hooks/dash-link.hook if [ "$gpu" == 'NVIDIA' ]; then - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/nvidia.hook -o /etc/pacman.d/hooks/nvidia.hook - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/nvidia-lts.hook -o /etc/pacman.d/hooks/nvidia-lts.hook + install -m 0644 ./config-files/nvidia.hook /etc/pacman.d/hooks/nvidia.hook + install -m 0644 ./config-files/nvidia-lts.hook /etc/pacman.d/hooks/nvidia-lts.hook fi # shell configuration -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/shell-profile -o /home/"$username"/.profile -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/zshrc -o /home/"$username"/.zshrc -chown "$username":users /home/"$username"/{.profile,.zshrc} +pacman -Sy zsh zsh-autosuggestions zsh-syntax-highlighting --noconfirm +install -m 0644 -o $username -g users ./config-files/shell-profile /home/"$username"/.profile +install -m 0644 -o $username -g users ./config-files/zshrc /home/"$username"/.zshrc chsh -s /bin/dash "$username" ln -sfT dash /usr/bin/sh -pacman -Sy zsh zsh-autosuggestions zsh-syntax-highlighting --noconfirm # installing hardware-specific packages if [ "$gpu" == 'AMD' ]; then @@ -106,8 +108,7 @@ echo 'blacklist iTCO_wdt' > /etc/modprobe.d/blacklist.conf if [ "$formfactor" == 2 ] || [ "$formfactor" == 1 ]; then pacman -S powertop --needed --noconfirm else - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/ntp-rclocal/20-ntp.start -o /etc/local.d/20-ntp.start - chmod 755 /etc/local.d/20-ntp.start + install -m 0755 ./programs/ntp-rclocal/20-ntp.start /etc/local.d/20-ntp.start echo "0" > /etc/local.d/.ntpsync fi @@ -123,51 +124,43 @@ if [ "$formfactor" == 1 ] || [ "$formfactor" == 2 ] || [ "$formfactor" == 3 ]; t pacman -S qt6-wayland plasma-desktop xdg-desktop-portal-kde kscreen spectacle gwenview ark kate dolphin konsole kwallet-pam kwalletmanager plasma-nm plasma-pa breeze-gtk kde-gtk-config bluedevil qt6-imageformats qt6-multimedia-ffmpeg pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber wayland-protocols hunspell hunspell-en_us bluez-openrc --needed --noconfirm # misc. config - mkdir -p /home/"$username"/.local/share/{konsole,color-schemes,dolphin/view_properties/global} - mkdir -p /home/"$username"/.config/KDE - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kdeglobals-gruvboxDark.colors -o /home/"$username"/.config/kdeglobals - cp /home/"$username"/.config/kdeglobals /home/"$username"/.local/share/color-schemes/gruvboxDark.colors - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/konsole-profile -o /home/"$username"/.local/share/konsole/Custom.profile - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/gruvboxDarkKonsole.colorscheme -o /home/"$username"/.local/share/konsole/gruvboxDark.colorscheme - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/konsolerc -o /home/"$username"/.config/konsolerc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/katerc -o /home/"$username"/.config/katerc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/Sonnet.conf -o /home/"$username"/.config/KDE/Sonnet.conf - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kactivitymanagerdrc -o /home/"$username"/.config/kactivitymanagerdrc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/breezerc -o /home/"$username"/.config/breezerc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kglobalshortcutsrc -o /home/"$username"/.config/kglobalshortcutsrc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/powerdevilrc -o /home/"$username"/.config/powerdevilrc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kded5rc -o /home/"$username"/.config/kded5rc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kwinrc -o /home/"$username"/.config/kwinrc - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/plasma-org.kde.plasma.desktop-appletsrc -o /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc - echo -e "[Dolphin]\nVersion=4\nVisibleRoles=Icons_text,Icons_size,Icons_modificationtime" > /home/"$username"/.local/share/dolphin/view_properties/global/.directory - echo -e "[General]\nActivateWhenTypingOnDesktop=false\nFreeFloating=true\n\n[Plugins]\nbaloosearchEnabled=false\nhelprunnerEnabled=false\nkrunner_appstreamEnabled=false\nkrunner_bookmarksrunnerEnabled=false\nkrunner_charrunnerEnabled=false\nkrunner_katesessionsEnabled=false\nkrunner_killEnabled=false\nkrunner_konsoleprofilesEnabled=false\nkrunner_kwinEnabled=false\nkrunner_placesrunnerEnabled=false\nkrunner_plasma-desktopEnabled=false\nkrunner_powerdevilEnabled=false\nkrunner_recentdocumentsEnabled=false\nkrunner_sessionsEnabled=false\nkrunner_webshortcutsEnabled=false\nlocationsEnabled=false\norg.kde.activities2Enabled=false\nwindowsEnabled=false" > /home/"$username"/.config/krunnerrc - echo -e "[Basic Settings]\nIndexing-Enabled=false" > /home/"$username"/.config/baloofilerc - echo -e "[General]\nloginMode=emptySession" > /home/"$username"/.config/ksmserverrc - + install -m 0600 -o $username -g users ./config-files/plasma/kdeglobals-gruvboxDark.colors /home/"$username"/.config/kdeglobals + install -Dm 0600 -o $username -g users ./config-files/plasma/kdeglobals-gruvboxDark.colors /home/"$username"/.local/share/color-schemes/gruvboxDark.colors + install -Dm 0600 -o $username -g users ./config-files/plasma/konsole-profile /home/"$username"/.local/share/konsole/Custom.profile + install -m 0600 -o $username -g users ./config-files/plasma/gruvboxDarkKonsole.colorscheme /home/"$username"/.local/share/konsole/gruvboxDark.colorscheme + install -m 0600 -o $username -g users ./config-files/plasma/konsolerc /home/"$username"/.config/konsolerc + install -m 0600 -o $username -g users ./config-files/plasma/katerc /home/"$username"/.config/katerc + install -Dm 0600 -o $username -g users ./config-files/plasma/Sonnet.conf /home/"$username"/.config/KDE/Sonnet.conf + install -m 0600 -o $username -g users ./config-files/plasma/kactivitymanagerdrc /home/"$username"/.config/kactivitymanagerdrc + install -m 0600 -o $username -g users ./config-files/plasma/breezerc /home/"$username"/.config/breezerc + install -m 0600 -o $username -g users ./config-files/plasma/kglobalshortcutsrc /home/"$username"/.config/kglobalshortcutsrc + install -m 0600 -o $username -g users ./config-files/plasma/powerdevilrc /home/"$username"/.config/powerdevilrc + install -m 0600 -o $username -g users ./config-files/plasma/kded5rc /home/"$username"/.config/kded5rc + install -m 0600 -o $username -g users ./config-files/plasma/kwinrc /home/"$username"/.config/kwinrc + install -m 0600 -o $username -g users ./config-files/plasma/plasma-org.kde.plasma.desktop-appletsrc /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc + echo -e "[Dolphin]\nVersion=4\nVisibleRoles=Icons_text,Icons_size,Icons_modificationtime" | install -Dm 0600 -o $username -g users /dev/stdin /home/"$username"/.local/share/dolphin/view_properties/global/.directory + echo -e "[General]\nActivateWhenTypingOnDesktop=false\nFreeFloating=true\n\n[Plugins]\nbaloosearchEnabled=false\nhelprunnerEnabled=false\nkrunner_appstreamEnabled=false\nkrunner_bookmarksrunnerEnabled=false\nkrunner_charrunnerEnabled=false\nkrunner_katesessionsEnabled=false\nkrunner_killEnabled=false\nkrunner_konsoleprofilesEnabled=false\nkrunner_kwinEnabled=false\nkrunner_placesrunnerEnabled=false\nkrunner_plasma-desktopEnabled=false\nkrunner_powerdevilEnabled=false\nkrunner_recentdocumentsEnabled=false\nkrunner_sessionsEnabled=false\nkrunner_webshortcutsEnabled=false\nlocationsEnabled=false\norg.kde.activities2Enabled=false\nwindowsEnabled=false" | install -m 0600 -o $username -g users /dev/stdin /home/"$username"/.config/krunnerrc + echo -e "[Basic Settings]\nIndexing-Enabled=false" | install -m 0600 -o $username -g users /dev/stdin /home/"$username"/.config/baloofilerc + echo -e "[General]\nloginMode=emptySession" | install -m 0600 -o $username -g users /dev/stdin /home/"$username"/.config/ksmserverrc + # pipewire - mkdir /home/"$username"/.config/autostart - echo -e "[Desktop Entry]\nExec=/usr/local/bin/pipewire-start.sh\nIcon=\nName=pipewire-start\nPath=\nTerminal=False\nType=Application" > /home/"$username"/.config/autostart/pipewire.desktop - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/pipewire-start/pipewire-start.sh -o /usr/local/bin/pipewire-start.sh + install -m 0755 ./programs/pipewire-start/pipewire-start.sh /usr/local/bin/pipewire-start.sh + install -Dm 0644 -o $username -g users ./programs/pipewire-start/pipewire.desktop /home/"$username"/.config/autostart/pipewire.desktop # konquake - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/konquake/konquake.sh -o /usr/local/bin/konquake - echo -e "[Desktop Entry]\nExec=/usr/local/bin/konquake\nName=/usr/local/bin/konquake\nNoDisplay=true\nStartupNotify=false\nType=Application\nX-KDE-GlobalAccel-CommandShortcut=true" > /home/"$username"/.local/share/applications/konquake.desktop - echo -e "[1]\nDescription=konquake\nabove=true\naboverule=2\nnoborder=true\nnoborderrule=2\nplacement=6\nplacementrule=2\nsize=$res_x,$res_y_half\nsizerule=3\ntitle=konquake session\ntitlematch=2\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[2]\nDescription=konsole\nsize=1280,800\nsizerule=3\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[General]\ncount=2\nrules=1,2" > /home/"$username"/.config/kwinrulesrc - - # permissions - chmod 755 /usr/local/bin/konquake /usr/local/bin/pipewire-start.sh - chown -R "$username":users /home/"$username"/.config/katerc /home/"$username"/.config/konsolerc /home/"$username"/.local/share/konsole /home/"$username"/.config/krunnerrc /home/"$username"/.config/baloofilerc /home/"$username"/.config/ksmserverrc /home/"$username"/.config/kwinrulesrc /home/"$username"/.config/kdeglobals /home/"$username"/.local/share/color-schemes/gruvboxDark.colors /home/"$username"/.local/share/konsole/Custom.profile /home/"$username"/.local/share/konsole/gruvboxDark.colorscheme /home/"$username"/.config/kglobalshortcutsrc /home/"$username"/.config/powerdevilrc /home/"$username"/.config/kwinrc /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc /home/"$username"/.config/kded5rc /home/"$username"/.config/breezerc /home/"$username"/.config/KDE/Sonnet.conf /home/"$username"/.config/kactivitymanagerdrc /home/"$username"/.local/share/dolphin /home/"$username"/.config/autostart /home/"$username"/.local/share/applications + install -m 0755 ./programs/konquake/konquake.sh /usr/local/bin/konquake + install -Dm 0644 -o $username -g users ./programs/konquake/konquake.desktop /home/"$username"/.local/share/applications/konquake.desktop + echo -e "[1]\nDescription=konquake\nabove=true\naboverule=2\nnoborder=true\nnoborderrule=2\nplacement=6\nplacementrule=2\nsize=$res_x,$res_y_half\nsizerule=3\ntitle=konquake session\ntitlematch=2\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[2]\nDescription=konsole\nsize=1280,800\nsizerule=3\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[General]\ncount=2\nrules=1,2" | install -m 0600 -o $username -g users /dev/stdin /home/"$username"/.config/kwinrulesrc fi # asus g14 2020 configuration if [ "$formfactor" == 1 ]; then echo 'options snd_hda_intel power_save=1' > /etc/modprobe.d/audio_powersave.conf - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/g14-tunables/30-tunables.start -o /etc/local.d/30-tunables.start - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/g14-bashpower/15-bashpower.start -o /etc/local.d/15-bashpower.start - curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/NVIDIA-FCKR/NVIDIA-FCKR -o /usr/local/bin/NVIDIA-FCKR + install -m 0755 ./programs/g14-tunables/30-tunables.start /etc/local.d/30-tunables.start + install -m 0755 ./programs/g14-bashpower/15-bashpower.start /etc/local.d/15-bashpower.start + install -m 0755 ./programs/NVIDIA-FCKR/NVIDIA-FCKR /usr/local/bin/NVIDIA-FCKR pacman -S mesa vulkan-icd-loader vulkan-radeon libva-mesa-driver libva-utils acpi_call iw --needed --noconfirm - chmod 755 /etc/local.d/15-bashpower.start /etc/local.d/30-tunables.start /usr/local/bin/NVIDIA-FCKR NVIDIA-FCKR integrated fi @@ -181,16 +174,14 @@ chmod 600 /home/"$username"/.ssh/authorized_keys # gpg configuration mkdir -p /home/"$username"/.gnupg -echo 'pinentry-program /usr/bin/pinentry-tty' > /home/"$username"/.gnupg/gpg-agent.conf # forces gpg prompts to use terminal input -chown -R "$username":users /home/"$username"/.gnupg chmod 700 /home/"$username"/.gnupg -chmod 600 /home/"$username"/.gnupg/gpg-agent.conf +chown -R "$username":users /home/"$username"/.gnupg +echo 'pinentry-program /usr/bin/pinentry-tty' | install -m 0600 /dev/stdin /home/"$username"/.gnupg/gpg-agent.conf # misc configuration -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/powerset/powerset.sh -o /usr/local/bin/powerset.sh -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/zsh-histclean/histclean -o /usr/local/bin/histclean -echo -e "#!/bin/sh\nfstrim -Av &" > /etc/local.d/99-trim.start -chmod 755 /usr/local/bin/powerset.sh /usr/local/bin/histclean /etc/local.d/99-trim.start +install -m 0755 ./programs/powerset/powerset.sh /usr/local/bin/powerset.sh +install -m 0755 ./programs/zsh-histclean/histclean /usr/local/bin/histclean +echo -e "#!/bin/sh\nfstrim -Av &" | install -m 0755 /dev/stdin /etc/local.d/99-trim.start if [ "$swap" -gt 0 ]; then echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf else @@ -200,15 +191,14 @@ echo -e ""$username" soft memlock 64\n"$username" hard echo 'vm.max_map_count=2147483642' > /etc/sysctl.d/90-override.conf # increase max virtual memory maps (helps with some Wine games) pacman -S neofetch htop neovim --needed --noconfirm mkdir -p /etc/xdg/nvim/colors -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/sysinit.vim -o /etc/xdg/nvim/sysinit.vim -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/gruvbox.vim -o /etc/xdg/nvim/colors/gruvbox.vim +install -m 0644 ./config-files/sysinit.vim /etc/xdg/nvim/sysinit.vim +install -m 0644 ./config-files/gruvbox.vim /etc/xdg/nvim/colors/gruvbox.vim rc-update add local boot rc-update del local default -# finishing up + cleaning -rm -rf /chrootInstall.sh /tempfiles +# echo completion message echo -e "\n---------------------------------------------------------" -echo installation completed! -echo please poweroff and remove the installation media before powering back on. +echo Installation completed! +echo Please poweroff and remove the installation media before powering back on. echo -e "---------------------------------------------------------\n" exit diff --git a/commit.sh b/commit.sh index ca481d7..8d7c559 100755 --- a/commit.sh +++ b/commit.sh @@ -1,4 +1,3 @@ #!/bin/sh -git add -f config-files programs chrootInstall.sh install.sh LICENSE README.md commit.sh .gitignore -git commit -m "$1" +git commit -am "$1" git push diff --git a/config-files/Sonnet.conf b/config-files/plasma/Sonnet.conf similarity index 100% rename from config-files/Sonnet.conf rename to config-files/plasma/Sonnet.conf diff --git a/config-files/breezerc b/config-files/plasma/breezerc similarity index 100% rename from config-files/breezerc rename to config-files/plasma/breezerc diff --git a/config-files/gruvboxDarkKonsole.colorscheme b/config-files/plasma/gruvboxDarkKonsole.colorscheme similarity index 100% rename from config-files/gruvboxDarkKonsole.colorscheme rename to config-files/plasma/gruvboxDarkKonsole.colorscheme diff --git a/config-files/kactivitymanagerdrc b/config-files/plasma/kactivitymanagerdrc similarity index 100% rename from config-files/kactivitymanagerdrc rename to config-files/plasma/kactivitymanagerdrc diff --git a/config-files/katerc b/config-files/plasma/katerc similarity index 100% rename from config-files/katerc rename to config-files/plasma/katerc diff --git a/config-files/kded5rc b/config-files/plasma/kded5rc similarity index 100% rename from config-files/kded5rc rename to config-files/plasma/kded5rc diff --git a/config-files/kdeglobals-gruvboxDark.colors b/config-files/plasma/kdeglobals-gruvboxDark.colors similarity index 100% rename from config-files/kdeglobals-gruvboxDark.colors rename to config-files/plasma/kdeglobals-gruvboxDark.colors diff --git a/config-files/kglobalshortcutsrc b/config-files/plasma/kglobalshortcutsrc similarity index 100% rename from config-files/kglobalshortcutsrc rename to config-files/plasma/kglobalshortcutsrc diff --git a/config-files/konsole-profile b/config-files/plasma/konsole-profile similarity index 100% rename from config-files/konsole-profile rename to config-files/plasma/konsole-profile diff --git a/config-files/konsolerc b/config-files/plasma/konsolerc similarity index 100% rename from config-files/konsolerc rename to config-files/plasma/konsolerc diff --git a/config-files/kwinrc b/config-files/plasma/kwinrc similarity index 100% rename from config-files/kwinrc rename to config-files/plasma/kwinrc diff --git a/config-files/plasma-org.kde.plasma.desktop-appletsrc b/config-files/plasma/plasma-org.kde.plasma.desktop-appletsrc similarity index 100% rename from config-files/plasma-org.kde.plasma.desktop-appletsrc rename to config-files/plasma/plasma-org.kde.plasma.desktop-appletsrc diff --git a/config-files/powerdevilrc b/config-files/plasma/powerdevilrc similarity index 100% rename from config-files/powerdevilrc rename to config-files/plasma/powerdevilrc diff --git a/install.sh b/install.sh index 61e30e6..0203cb9 100755 --- a/install.sh +++ b/install.sh @@ -3,7 +3,7 @@ loadkeys us echo ---------------------------------------------------------------------------------------------- echo rwinkhart\'s Artix Install Script -echo last updated August 27, 2024 \(rev. A\) +echo Last updated August 30, 2024 \(rev. A\) echo ---------------------------------------------------------------------------------------------- echo You will be asked some questions before installation. echo -e "----------------------------------------------------------------------------------------------\n" @@ -232,7 +232,6 @@ done # create array of variables to pass to part 2 var_export=($formfactor $threadsminusone $gpu $boot $disk0 $username $userpassword $timezone $swap $intel_vaapi_driver $res_x $res_y_half) -# download and initiate part 2 -curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/chrootInstall.sh -o /mnt/chrootInstall.sh -chmod +x /mnt/chrootInstall.sh -artix-chroot /mnt /chrootInstall.sh "${var_export[@]}" +# initiate part 2 +mount --bind /root/artix-install-script /mnt/mnt +artix-chroot /mnt /mnt/chrootInstall.sh "${var_export[@]}" diff --git a/programs/konquake/konquake.desktop b/programs/konquake/konquake.desktop new file mode 100644 index 0000000..18f5de7 --- /dev/null +++ b/programs/konquake/konquake.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Exec=/usr/local/bin/konquake +Name=/usr/local/bin/konquake +NoDisplay=true +StartupNotify=false +Type=Application +X-KDE-GlobalAccel-CommandShortcut=true diff --git a/programs/pipewire-start/pipewire.desktop b/programs/pipewire-start/pipewire.desktop new file mode 100644 index 0000000..3e852ca --- /dev/null +++ b/programs/pipewire-start/pipewire.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Exec=/usr/local/bin/pipewire-start.sh +Icon= +Name=pipewire-start +Path= +Terminal=False +Type=Application From 44adf7dcadeb724e32d424d369b7e0d0447ab02e Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Fri, 30 Aug 2024 23:44:26 -0400 Subject: [PATCH 2/4] Ensure pacman hooks directory exists in bootloader installation step (for grub hook) --- chrootInstall.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chrootInstall.sh b/chrootInstall.sh index 559754a..4424c0e 100755 --- a/chrootInstall.sh +++ b/chrootInstall.sh @@ -30,7 +30,7 @@ rc-update add NetworkManager # bootloader installation and configuration pacman -S grub efibootmgr os-prober mtools dosfstools --noconfirm -echo -e "[Trigger]\nOperation=Install\nOperation=Upgrade\nType=Package\nTarget=grub\n\n[Action]\nDescription=Re-install grub after package upgrade.\nWhen=PostTransaction\nNeedsTargets" > /etc/pacman.d/hooks/grub.hook +echo -e "[Trigger]\nOperation=Install\nOperation=Upgrade\nType=Package\nTarget=grub\n\n[Action]\nDescription=Re-install grub after package upgrade.\nWhen=PostTransaction\nNeedsTargets" | install -Dm 0644 /dev/stdin /etc/pacman.d/hooks/grub.hook if [ "$boot" == 1 ]; then echo "Exec=/bin/sh -c 'grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB --recheck && grub-mkconfig -o /boot/grub/grub.cfg'" >> /etc/pacman.d/hooks/grub.hook grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB --recheck @@ -68,7 +68,6 @@ ln -s /usr/bin/doas /usr/local/bin/sudo # pacman configuration install -m 0644 ./config-files/pacman.conf /etc/pacman.conf install -m 0644 ./config-files/makepkg.conf /etc/makepkg.conf -mkdir -p /etc/pacman.d/hooks install -m 0644 ./config-files/paccache-clean.hook /etc/pacman.d/hooks/paccache-clean.hook install -m 0644 ./config-files/modemmanager.hook /etc/pacman.d/hooks/modemmanager.hook install -m 0644 ./config-files/dash-link.hook /etc/pacman.d/hooks/dash-link.hook From 6990320e7beae3eadf0622782bfc742aef588c9c Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Fri, 30 Aug 2024 23:46:00 -0400 Subject: [PATCH 3/4] Do not refresh pacman, as this is done manually when installing git --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 0203cb9..447f7f2 100755 --- a/install.sh +++ b/install.sh @@ -81,7 +81,7 @@ done # end timezone configuration # start hardware detection -pacman -Sy bc --noconfirm +pacman -S bc --noconfirm threadsminusone=$(echo "$(lscpu | grep 'CPU(s):' | awk 'FNR == 1 {print $2;}') - 1" | bc) gpu=$(lspci | grep 'VGA compatible controller:' | awk 'FNR == 1 {print $5;}') From f8a4da97a9be4caaab0b2da2b3b027e5446d1031 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Fri, 30 Aug 2024 23:57:16 -0400 Subject: [PATCH 4/4] Set correct permissions on directories created with install command --- chrootInstall.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/chrootInstall.sh b/chrootInstall.sh index 4424c0e..5329d18 100755 --- a/chrootInstall.sh +++ b/chrootInstall.sh @@ -150,6 +150,9 @@ if [ "$formfactor" == 1 ] || [ "$formfactor" == 2 ] || [ "$formfactor" == 3 ]; t install -m 0755 ./programs/konquake/konquake.sh /usr/local/bin/konquake install -Dm 0644 -o $username -g users ./programs/konquake/konquake.desktop /home/"$username"/.local/share/applications/konquake.desktop echo -e "[1]\nDescription=konquake\nabove=true\naboverule=2\nnoborder=true\nnoborderrule=2\nplacement=6\nplacementrule=2\nsize=$res_x,$res_y_half\nsizerule=3\ntitle=konquake session\ntitlematch=2\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[2]\nDescription=konsole\nsize=1280,800\nsizerule=3\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[General]\ncount=2\nrules=1,2" | install -m 0600 -o $username -g users /dev/stdin /home/"$username"/.config/kwinrulesrc + + # directory ownership + chown -R $username:users /home/"$username"/.local/share/color-schemes /home/"$username"/.local/share/konsole /home/"$username"/.config/KDE /home/"$username"/.local/share/dolphin /home/"$username"/.config/autostart /home/"$username"/.local/share/applications fi