{"id":16454447,"url":"https://github.com/sarthakpranesh/useful_shell_scripts","last_synced_at":"2026-05-05T17:32:14.167Z","repository":{"id":100196861,"uuid":"277457043","full_name":"sarthakpranesh/Useful_Shell_Scripts","owner":"sarthakpranesh","description":"My beloved shell scripts that save me tones of time by setting stuff up the way I like it (use these at your own risk though)","archived":false,"fork":false,"pushed_at":"2023-04-06T07:32:25.000Z","size":36,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-26T22:27:45.677Z","etag":null,"topics":["bash","linux","save-time","shell","shell-script","time","ubuntu"],"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/sarthakpranesh.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":"2020-07-06T06:08:51.000Z","updated_at":"2023-01-31T18:21:33.000Z","dependencies_parsed_at":"2023-05-12T19:30:29.674Z","dependency_job_id":null,"html_url":"https://github.com/sarthakpranesh/Useful_Shell_Scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sarthakpranesh/Useful_Shell_Scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarthakpranesh%2FUseful_Shell_Scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarthakpranesh%2FUseful_Shell_Scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarthakpranesh%2FUseful_Shell_Scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarthakpranesh%2FUseful_Shell_Scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarthakpranesh","download_url":"https://codeload.github.com/sarthakpranesh/Useful_Shell_Scripts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarthakpranesh%2FUseful_Shell_Scripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32660244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bash","linux","save-time","shell","shell-script","time","ubuntu"],"created_at":"2024-10-11T10:19:03.479Z","updated_at":"2026-05-05T17:32:14.140Z","avatar_url":"https://github.com/sarthakpranesh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Useful Shell Scripts\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Introduction\nI have been using Linux as a daily driver for almost over 3 years now. But I still find myself nuking my system and doing a fresh install once in 6 months (during my sem breaks) to keep things clean. And reconfiguring everything can be a really painful job, hence these scripts help me sit back and have cup of coffee while they setup stuff for me the way I like it.\n\nThough these scripts are not that dangerous, yet if you use these scripts do at your risk.\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## What does what\nA small guide of what you can expect from these script. Starting with the project structure, this repo has two kinds of scripts `global` and `distro` Specific. All `global` scripts are present in the root of the repo whereas all `distro` specific once are placed under folders like `Debian` {including likes such as Ubuntu/Pop/Elementary} and `Fedora`. `Global` scripts can be used as standalone scripts {such as androidStudio.sh} or are used within `distro` specific scripts {such as reactNative.sh uses androidStudio.sh and other scripts}.\n\n\u003cbr /\u003e\n\n|   Script  |   Link   |   Job  |   \n| --- | --- | --- |\n| androidStudio | [Global](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/androidStudio.sh) | Uses Flatpak to install `Android Studio` and adds important paths to user's `.bashrc` |\n| golang | [Global](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/golang.sh) | Downloads and Installs golang. Adds the required paths to `.bashrc`. I like my workflow hence it configures that up too, basically all local package installed go to the folder in `~/golib` where as I prefer doing active development in `~/Github/GO` using a compound GOPATH |\n| nvm | [Global](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/nvm.sh) | Installs `nvm or Node Version Manager` and uses the `nvm` command to install the latest version of `nodejs` |\n| watchman | [Global](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/watchman.sh) | Downloads Facebook's `watchman` release, extracts and places the binaries under required paths, changes permission to binary executables, adds some necessary configs and restarts watchman  |\n| gitConfig | [Global](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/gitConfig.sh) | `IMPORTANT! Please Read Before Using This Script`: This script is used to configure git {if already installed, if not then use `git` script}. Therefor this script contains some params that you'll be required to add before hand such as your git username and email  |\n| git | [Debian/Ubuntu/Based](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Debian/git.sh), [Fedora](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Fedora/git.sh) | This script install git if not installed and executes gitConfig script {therefore make sure you added your git credentials in the gitConfig script} |\n| docker | [Debian/Ubuntu/Based](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Debian/docker.sh), [Fedora](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Fedora/docker.sh) | Installs Docker and required components. Adds user to the docker group so that docker command can be used without `sudo` |\n| reactNative | [Debian/Ubuntu/Based](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Debian/reactNative.sh), [Fedora](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Fedora/reactNative.sh) | Calls a bunch of `global` scripts {nvm, androidStudio, watchman in order} and installs `openjdk-8` as they are the dependencies required for `React Native` |\n| fusuma | [Debian/Ubuntu/Based](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Debian/fusuma.sh) | Installs `Ruby`, `libinput-tools`, `xdotool` and `Fusuma` {touch pad gestures} and configures it for use on either Elementary or Pop OS |\n| archSetup | [Arch](https://github.com/sarthakpranesh/Useful_Shell_Scripts/blob/master/Arch/archSetup.sh) | Automated installation of Arch linux. Installs xorg and gnome as the desktop environment. Sets up grub for EFI devices (if you are using a non efi device then use `arch-chroot /mnt` and install grub again). It is advised to read the script once for comments and documentation so that you can make any necessary changes if required. |\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Goal and Future Work\nMy goal with these scripts is simple, and that is to save myself tons of time that I might spend configuring, installing and setting things up the way I like it, and in the same time learn shell scripting\n\n\u003cbr /\u003e\n\nIn the future I am looking to extend this project and include achieve the following\n* Work on script to help automate my arch installation (DONE)\n* More reliable scripts\n* Single shot shell script program to do it all\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Found Issues\nI would love to fix issues with these scripts or work on suggestions so feel free to open Issues if you find any. PRs are welcomed as well.\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n#### Made with ☕️\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarthakpranesh%2Fuseful_shell_scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarthakpranesh%2Fuseful_shell_scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarthakpranesh%2Fuseful_shell_scripts/lists"}