https://github.com/dgdavid/.dotfiles
My custom collection of dotfiles
https://github.com/dgdavid/.dotfiles
dotfiles stow tmux vim zsh
Last synced: about 2 months ago
JSON representation
My custom collection of dotfiles
- Host: GitHub
- URL: https://github.com/dgdavid/.dotfiles
- Owner: dgdavid
- Created: 2017-08-09T19:49:59.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-09-21T17:13:18.000Z (almost 4 years ago)
- Last Synced: 2025-04-09T21:49:19.408Z (about 1 year ago)
- Topics: dotfiles, stow, tmux, vim, zsh
- Language: Shell
- Size: 496 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dotfiles
My custom collection of dotfiles. Second attempt :sweat_smile:, now managed via
[GNU Stow](https://www.gnu.org/software/stow/).
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [How to use](#how-to-use)
- [How to keep updated](#how-to-keep-updated)
- [Configurations](#configurations)
- [tmux](#tmux)
- [Enabling italics](#enabling-italics)
- [Inside gnome-terminal](#inside-gnome-terminal)
- [vim](#vim)
- [Additional plugins](#additional-plugins)
- [Custom configuration](#custom-configuration)
- [Zsh](#zsh)
- [Plugins](#plugins)
- [irb](#irb)
- [git](#git)
- [kitty](#kitty)
## How to use
Clone repo and use Stow to add or remove desired configurations
`$ git clone git@github.com:dgdavid/.dotfiles.git ~/.dotfiles`
`$ cd ~/.dotfiles`
`$ stow `
## How to keep updated
This repo is using `git subtree`s to hold some external used repos. To update
or keep sync them, you can list prefixes
`$ git log | grep git-subtree-dir | tr -d ' ' | cut -d ":" -f2 | sort | uniq` (via [StackOverflow](https://stackoverflow.com/a/18339297))
and then update those what do you want
`$ git subtree pull --prefix master --squash`
## Configurations
### tmux
[Oh My Tmux!](https://github.com/gpakosz/.tmux) - pretty + versatile tmux configuration that just works.
#### Enabling italics
##### Inside gnome-terminal
Following steps given in [this
article](http://www.nerdyweekly.com/posts/enable-italic-text-vim-tmux-gnome-terminal/),
* :exclamation: compile the custom (and included here) terminfo `xterm-256color-italic.terminfo`
`$ tic xterm-256color-italic.terminfo`
* ensure that `set -g default-terminal "xterm-256color-italic"` it is being
used in the tmux.conf (see [tmux/.tmux.conf.local](.tmux.conf.local)).
### vim
So far I was using the awesome Steve Francia's vim distribution,
[spf13-vim](http://vim.spf13.com/). A couple of months ago I switched to a less
sophisticated configuration using [Janus](https://github.com/carlhuda/janus). But now I am giving a try to
[space-vim](https://github.com/liuchengxu/space-vim) :grin: :grin:
---
:warning: Could be necessary to install some libraries. Read **additional plugins** section.
---
First time, it could be necessary to execute `:PlugInstall`.
#### Additional plugins
Apart from those installed by `space-vim` distribution, below plugins were added
* [junegunn/seoul256](https://github.com/junegunn/seoul256.vim) - Low-contrast
Vim color scheme based on Seoul Colors.
* [shime/vim-livedown](https://github.com/shime/vim-livedown) - Vim plugin for
[Livedown](https://github.com/shime/livedown). To use it properly, you must
install Livedown in your system
`$ npm install -g livedown`
* [vim-rails](https://github.com/tpope/vim-rails) - Ruby on Rails power tools
#### Custom configuration
:exclamation: *Do not forget take a look to [`.spacevim`](vim/.spacevim) for more info*.
* **Persistent undo** create the `.vimundo` in your $HOME directory.
`$ mkdir ~/.vimundo`
### Zsh
I started to use Zsh with
[oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh), and then I switched to
[prezto](https://github.com/sorin-ionescu/prezto) configuration framework for a
while.
But now, after took a look to a handful of Zsh frameworks (see [Awesome
Zsh plugins](https://github.com/unixorn/awesome-zsh-plugins#frameworks) and
[Terminals are sexy](https://terminalsare.sexy/#shells)), I am using ~~[zplug](https://github.com/zplug/zplug)~~ zim:fw.
I'm also using a _.zshr.after_ configuration file to put additional configuration.
#### Plugins
* ~~[zplug](https://github.com/zplug/zplug) - A next-generation plugin manager
for Zsh.~~
* ~~[Pure](https://github.com/sindresorhus/pure) - Pretty, minimal and fast Zsh
prompt.~~
* [zim:fw](https://github.com/zimfw/zimfw) - a Zsh configuration framework that
bundles a plugin manager, useful modules, and a wide variety of themes,
without compromising on speed.
* [Starship](https://starship.rs/) - The minimal, blazing-fast, and infinitely
customizable prompt for any shell!
* [Zsh syntax
highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) - Fish
shell like syntax highlighting for Zsh.
* [Httpstat](https://github.com/b4b4r07/httpstat) - curl statistics made
simple.
* [Vimode visual](https://github.com/b4b4r07/zsh-vimode-visual) - Implement the
vim-like visual mode to vi-mode of Zsh.
### irb
This custom configuration file was added due to a problem in macOS related to
reverse search and history in both `irb` and `Rails console`.
### git
Basic git configuration and [aliases from GitAlias/gitalias](https://github.com/GitAlias/gitalias)
User configuration should be placed in `~/.gitconfig_user` file. See
[git/.gitconfig](git/.gitconfig) for more details.
### kitty
Tweaked configuration for [kitty](https://sw.kovidgoyal.net/kitty/), _the fast,
feature-rich, GPU based terminal emulator_.