This is the repo with my system configuration.
Implied that all dotfiles stored in $HOME/dotfiles
directory and have symlinks to their original locations.
So it's possible manage and commit them from one place. All the configuration and scripts here are compatible with
Debian-like Linux systems.
Everything here is configured for my convenience, especially for Ruby/JavaScript development.
I tried to make everything easy to understand, so there are a lot of comments if someone wants to use or adopt it.
- Script for installing everything from here on empty Linux system
- Script for installing zsh with configured .zshrc, .zprofile and extensions
- Aliases and some convenient shell functions
- Script for installing nvim with configured .vimrc
- Git settings: gitconfig, global .gitignore, template directory with hooks for ctags
- .pryrc, .gemrc and bundler config for convenience in Ruby development
- And some other helpful things :)
- Basic software (curl, wget, git, etc.)
- Tmux, Neovim, Ctags
- Zsh with Oh-My-Zsh
- Docker and docker-compose
- Ruby, Rbenv
- NodeJS and npm
- PostgreSQL, Redis
- Slack, Skype, Telegram, Google Chrome, Discord
To install everything run:
cd ~
git clone https://github.com/ARtoriouSs/dotfiles.git
./dotfiles/bin/prepare.sh
Every script will also work correctly when run separately:
- prepare.sh - prepares recently installed system. It will also execute all other scripts here. Don't run it if you don't need everithing.
- configure_system.sh - Sets up some system settings.
- create_dir_tree.sh - Just created directories under home
- create_symlinks.sh - Adds symlinks for all dotfiles in this repo so they can store in one place.
- enable_snap.sh - Linux Mint 20 disabled snap by default, so this script enables it if needed.
- install_cli.sh - Installs CLI programmes.
- install_gui.sh - Installs GUI programmes.
- install_rbenv.sh - Installs rbenv and ruby-build.
- install_vim.sh - Installs neovim with plugins and related things.
- install_zsh.sh - Installs and enables zsh.
- add_ssh.sh - Generates ssh key and adds it to ssh-agent. Takes email as first argument.
If you unsure running something you can load test environment with Docker:
./bin/test.sh
It runs an empty linux sandbox with Linux Mint 20 as a "test" user with "test" password. There is also the healthcheck script.