common; vimrc
This commit is contained in:
70
common/files/vimrc.jinja
Normal file
70
common/files/vimrc.jinja
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
|
||||||
|
set fileencodings=ucs-bom,utf-8,latin1
|
||||||
|
endif
|
||||||
|
|
||||||
|
set nocompatible " Use Vim defaults (much better!)
|
||||||
|
set bs=indent,eol,start " allow backspacing over everything in insert mode
|
||||||
|
set ai " always set autoindenting on
|
||||||
|
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
|
||||||
|
" than 50 lines of registers
|
||||||
|
set history=50 " keep 50 lines of command line history
|
||||||
|
set ruler " show the cursor position all the time
|
||||||
|
|
||||||
|
" Only do this part when compiled with support for autocommands
|
||||||
|
if has("autocmd")
|
||||||
|
augroup redhat
|
||||||
|
autocmd!
|
||||||
|
" When editing a file, always jump to the last cursor position
|
||||||
|
autocmd BufReadPost *
|
||||||
|
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
|
||||||
|
\ exe "normal! g'\"" |
|
||||||
|
\ endif
|
||||||
|
" don't write swapfile on most commonly used directories for NFS mounts or USB sticks
|
||||||
|
autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp
|
||||||
|
" start with spec file template
|
||||||
|
autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has("cscope") && filereadable("/usr/bin/cscope")
|
||||||
|
set csprg=/usr/bin/cscope
|
||||||
|
set csto=0
|
||||||
|
set cst
|
||||||
|
set nocsverb
|
||||||
|
" add any database in current directory
|
||||||
|
if filereadable("cscope.out")
|
||||||
|
cs add cscope.out
|
||||||
|
" else add database pointed to by environment
|
||||||
|
elseif $CSCOPE_DB != ""
|
||||||
|
cs add $CSCOPE_DB
|
||||||
|
endif
|
||||||
|
set csverb
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Switch syntax highlighting on, when the terminal has colors
|
||||||
|
" Also switch on highlighting the last used search pattern.
|
||||||
|
if &t_Co > 2 || has("gui_running")
|
||||||
|
syntax on
|
||||||
|
set hlsearch
|
||||||
|
endif
|
||||||
|
|
||||||
|
filetype plugin on
|
||||||
|
|
||||||
|
" Don't wake up system with blinking cursor:
|
||||||
|
" http://www.linuxpowertop.org/known.php
|
||||||
|
let &guicursor = &guicursor . ",a:blinkon0"
|
||||||
|
|
||||||
|
" size of a hard tabstop
|
||||||
|
set tabstop=4
|
||||||
|
|
||||||
|
" size of an "indent"
|
||||||
|
set shiftwidth=4
|
||||||
|
|
||||||
|
" a combination of spaces and tabs are used to simulate tab stops at a width
|
||||||
|
" other than the (hard)tabstop
|
||||||
|
set softtabstop=4
|
||||||
|
" make "tab" insert indents instead of tabs at the beginning of a line
|
||||||
|
set smarttab
|
||||||
|
|
||||||
|
" always uses spaces instead of tab characters
|
||||||
|
set expandtab
|
||||||
@@ -1,8 +1,3 @@
|
|||||||
{% from "common/map.jinja" import common with context %}
|
include:
|
||||||
|
- common.packages
|
||||||
'base_packages':
|
- common.vimrc
|
||||||
pkg.installed:
|
|
||||||
- pkgs:
|
|
||||||
{% for package in common['packages'] %}
|
|
||||||
- {{ package|yaml_encode }}
|
|
||||||
{% endfor %}
|
|
||||||
|
|||||||
@@ -3,23 +3,43 @@
|
|||||||
'Debian': {
|
'Debian': {
|
||||||
'packages': [
|
'packages': [
|
||||||
'vim'
|
'vim'
|
||||||
]
|
],
|
||||||
|
'vimrc': '/etc/vim/vimrc'
|
||||||
},
|
},
|
||||||
'RedHat': {
|
'RedHat': {
|
||||||
'packages': [
|
'packages': [
|
||||||
'vim-enhanced'
|
'vim-enhanced'
|
||||||
]
|
],
|
||||||
|
'vimrc': '/etc/vimrc'
|
||||||
},
|
},
|
||||||
}) %}
|
}) %}
|
||||||
|
|
||||||
|
{% set distro = salt['grains.filter_by']({
|
||||||
|
'Fedora': {
|
||||||
|
'packages': [
|
||||||
|
'pcp-system-tools'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
'default': {
|
||||||
|
'packages': [
|
||||||
|
'dstat'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}, grain='os') %}
|
||||||
|
|
||||||
{% set defaults = {
|
{% set defaults = {
|
||||||
'packages': [
|
'packages': [
|
||||||
'iftop'
|
'iftop',
|
||||||
|
'iotop',
|
||||||
|
'nano',
|
||||||
|
'screen'
|
||||||
]
|
]
|
||||||
} %}
|
} %}
|
||||||
|
|
||||||
{# deep merge #}
|
{# custom deep merge #}
|
||||||
|
{% for key in distro.keys() %}
|
||||||
|
{% do common[key].extend(distro[key]) %}
|
||||||
|
{% endfor %}
|
||||||
{% for key in defaults.keys() %}
|
{% for key in defaults.keys() %}
|
||||||
{% do common[key].extend(defaults[key]) %}
|
{% do common[key].extend(defaults[key]) %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|||||||
8
common/packages.sls
Normal file
8
common/packages.sls
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{% from "common/map.jinja" import common with context %}
|
||||||
|
|
||||||
|
'base_packages':
|
||||||
|
pkg.installed:
|
||||||
|
- pkgs:
|
||||||
|
{% for package in common['packages'] %}
|
||||||
|
- {{ package|yaml_encode }}
|
||||||
|
{% endfor %}
|
||||||
10
common/vimrc.sls
Normal file
10
common/vimrc.sls
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{% from "common/map.jinja" import common with context %}
|
||||||
|
|
||||||
|
{{ common['vimrc'] }}:
|
||||||
|
file.managed:
|
||||||
|
- source: 'salt://common/files/vimrc.jinja'
|
||||||
|
- template: jinja
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
- mode: 644
|
||||||
|
|
||||||
Reference in New Issue
Block a user