common; vimrc

This commit is contained in:
2019-04-12 22:53:25 -04:00
parent 0c72d02792
commit 8c843170d4
7 changed files with 118 additions and 15 deletions

70
common/files/vimrc.jinja Normal file
View 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

View File

@@ -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 %}

View File

@@ -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
View 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
View 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