Add first working version of ansible dotfiles

This commit is contained in:
Johannes Rothe 2021-01-21 22:14:18 +01:00
parent 1fb39a07ea
commit bc57be91c4
20 changed files with 894 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
id_rsa
id_rsa.pub
known_hosts

4
README.md Normal file
View File

@ -0,0 +1,4 @@
Ansible must be installed.
Invoke with
`ansible-playbook -i hosts.ini dotfiles.yml -K`

3
ansible.cfg Normal file
View File

@ -0,0 +1,3 @@
[defaults]
retry_files_enabled = False
interpreter_python=/usr/bin/python3

10
dotfiles.yml Normal file
View File

@ -0,0 +1,10 @@
---
# - fix symlinks for folders
- hosts: all
roles:
- bootstrap
- dotfiles
tasks:
- debug:
msg:
"System operating with {{ ansible_distribution }} {{ ansible_distribution_major_version }}"

2
hosts.ini Normal file
View File

@ -0,0 +1,2 @@
[dotfiles]
localhost ansible_connection=local

View File

@ -0,0 +1,27 @@
---
- name: Install necessary packages
become: yes
become_method: su
become_user: root
apt:
name: "{{ packages_all }}"
state: present
cache_valid_time: 3600
- name: Install ubuntu specific packages
become: yes
become_method: su
become_user: root
when: ansible_distribution == "Ubuntu"
apt:
name: "{{ packages_ubuntu }}"
state: present
cache_valid_time: 3600
- name: Install debian specific packages
become: yes
become_method: su
become_user: root
when: ansible_distribution == "Debian"
apt:
name: "{{ packages_debian }}"
state: present
cache_valid_time: 3600

View File

@ -0,0 +1,17 @@
---
packages_all:
- ack
- build-essential
- fish
- htop
- ispell
- grimshot
- tmux
- sway
- swaylock
- waybar
- vim
packages_debian:
- vim
packages_ubuntu:
- vim

View File

@ -0,0 +1,8 @@
# variables
export EDITOR=vim
# Start X at login
if status --is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx
end
end

View File

@ -0,0 +1,35 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_init_2_3_0:\x1d
SETUVAR __fish_initialized:3100
SETUVAR _fish_abbr_upd:sudo\x20apt\x20update
SETUVAR _fish_abbr_upg:sudo\x20apt\x20upgrade
SETUVAR fish_color_autosuggestion:555
SETUVAR fish_color_cancel:normal
SETUVAR fish_color_command:ff5faf
SETUVAR fish_color_comment:990000
SETUVAR fish_color_cwd:008000
SETUVAR fish_color_cwd_root:800000
SETUVAR fish_color_end:ffaf00
SETUVAR fish_color_error:ff0000
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_history_current:normal
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_match:normal
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_param:afd700
SETUVAR fish_color_quote:d7ff5f
SETUVAR fish_color_redirection:af00ff
SETUVAR fish_color_search_match:ffff00
SETUVAR fish_color_selection:c0c0c0
SETUVAR fish_color_status:red
SETUVAR fish_color_user:00ff00
SETUVAR fish_color_valid_path:normal
SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

View File

