{"id":22443060,"url":"https://github.com/veltzer/bashy","last_synced_at":"2025-06-18T19:34:22.264Z","repository":{"id":139749148,"uuid":"99335410","full_name":"veltzer/bashy","owner":"veltzer","description":"bashy handles bash configuration for you","archived":false,"fork":false,"pushed_at":"2024-04-28T00:54:11.000Z","size":7630,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-02T05:18:37.819Z","etag":null,"topics":["bash","bash-it","bashy","completions","powerline","powerline-shell"],"latest_commit_sha":null,"homepage":"https://github.com/veltzer/bashy","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/veltzer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["veltzer"]}},"created_at":"2017-08-04T11:11:37.000Z","updated_at":"2024-06-04T07:56:47.631Z","dependencies_parsed_at":"2023-10-11T14:10:38.091Z","dependency_job_id":"e538a8fd-5d13-4689-b513-c93bfc6bd094","html_url":"https://github.com/veltzer/bashy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veltzer%2Fbashy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veltzer%2Fbashy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veltzer%2Fbashy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veltzer%2Fbashy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veltzer","download_url":"https://codeload.github.com/veltzer/bashy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228398731,"owners_count":17913673,"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":["bash","bash-it","bashy","completions","powerline","powerline-shell"],"created_at":"2024-12-06T02:22:15.524Z","updated_at":"2024-12-06T02:22:16.278Z","avatar_url":"https://github.com/veltzer.png","language":"Shell","funding_links":["https://github.com/sponsors/veltzer"],"categories":[],"sub_categories":[],"readme":"## bashy\n\nversion: 0.0.89\n\ndescription: bashy handles bash configuration for you\n\nwebsite: https://veltzer.github.io/bashy\n\n## Build\n\n![build](https://github.com/veltzer/bashy/workflows/build/badge.svg)\n\n\n## Contact\n\nchat with me at [![gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/veltzer/mark.veltzer)\n\nBashy is bash based system to enable you control of your bash with precision and elegance.\nIt is plugin based and allows for easy extension.\n\n## Build status\n\n![build](https://github.com/veltzer/bashy/workflows/build/badge.svg)\n\n## Demo\n\n![Demo](resources/session.gif)\n\n## Installing Bashy\n\nFirst clone the repository into your home directory:\n\n```bash\ngit clone --branch master --depth 1 https://github.com/veltzer/bashy.git ~/.bashy \u0026\u0026 rm -rf ~/.bashy/.git\n```\n\nThen edit `~/.bashrc` and add the following line as the last line:\n\n```bash\nsource ~/.bashy/bashy.bash\n```\n\nIn my own setup this is the only line I have in my `~/.bashrc`\n\n## Debugging Bashy\n\nJust add this line before sourcing bashy:\n```bash\nset -o xtrace\n```\n\nTo see all errors use:\n```bash\nbashy_errors\n```\n\nTo get debug messages you can create a `~/.bashy.config` and put the following content into it:\n\n```\nreadonly BASHY_DEBUG=0\n```\n\n## Working with Bashy\n\nTo check the status of the core of Bashy use:\n\n```bash\nbashy_status_core\n```\n\nTo check the status of plugins of Bashy use:\n\n```bash\nbashy_status_plugins\n```\n\nTo disable or enable a plugins or to change the order in which\nthey are applied just edit `~/.bashy.list`\n\n```\n# this file supports hash comments\nby_host\nmeta\npath_mine\n-path_pycharm_add\npylogconf\n```\n\nTo reread the plugins use:\n\n```bash\nbashy_load_plugins\n```\n\nTo reinit Bashy when a new version is installed or pulled:\n\n```bash\nbashy_init\n```\n\n## Writing Bashy plugins\n\nBashy plugins may never fail a command (all commands need to return 0)\n\nBashy plugins need to set a variable passed by reference to either 0 or 1.\n\nHere is the most basic plugin:\n\n```bash\nfunction _activate_hello_plugin() {\n\tlocal -n __var=$1\n\t# this means everything was ok\n\t__var=0\n}\nregister _activate_hello_plugin\n```\n\n## Config files\n\nYou can activate various plgins via the `~/.bashy.config` file.\n\nHere is an example:\n```bash\nreadonly ENCFS_ENABLED=true\nreadonly ENCFS_FOLDER_CLEAR=\"${HOME}/insync.real\"\nreadonly ENCFS_FOLDER_ENCRYPTED=\"${HOME}/insync/encrypted\"\nreadonly ENCFS_PASSWORD=XXXXXXXX\nreadonly PROXY_ENABLED=false\n```\n\nThis is a bash file and so you can overwrite values by using conditionals so:\n```bash\nif [ \"$HOSTNAME\" = \"ion\" ]\nthen\n\treadonly PROXY_ENABLED=true\n\treadonly PROXY_HTTP=\"http://proxy.corp.com:8080\"\n\treadonly PROXY_HTTPS=\"http://proxy.corp.com:8080\"\n\treadonly PROXY_NO=\"localhost,.corp.com\"\nfi\n```\n\n## Similar projects\n\n* https://github.com/Bash-it/bash-it\n* https://github.com/ohmyzsh/ohmyzsh\n* https://github.com/ohmybash/oh-my-bash\n* https://github.com/nojhan/liquidprompt\n* https://github.com/daniruiz/dotfiles\n* https://github.com/Gkiokan/.pimp-my-bash\n* https://github.com/brujoand/sbp\n\n## Articles\n\n* https://www.freecodecamp.org/news/jazz-up-your-bash-terminal-a-step-by-step-guide-with-pictures-80267554cb22/\n* https://medium.com/@mandymadethis/pimp-out-your-command-line-b317cf42e953\n* https://www.maketecheasier.com/customise-bash-prompt-linux/\n* https://www.computerworld.com/article/2833199/3-ways-to-pimp-your-bash-console.html\n\nMark Veltzer, Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveltzer%2Fbashy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveltzer%2Fbashy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveltzer%2Fbashy/lists"}