{"id":15042409,"url":"https://github.com/r1vs3c/auto-bspwm","last_synced_at":"2025-04-05T14:04:45.345Z","repository":{"id":199796357,"uuid":"698814832","full_name":"r1vs3c/auto-bspwm","owner":"r1vs3c","description":"Bash script that automates the setup of a professional hacking environment for Kali Linux using the tiled window manager bspwm.","archived":false,"fork":false,"pushed_at":"2024-07-10T02:59:05.000Z","size":13694,"stargazers_count":397,"open_issues_count":11,"forks_count":76,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-29T13:06:25.045Z","etag":null,"topics":["bash-script","bspwm","dotfiles","kitty","oh-my-zsh","picom","polybar","polybar-themes","powerlevel10k","rofi","sxhkd","zsh"],"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/r1vs3c.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-10-01T03:39:00.000Z","updated_at":"2025-03-27T22:38:46.000Z","dependencies_parsed_at":"2023-10-12T13:45:02.690Z","dependency_job_id":"c0509d34-97e0-479b-aa80-6439dfccee4c","html_url":"https://github.com/r1vs3c/auto-bspwm","commit_stats":{"total_commits":19,"total_committers":1,"mean_commits":19.0,"dds":0.0,"last_synced_commit":"862849f2ddfa2f2b4e6564e8ab9438d93954d7af"},"previous_names":["r1vs3c/auto-bspwm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1vs3c%2Fauto-bspwm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1vs3c%2Fauto-bspwm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1vs3c%2Fauto-bspwm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1vs3c%2Fauto-bspwm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r1vs3c","download_url":"https://codeload.github.com/r1vs3c/auto-bspwm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345850,"owners_count":20924102,"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-script","bspwm","dotfiles","kitty","oh-my-zsh","picom","polybar","polybar-themes","powerlevel10k","rofi","sxhkd","zsh"],"created_at":"2024-09-24T20:47:15.422Z","updated_at":"2025-04-05T14:04:45.325Z","avatar_url":"https://github.com/r1vs3c.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# auto-bspwm\n\u003e This is a Bash script that automates the setup of a professional hacking environment for Kali Linux using the tiled window manager [bspwm](https://github.com/baskerville/bspwm).\n\n## Installation\n1. Install available updates.\n\n```shell\nsudo apt update\nsudo apt upgrade -y\n```\n\n2. Clone the repository and navigate to it.\n\n```shell\ngit clone https://github.com/r1vs3c/auto-bspwm.git\ncd auto-bspwm\n```\n\n3. Grant execution permissions to the script.\n\n```shell\nchmod +x setup.sh\n```\n\n4. Execute the script.\n\n```shell\n./setup.sh\n```\n\n5. After the script has finished, you will be prompted to restart the system. Once you have rebooted, select `bspwm` as the window manager and then log in.\n\n## Overview of the environment\n![overview1](/assets/overview1.png \"overview1\")\n\n![overview2](/assets/overview2.png \"overview2\")\n\n![overview3](/assets/overview3.png \"overview3\")\n\n\n## Keyboard shortcuts\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eEnter\u003c/kbd\u003e: Open a terminal emulator window (kitty).\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e: Close the current window.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e: Restart the bspwm configuration.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e: Log out.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003e(⬆⬅⬇➡)\u003c/kbd\u003e: Navigate through windows in the current workspace.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eD\u003c/kbd\u003e: Open Rofi. Press \u003ckbd\u003eEsc\u003c/kbd\u003e to exit.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003e(1,2,3,4,5,6,7,8,9,0)\u003c/kbd\u003e: Switch to the respective workspace.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eT\u003c/kbd\u003e: Change the current window to tile mode.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e: Toggle the current window to \"full\" mode (doesn't occupy the polybar). Press the same keys to return to tile mode.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e: Change the current window to fullscreen mode (occupies the entire screen, including the polybar).\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eS\u003c/kbd\u003e: Change the current window to floating mode.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003e(1,2,3,4,5,6,7,8,9,0)\u003c/kbd\u003e: Move the current window to another workspace.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e(⬆⬅⬇➡)\u003c/kbd\u003e: Resize the current window (only works if it's in floating mode).\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e(⬆⬅⬆➡)\u003c/kbd\u003e: Change the position of the current window (only works if it's in floating mode).\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e: Open Firefox.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eB\u003c/kbd\u003e: Open Burpsuite.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eL\u003c/kbd\u003e: Lock the screen.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003e⬆⬇\u003c/kbd\u003e: Increase/decrease volume.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e: Mute/unmute volume.\n- \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e(⬆⬅⬇➡)\u003c/kbd\u003e: Show a preselection and then open a window (kitty, Firefox, File manager, etc.). \n   - \u003ckbd\u003eWindows\u003c/kbd\u003e + \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eSpace\u003c/kbd\u003e: Undo the preselection.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eEnter\u003c/kbd\u003e: Open a sub-window in the current window.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eZ\u003c/kbd\u003e: Zoom in on the current sub-window.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e(⬆⬅⬇➡)\u003c/kbd\u003e: Navigate between sub-windows in the current window.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e: Resize the current sub-window. Afterward, use:\n   - \u003ckbd\u003eW\u003c/kbd\u003e for 'Wider'\n   - \u003ckbd\u003eN\u003c/kbd\u003e for 'Narrower'\n   - \u003ckbd\u003eT\u003c/kbd\u003e for 'Taller'\n   - \u003ckbd\u003eS\u003c/kbd\u003e for 'Shorter'\n   - \u003ckbd\u003eR\u003c/kbd\u003e for 'Reset'\n   - \u003ckbd\u003eEsc\u003c/kbd\u003e to quit resize mode.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eL\u003c/kbd\u003e: Toggle the arrangement of sub-windows.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e: Close the current sub-window or tab.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eT\u003c/kbd\u003e: Open a tab in the current window.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eT\u003c/kbd\u003e: Rename the title of the current tab.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003e(⬅➡)\u003c/kbd\u003e: Navigate between current tabs.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e: Copy to the clipboard.\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eV\u003c/kbd\u003e: Paste from the clipboard.\n- \u003ckbd\u003eF1\u003c/kbd\u003e: Copy to buffer A.\n- \u003ckbd\u003eF2\u003c/kbd\u003e: Paste from buffer A.\n- \u003ckbd\u003eF3\u003c/kbd\u003e: Copy to buffer B.\n- \u003ckbd\u003eF4\u003c/kbd\u003e: Paste from buffer B.\n\n## Software\nThis configuration uses the following software:\n- **WM**: [bspwm](https://github.com/baskerville/bspwm)\n- **Hotkey**: [sxhkd](https://github.com/baskerville/sxhkd)\n- **Locker**: [i3lock-fancy](https://github.com/meskarune/i3lock-fancy)\n- **Shell**: [zsh](https://www.zsh.org/)\n- **Shell Theme**: [powerlevel10k](https://github.com/romkatv/powerlevel10k)\n- **Shell configuration manager**: [ohmyzsh](https://github.com/ohmyzsh/ohmyzsh)\n- **Bars**: [polybar](https://github.com/polybar/polybar)\n- **Bars Theme**: [polybar-themes](https://github.com/adi1090x/polybar-themes)\n- **Compositor**: [picom](https://github.com/yshui/picom)\n- **File Manager**: [thunar](https://docs.xfce.org/xfce/thunar/start)\n- **Fonts**: [iosevka](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Iosevka) and [hack](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack)\n- **Application Launcher**: [rofi](https://github.com/davatorium/rofi)\n- **Browsers**: [firefox](https://www.mozilla.org/en-US/firefox/new/)\n- **Terminals**: [kitty](https://sw.kovidgoyal.net/kitty/) and [qterminal](https://github.com/lxqt/qterminal)\n- **Static Wallpaper**: [feh](https://github.com/derf/feh)\n- **Screenshot**: [flameshot](https://flameshot.org/)\n\n## Credits\n- This environment has been inspired by the functionalities of [S4vitar's](https://github.com/s4vitar) environment.\n- Thanks to [Cube](https://github.com/ZLCube) for their contribution to the creation of the `archkali.png` wallpaper.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr1vs3c%2Fauto-bspwm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr1vs3c%2Fauto-bspwm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr1vs3c%2Fauto-bspwm/lists"}