@ -0,0 +1,87 @@
function fish_prompt
set -l __last_command_exit_status $status
if not set -q -g __fish_robbyrussell_functions_defined
set -g __fish_robbyrussell_functions_defined
function _git_branch_name
set -l branch (git symbolic-ref --quiet HEAD 2>/dev/null)
if set -q branch[1]
echo (string replace -r '^refs/heads/' '' $branch)
else
echo (git rev-parse --short HEAD 2>/dev/null)
end
end
function _is_git_dirty
echo (git status -s --ignore-submodules=dirty 2>/dev/null)
end
function _is_git_repo
type -q git
or return 1
git rev-parse --git-dir >/dev/null 2>&1
end
function _hg_branch_name
echo (hg branch 2>/dev/null)
end
function _is_hg_dirty
echo (hg status -mard 2>/dev/null)
end
function _is_hg_repo
fish_print_hg_root >/dev/null
end
function _repo_branch_name
_$argv[1]_branch_name
end
function _is_repo_dirty
_is_$argv[1]_dirty
end
function _repo_type
if _is_hg_repo
echo 'hg'
return 0
else if _is_git_repo
echo 'git'
return 0
end
return 1
end
end
set -l cyan (set_color -o cyan)
set -l yellow (set_color -o yellow)
set -l red (set_color -o red)
set -l green (set_color -o green)
set -l blue (set_color -o blue)
set -l normal (set_color normal)
set -l arrow_color "$green"
if test $__last_command_exit_status != 0
set arrow_color "$red"
end
set -l arrow "$arrow_color"
if test "$USER" = 'root'
set arrow "$arrow_color# "
end
set -l cwd $cyan(basename (prompt_pwd))
if set -l repo_type (_repo_type)
set -l repo_branch $red(_repo_branch_name $repo_type)
set repo_info "$blue $repo_type:($repo_branch$blue)"
if [ (_is_repo_dirty $repo_type) ]
set -l dirty "$yellow"
set repo_info "$repo_info$dirty"
end
end
echo -n -s $arrow ' '$cwd $repo_info $normal ' '
end

View File

@ -0,0 +1,3 @@
function ll --description 'List contents of directory using long format'
ls -lh $argv
end

View File

@ -0,0 +1,108 @@
# -*- conf -*-
font=Roboto Mono Medium:size=8
bell=set-urgency
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
# pad=2x2
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot
# login-shell=no
# workers=<number of logical CPUs>
[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=
[cursor]
# style=block
# color=111111 dcdccc
# blink=no
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[colors]
# alpha=0.9
# foreground=dcdccc
# background=111111
regular0=222222 # black
regular1=f92672 # red
regular2=82b414 # green
regular3=fd971f # yellow
regular4=268bd2 # blue
regular5=8c54fe # magenta
regular6=56c2d6 # cyan
regular7=ccccc6 # white
bright0=505354 # bright black
bright1=ff5995 # bright red
bright2=b7eb46 # bright green
bright3=feed6c # bright yellow
bright4=62ade3 # bright blue
bright5=bfa0fe # bright magenta
bright6=94d8e5 # bright cyan
bright7=f8f8f2 # bright white
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
[csd]
# preferred=server
# size=26
# color=<foreground color>
# button-width=26
# button-minimize-color=ff0000ff
# button-maximize-color=ff00ff00
# button-close-color=ffff0000
[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+C
# clipboard-paste=Control+Shift+V
# primary-paste=Shift+Insert
# search-start=Control+Shift+R
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+N
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | bemenu | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | bemenu | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
[search-bindings]
# cancel=Control+g Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+W
[mouse-bindings]
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

@ -0,0 +1,188 @@
# From /etc/sway/config
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term foot
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
set $menu dmenu_path | dmenu | xargs swaymsg exec --
include /etc/sway/config-vars.d/*
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
output * bg ~/.config/sway/bg.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
include /etc/sway/config.d/*
# custom
input * {
xkb_layout "de"
}
bar {
swaybar_command waybar
}
# remove header
default_border pixel
# Keys
bindsym Mod1+l exec swaylock -c 222222
bindsym Mod1+s exec systemctl suspend
bindsym XF86AudioRaiseVolume exec "pactl set-sink-volume @DEFAULT_SINK@ +5%"
bindsym XF86AudioLowerVolume exec "pactl set-sink-volume @DEFAULT_SINK@ -5%"
bindsym XF86AudioMute exec "pactl set-sink-mute @DEFAULT_SINK@ toggle"
# Take a Screenshot with the region select (slurp)
bindsym Print exec grim -g "$(slurp)" ~/Pictures/shots/$(date +%Y-%m-%d_%H-%m-%S).png

View File

@ -0,0 +1,163 @@
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 24, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode"],
//"modules-center": ["sway/window"],
"modules-right": ["cpu", "temperature","network", "pulseaudio", "battery", "battery#bat2", "custom/date", "custom/week", "custom/clock", "tray"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{name}",
"persistent_workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
},
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
// "clock": {
// "format": "{%Y-%m-%d %H:%M}"
// },
"cpu": {
"format": " {usage}%",
"tooltip": false
},
"memory": {
"format": " {}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": " {temperatureC}°C",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", ""]
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format": "  {time} {capacity}%",
"format-charging": "  {time} {capacity}%",
"format-plugged": "  {time} {capacity}%",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
"format-full": " Full",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": " {ipaddr}",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}%",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": "mute ",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/date": {
"exec": "date +' %a %_d. %b'",
"interval": 60
},
"custom/week": {
"exec": "date +'CW %V'",
"interval": 60
},
"custom/clock": {
"exec": "date +' %H:%M'",
"interval": 10
}
}

View File

@ -0,0 +1,149 @@
* {
border: none;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
font-family: Roboto Mono;
font-size: 14px;
min-height: 0;
}
window#waybar {
background-color: #3b4252;
color: white;
}
window#waybar.hidden {
opacity: 0.2;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #ffffff;
border-bottom: 3px solid transparent;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
box-shadow: inherit;
border-bottom: 3px solid #ffffff;
}
#workspaces button.focused {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#temperature,
#backlight,
#network,
#pulseaudio,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#custom-date,
#custom-clock,
#custom-week,
#mpd {
padding: 0px 10px;
/*margin: 2px 0px;*/
color: #ffffff;
background-color: #4c566a;
}
/*#clock {
/ background-color: #64727D;
}*/
/*#battery {
background-color: #ffffff;
color: #000000;
}
#battery.charging {
color: #ffffff;
background-color: #26A65B;
}*/
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.warning:not(.charging) {
background-color: #fd971f;
}
#battery.critical:not(.charging) {
background-color: #ff5995;
}
label:focus {
background-color: #000000;
}
#network.disconnected {
background-color: #f53c3c;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
background-color: #2980b9;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}

