Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/klaxalk/linux-setup
Custom Linux setup nicely integrating vim+tmux+i3+urxvt+zsh+athame
https://github.com/klaxalk/linux-setup
dotfiles i3 linux tmux vim
Last synced: 3 months ago
JSON representation
Custom Linux setup nicely integrating vim+tmux+i3+urxvt+zsh+athame
- Host: GitHub
- URL: https://github.com/klaxalk/linux-setup
- Owner: klaxalk
- License: mit
- Created: 2016-11-22T13:58:20.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-07-16T08:52:18.000Z (4 months ago)
- Last Synced: 2024-07-17T11:13:52.870Z (4 months ago)
- Topics: dotfiles, i3, linux, tmux, vim
- Language: Shell
- Homepage:
- Size: 7.79 MB
- Stars: 66
- Watchers: 18
- Forks: 21
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# klaxalk's Linux environment
| | | |
|--------------|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 20.04 Docker | AMD64 | [![Focal](https://github.com/klaxalk/linux-setup/actions/workflows/focal.yml/badge.svg)](https://github.com/klaxalk/linux-setup/actions/workflows/focal.yml) |
| 20.04 | AMD64 | [![Docker](https://github.com/klaxalk/linux-setup/actions/workflows/docker.yml/badge.svg)](https://github.com/klaxalk/linux-setup/actions/workflows/docker.yml) |## Summary
This repo contains settings of klaxalk's Linux work environment.
It could be summarized as follows:
* **Ubuntu 20.04**
* **i3** (i3gaps) tiling window manager with i3bar and vim-like controls
* **i3-layout-manager** for saving and loading window layouts
* **urxvt** terminal emulator with ability to show images (when using the *ranger* file manager)
* **tmux** terminal multiplexer is running all the time
* **tmuxinator** for automation of tmux session
* vim-compatible key bindings for split switching
* **vim** is everywhere
* pluginized for smooth c++ and ROS development
* youcompleteme
* UltiSnips
* shared clipboards between vim, tmux and OS
* Ctrl+P
* smooth latex development with vimtex and zathura
* Tim Pope is the king
* **athame** gives you vim in the terminal (zsh)
* handfull of plugins in terminal: ultisnips, vim-surround, targets.vim, vim-exchange, etc.
* **zsh** better shell for everyday use
* **ranger** terminal file manager
* **profile_manager** and **epigen** for switching between machine-specific configurations (profiles within dotfiles)
* all-in-one configuration, no git branching, no more cherrypicking
* sharing configs between multiple users
* sharing configs between different machines
* seamless switching of colorschemesTo clone and install everything run following code. **BEWARE**, running this will **DELETE** your current .i3, tmux, vim, etc. dotfiles.
```bash
cd /tmp
echo "mkdir -p ~/git
cd ~/git
sudo apt-get -y install git
git clone https://github.com/klaxalk/linux-setup.git
cd linux-setup
./install.sh" > run.sh && source run.sh
```
**Calling install.sh repeatedly** will not cause acumulation of code in your .bashrc, so feel free to update your configuration by rerunning it.# How to? -> [wiki](https://github.com/klaxalk/linux-setup/wiki)
Refer to the project's [wiki](https://github.com/klaxalk/linux-setup/wiki) (work in progress).
# Credits
I thank the following sources for inspiration:
* All guys behind [thoughtbot](https://www.youtube.com/user/ThoughtbotVideo) and namely following presenters:
* Mike Coutermarsh, https://www.youtube.com/watch?v=_NUO4JEtkDw
* Chris Toomey, https://www.youtube.com/watch?v=wlR5gYd6um0
* Aaron Bieber, https://www.youtube.com/watch?v=JWD1Fpdd4Pc
* Nick Nisi, https://www.youtube.com/channel/UCbNhLf99gKKXdXm0aFfQFKw
* Luke Smith, https://www.youtube.com/channel/UC2eYFnH61tmytImy1mTYvhA
* Alex Booker, https://www.youtube.com/watch?v=_kjbj-Ez1vU
* Chris Hunt, https://www.youtube.com/watch?v=9jzWDr24UHQ
* Gaël Ecorchard, https://github.com/galou# Troubleshooting
It is possible and probable that after you update using ```git pull```, something might not work anymore.
This usually happens due to new programs, plugins, and dependencies that might not be satisfied anymore.
I suggest re-running **install.sh**, after each update.# Disclaimer
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.