{"id":35769724,"url":"https://github.com/churris-x/a-shell.scripts","last_synced_at":"2026-01-07T03:02:53.354Z","repository":{"id":228009385,"uuid":"772924165","full_name":"churris-x/a-shell.scripts","owner":"churris-x","description":"Collection of scripts to setup the a-Shell terminal app","archived":false,"fork":false,"pushed_at":"2024-05-07T16:10:56.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-07T17:29:51.111Z","etag":null,"topics":["a-shell","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/churris-x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-03-16T08:52:26.000Z","updated_at":"2024-05-07T16:11:00.000Z","dependencies_parsed_at":"2024-03-23T14:25:51.728Z","dependency_job_id":"9b766379-7458-4ac0-88fe-07a41444f45f","html_url":"https://github.com/churris-x/a-shell.scripts","commit_stats":null,"previous_names":["churris-x/a-shell.scripts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/churris-x/a-shell.scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/churris-x%2Fa-shell.scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/churris-x%2Fa-shell.scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/churris-x%2Fa-shell.scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/churris-x%2Fa-shell.scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/churris-x","download_url":"https://codeload.github.com/churris-x/a-shell.scripts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/churris-x%2Fa-shell.scripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28231759,"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":"2026-01-07T02:00:05.975Z","response_time":58,"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":["a-shell","shell"],"created_at":"2026-01-07T03:02:30.239Z","updated_at":"2026-01-07T03:02:53.349Z","avatar_url":"https://github.com/churris-x.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A-Shell .scripts\n\nThis is a collection of setup scripts and dotfiles for the [a-shell](https://github.com/holzschu/a-shell) terminal app for iOS.\n\n## Getting started\n1. Download and install the app from the [app store](https://holzschu.github.io/a-Shell_iOS/)\n2. Clone this repository using the builtin git library [libgit2](https://github.com/libgit2/libgit2)\n```sh\nlg2 clone https://github.com/churris-x/a-shell.scripts .scripts\n```\n3. Run setup.sh script\n```sh\nsh .scripts/setup.sh\n```\n\nYour home directory `~/Documents` should look like this\n```sh\n[Documents]$ tree -a -L 1\n.\n├── .aliases        # symlink\n├── .gitconfig      # symlink\n├── .profile        # symlink\n└── .scripts        # git repo\n```\n\nThe setup script automatically sets a \"theme\", but this can be changed in the file or with the native `config` command.\n\nCheck the [a-shell docs](https://bianshen00009.gitbook.io/a-guide-to-a-shell/basic-tutorials/configure-the-shell#define-the-prompt) on how to set up the `$PS1` (Prompt String One / Primary prompt variable)\n\nSee the [Git](#git) section for how to set up access to private repos\n\n## Use\nThe main thing this repository does is create and manage three general dot files, `.profile`, `.aliases` and `.gitconfig`. This is done by creating symbolic links to each of those files in the root folder, so the files can be portable and kept up to date.\n\n- `.profile` : for now just sources the `.aliases` file\n- `.aliases` : stores all aliases commands \u0026 functions (see below how functions work)\n- `functions/` : folder for script files that work as aliases\n- `.gitconfig` : general config such as username\n\nTo add aliases simply edit the alias file and run `src` to source it.\n\n## Caveats\nIn iOS you cannot modify the `~/` folder directly so a-shell has made the compromise of treating `~/Documents` as the root folder. This applies to scripts and dotfiles.\n\nThe shell that is being run is actually [dash](https://manpages.ubuntu.com/manpages/focal/en/man1/sh.1.html), this causes a number of `bash` scripts and configs to fail, beware! (`echo -e`, `function`, string replacement, for example are all unsupported).\n\nI recommend using the fantastic util [shellcheck](https://www.shellcheck.net/) with a `#!/bin/dash` heading to help porting scripts.\n\nThe actual `git` command is not installed and is using the default [libgit2](https://github.com/libgit2/libgit2), which I've aliased for comfort reasons. Read more on the [Git](#git) section.\n\n## Aliases\nAccording to [this issue](https://github.com/holzschu/a-shell/issues/40) it is possible to add a `.profile` file that gets run and set up aliases.\n\nSo far I have not been able to add function declarations directly into the aliases file. The alternative seems to be to create a separate file for each function and then alias the running of said file, eg:\n\n```sh\nalias myfunc='sh ~/Documents/.scripts/myfunc.sh'\n```\n\n## Git\nThe version of [libgit2](https://github.com/libgit2/libgit2) that is being used is 1.1.0, from 2020, make sure to check the docs of that _specific_ version if certain expected commands are missing / not working. For example `git branch`, `git reset @~`, `git log` `--oneline`, `--graph` or `--color` do not work.\n\nThere is a section on the [a-shel docs](https://bianshen00009.gitbook.io/a-guide-to-a-shell/basic-tutorials/configure-lg2-for-version-controlling#ssh-configuration) for setting up ssh access to git, but if like me you want to use a classic token / fine grained from github, this is not so easy. So far I could not figure out how to add the token on the global gitconfig from a file, something like:\n```sh\n[user]\n    password = ~/Documents/.token\n``` \nwould be ideal, but I didn't get the syntax correct or it's a compatibility issue with `libgit2`.\n\nBest way to do it is to configure it locally for the repo, so `vim .git/config` and add the token as a password field directly eg: `password = asdfjklj23k432...`\n\n## Obsidian\nMy main use of this app is to keep my obsidian vault synced since I store it on github. The following are instructions first posted on this [Obsidian reddit post](https://www.reddit.com/r/ObsidianMD/comments/178gj3f/achieved_free_synchronization_of_my_obsidian/#:~:text=Steps%20to%20Synchronize%20Your%20Obsidian%20Vault%3A\u0026text=Open%20the%20%22a%2Dshell%22,URL%20of%20the%20repository'.%22):\n\n1. Install the obsidian app and create one test vault\n2. Use the built-in `pickFolder` command and search for the obsidian folder, then press done. Your shell should be in the obsidian Documents folder.\n3. Clone your vault repo with `git clone \u003cgithub link\u003e`\n4. On the Obsidian app select the new folder as a vault\n5. (Optional) You can also install the Git plugin from the community plugin section to automatically keep things updated every so often\n\n## N.B.\nAll of this was cobbled together from my personal bash configs, and as such not all the aliases and commands are tested and working as intended. Please check any code you are running before doing so. Have fun!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchurris-x%2Fa-shell.scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchurris-x%2Fa-shell.scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchurris-x%2Fa-shell.scripts/lists"}