conf

conf - my dotfiles manager
git clone git://git.alex.balgavy.eu/conf.git
Log | Files | Refs | README | LICENSE

example-dot.map (3134B)


      1 # Mappings for your dotfiles
      2 #
      3 # The format of this file is:
      4 #   - comments:
      5 #     - lines starting with '#' are comments
      6 #     - a comment must be on its own line
      7 #     - there are no multi-line comments
      8 #   - whitespace:
      9 #     - whitespace is ignored, except inside a mapping definition
     10 #        (i.e. you can indent lines however you like, and insert blank lines)
     11 #   - mappings:
     12 #     - a mapping definition is: "source: destination"
     13 #     - source paths are relative to $DOTFILES (set in scripts/conf, or from an environment variable)
     14 #     - lines that don't start with a '-' (dash) are top-level directories or files inside $DOTFILES
     15 #     - lines starting with n number of '-' (dashes) are files/directories n levels deep
     16 #         (i.e. '- bin' is one level deep, '-- bin' is two levels deep, etc.)
     17 #     - every file/directory that is not at the root level must be under some top directory
     18 #         (i.e. you can't have a line starting with '-' as the first line of the mapfile)
     19 #     - every mapping source must exist (conf will complain if it doesn't)
     20 #
     21 # For example, the map definitions:
     22 #   vim:
     23 #     - vimrc: ~/.vimrc
     24 #     - autoload:
     25 #       -- script1.vim: ~/.vim/autoload/script1.vim
     26 #       -- script2.vim: ~/.vim/autoload/script2.vim
     27 #   tmux/tmux.conf: ~/.tmux.conf
     28 #   ghci: ~/.ghci
     29 #
     30 # Get parsed as:
     31 #   vim/vimrc => ~/.vimrc
     32 #   vim/autoload/script1.vim => ~/.vim/autoload/script1.vim
     33 #   vim/autoload/script2.vim => ~/.vim/autoload/script2.vim
     34 #   tmux/tmux.conf => ~/.tmux.conf
     35 #   ghci => ~/.ghci
     36 #
     37 # And executed as the commands:
     38 #   ln -svf "$DOTFILES/vim/vimrc" "~/.vimrc"
     39 #   ln -svf "$DOTFILES/vim/autoload/script1.vim" "~/.vim/autoload/script1.vim"
     40 #   ln -svf "$DOTFILES/vim/autoload/script2.vim" "~/.vim/autoload/script2.vim"
     41 #   ln -svf "$DOTFILES/tmux/tmux.conf" "~/.tmux.conf"
     42 #   ln -svf "$DOTFILES/ghci" "~/.ghci"
     43 #
     44 # Every existing file will be backed up by appending the extension '.bak', before being overwritten.
     45 # If a directory in the destination path doesn't exist, it is automatically created.
     46 # `conf` doesn't remove empty directories after unlinking.
     47 #
     48 # The arrows "x => y" mean:
     49 #   - "source => name_of_symlink"
     50 #   - "the symbolic link to x is y"
     51 #   - "y points to x"
     52 #
     53 # When linking/unlinking you either provide the name of the top directory,
     54 #  or the full name of the mapped path.
     55 
     56 # Custom scripts
     57 bin: ~/.bin
     58 scripts: ~/.scripts
     59 
     60 # Utilities
     61 ctags.d: ~/.ctags.d
     62 git:
     63 - gitconfig: ~/.gitconfig
     64 tmux:
     65 - tmux.conf: ~/.tmux.conf
     66 mpv: ~/.config/mpv
     67 joplin/keymap.json: ~/.config/joplin/keymap.json
     68 
     69 # X server
     70 Xresources: ~/.Xresources
     71 
     72 # Emacs config
     73 emacs:
     74 - emacs.d/themes: ~/.emacs.d/themes
     75 - emacs: ~/.emacs
     76 
     77 # All shell configs
     78 shell:
     79 - aliases: ~/.aliases
     80 - functions: ~/.functions
     81 - zprofile: ~/.zprofile
     82 - zshrc: ~/.zshrc
     83 - bash_profile: ~/.bash_profile
     84 - bashrc: ~/.bashrc
     85 - profile: ~/.profile
     86 - inputrc: ~/.inputrc
     87 
     88 # Vim config
     89 vim:
     90 - after: ~/.vim/after
     91 - autoload: ~/.vim/autoload
     92 - colors: ~/.vim/colors
     93 - compiler: ~/.vim/compiler
     94 - ftdetect: ~/.vim/ftdetect
     95 - plugin: ~/.vim/plugin
     96 - syntax: ~/.vim/syntax
     97 - ultisnips: ~/.vim/ultisnips
     98 - vimrc: ~/.vimrc
     99