From 8c843170d4db03b99ea4c041c68931a9522f6382 Mon Sep 17 00:00:00 2001 From: keiran Date: Fri, 12 Apr 2019 22:53:25 -0400 Subject: [PATCH] common; vimrc --- common/files/vimrc.jinja | 70 ++++++++++++++++++++++++++++++++++++++++ common/init.sls | 11 ++----- common/map.jinja | 30 ++++++++++++++--- common/packages.sls | 8 +++++ common/vimrc.sls | 10 ++++++ salt/master.sls | 2 +- salt/minion.sls | 2 +- 7 files changed, 118 insertions(+), 15 deletions(-) create mode 100644 common/files/vimrc.jinja create mode 100644 common/packages.sls create mode 100644 common/vimrc.sls diff --git a/common/files/vimrc.jinja b/common/files/vimrc.jinja new file mode 100644 index 0000000..01e27d9 --- /dev/null +++ b/common/files/vimrc.jinja @@ -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 diff --git a/common/init.sls b/common/init.sls index 6224518..2762107 100644 --- a/common/init.sls +++ b/common/init.sls @@ -1,8 +1,3 @@ -{% from "common/map.jinja" import common with context %} - -'base_packages': - pkg.installed: - - pkgs: -{% for package in common['packages'] %} - - {{ package|yaml_encode }} -{% endfor %} +include: + - common.packages + - common.vimrc diff --git a/common/map.jinja b/common/map.jinja index 97de96a..f8111db 100644 --- a/common/map.jinja +++ b/common/map.jinja @@ -3,23 +3,43 @@ 'Debian': { 'packages': [ 'vim' - ] + ], + 'vimrc': '/etc/vim/vimrc' }, 'RedHat': { 'packages': [ 'vim-enhanced' - ] + ], + 'vimrc': '/etc/vimrc' }, }) %} +{% set distro = salt['grains.filter_by']({ + 'Fedora': { + 'packages': [ + 'pcp-system-tools' + ] + }, + 'default': { + 'packages': [ + 'dstat' + ] + } +}, grain='os') %} + {% set defaults = { '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() %} {% do common[key].extend(defaults[key]) %} {% endfor %} - diff --git a/common/packages.sls b/common/packages.sls new file mode 100644 index 0000000..6224518 --- /dev/null +++ b/common/packages.sls @@ -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 %} diff --git a/common/vimrc.sls b/common/vimrc.sls new file mode 100644 index 0000000..eee6f96 --- /dev/null +++ b/common/vimrc.sls @@ -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 + diff --git a/salt/master.sls b/salt/master.sls index fd2a8ff..b25a2ea 100644 --- a/salt/master.sls +++ b/salt/master.sls @@ -1,6 +1,6 @@ /etc/salt/master: - file.managed: + file.managed: - source: 'salt://salt/files/master.jinja' - template: jinja - user: root diff --git a/salt/minion.sls b/salt/minion.sls index 93ab19d..2f9c1c2 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -1,6 +1,6 @@ /etc/salt/minion: - file.managed: + file.managed: - source: 'salt://salt/files/minion.jinja' - template: jinja - user: root