View File

@ -0,0 +1,8 @@
Host base
HostName skaq5lpru2kvl6hu.myfritz.net
Port 2222
User johannes
Host ovh
HostName 51.89.23.55
Port 2222
User rothe

View File

@ -0,0 +1,54 @@
set number
set colorcolumn=80
set background=dark
syntax on
colorscheme monokai
" python
au BufNewFile,BufRead *.py set tabstop=4 softtabstop=4 shiftwidth=4
\ textwidth=79 expandtab autoindent fileformat=unix
au BufNewFile,BufRead *.yaml set tabstop=2 softtabstop=2 shiftwidth=2
\ textwidth=79 expandtab autoindent fileformat=unix
au BufNewFile,BufRead *.launch set filetype=xml
" vim-plug
" :PlugInstall to install new one
call plug#begin('~/.vim/plugged')
Plug 'dense-analysis/ale'
Plug 'Valloric/YouCompleteMe'
" enhanced search
Plug 'junegunn/vim-slash'
Plug 'preservim/nerdtree'
Plug 'vim-airline/vim-airline'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'luochen1990/rainbow'
" Themes
Plug 'crusoexia/vim-monokai'
" Language specific
Plug 'vim-python/python-syntax'
call plug#end()
" Preconditions for plugins
" ale: apt install pylint flake8
" Ale
let g:ale_linters = {
\ 'python': ['flake8', 'pylint'],
\}
" NERDTREE
" open nerdtree when no file is specified on startup
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" toggle nerdtree keyboard shortcut
map <C-t> :NERDTreeToggle<CR>
" RAINBOW_PARENTHESES
au FileType c,cpp,py call rainbow#load()
" python syntax
let g:python_highlight_all = 1
let g:python_highlight_func_calls = 0
" enable rainbow brackets
let g:rainbow_active = 1

View File

@ -0,0 +1,25 @@
---
- name: List files from config dir
find:
paths: "{{ role_path }}/files/config"
file_type: any
register: config_files
- name: List files for home dir
find:
paths: "{{ role_path }}/files/home"
file_type: any
register: home_files
- name: Link home files
file:
src: "{{ item.path }}"
path: "~/.{{ item.path | basename }}"
state: link
force: True
loop: "{{ home_files.files }}"
- name: Link config files
file:
src: "{{ item.path }}"
path: "~/.config/{{ item.path | basename }}"
state: link
force: True
loop: "{{ config_files.files }}"