{"id":27396928,"url":"https://github.com/ppcamp/shell","last_synced_at":"2025-04-14T00:48:55.820Z","repository":{"id":286118214,"uuid":"960111478","full_name":"ppcamp/shell","owner":"ppcamp","description":"Shell config for my personal use","archived":false,"fork":false,"pushed_at":"2025-04-13T15:23:41.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T16:33:38.253Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ppcamp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-04-03T22:00:06.000Z","updated_at":"2025-04-13T15:23:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e3f1f0c-e1ee-40e1-b008-c76525027bdc","html_url":"https://github.com/ppcamp/shell","commit_stats":null,"previous_names":["ppcamp/shell"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppcamp%2Fshell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppcamp%2Fshell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppcamp%2Fshell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppcamp%2Fshell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ppcamp","download_url":"https://codeload.github.com/ppcamp/shell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248804771,"owners_count":21164131,"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","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":[],"created_at":"2025-04-14T00:48:55.213Z","updated_at":"2025-04-14T00:48:55.811Z","avatar_url":"https://github.com/ppcamp.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# shell\nShell config for my personal use\n\n[Suggestted programs](https://gist.github.com/ppcamp/91dd1fc9ae5f3c78026617720e26795e)\n[Bash commands](https://gist.github.com/ppcamp/14f3f5cdc71e66d955e21043ec5d27b7)\n\n## Installation\n\n```sh\ncd $HOME/.config\n\n# needs to be recursive, so it can fetch the submodules\ngit clone --recursive https://github.com/ppcamp/shell\n\nmv ~/.zshrc{,.bak}\n\n# while in the folder where you cloned this repo\necho \"source $PWD/shell/init.zsh\" \u003e ~/.zshrc\n```\n\n\u003e WARN: https://github.com/disrupted/dotfiles/blob/master/.zshrc\n\n\n\n\u003e [!TIP]\n\u003e Run the make commands to install the tools you need.\n\n\u003e [!NOTE]\n\u003e\n\u003e Must be cloned directly in the folder that you plan to keep it, and then\n\u003e replace the `~/.zshrc` for this one.\n\n\u003cdetails\u003e\u003csummary\u003e\u003ch2\u003eZshrc config\u003c/h2\u003e\u003c/summary\u003e\n\nPut this at the end of `$HOME/.zshrc` to load the rest of the config\nSee `internal/utils/loaders:add_path_if_exec` for more details.\n\n\u003e Check it out the `make configure-paths` command.\n\n```sh\n############################## Go\n#$ go env GOPATH | xcp\nexport PATH=\"$PATH:$HOME/.asdf/installs/golang/1.24.0/packages/bin\"\n############################## Rust crates\n#$ rustc --print sysroot | xargs -I{} realpath \"{}/../../bin\" | xcp\nexport CARGO_FOLDER=\"$HOME/.asdf/installs/rust/1.85.0/bin\"\nexport PATH=\"$PATH:$CARGO_FOLDER\"\n############################## node\n#$ npm config get prefix | xcp\nexport PATH=\"$PATH:$HOME/.asdf/installs/nodejs/lts\"\n############################## python env\nsource \"$HOME/.cache/venv/bin/activate\"\n```\n\nExample of `$HOME/.zshrc`:\n\n```sh\n# load zen config\nsource $HOME/.config/shell/init.zsh\n\n\n############################## Go\n#$ go env GOPATH | xcp\nexport PATH=\"$PATH:/home/asapcard-note-h1y/go\"\n############################## Rust crates\n#$ rustc --print sysroot | xargs -I{} realpath \"{}/../../bin\" | xcp\n# export CARGO_FOLDER=\"\"\n# export PATH=\"$PATH:$CARGO_FOLDER\"\n############################## node\n#$ npm config get prefix | xcp\nexport PATH=\"$PATH:/home/asapcard-note-h1y/.asdf/installs/nodejs/20.18.3\"\n\n\n############################# SSH Agent plugin config\nzstyle :omz:plugins:ssh-agent agent-forwarding yes\nzstyle :omz:plugins:ssh-agent lifetime 1h\nzstyle :omz:plugins:ssh-agent identities ~/.ssh/{bitbucket_,sftp_*}\nzstyle :omz:plugins:ssh-agent quiet yes\n\nzinit ice wait\"0a\" lucid\nzinit light $HOME/.config/shell/plugins/ssh-agent\n```\n\n\u003c/details\u003e\n\n### TODO\n\n- [ ] add the others dotfiles\n- [x] add scripts to install tools\n- [x] remove submodules, since they are not needed anymore (zinit support)\n- [x] improve load performance against omzshc config\n- [x] fzf completions not working\n- [x] fix paths wrapper import\n\n## Notes\n\n[devhints]\n\n### Performance checking\n\n![image](https://github.com/user-attachments/assets/47572735-5adf-442f-b96f-5363b7f6d51c)\n\n\n\u003e The omzsh version didn't use the `mcfly` history manager, neither `starship` (it evals everytime starship)\n\n```sh\n# time with a custom zsh config\nZDOTDIR=$HOME/omzsh/ zsh -i -c exit\n# time\nZDOTDIR=$HOME zsh -i -c exit\n```\n\n\u003c!-- # Fetch latest version from GitHub API --\u003e\n\u003c!-- # LATEST_VERSION=$(curl -s https://api.github.com/repos/junegunn/fzf/releases/latest | grep tag_name | cut -d '\"' -f 4) --\u003e\n\n[devhints]: https://devhints.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppcamp%2Fshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fppcamp%2Fshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppcamp%2Fshell/lists"}