{"id":18610973,"url":"https://github.com/beangreen247/archlinux-kde-plasma-setup-script","last_synced_at":"2025-10-10T11:10:23.452Z","repository":{"id":153756997,"uuid":"601821236","full_name":"BeanGreen247/ArchLinux-KDE-Plasma-setup-script","owner":"BeanGreen247","description":"A script that automates the etire process of setting up the full KDE plasma desktop env with some additional apps and tweaks to make it more usable for my usecase.","archived":false,"fork":false,"pushed_at":"2024-07-25T16:04:11.000Z","size":192,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-11T07:53:17.515Z","etag":null,"topics":["2023","2023-projects","247","arch","archlinux","automation","bash","bean","beangreen247","bin","green","install","install-script","linux","script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BeanGreen247.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-14T22:27:15.000Z","updated_at":"2025-07-05T13:05:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"96ba6ce9-f418-4fc8-b412-420ce61b6f78","html_url":"https://github.com/BeanGreen247/ArchLinux-KDE-Plasma-setup-script","commit_stats":{"total_commits":101,"total_committers":1,"mean_commits":101.0,"dds":0.0,"last_synced_commit":"ddcd9da09ecb1373778c8e1c7268044ea0649a58"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BeanGreen247/ArchLinux-KDE-Plasma-setup-script","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeanGreen247%2FArchLinux-KDE-Plasma-setup-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeanGreen247%2FArchLinux-KDE-Plasma-setup-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeanGreen247%2FArchLinux-KDE-Plasma-setup-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeanGreen247%2FArchLinux-KDE-Plasma-setup-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BeanGreen247","download_url":"https://codeload.github.com/BeanGreen247/ArchLinux-KDE-Plasma-setup-script/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeanGreen247%2FArchLinux-KDE-Plasma-setup-script/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003725,"owners_count":26083610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2023","2023-projects","247","arch","archlinux","automation","bash","bean","beangreen247","bin","green","install","install-script","linux","script"],"created_at":"2024-11-07T03:12:16.476Z","updated_at":"2025-10-10T11:10:23.402Z","avatar_url":"https://github.com/BeanGreen247.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ArchLinux KDE Plasma setup script\n\nCredit for neofetch theme used goes to [Chick2D](https://github.com/Chick2D) and his [neofetch-themes](https://github.com/Chick2D/neofetch-themes) project.\n\nCredit for the note taking app used goes to [Laurent Cozic](https://github.com/laurent22) and their app project [Joplin](https://github.com/laurent22/joplin/).\n\n### Info\nA script that automates the etire process of setting up the full KDE plasma desktop env with some additional apps and tweaks to make it more usable for my usecase.\n\n### Some pre requisites\n\n* Please make sure to enable multilib repository before running this script\n  * https://wiki.archlinux.org/title/official_repositories#Enabling_multilib\n* run this command `sudo pacman -Syyuu wget`\n* after it finishes make sure to reboot before running the script and after running it\n* DO NOT RUN AS SUDO/ROOT\n\n### Downloading the script\n```bash\nwget https://raw.githubusercontent.com/BeanGreen247/ArchLinux-KDE-Plasma-setup-script/main/setupArchLinux.sh\n```\n\n### Executing the script\n```bash\nbash setupArchLinux.sh\n```\n\n### Script variables\n~~Please make sure to adjust for your system before running the script. I have tested in a VM so here is what the variables looked like for me~~\n\nNo longer needed as now the script will request user input for these vars\n```bash\nfunction main {\n    ### VARS\n    echo -n \"Enter username: \"\n    read usernameinput\n    username=\"$usernameinput\"\n    echo -n \"Enter root password: \"\n    read -s password\n    pass=\"$password\"\n    echo -n \"Enter gpu type [intel or amd or nvidia]: \"\n    read gpu\n    gpudriver=\"$gpu\"\n    zramsize=32768 #check Setting up zram\n    ...some more code down there\n```\nVARS\n* pass - the users password or password for the root account in case use is not root user\n* username - the users username or username for the root account in case use is not root user\n* gpudriver - which GPU driver to install there are 3 options AMD or NVIDIA or INTEL and take one of these 3 inputs\n  * amd - to install AMD open source drivers\n  * nvidia - to install proprietary NVIDIA drivers\n  * intel - to install INTEL open source drivers\n* zramsize - the size of zram in MB\n\n### zram\nIn this section of the script we set up zram to be used alongside swap and its size is defined by the amount in MB set up in the VARS section of the script...\n```bash\necho -e \"\\e[1;31m[Setting up zram...]\\e[1;0m\\n\"\necho $pass | sudo -S echo '# This config file enables a /dev/zram0 device with the default settings:' | sudo tee /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo '# - size - same as available RAM or 32GB, whichever is less' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo '#        - if your system/VM has 16GB RAM then change it from 32768 to 16384' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo '# - compression - most likely lzo-rle' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo '# To disable, uninstall zram-generator-defaults or create empty' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo '# /etc/systemd/zram-generator.conf file.' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo '[zram0]' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S echo 'zram-size = min(ram, '$zramsize')' | sudo tee -a /usr/lib/systemd/zram-generator.conf\necho $pass | sudo -S systemctl daemon-reload\necho $pass | sudo -S systemctl start /dev/zram0\necho $pass | sudo -S zramctl\necho -e \"Setting up zram...\\e[1;32m[DONE]\\e[1;0m\"\n```\nYou can check if it got applied by running `zramctl` in the terminal.\n\n### Some more script information\nThere are some sections where user input is expected so please make sure to read the prompts and when promped please be ready to use you accounts details to proceed.\n\n### To expand on the autostart portion of the script\nTo create an autostart option Open System Settings then go into Startup and Shutdown there select the Autostart settings menu and add a Login script, navigate to the script that was created and add it, next click on properties and make sure it is executable and that everyone can wiev and execute the script, also in the command section make sure to add a . (dot) at the beginning like so\n\n`./home/test/scripts/execute-performance-mode-sh-as-root.sh`\n\nor\n\n`bash /home/test/scripts/execute-performance-mode-sh-as-root.sh`\n\nmake sure to change the location of the script based on your setup, but if you used the script then the file should be located in the scripts directory as show in the example above.\n\nThe script that we added at startup/on login will set the cpu scaling governor to performance once in linux\n\nto check run `cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`\n\nIf it says `performace` one or multiple times, that means it worked.\n\n### pacman.conf\nIs used to keep system stable and updates minimal.\n\n[pacman.conf](https://raw.githubusercontent.com/BeanGreen247/ArchLinux-KDE-Plasma-setup-script/main/pacman.conf)\n\n### powerDownAllVMs.sh\na script that powers down a set kVM based on the name \n\n[powerDownAllVMs.sh](https://github.com/BeanGreen247/scripts/blob/main/scripts/powerDownAllVMs.sh)\n\nPlease make sure to install `xdotool` using your package manager\n```bash\nsudo pacman -S xdotool\n```\n\n### freeMem.sh\na small or shall I say tiny script to clean up memory \n\n[freeMem.sh](https://github.com/BeanGreen247/scripts/blob/main/scripts/freeMem.sh)\n\n### kVMeventIDDialog.sh\na script that creates a dialog at startup telling the user what to use in virt-manager for VM low latency inputs \n\n[kVMeventIDDialog.sh](https://github.com/BeanGreen247/scripts/blob/main/scripts/kVMeventIDDialog.sh)\n\n\n## fonts\nyou may want to reinstall all nerd fonts after system update\n```bash\nsudo pacman -S --noconfirm otf-aurulent-nerd otf-cascadia-code-nerd otf-codenewroman-nerd otf-droid-nerd otf-firamono-nerd otf-hasklig-nerd otf-hermit-nerd otf-opendyslexic-nerd otf-overpass-nerd ttf-3270-nerd ttf-agave-nerd ttf-anonymouspro-nerd ttf-arimo-nerd ttf-bigblueterminal-nerd ttf-bitstream-vera-mono-nerd ttf-cousine-nerd ttf-daddytime-mono-nerd ttf-dejavu-nerd ttf-fantasque-nerd ttf-firacode-nerd ttf-go-nerd ttf-hack-nerd ttf-heavydata-nerd ttf-iawriter-nerd ttf-ibmplex-mono-nerd ttf-inconsolata-go-nerd ttf-inconsolata-lgc-nerd ttf-inconsolata-nerd ttf-iosevka-nerd ttf-jetbrains-mono-nerd ttf-lekton-nerd ttf-liberation-mono-nerd ttf-lilex-nerd ttf-meslo-nerd ttf-monofur-nerd ttf-monoid-nerd ttf-mononoki-nerd ttf-mplus-nerd ttf-nerd-fonts-symbols-common ttf-noto-nerd ttf-profont-nerd ttf-proggyclean-nerd ttf-roboto-mono-nerd ttf-sharetech-mono-nerd ttf-sourcecodepro-nerd ttf-space-mono-nerd ttf-terminus-nerd ttf-tinos-nerd ttf-ubuntu-mono-nerd ttf-ubuntu-nerd ttf-victor-mono-nerd\n```\nand do the same for japanese fonts\n```bash\nsudo pacman -S --noconfirm noto-fonts-cjk noto-fonts-emoji noto-fonts\n```\n\n### Troubleshooting\nIn case of any problems you could try rerunning the script more times just to be sure all got applied. If an error appears make sure to raise an Issue https://github.com/BeanGreen247/ArchLinux-KDE-Plasma-setup-script/issues with a lot of detail so that we can minize the amount of time required to fix issues.\n\n---\nBeanGreen247, 2023\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeangreen247%2Farchlinux-kde-plasma-setup-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeangreen247%2Farchlinux-kde-plasma-setup-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeangreen247%2Farchlinux-kde-plasma-setup-script/lists"}