Move from dotfiles to roles-based playbooks
This commit is contained in:
commit
57fa030b8f
22 changed files with 648 additions and 0 deletions
8
main.yml
Normal file
8
main.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
- name: Setup
|
||||||
|
hosts: localhost
|
||||||
|
tasks:
|
||||||
|
- include_role:
|
||||||
|
name: distro
|
||||||
|
- include_role:
|
||||||
|
name: home
|
42
roles/distro/tasks/debian.yml
Normal file
42
roles/distro/tasks/debian.yml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
- name: Install packages
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
name: '{{ packages }}'
|
||||||
|
state: present
|
||||||
|
force_apt_get: yes
|
||||||
|
vars:
|
||||||
|
packages:
|
||||||
|
- apt-file
|
||||||
|
- asciidoctor
|
||||||
|
- caja-open-terminal
|
||||||
|
- dc
|
||||||
|
- desktop-base
|
||||||
|
- dnsutils
|
||||||
|
- emacs
|
||||||
|
- evolution
|
||||||
|
- galculator
|
||||||
|
- git
|
||||||
|
- git-gui
|
||||||
|
- mc
|
||||||
|
- mpv
|
||||||
|
- nextcloud-desktop
|
||||||
|
- nmap
|
||||||
|
- packagekit
|
||||||
|
- python3
|
||||||
|
- realmd
|
||||||
|
- redshift-gtk
|
||||||
|
- remmina
|
||||||
|
- rxvt-unicode
|
||||||
|
- seahorse
|
||||||
|
- sqlite3
|
||||||
|
- sssd
|
||||||
|
- sudo
|
||||||
|
- task-british-desktop
|
||||||
|
- task-mate-desktop
|
||||||
|
- tlp
|
||||||
|
- tmux
|
||||||
|
- vim-gtk
|
||||||
|
- xinput
|
||||||
|
- xterm
|
||||||
|
- zsh
|
4
roles/distro/tasks/main.yml
Normal file
4
roles/distro/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
- include: debian.yml
|
||||||
|
when: ansible_distribution == 'Debian'
|
||||||
|
- include: modules.yml
|
13
roles/distro/tasks/modules.yml
Normal file
13
roles/distro/tasks/modules.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
- name: Blacklist pcspkr module
|
||||||
|
become: true
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/modprobe.d/blacklist.conf
|
||||||
|
line: blacklist pcspkr
|
||||||
|
create: yes
|
||||||
|
- name: Blacklist dvb_usb_rtl28xxu module
|
||||||
|
become: true
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/modprobe.d/blacklist.conf
|
||||||
|
line: blacklist dvb_usb_rtl28xxu
|
||||||
|
create: yes
|
67
roles/home/files/Xresources
Normal file
67
roles/home/files/Xresources
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
*color: true
|
||||||
|
URxvt*background: #111111
|
||||||
|
URxvt*color0: #1e1e1e
|
||||||
|
URxvt*color1: #cc0000
|
||||||
|
URxvt*color2: #4e9a06
|
||||||
|
URxvt*color3: #c4a000
|
||||||
|
URxvt*color4: #3465a4
|
||||||
|
URxvt*color5: #75507b
|
||||||
|
URxvt*color6: #0b939b
|
||||||
|
URxvt*color7: #d3d7cf
|
||||||
|
URxvt*color8: #555753
|
||||||
|
URxvt*color9: #ef2929
|
||||||
|
URxvt*color10: #8ae234
|
||||||
|
URxvt*color11: #fce94f
|
||||||
|
URxvt*color12: #729fcf
|
||||||
|
URxvt*color13: #ad7fa8
|
||||||
|
URxvt*color14: #00f5e9
|
||||||
|
URxvt*color15: #eeeeec
|
||||||
|
URxvt*font: xft:Monospace:Regular:size=10
|
||||||
|
URxvt*foreground: #c0c0c0
|
||||||
|
URxvt*letterSpace: -1
|
||||||
|
URxvt*locale: true
|
||||||
|
URxvt*metaSendsEscape: true
|
||||||
|
URxvt*perl-ext: -searchable-scrollback
|
||||||
|
URxvt*scrollBar_right: true
|
||||||
|
URxvt*termName: rxvt-unicode
|
||||||
|
XClock*hourColor: black
|
||||||
|
XClock*majorColor: red
|
||||||
|
XClock*minorColor: black
|
||||||
|
XClock*minuteColor: black
|
||||||
|
XClock*render: true
|
||||||
|
XClock*secondColor: red
|
||||||
|
XClock*update: 1
|
||||||
|
Xft.hintstyle: hintfull
|
||||||
|
Xft.rgba: none
|
||||||
|
xterm*background: #111111
|
||||||
|
xterm*color0: #1e1e1e
|
||||||
|
xterm*color1: #cc0000
|
||||||
|
xterm*color2: #4e9a06
|
||||||
|
xterm*color3: #c4a000
|
||||||
|
xterm*color4: #3465a4
|
||||||
|
xterm*color5: #75507b
|
||||||
|
xterm*color6: #0b939b
|
||||||
|
xterm*color7: #d3d7cf
|
||||||
|
xterm*color8: #555753
|
||||||
|
xterm*color9: #ef2929
|
||||||
|
xterm*color10: #8ae234
|
||||||
|
xterm*color11: #fce94f
|
||||||
|
xterm*color12: #729fcf
|
||||||
|
xterm*color13: #ad7fa8
|
||||||
|
xterm*color14: #00f5e9
|
||||||
|
xterm*color15: #eeeeec
|
||||||
|
xterm*faceName: xft:Monospace:Regular:size=10
|
||||||
|
xterm*faceSize1: 4
|
||||||
|
xterm*faceSize2: 6
|
||||||
|
xterm*faceSize3: 8
|
||||||
|
xterm*faceSize4: 12
|
||||||
|
xterm*faceSize5: 14
|
||||||
|
xterm*faceSize6: 16
|
||||||
|
xterm*faceSize: 9
|
||||||
|
xterm*foreground: #c0c0c0
|
||||||
|
xterm*locale: true
|
||||||
|
xterm*metaSendsEscape: true
|
||||||
|
xterm*scrollBar: true
|
||||||
|
xterm*utf8: always
|
||||||
|
xterm*utf8Fonts: always
|
||||||
|
xterm*utf8Title: true
|
4
roles/home/files/bash_profile
Normal file
4
roles/home/files/bash_profile
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
if [ -r $HOME/.profile ]; then
|
||||||
|
. $HOME/.profile
|
||||||
|
fi
|
4
roles/home/files/bashrc
Normal file
4
roles/home/files/bashrc
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
if [ -r $HOME/.shrc ]; then
|
||||||
|
. $HOME/.shrc
|
||||||
|
fi
|
50
roles/home/files/fonts.conf
Normal file
50
roles/home/files/fonts.conf
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
<?xml version='1.0'?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||||
|
<fontconfig>
|
||||||
|
|
||||||
|
<!-- Smooth fonts. -->
|
||||||
|
<match target="font">
|
||||||
|
<edit mode="assign" name="rgba">
|
||||||
|
<const>rgb</const>
|
||||||
|
</edit>
|
||||||
|
<edit mode="assign" name="hinting">
|
||||||
|
<bool>true</bool>
|
||||||
|
</edit>
|
||||||
|
<edit mode="assign" name="hintstyle">
|
||||||
|
<const>hintslight</const>
|
||||||
|
</edit>
|
||||||
|
<edit mode="assign" name="antialias">
|
||||||
|
<bool>true</bool>
|
||||||
|
</edit>
|
||||||
|
<edit mode="assign" name="lcdfilter">
|
||||||
|
<const>lcddefault</const>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<!-- Substitute basic PostScript fonts with better looking ones. -->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Times</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign">
|
||||||
|
<string>Liberation Serif</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Helvetica</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign">
|
||||||
|
<string>Liberation Sans</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Courier</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign">
|
||||||
|
<string>Liberation Mono</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
</fontconfig>
|
26
roles/home/files/gitconfig
Normal file
26
roles/home/files/gitconfig
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
[pull]
|
||||||
|
rebase = true
|
||||||
|
[push]
|
||||||
|
default = simple
|
||||||
|
[color]
|
||||||
|
ui = auto
|
||||||
|
[credential]
|
||||||
|
helper = store
|
||||||
|
[alias]
|
||||||
|
ci = commit
|
||||||
|
co = checkout
|
||||||
|
ff = merge --ff-only
|
||||||
|
graph = log --graph --oneline --all
|
||||||
|
l1 = log --pretty=oneline
|
||||||
|
last = log -1 HEAD --pretty=fuller
|
||||||
|
unstage = reset HEAD --
|
||||||
|
up = pull --rebase
|
||||||
|
[gui]
|
||||||
|
encoding = utf-8
|
||||||
|
recentrepo = /home/acp/data/he
|
||||||
|
|
||||||
|
[guitool "Rebase"]
|
||||||
|
cmd = rebase
|
||||||
|
[user]
|
||||||
|
name = Anthony Perkins
|
||||||
|
email = anthony@acperkins.com
|
0
roles/home/files/hushlogin
Normal file
0
roles/home/files/hushlogin
Normal file
1
roles/home/files/inputrc
Normal file
1
roles/home/files/inputrc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set bell-style none
|
69
roles/home/files/mate-acp.layout
Normal file
69
roles/home/files/mate-acp.layout
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
[Toplevel top]
|
||||||
|
expand=true
|
||||||
|
orientation=top
|
||||||
|
size=32
|
||||||
|
|
||||||
|
[Object menu]
|
||||||
|
object-type=menu
|
||||||
|
toplevel-id=top
|
||||||
|
position=0
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object terminal]
|
||||||
|
object-type=launcher
|
||||||
|
launcher-location=/usr/share/applications/mate-terminal.desktop
|
||||||
|
toplevel-id=top
|
||||||
|
position=10
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object file-browser]
|
||||||
|
object-type=launcher
|
||||||
|
launcher-location=/usr/share/applications/caja-browser.desktop
|
||||||
|
toplevel-id=top
|
||||||
|
position=20
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object text-editor]
|
||||||
|
object-type=launcher
|
||||||
|
launcher-location=/usr/share/applications/gvim.desktop
|
||||||
|
toplevel-id=top
|
||||||
|
position=30
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object web-browser]
|
||||||
|
object-type=launcher
|
||||||
|
launcher-location=/usr/share/applications/firefox-esr.desktop
|
||||||
|
toplevel-id=top
|
||||||
|
position=40
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object window-list]
|
||||||
|
object-type=applet
|
||||||
|
applet-iid=WnckletFactory::WindowListApplet
|
||||||
|
toplevel-id=top
|
||||||
|
position=50
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object workspace-switcher]
|
||||||
|
object-type=applet
|
||||||
|
applet-iid=WnckletFactory::WorkspaceSwitcherApplet
|
||||||
|
toplevel-id=top
|
||||||
|
position=20
|
||||||
|
panel-right-stick=true
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object notification-area]
|
||||||
|
object-type=applet
|
||||||
|
applet-iid=NotificationAreaAppletFactory::NotificationArea
|
||||||
|
toplevel-id=top
|
||||||
|
position=10
|
||||||
|
panel-right-stick=true
|
||||||
|
locked=true
|
||||||
|
|
||||||
|
[Object clock]
|
||||||
|
object-type=applet
|
||||||
|
applet-iid=ClockAppletFactory::ClockApplet
|
||||||
|
toplevel-id=top
|
||||||
|
position=0
|
||||||
|
panel-right-stick=true
|
||||||
|
locked=true
|
16
roles/home/files/profile
Normal file
16
roles/home/files/profile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -r /etc/profile ]; then
|
||||||
|
. /etc/profile
|
||||||
|
fi
|
||||||
|
|
||||||
|
export BASH_ENV="$HOME/.bashrc"
|
||||||
|
export BLOCKSIZE="K"
|
||||||
|
export EDITOR="vi"
|
||||||
|
export ENV="$HOME/.shrc"
|
||||||
|
export LANG="en_GB.UTF-8"
|
||||||
|
export PAGER="less"
|
||||||
|
|
||||||
|
if [ -r $HOME/.profile.$(hostname -s) ]; then
|
||||||
|
. $HOME/.profile.$(hostname -s)
|
||||||
|
fi
|
228
roles/home/files/shrc
Normal file
228
roles/home/files/shrc
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
umask 0022
|
||||||
|
|
||||||
|
set -o emacs
|
||||||
|
set -o noclobber
|
||||||
|
|
||||||
|
# Locale and language.
|
||||||
|
export LC_ALL=
|
||||||
|
export LANG="en_GB.UTF-8"
|
||||||
|
export LANGUAGE="en_GB:en"
|
||||||
|
export LC_ADDRESS="en_GB.UTF-8"
|
||||||
|
export LC_COLLATE="en_GB.UTF-8"
|
||||||
|
export LC_CTYPE="en_GB.UTF-8"
|
||||||
|
export LC_IDENTIFICATION="en_GB.UTF-8"
|
||||||
|
export LC_MEASUREMENT="en_GB.UTF-8"
|
||||||
|
export LC_MESSAGES="en_GB.UTF-8"
|
||||||
|
export LC_MONETARY="en_GB.UTF-8"
|
||||||
|
export LC_NAME="en_GB.UTF-8"
|
||||||
|
export LC_NUMERIC="en_GB.UTF-8"
|
||||||
|
export LC_PAPER="en_GB.UTF-8"
|
||||||
|
export LC_TELEPHONE="en_GB.UTF-8"
|
||||||
|
export LC_TIME="en_GB.UTF-8"
|
||||||
|
export PAPERSIZE="a4"
|
||||||
|
export TIME_STYLE="long-iso"
|
||||||
|
|
||||||
|
# Other exports.
|
||||||
|
export EDITOR=vi
|
||||||
|
export PYTHONWARNINGS="ignore::UserWarning"
|
||||||
|
|
||||||
|
if [ "$SHELL" = "/bin/sh" ]; then
|
||||||
|
export PS1='\$ '
|
||||||
|
else
|
||||||
|
export PS1='${SSH_TTY:+[$(id -un)@$(hostname -s)]}\$ '
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$BASH" ]; then
|
||||||
|
shopt -s histappend
|
||||||
|
bind '"\e[1;5C": forward-word'
|
||||||
|
bind '"\e[1;5D": backward-word'
|
||||||
|
bind '"\e[A": history-search-backward'
|
||||||
|
bind '"\e[B": history-search-forward'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$ZSH_VERSION" ]; then
|
||||||
|
# Command history.
|
||||||
|
autoload -U history-search-end
|
||||||
|
zle -N history-beginning-search-backward-end history-search-end
|
||||||
|
zle -N history-beginning-search-forward-end history-search-end
|
||||||
|
bindkey "^[[A" history-beginning-search-backward-end
|
||||||
|
bindkey "^[[B" history-beginning-search-forward-end
|
||||||
|
bindkey "^[OA" history-beginning-search-backward-end
|
||||||
|
bindkey "^[OB" history-beginning-search-forward-end
|
||||||
|
|
||||||
|
bindkey "^[[1;5C" forward-word # Ctrl-Right
|
||||||
|
bindkey "^[[1;5D" backward-word # Ctrl-Left
|
||||||
|
bindkey "^[[3;5~" delete-char # Ctrl-Del
|
||||||
|
bindkey "^[[3~" delete-char # Del
|
||||||
|
export HISTFILE=$HOME/.zsh_history
|
||||||
|
export HISTSIZE=1000000
|
||||||
|
export SAVEHIST=1000000
|
||||||
|
setopt EXTENDED_HISTORY
|
||||||
|
setopt HIST_IGNORE_ALL_DUPS
|
||||||
|
setopt HIST_IGNORE_SPACE
|
||||||
|
setopt PROMPT_SUBST
|
||||||
|
setopt SHARE_HISTORY
|
||||||
|
fi
|
||||||
|
|
||||||
|
LSOPTIONS="-F"
|
||||||
|
if ls --color=auto /dev/null 2>/dev/null 1>/dev/null; then
|
||||||
|
LSOPTIONS="$LSOPTIONS --color=auto"
|
||||||
|
fi
|
||||||
|
if [ "$(uname -s)" = "FreeBSD" ]; then
|
||||||
|
LSOPTIONS="$LSOPTIONS -G"
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias adoc="asciidoctor -a stylesheet=$HOME/.asciidoctor.css"
|
||||||
|
alias cal="ncal -w"
|
||||||
|
alias df="df -x squashfs"
|
||||||
|
alias ec="emacsclient -c"
|
||||||
|
alias en="emacsclient -nw"
|
||||||
|
alias f="fossil"
|
||||||
|
alias ll="/bin/ls -l"
|
||||||
|
alias ls="/bin/ls $LSOPTIONS"
|
||||||
|
alias now="date +%Y%m%dT%H%M%S%z"
|
||||||
|
alias nowu="date -u +%Y%m%dT%H%M%SZ"
|
||||||
|
alias ta="$HOME/opt/textadept/textadept"
|
||||||
|
alias tm="tmux -2 attach-session || tmux -2 new-session"
|
||||||
|
alias wg="wordgrinder"
|
||||||
|
alias ytmp3="youtube-dl -q -x --audio-format=mp3"
|
||||||
|
|
||||||
|
if [ ! -d "$HOME/.local/bin" ]; then
|
||||||
|
/bin/mkdir -p "$HOME/.local/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Alias vi to vim if it is installed
|
||||||
|
if [ -x /usr/bin/vim ] || [ -x /usr/local/bin/vim ]; then
|
||||||
|
alias vi="vim"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up GOPATH
|
||||||
|
export GOPATH="$HOME/data/go"
|
||||||
|
if [ -x /usr/bin/go ] || [ -x /usr/local/bin/go ]; then
|
||||||
|
if [ ! -d "$GOPATH" ]; then
|
||||||
|
/bin/mkdir -p "$GOPATH/bin"
|
||||||
|
/bin/mkdir -p "$GOPATH/pkg"
|
||||||
|
/bin/mkdir -p "$GOPATH/src"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Useful aliases for Podman and Docker
|
||||||
|
alias prun="podman run --rm -it"
|
||||||
|
alias prunx="podman run -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=\"unix\$DISPLAY\""
|
||||||
|
alias drun="sudo docker run --rm -it"
|
||||||
|
alias drunx="sudo docker run -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=\"unix\$DISPLAY\""
|
||||||
|
|
||||||
|
PATH="/usr/bin:/bin"
|
||||||
|
for dir in $HOME/.local/bin \
|
||||||
|
$HOME/bin \
|
||||||
|
/app/bin \
|
||||||
|
/snap/bin \
|
||||||
|
/sbin \
|
||||||
|
/usr/sbin \
|
||||||
|
/usr/X11R6/bin \
|
||||||
|
/usr/X11R7/bin \
|
||||||
|
/usr/local/bin \
|
||||||
|
/usr/local/sbin \
|
||||||
|
/usr/pkg/bin \
|
||||||
|
/usr/pkg/sbin \
|
||||||
|
/usr/games \
|
||||||
|
/usr/local/heirloom-doctools/bin \
|
||||||
|
/var/lib/snapd/snap/bin \
|
||||||
|
$GOPATH/bin \
|
||||||
|
$HOME/.cargo/bin \
|
||||||
|
; do
|
||||||
|
if [ -d "$dir" ]; then
|
||||||
|
PATH="$PATH:$dir"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
MANPATH="/usr/share/man"
|
||||||
|
for dir in $HOME/.local/share/man \
|
||||||
|
/usr/X11R6/man \
|
||||||
|
/usr/X11R7/man \
|
||||||
|
/usr/local/man \
|
||||||
|
/usr/pkg/man \
|
||||||
|
/usr/local/share/man \
|
||||||
|
/usr/local/heirloom-doctools/man \
|
||||||
|
; do
|
||||||
|
if [ -d "$dir" ]; then
|
||||||
|
MANPATH="$MANPATH:$dir"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
export MANPATH
|
||||||
|
|
||||||
|
mkcd () {
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "mkcd: incorrect arguments (one directory required)." >&2
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
mkdir -p "$1"
|
||||||
|
cd "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
termtitle () {
|
||||||
|
echo -en "\033]0;$1\007"
|
||||||
|
}
|
||||||
|
|
||||||
|
linapm () {
|
||||||
|
cat /sys/class/power_supply/BAT0/{status,capacity}
|
||||||
|
}
|
||||||
|
|
||||||
|
cman () {
|
||||||
|
# md: start bold
|
||||||
|
# us: start underline
|
||||||
|
# ue: end underline
|
||||||
|
# me: end bold, blink, and underline
|
||||||
|
env MANPAGER=less \
|
||||||
|
LESS_TERMCAP_md=$'\e[1;36m' \
|
||||||
|
LESS_TERMCAP_me=$'\e[0m' \
|
||||||
|
LESS_TERMCAP_us=$'\e[4;32m' \
|
||||||
|
LESS_TERMCAP_ue=$'\e[0m' \
|
||||||
|
/usr/bin/man "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
xa () {
|
||||||
|
OUT=$(xrandr --listactivemonitors | awk 'NR!=1{print " "$NF" "}')
|
||||||
|
for monitor in "${OUT}"; do
|
||||||
|
m=$(echo $monitor | sed 's/ //g')
|
||||||
|
xrandr --output $m --auto
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -x /usr/bin/yum ] && [ ! -x /usr/bin/dnf ]; then
|
||||||
|
alias dnf='yum'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -x /usr/bin/svnlite ] && [ ! -x /usr/local/bin/svn ]; then
|
||||||
|
alias svn='svnlite'
|
||||||
|
alias svnadmin='svnliteadmin'
|
||||||
|
alias svndumpfilter='svnlitedumpfilter'
|
||||||
|
alias svnlook='svnlitelook'
|
||||||
|
alias svnmucc='svnlitemucc'
|
||||||
|
alias svnrdump='svnliterdump'
|
||||||
|
alias svnserve='svnliteserve'
|
||||||
|
alias svnsync='svnlitesync'
|
||||||
|
alias svnversion='svnliteversion'
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $- in
|
||||||
|
*i*)
|
||||||
|
# Shell is interactive
|
||||||
|
printf "\033[7m"
|
||||||
|
uname -sr
|
||||||
|
printf "\033[0m"
|
||||||
|
if [ -r /etc/os-release ]; then
|
||||||
|
echo " $(. /etc/os-release; echo $PRETTY_NAME)"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -r $HOME/.shrc.$(hostname -s) ]; then
|
||||||
|
. $HOME/.shrc.$(hostname -s)
|
||||||
|
fi
|
12
roles/home/files/tmux.conf
Normal file
12
roles/home/files/tmux.conf
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
bind-key C command-prompt -p "Execute:" "new-window '%1'"
|
||||||
|
bind-key M-'"' command-prompt -p "Execute:" "split-window '%1'"
|
||||||
|
bind-key M-% command-prompt -p "Execute:" "split-window -h '%1'"
|
||||||
|
bind-key R source-file "${HOME}/.tmux.conf"
|
||||||
|
bind-key S command-prompt -p "Move to:" "swap-pane -s. -t%1 \; select-pane -t%1"
|
||||||
|
set -g base-index 1
|
||||||
|
set -g default-command "$SHELL"
|
||||||
|
set -g default-terminal "screen-256color"
|
||||||
|
set -g display-panes-time 5000
|
||||||
|
set -g pane-base-index 1
|
||||||
|
set -g status-right ''
|
||||||
|
set-window-option -g xterm-keys on
|
3
roles/home/files/zshrc
Normal file
3
roles/home/files/zshrc
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
if [ -r $HOME/.shrc ]; then
|
||||||
|
. $HOME/.shrc
|
||||||
|
fi
|
38
roles/home/tasks/emacs.yml
Normal file
38
roles/home/tasks/emacs.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
- name: Clone emacs settings
|
||||||
|
git:
|
||||||
|
repo: https://git.acperkins.com/acp/emacs.d.git
|
||||||
|
dest: "{{ ansible_env.HOME }}/.emacs.d"
|
||||||
|
- name: Find emacs service definition
|
||||||
|
find:
|
||||||
|
paths: /usr/share/emacs
|
||||||
|
patterns: 'emacs.service'
|
||||||
|
recurse: yes
|
||||||
|
depth: 3
|
||||||
|
register: emacs_service_files
|
||||||
|
- name: Create systemd user directory
|
||||||
|
file:
|
||||||
|
path: "{{ ansible_env.HOME }}/.config/systemd/user"
|
||||||
|
state: directory
|
||||||
|
- name: Create emacs user service
|
||||||
|
copy:
|
||||||
|
src: '{{ item.path }}'
|
||||||
|
dest: "{{ ansible_env.HOME }}/.config/systemd/user/emacs.service"
|
||||||
|
remote_src: yes
|
||||||
|
loop: '{{ emacs_service_files.files }}'
|
||||||
|
- name: Start emacs user service
|
||||||
|
systemd:
|
||||||
|
name: emacs.service
|
||||||
|
scope: user
|
||||||
|
daemon_reload: yes
|
||||||
|
enabled: yes
|
||||||
|
state: started
|
||||||
|
- name: Create user applications directory
|
||||||
|
file:
|
||||||
|
path: "{{ ansible_env.HOME }}/.local/share/applications"
|
||||||
|
state: directory
|
||||||
|
- name: Create emacs client launcher
|
||||||
|
copy:
|
||||||
|
src: "{{ ansible_env.HOME }}/.emacs.d/emacs-client.desktop"
|
||||||
|
dest: "{{ ansible_env.HOME }}/.local/share/applications/emacs-client.desktop"
|
||||||
|
remote_src: yes
|
6
roles/home/tasks/main.yml
Normal file
6
roles/home/tasks/main.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- include: repos.yml
|
||||||
|
- include: vim.yml
|
||||||
|
- include: shell.yml
|
||||||
|
- include: emacs.yml
|
||||||
|
- include: mate.yml
|
6
roles/home/tasks/mate.yml
Normal file
6
roles/home/tasks/mate.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- name: Copy MATE panel layout
|
||||||
|
become: true
|
||||||
|
copy:
|
||||||
|
src: mate-acp.layout
|
||||||
|
dest: /usr/share/mate-panel/layouts/acp.layout
|
5
roles/home/tasks/repos.yml
Normal file
5
roles/home/tasks/repos.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: Clone vim settings
|
||||||
|
git:
|
||||||
|
repo: https://git.acperkins.com/acp/vimfiles.git
|
||||||
|
dest: "{{ ansible_env.HOME }}/.vim"
|
21
roles/home/tasks/shell.yml
Normal file
21
roles/home/tasks/shell.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
- name: Copy .bashrc
|
||||||
|
copy:
|
||||||
|
src: bashrc
|
||||||
|
dest: "{{ ansible_env.HOME }}/.bashrc"
|
||||||
|
- name: Copy .bash_profile
|
||||||
|
copy:
|
||||||
|
src: bash_profile
|
||||||
|
dest: "{{ ansible_env.HOME }}/.bash_profile"
|
||||||
|
- name: Copy .profile
|
||||||
|
copy:
|
||||||
|
src: profile
|
||||||
|
dest: "{{ ansible_env.HOME }}/.profile"
|
||||||
|
- name: Copy .shrc
|
||||||
|
copy:
|
||||||
|
src: shrc
|
||||||
|
dest: "{{ ansible_env.HOME }}/.shrc"
|
||||||
|
- name: Copy .zshrc
|
||||||
|
copy:
|
||||||
|
src: zshrc
|
||||||
|
dest: "{{ ansible_env.HOME }}/.zshrc"
|
25
roles/home/tasks/vim.yml
Normal file
25
roles/home/tasks/vim.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
- name: Copy .Xresources
|
||||||
|
copy:
|
||||||
|
src: Xresources
|
||||||
|
dest: "{{ ansible_env.HOME }}/.Xresources"
|
||||||
|
- name: Copy .fonts.conf
|
||||||
|
copy:
|
||||||
|
src: fonts.conf
|
||||||
|
dest: "{{ ansible_env.HOME }}/.fonts.conf"
|
||||||
|
- name: Copy .gitconfig
|
||||||
|
copy:
|
||||||
|
src: gitconfig
|
||||||
|
dest: "{{ ansible_env.HOME }}/.gitconfig"
|
||||||
|
- name: Copy .inputrc
|
||||||
|
copy:
|
||||||
|
src: inputrc
|
||||||
|
dest: "{{ ansible_env.HOME }}/.inputrc"
|
||||||
|
- name: Copy .tmux.conf
|
||||||
|
copy:
|
||||||
|
src: tmux.conf
|
||||||
|
dest: "{{ ansible_env.HOME }}/.tmux.conf"
|
||||||
|
- name: Copy .hushlogin
|
||||||
|
copy:
|
||||||
|
src: hushlogin
|
||||||
|
dest: "{{ ansible_env.HOME }}/.hushlogin"
|
Loading…
Reference in a new issue