Skip to content

xlucn/dotfiles

Repository files navigation

dotfiles

Config files for everything.

Environment

Manage dotfiles

I manage my configuration files with stow and a simple makefile. Every top-level folder is treated as a stow "package". Stow will link the files inside those folders to user's home directory. For example, package/.foo/bar will be linked to $HOME/.foo/bar.

There are two kinds of files:

  • Dotfiles: files like package/.foo/bar

    These files go to the user's home directory. Managed by stow. Install with

make dotfiles  # deploy "dot" files
  • System files: files like package/foo/bar

    These files go to root directory. The reason for this is some system files doesn't work if they are symlinks, so they will be copied to the target directly. Install with

make system    # deploy system files

Topics

There are some interesting configuration files that I think deserve sharing. Follow the link to read more.

  • My own shell prompt script, simple and fast.
  • Readline configuration, making bash a powerful interactive shell.
  • Environment variables, with lots of XDG path settings.

Fbterm is a terminal emulator under linux console. It can show Unicode characters, more colors. Combined with tmux, it can create a quite powerful GUI-free environment.

MPD is a music player daemon. I mostly use ncmpc as the front end.

Mutt is a TUI mail client.

Apart from normal configurations, I created a mutt_bootstrap script to support multiple accounts by listing and selecting an email address from pass password store, and extracting the password therein.

IPython has plenty customization options, such as vi keybinding mode.

Ptpython is a enhanced REPL environment, such as showing function signature and docstring

There is a GNOME-style launcher theme.

A lot of scripts.

As a heavy tmux user, I mapped most actions to Alt-KEY, similar to WM keybindings. I think this style can improve efficiency by quite a lot, because you don't have to press a chain of key combination (e.g., Alt-Enter replaces Ctrl-A then minus)

  • Neovim. I am gradually de-coupling neovim from vim configurations. More specifically, I am adding more lua plugins to replace vim script ones.
  • Vim. I am doing my best to make the configuration fast and lightweight.
  • Ex/Vi. Try this old text editor, you will learn vi(m) faster.

All other configuration files. Some interesting ones I like:

  • Gnu info keybings for vim users. Now you know more than pressing q to quit!
  • Top settings to make it as eye-candy as possible.