From 957ff8bb8edfd9a3078f648b3b3b0063a8ae02de Mon Sep 17 00:00:00 2001 From: Matthew Reschke Date: Wed, 8 Apr 2020 15:49:12 -0600 Subject: [PATCH] Refactor server roles into one that handles all OS physical or virtual --- README.md | 59 +++++++++++ functions/user.yml | 96 +++++++++++++++++ functions/user_authorize.yml | 8 ++ server/bash-profile/tasks/main.yml | 31 ------ server/debian/tasks/main.yml | 4 - .../files/bin/poweroff-force | 0 server/files/bin/purgefiles.py | 31 ++++++ server/{bash-profile => }/files/bin/speedtest | 0 .../{bash-profile => }/files/bin/speedtest-hd | 0 .../files/bin/watch-process | 0 .../debian10 => files/debian/10}/sources.list | 0 .../debian8 => files/debian/8}/sources.list | 0 .../debian9 => files/debian/9}/sources.list | 0 .../files => files/debian}/99translations | 0 .../files/profile.d/bash_aliases.sh | 0 server/files/profile.d/bash_prompt.sh | 97 ++++++++++++++++++ .../files/profile.d/git_completion.sh | 0 .../files/profile.d/git_helpers.sh | 0 .../ubuntu/16.04}/sources.list | 0 server/{bash-profile => }/files/vim/README.md | 0 .../files/vim/update-from-linstore | 0 .../files/vim/vim/.gitignore | 0 .../files/vim/vim/README.md | 0 .../files/vim/vim/autoload/plug.vim | 0 .../vimrc-debian-pathogen-before-vim-plug | 0 .../vim/vim/plugged/ctrlp.vim/.gitignore | 0 .../files/vim/vim/plugged/ctrlp.vim/LICENSE | 0 .../vim/plugged/ctrlp.vim/autoload/ctrlp.vim | 0 .../ctrlp.vim/autoload/ctrlp/autoignore.vim | 0 .../ctrlp.vim/autoload/ctrlp/bookmarkdir.vim | 0 .../ctrlp.vim/autoload/ctrlp/buffertag.vim | 0 .../ctrlp.vim/autoload/ctrlp/changes.vim | 0 .../plugged/ctrlp.vim/autoload/ctrlp/dir.vim | 0 .../plugged/ctrlp.vim/autoload/ctrlp/line.vim | 0 .../ctrlp.vim/autoload/ctrlp/mixed.vim | 0 .../ctrlp.vim/autoload/ctrlp/mrufiles.vim | 0 .../ctrlp.vim/autoload/ctrlp/quickfix.vim | 0 .../ctrlp.vim/autoload/ctrlp/rtscript.vim | 0 .../plugged/ctrlp.vim/autoload/ctrlp/tag.vim | 0 .../plugged/ctrlp.vim/autoload/ctrlp/undo.vim | 0 .../ctrlp.vim/autoload/ctrlp/utils.vim | 0 .../vim/vim/plugged/ctrlp.vim/doc/ctrlp.cnx | 0 .../vim/vim/plugged/ctrlp.vim/doc/ctrlp.txt | 0 .../vim/plugged/ctrlp.vim/plugin/ctrlp.vim | 0 .../files/vim/vim/plugged/ctrlp.vim/readme.md | 0 .../vim/vim/plugged/jellybeans.vim/.gitignore | 0 .../plugged/jellybeans.vim/README.markdown | 0 .../jellybeans.vim/ansi-term-colors.txt | 0 .../jellybeans.vim/colors/jellybeans.vim | 0 .../nerdtree/.github/ISSUE_TEMPLATE/bug.md | 0 .../.github/ISSUE_TEMPLATE/feature_request.md | 0 .../.github/ISSUE_TEMPLATE/question.md | 0 .../nerdtree/.github/PULL_REQUEST_TEMPLATE.md | 0 .../files/vim/vim/plugged/nerdtree/.gitignore | 0 .../vim/vim/plugged/nerdtree/CHANGELOG.md | 0 .../files/vim/vim/plugged/nerdtree/LICENCE | 0 .../vim/vim/plugged/nerdtree/README.markdown | 0 .../plugged/nerdtree/autoload/nerdtree.vim | 0 .../nerdtree/autoload/nerdtree/ui_glue.vim | 0 .../vim/vim/plugged/nerdtree/doc/NERDTree.txt | 0 .../nerdtree/lib/nerdtree/bookmark.vim | 0 .../plugged/nerdtree/lib/nerdtree/creator.vim | 0 .../plugged/nerdtree/lib/nerdtree/event.vim | 0 .../nerdtree/lib/nerdtree/flag_set.vim | 0 .../plugged/nerdtree/lib/nerdtree/key_map.vim | 0 .../nerdtree/lib/nerdtree/menu_controller.vim | 0 .../nerdtree/lib/nerdtree/menu_item.vim | 0 .../nerdtree/lib/nerdtree/nerdtree.vim | 0 .../nerdtree/lib/nerdtree/notifier.vim | 0 .../plugged/nerdtree/lib/nerdtree/opener.vim | 0 .../plugged/nerdtree/lib/nerdtree/path.vim | 0 .../nerdtree/lib/nerdtree/tree_dir_node.vim | 0 .../nerdtree/lib/nerdtree/tree_file_node.vim | 0 .../vim/plugged/nerdtree/lib/nerdtree/ui.vim | 0 .../nerdtree_plugin/exec_menuitem.vim | 0 .../nerdtree/nerdtree_plugin/fs_menu.vim | 0 .../plugged/nerdtree/nerdtree_plugin/vcs.vim | 0 .../vim/plugged/nerdtree/plugin/NERD_tree.vim | 0 .../vim/vim/plugged/nerdtree/screenshot.png | Bin .../vim/plugged/nerdtree/syntax/nerdtree.vim | 0 .../vim/plugged/vim-sensible/README.markdown | 0 .../plugged/vim-sensible/plugin/sensible.vim | 0 server/{bash-profile => }/files/vim/vim/vimrc | 0 .../configure.yml => tasks/agnostic/main.yml} | 35 +++++++ .../install.yml => tasks/debian/all.yml} | 68 ++---------- server/tasks/debian/main.yml | 20 ++++ .../main.yml => tasks/debian/physical.yml} | 8 +- server/tasks/main.yml | 12 +++ server/virtual/tasks/main.yml | 1 - 89 files changed, 373 insertions(+), 97 deletions(-) create mode 100644 functions/user.yml create mode 100644 functions/user_authorize.yml delete mode 100644 server/bash-profile/tasks/main.yml delete mode 100644 server/debian/tasks/main.yml rename server/{bash-profile => }/files/bin/poweroff-force (100%) create mode 100644 server/files/bin/purgefiles.py rename server/{bash-profile => }/files/bin/speedtest (100%) rename server/{bash-profile => }/files/bin/speedtest-hd (100%) rename server/{bash-profile => }/files/bin/watch-process (100%) rename server/{debian/files/debian10 => files/debian/10}/sources.list (100%) rename server/{debian/files/debian8 => files/debian/8}/sources.list (100%) rename server/{debian/files/debian9 => files/debian/9}/sources.list (100%) rename server/{debian/files => files/debian}/99translations (100%) rename server/{bash-profile => }/files/profile.d/bash_aliases.sh (100%) create mode 100644 server/files/profile.d/bash_prompt.sh rename server/{bash-profile => }/files/profile.d/git_completion.sh (100%) rename server/{bash-profile => }/files/profile.d/git_helpers.sh (100%) rename server/{debian/files/ubuntu1604 => files/ubuntu/16.04}/sources.list (100%) rename server/{bash-profile => }/files/vim/README.md (100%) rename server/{bash-profile => }/files/vim/update-from-linstore (100%) rename server/{bash-profile => }/files/vim/vim/.gitignore (100%) rename server/{bash-profile => }/files/vim/vim/README.md (100%) rename server/{bash-profile => }/files/vim/vim/autoload/plug.vim (100%) rename server/{bash-profile => }/files/vim/vim/backups/vimrc-debian-pathogen-before-vim-plug (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/.gitignore (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/LICENSE (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/autoignore.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/bookmarkdir.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/buffertag.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/changes.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/dir.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/line.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mixed.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/quickfix.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/rtscript.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/tag.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/undo.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.cnx (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.txt (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/plugin/ctrlp.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/ctrlp.vim/readme.md (100%) rename server/{bash-profile => }/files/vim/vim/plugged/jellybeans.vim/.gitignore (100%) rename server/{bash-profile => }/files/vim/vim/plugged/jellybeans.vim/README.markdown (100%) rename server/{bash-profile => }/files/vim/vim/plugged/jellybeans.vim/ansi-term-colors.txt (100%) rename server/{bash-profile => }/files/vim/vim/plugged/jellybeans.vim/colors/jellybeans.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/bug.md (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/feature_request.md (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/question.md (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/.github/PULL_REQUEST_TEMPLATE.md (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/.gitignore (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/CHANGELOG.md (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/LICENCE (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/README.markdown (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/autoload/nerdtree.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/autoload/nerdtree/ui_glue.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/doc/NERDTree.txt (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/bookmark.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/creator.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/event.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/flag_set.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/key_map.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_controller.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_item.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/nerdtree.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/notifier.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/opener.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/path.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_dir_node.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_file_node.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/lib/nerdtree/ui.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/nerdtree_plugin/fs_menu.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/nerdtree_plugin/vcs.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/plugin/NERD_tree.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/screenshot.png (100%) rename server/{bash-profile => }/files/vim/vim/plugged/nerdtree/syntax/nerdtree.vim (100%) rename server/{bash-profile => }/files/vim/vim/plugged/vim-sensible/README.markdown (100%) rename server/{bash-profile => }/files/vim/vim/plugged/vim-sensible/plugin/sensible.vim (100%) rename server/{bash-profile => }/files/vim/vim/vimrc (100%) rename server/{debian/tasks/configure.yml => tasks/agnostic/main.yml} (50%) rename server/{debian/tasks/install.yml => tasks/debian/all.yml} (50%) create mode 100644 server/tasks/debian/main.yml rename server/{physical/tasks/main.yml => tasks/debian/physical.yml} (61%) create mode 100644 server/tasks/main.yml delete mode 100644 server/virtual/tasks/main.yml diff --git a/README.md b/README.md index 0724222..d1d5fa4 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,62 @@ For example: Main ansible is ~/Code/ansible Clone this repo into ~/Code/ansible-shared ln -s ~/Code/ansible-shared ~/Code/ansible/playbooks/roles/shared + + +# Requirements + +These shared roles are geared toward Debian 9 and 10 with a few compatible with Ubuntu. + +These shared roles assume a fresh stock Debian base with the main user being `toor`. + + +# Snippets + +Quick helpers to remember common tasks + + +```yaml +# Copy profiles to /etc/profile.d/ +- include_tasks: ../../../functions/copy_etc-profile.d.yml + +# Copy scripts to /usr/local/bin +- include_tasks: ../../../functions/copy_usr-local-bin.yml + +# Copy nginx.conf +- name: Copying /etc/nginx/nginx.conf + copy: + src: nginx/nginx.conf + dest: /etc/nginx/nginx.conf + owner: root + group: root + mode: '0644' + notify: restart nginx + +# Install common apps for all debian machines +- name: Installing Debian common applications + apt: + update_cache: yes + state: present + name: + - apt-transport-https + - openssh-server + +# Creat directory /etc/nginx +- name: Create a directory if it does not exist + file: + path: /etc/nginx + state: directory + owner: toor + group: toor + mode: '0755' + +# Set chown toor:toor -R /etc/nginx +- name: Applying ownership of /etc/nginx + file: + path: /etc/nginx + state: directory + recurse: yes + owner: toor + group: toor + +``` diff --git a/functions/user.yml b/functions/user.yml new file mode 100644 index 0000000..4458358 --- /dev/null +++ b/functions/user.yml @@ -0,0 +1,96 @@ +--- +# HELP +# If you want NO password, set password: '*' +# If you just want a group with the same users name, and no others, use group: [] +# If you don't want a home directory use create_home: no + +# Optional +# ssh_authorized: true|false (default true) - Adds users public key to authorized_keys on server +# ssh_keys: true|false (default false) - Adds users public AND private key to server +# create_home: yes|no (default yes) - Creates /home/user directory + + + +- name: Registering {{ user }} home directory variable + shell: > + getent passwd {{ user }} | cut -d: -f6 + changed_when: false + register: user_home + +# Notice both group and user is {{id}}, so they are the same! +- name: Creating group {{ user }} + group: + name: '{{ user }}' + gid: '{{ id }}' + +- name: Creating user {{ user }} + user: + name: '{{ user }}' + uid: '{{ id }}' + comment: '{{ user }}' + group: '{{ user }}' + groups: '{{ group }}' + password: '{{ password }}' + update_password: always + create_home: '{{ create_home | default("yes") }}' + shell: /bin/bash + +#- name: Setting user {{ user }} password + #user: + #password: '{{ password }}' + #when: password is defined + +- name: Adding users sudoers.d file + file: + path: '/etc/sudoers.d/{{ user }}' + state: touch + mode: "0640" #-rw-r----- + when: '"sudo" in group' + +- name: Setting user to nopasswd sudo access + lineinfile: + path: '/etc/sudoers.d/{{ user }}' + line: '{{ user }} ALL=(ALL) NOPASSWD:ALL' + when: '"sudo" in group' + +# Authorize users SSH keys +# NOTE, when: ssh_authorize|bool == true +# IS working, BUT even if ssh_authorize = false the +# with_file: still errors if 'keys/{{ user }}.key.pub' does NOT exists +# So you have to create at least a blank users/keys/user.key.pub file +- name: Authorizing SSH keys for {{ user }} + authorized_key: + user: '{{ user }}' + key: '{{ item }}' + with_file: + - 'keys/{{ user }}.key.pub' + when: ssh_authorize|default(true)|bool + +# Create users ~/.ssh directory +- name: Creating {{ user }} ~/.ssh directory + file: + path: '{{ "~" + user | expanduser }}/.ssh' + state: directory + when: ssh_keys|default(false)|bool + +# Create users public key +- name: Copying {{ user }} SSH public key + copy: + src: 'keys/{{ user }}.key.pub' + #dest: '{{ user_home }}/.ssh/id_rsa.pub' + dest: '{{ "~" + user | expanduser }}/.ssh/id_rsa.pub' + owner: '{{ user }}' + group: '{{ user }}' + mode: 0644 + when: ssh_keys|default(false)|bool + +# Create users private key +- name: Copying {{ user }} SSH private key + copy: + src: '../../../vault/{{ user }}.key' + #dest: '{{ user_home }}/.ssh/id_rsa' + dest: '{{ "~" + user | expanduser }}/.ssh/id_rsa' + owner: '{{ user }}' + group: '{{ user }}' + mode: 0600 + when: ssh_keys|default(false)|bool diff --git a/functions/user_authorize.yml b/functions/user_authorize.yml new file mode 100644 index 0000000..62fdb80 --- /dev/null +++ b/functions/user_authorize.yml @@ -0,0 +1,8 @@ +--- +# Authorize this key to this users ~/.ssh/authorized_keys file +- name: Adding {{ authorize }} to {{ user }} user ~/.ssh/authorized_keys file + authorized_key: + user: '{{ user }}' + key: '{{ item }}' + with_file: + - 'keys/{{ authorize }}.key.pub' diff --git a/server/bash-profile/tasks/main.yml b/server/bash-profile/tasks/main.yml deleted file mode 100644 index 8f03b14..0000000 --- a/server/bash-profile/tasks/main.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copy profiles to /etc/profile.d/ -- include_tasks: ../../../functions/copy_etc-profile.d.yml - -# Copy scripts to /usr/local/bin -- include_tasks: ../../../functions/copy_usr-local-bin.yml - -# Rsync /etc/vim -- name: Synchronizing /etc/vim - synchronize: - src: files/vim/vim - dest: /etc/ - delete: yes - group: no - owner: no - rsync_opts: - - "--exclude=.git" - -- name: Sed /etc/vim/vimrc - replace: - path: /etc/vim/vimrc - regexp: '~/.vim/plugged' - replace: '/etc/vim/plugged' - -- name: Symlink /usr/share/vim/vimfiles - file: - src: /etc/vim - dest: /usr/share/vim/vimfiles - owner: root - group: root - state: link diff --git a/server/debian/tasks/main.yml b/server/debian/tasks/main.yml deleted file mode 100644 index b019281..0000000 --- a/server/debian/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Install and Configure Debian -- include_tasks: install.yml -- include_tasks: configure.yml diff --git a/server/bash-profile/files/bin/poweroff-force b/server/files/bin/poweroff-force similarity index 100% rename from server/bash-profile/files/bin/poweroff-force rename to server/files/bin/poweroff-force diff --git a/server/files/bin/purgefiles.py b/server/files/bin/purgefiles.py new file mode 100644 index 0000000..049556e --- /dev/null +++ b/server/files/bin/purgefiles.py @@ -0,0 +1,31 @@ +"""Clean old files""" + +__author__ = "Matthew Reschke " +__license__ = "MIT" + +import os +import sys +import subprocess + + +# Usage +# Create another file, example /usr/local/bin/clean-system.py +# from purgefiles import purge +# purge('/store/logs', 540) + + +def purge(path, older_than_days, file_filter='*', max_depth=999, include_folders=False): + del_cmd = 'rm -rfv' + typestr = '-type f' + if include_folders: typestr = '' + #_cmd('find ' + path + ' -maxdepth ' + str(max_depth) + ' -iname "' + file_filter + '" ' + typestr + ' -mtime +' + str(older_than_days) + ' -exec ' + del_cmd + ' {} \; | tee -a ' + log) + _cmd('find ' + path + ' -maxdepth ' + str(max_depth) + ' -iname "' + file_filter + '" ' + typestr + ' -mtime +' + str(older_than_days) + ' -exec ' + del_cmd + ' {} \;') + +def _cmd(run, capture_output=False): + # Run the cmd + if capture_output: + proc = subprocess.Popen(run, universal_newlines=True, executable='bash', shell=True, stdout=subprocess.PIPE).stdout + return proc.read().strip() + else: + run = "bash -c '" + run + "'" + os.system(run) diff --git a/server/bash-profile/files/bin/speedtest b/server/files/bin/speedtest similarity index 100% rename from server/bash-profile/files/bin/speedtest rename to server/files/bin/speedtest diff --git a/server/bash-profile/files/bin/speedtest-hd b/server/files/bin/speedtest-hd similarity index 100% rename from server/bash-profile/files/bin/speedtest-hd rename to server/files/bin/speedtest-hd diff --git a/server/bash-profile/files/bin/watch-process b/server/files/bin/watch-process similarity index 100% rename from server/bash-profile/files/bin/watch-process rename to server/files/bin/watch-process diff --git a/server/debian/files/debian10/sources.list b/server/files/debian/10/sources.list similarity index 100% rename from server/debian/files/debian10/sources.list rename to server/files/debian/10/sources.list diff --git a/server/debian/files/debian8/sources.list b/server/files/debian/8/sources.list similarity index 100% rename from server/debian/files/debian8/sources.list rename to server/files/debian/8/sources.list diff --git a/server/debian/files/debian9/sources.list b/server/files/debian/9/sources.list similarity index 100% rename from server/debian/files/debian9/sources.list rename to server/files/debian/9/sources.list diff --git a/server/debian/files/99translations b/server/files/debian/99translations similarity index 100% rename from server/debian/files/99translations rename to server/files/debian/99translations diff --git a/server/bash-profile/files/profile.d/bash_aliases.sh b/server/files/profile.d/bash_aliases.sh similarity index 100% rename from server/bash-profile/files/profile.d/bash_aliases.sh rename to server/files/profile.d/bash_aliases.sh diff --git a/server/files/profile.d/bash_prompt.sh b/server/files/profile.d/bash_prompt.sh new file mode 100644 index 0000000..d91dc67 --- /dev/null +++ b/server/files/profile.d/bash_prompt.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash + +# Custom prompt +# mReschke 2019-04-10 + +# At first these colors did not contain the \[ and \] which caused bash prompt mess up on long lines as it was miscounting the length of the line. See https://unix.stackexchange.com/questions/389008/bash-messed-up-display-for-long-lines +DEFAULT="\[\033[0;0m\]" +BLUE="\[\033[0;34m\]" +GREEN="\[\033[0;32m\]" +CYAN="\[\033[0;36m\]" +RED="\[\033[0;31m\]" +PURPLE="\[\033[0;35m\]" +BROWN="\[\033[0;33m\]" +GRAY="\[\033[0;37m\]" + +DARKGRAY="\[\033[1;30m\]" +LIGHTBLUE="\[\033[1;34m\]" +LIGHTGREEN="\[\033[1;32m\]" +LIGHTCYAN="\[\033[1;36m\]" +LIGHTRED="\[\033[1;31m\]" +LIGHTPURPLE="\[\033[1;35m\]" +YELLOW="\[\033[1;33m\]" +WHITE="\[\033[1;37m\]" + +GIT_PS1_SHOWDIRTYSTATE=1 +GIT_PS1_SHOWSTASHSTATE=1 +GIT_PS1_SHOWUNTRACKEDFILES=1 +GIT_PS1_SHOWCOLORHINTS= +GIT_PS1_DESCRIBE_STYLE="branch" +GIT_PS1_SHOWUPSTREAM="auto git" + +date="${CYAN}\D{%Y-%m-%d} ${LIGHTCYAN}\t" +user="${LIGHTPURPLE}\u${DARKGRAY}@${PURPLE}\h" +path="${DARKGRAY}in ${GREEN}\w" +#prompt1="${DARKGRAY}o" +#prompt1="${DARKGRAY}ooo" +#prompt1="${RED}o${GREEN}o${BLUE}o" +#prompt1="${DARKGRAY}o${GREEN}O${DARKGRAY}o" +#prompt1="${DARKGRAY}o${GREEN}O${DARKGRAY}o" +prompt1="${GREEN}o${DARKGRAY}o${GREEN}o" +#prompt1="${RED}o${DARKGRAY}-${GREEN}o${DARKGRAY}-${BLUE}o" +#prompt2="${BROWN} \\$ ${GREEN}→ ${DEFAULT}" # Not all terms understand this arrow +prompt2="${BROWN} \\$ ${DEFAULT}" +git="${LIGHTGREEN}" + +# PS1 vs PROMPT_COMMAND? +# PS1 is a string like MyPrompt> While PROMPT_COMMAND is evaulated using bash +# In this case __git_ps1 is a bash function and all the stuff inside the "" are its parameters +# It places the actual (master) prompt AFTER the "". This is why you see "stuff" "more stuff", the space +# in between the quoted strings is where the (master) git prompt goes + +# No, hostname -f requires DNS connection, breaks bash if no internet, slow +#PROMPT_COMMAND='__git_ps1 "\n'${TITLEBAR}$DARK_BLUE'\u'$DEFAULT'@'$CYAN'$(hostname -f) '$BROWN'\w\n'$RED'CAUTION: mReschke Production!'$GREEN'" " '$CYAN'"\\\$"'$GREEN' → '$DEFAULT'"' +#PROMPT_COMMAND='__git_ps1 "\n'${TITLEBAR}$DARK_BLUE'\u'$DEFAULT'@'$CYAN'$(hostname) '$BROWN'\w\n'$RED'mreschke.net production!'$GREEN'" " '$CYAN'"\\\$"'$GREEN' → '$DEFAULT'"' +#PROMPT_COMMAND='__git_ps1 "\n'$date' '$user' in '$path'\n'$prompt'" "'$DEFAULT'"' +PROMPT_COMMAND="__git_ps1 '\n$date $user $path\n$prompt1$git' '$prompt2'" + + +# If you do just PS1 and no prompt_command, toor does not get a prompt +# maybe because PS1 is overwritten elsewhere down the chain? Prompt_comman is not, so it works for all +#export PS1=$date' '$user' in '$path'\n'$prompt' $(__git_ps1 " (%s)") ' +#export PS1=$date' '$user' in '$path'\n'$git' '$prompt + +PS1="" +PS2='continue-> ' +PS4='$0.$LINENO+ ' + + +# The full list comes from reading man bash, at the section PROMPTING: +# --------------------------------------------------------------------- +# \a an ASCII bell character (07) +# \d the date in "Weekday Month Date" format (e.g., "Tue May 26") +# \D{format} the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required +# \e an ASCII escape character (033) +# \h the hostname up to the first `.' +# \H the hostname +# \j the number of jobs currently managed by the shell +# \l the basename of the shell's terminal device name +# \n newline +# \r carriage return +# \s the name of the shell, the basename of $0 (the portion following the final slash) +# \t the current time in 24-hour HH:MM:SS format +# \T the current time in 12-hour HH:MM:SS format +# \@ the current time in 12-hour am/pm format +# \A the current time in 24-hour HH:MM format +# \u the username of the current user +# \v the version of bash (e.g., 2.00) +# \V the release of bash, version + patch level (e.g., 2.00.0) +# \w the current working directory, with $HOME abbreviated with a tilde (uses the value of the PROMPT_DIRTRIM variable) +# \W the basename of the current working directory, with $HOME abbreviated with a tilde +# \! the history number of this command +# \# the command number of this command +# \$ if the effective UID is 0, a #, otherwise a $ +# \nnn the character corresponding to the octal number nnn +# \\ a backslash +# \[ begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt +# \] end a sequence of non-printing characters diff --git a/server/bash-profile/files/profile.d/git_completion.sh b/server/files/profile.d/git_completion.sh similarity index 100% rename from server/bash-profile/files/profile.d/git_completion.sh rename to server/files/profile.d/git_completion.sh diff --git a/server/bash-profile/files/profile.d/git_helpers.sh b/server/files/profile.d/git_helpers.sh similarity index 100% rename from server/bash-profile/files/profile.d/git_helpers.sh rename to server/files/profile.d/git_helpers.sh diff --git a/server/debian/files/ubuntu1604/sources.list b/server/files/ubuntu/16.04/sources.list similarity index 100% rename from server/debian/files/ubuntu1604/sources.list rename to server/files/ubuntu/16.04/sources.list diff --git a/server/bash-profile/files/vim/README.md b/server/files/vim/README.md similarity index 100% rename from server/bash-profile/files/vim/README.md rename to server/files/vim/README.md diff --git a/server/bash-profile/files/vim/update-from-linstore b/server/files/vim/update-from-linstore similarity index 100% rename from server/bash-profile/files/vim/update-from-linstore rename to server/files/vim/update-from-linstore diff --git a/server/bash-profile/files/vim/vim/.gitignore b/server/files/vim/vim/.gitignore similarity index 100% rename from server/bash-profile/files/vim/vim/.gitignore rename to server/files/vim/vim/.gitignore diff --git a/server/bash-profile/files/vim/vim/README.md b/server/files/vim/vim/README.md similarity index 100% rename from server/bash-profile/files/vim/vim/README.md rename to server/files/vim/vim/README.md diff --git a/server/bash-profile/files/vim/vim/autoload/plug.vim b/server/files/vim/vim/autoload/plug.vim similarity index 100% rename from server/bash-profile/files/vim/vim/autoload/plug.vim rename to server/files/vim/vim/autoload/plug.vim diff --git a/server/bash-profile/files/vim/vim/backups/vimrc-debian-pathogen-before-vim-plug b/server/files/vim/vim/backups/vimrc-debian-pathogen-before-vim-plug similarity index 100% rename from server/bash-profile/files/vim/vim/backups/vimrc-debian-pathogen-before-vim-plug rename to server/files/vim/vim/backups/vimrc-debian-pathogen-before-vim-plug diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/.gitignore b/server/files/vim/vim/plugged/ctrlp.vim/.gitignore similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/.gitignore rename to server/files/vim/vim/plugged/ctrlp.vim/.gitignore diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/LICENSE b/server/files/vim/vim/plugged/ctrlp.vim/LICENSE similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/LICENSE rename to server/files/vim/vim/plugged/ctrlp.vim/LICENSE diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/autoignore.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/autoignore.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/autoignore.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/autoignore.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/bookmarkdir.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/bookmarkdir.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/bookmarkdir.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/bookmarkdir.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/buffertag.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/buffertag.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/buffertag.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/buffertag.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/changes.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/changes.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/changes.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/changes.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/dir.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/dir.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/dir.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/dir.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/line.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/line.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/line.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/line.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mixed.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mixed.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mixed.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mixed.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/quickfix.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/quickfix.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/quickfix.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/quickfix.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/rtscript.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/rtscript.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/rtscript.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/rtscript.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/tag.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/tag.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/tag.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/tag.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/undo.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/undo.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/undo.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/undo.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim b/server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim rename to server/files/vim/vim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.cnx b/server/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.cnx similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.cnx rename to server/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.cnx diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.txt b/server/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.txt similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.txt rename to server/files/vim/vim/plugged/ctrlp.vim/doc/ctrlp.txt diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/plugin/ctrlp.vim b/server/files/vim/vim/plugged/ctrlp.vim/plugin/ctrlp.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/plugin/ctrlp.vim rename to server/files/vim/vim/plugged/ctrlp.vim/plugin/ctrlp.vim diff --git a/server/bash-profile/files/vim/vim/plugged/ctrlp.vim/readme.md b/server/files/vim/vim/plugged/ctrlp.vim/readme.md similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/ctrlp.vim/readme.md rename to server/files/vim/vim/plugged/ctrlp.vim/readme.md diff --git a/server/bash-profile/files/vim/vim/plugged/jellybeans.vim/.gitignore b/server/files/vim/vim/plugged/jellybeans.vim/.gitignore similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/jellybeans.vim/.gitignore rename to server/files/vim/vim/plugged/jellybeans.vim/.gitignore diff --git a/server/bash-profile/files/vim/vim/plugged/jellybeans.vim/README.markdown b/server/files/vim/vim/plugged/jellybeans.vim/README.markdown similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/jellybeans.vim/README.markdown rename to server/files/vim/vim/plugged/jellybeans.vim/README.markdown diff --git a/server/bash-profile/files/vim/vim/plugged/jellybeans.vim/ansi-term-colors.txt b/server/files/vim/vim/plugged/jellybeans.vim/ansi-term-colors.txt similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/jellybeans.vim/ansi-term-colors.txt rename to server/files/vim/vim/plugged/jellybeans.vim/ansi-term-colors.txt diff --git a/server/bash-profile/files/vim/vim/plugged/jellybeans.vim/colors/jellybeans.vim b/server/files/vim/vim/plugged/jellybeans.vim/colors/jellybeans.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/jellybeans.vim/colors/jellybeans.vim rename to server/files/vim/vim/plugged/jellybeans.vim/colors/jellybeans.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/bug.md b/server/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/bug.md similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/bug.md rename to server/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/bug.md diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/feature_request.md b/server/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/feature_request.md similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/feature_request.md rename to server/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/feature_request.md diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/question.md b/server/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/question.md similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/question.md rename to server/files/vim/vim/plugged/nerdtree/.github/ISSUE_TEMPLATE/question.md diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/.github/PULL_REQUEST_TEMPLATE.md b/server/files/vim/vim/plugged/nerdtree/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/.github/PULL_REQUEST_TEMPLATE.md rename to server/files/vim/vim/plugged/nerdtree/.github/PULL_REQUEST_TEMPLATE.md diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/.gitignore b/server/files/vim/vim/plugged/nerdtree/.gitignore similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/.gitignore rename to server/files/vim/vim/plugged/nerdtree/.gitignore diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/CHANGELOG.md b/server/files/vim/vim/plugged/nerdtree/CHANGELOG.md similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/CHANGELOG.md rename to server/files/vim/vim/plugged/nerdtree/CHANGELOG.md diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/LICENCE b/server/files/vim/vim/plugged/nerdtree/LICENCE similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/LICENCE rename to server/files/vim/vim/plugged/nerdtree/LICENCE diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/README.markdown b/server/files/vim/vim/plugged/nerdtree/README.markdown similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/README.markdown rename to server/files/vim/vim/plugged/nerdtree/README.markdown diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/autoload/nerdtree.vim b/server/files/vim/vim/plugged/nerdtree/autoload/nerdtree.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/autoload/nerdtree.vim rename to server/files/vim/vim/plugged/nerdtree/autoload/nerdtree.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/autoload/nerdtree/ui_glue.vim b/server/files/vim/vim/plugged/nerdtree/autoload/nerdtree/ui_glue.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/autoload/nerdtree/ui_glue.vim rename to server/files/vim/vim/plugged/nerdtree/autoload/nerdtree/ui_glue.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/doc/NERDTree.txt b/server/files/vim/vim/plugged/nerdtree/doc/NERDTree.txt similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/doc/NERDTree.txt rename to server/files/vim/vim/plugged/nerdtree/doc/NERDTree.txt diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/bookmark.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/bookmark.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/bookmark.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/bookmark.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/creator.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/creator.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/creator.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/creator.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/event.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/event.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/event.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/event.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/flag_set.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/flag_set.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/flag_set.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/flag_set.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/key_map.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/key_map.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/key_map.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/key_map.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_controller.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_controller.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_controller.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_controller.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_item.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_item.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_item.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/menu_item.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/nerdtree.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/nerdtree.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/nerdtree.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/nerdtree.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/notifier.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/notifier.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/notifier.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/notifier.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/opener.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/opener.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/opener.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/opener.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/path.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/path.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/path.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/path.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_dir_node.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_dir_node.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_dir_node.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_dir_node.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_file_node.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_file_node.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_file_node.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/tree_file_node.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/ui.vim b/server/files/vim/vim/plugged/nerdtree/lib/nerdtree/ui.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/lib/nerdtree/ui.vim rename to server/files/vim/vim/plugged/nerdtree/lib/nerdtree/ui.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim b/server/files/vim/vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim rename to server/files/vim/vim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/nerdtree_plugin/fs_menu.vim b/server/files/vim/vim/plugged/nerdtree/nerdtree_plugin/fs_menu.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/nerdtree_plugin/fs_menu.vim rename to server/files/vim/vim/plugged/nerdtree/nerdtree_plugin/fs_menu.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/nerdtree_plugin/vcs.vim b/server/files/vim/vim/plugged/nerdtree/nerdtree_plugin/vcs.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/nerdtree_plugin/vcs.vim rename to server/files/vim/vim/plugged/nerdtree/nerdtree_plugin/vcs.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/plugin/NERD_tree.vim b/server/files/vim/vim/plugged/nerdtree/plugin/NERD_tree.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/plugin/NERD_tree.vim rename to server/files/vim/vim/plugged/nerdtree/plugin/NERD_tree.vim diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/screenshot.png b/server/files/vim/vim/plugged/nerdtree/screenshot.png similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/screenshot.png rename to server/files/vim/vim/plugged/nerdtree/screenshot.png diff --git a/server/bash-profile/files/vim/vim/plugged/nerdtree/syntax/nerdtree.vim b/server/files/vim/vim/plugged/nerdtree/syntax/nerdtree.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/nerdtree/syntax/nerdtree.vim rename to server/files/vim/vim/plugged/nerdtree/syntax/nerdtree.vim diff --git a/server/bash-profile/files/vim/vim/plugged/vim-sensible/README.markdown b/server/files/vim/vim/plugged/vim-sensible/README.markdown similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/vim-sensible/README.markdown rename to server/files/vim/vim/plugged/vim-sensible/README.markdown diff --git a/server/bash-profile/files/vim/vim/plugged/vim-sensible/plugin/sensible.vim b/server/files/vim/vim/plugged/vim-sensible/plugin/sensible.vim similarity index 100% rename from server/bash-profile/files/vim/vim/plugged/vim-sensible/plugin/sensible.vim rename to server/files/vim/vim/plugged/vim-sensible/plugin/sensible.vim diff --git a/server/bash-profile/files/vim/vim/vimrc b/server/files/vim/vim/vimrc similarity index 100% rename from server/bash-profile/files/vim/vim/vimrc rename to server/files/vim/vim/vimrc diff --git a/server/debian/tasks/configure.yml b/server/tasks/agnostic/main.yml similarity index 50% rename from server/debian/tasks/configure.yml rename to server/tasks/agnostic/main.yml index 30aed46..114c6f3 100644 --- a/server/debian/tasks/configure.yml +++ b/server/tasks/agnostic/main.yml @@ -1,4 +1,39 @@ --- +# ------------------------------------------------------------------------------ +# These tasks run for ALL servers be it Debian, CentOS, Virtual or Physical +# ------------------------------------------------------------------------------ + +# Copy profiles to /etc/profile.d/ +- include_tasks: ../../../../functions/copy_etc-profile.d.yml + +# Copy scripts to /usr/local/bin +- include_tasks: ../../../../functions/copy_usr-local-bin.yml + +# Rsync /etc/vim +- name: Synchronizing /etc/vim + synchronize: + src: vim/vim + dest: /etc/ + delete: yes + group: no + owner: no + rsync_opts: + - "--exclude=.git" + +- name: Sed /etc/vim/vimrc + replace: + path: /etc/vim/vimrc + regexp: '~/.vim/plugged' + replace: '/etc/vim/plugged' + +- name: Symlink /usr/share/vim/vimfiles + file: + src: /etc/vim + dest: /usr/share/vim/vimfiles + owner: root + group: root + state: link + # Increase number of TCP connections per port (debian default 128) - name: Increasing number of TCP connections per port /etc/sysctl.conf net.core.somaxconn = 4096 sysctl: diff --git a/server/debian/tasks/install.yml b/server/tasks/debian/all.yml similarity index 50% rename from server/debian/tasks/install.yml rename to server/tasks/debian/all.yml index b8bb8e6..2e1d9d8 100644 --- a/server/debian/tasks/install.yml +++ b/server/tasks/debian/all.yml @@ -1,36 +1,29 @@ --- +# ------------------------------------------------------------------------------ +# These tasks run for any Debian/Ubuntu server (physical or virtual) +# ------------------------------------------------------------------------------ + # Copy Debian 9 sources.list - name: Copying Debian 9 apt/sources.list - copy: src=debian9/sources.list dest=/etc/apt/sources.list + copy: src=debian/9/sources.list dest=/etc/apt/sources.list when: ansible_os_family == "Debian" and ansible_distribution_major_version == "9" # Copy Debian 10 sources.list - name: Copying Debian 10 apt/sources.list - copy: src=debian10/sources.list dest=/etc/apt/sources.list + copy: src=debian/10/sources.list dest=/etc/apt/sources.list when: ansible_os_family == "Debian" and ansible_distribution_major_version == "10" # Copy Ubuntu 16.04 sources.list - name: Copying Ubuntu 16.04 apt/sources.list - copy: src=ubuntu1604/sources.list dest=/etc/apt/sources.list + copy: src=ubuntu/16.04/sources.list dest=/etc/apt/sources.list when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "16.04" # Ignore apt translations - name: Ignoring apt tranlations - copy: src=99translations dest=/etc/apt/apt.conf.d/99translations - -# ??? hum, I don't want dotdeb on my debian 8 controller -# may have ZERO debian 8 except for physical, so maybe don't do this generically -# Many packages we install for Debian8 require dotdeb, so just install it generically -#- name: Adding Debian8 dotdeb sources -# apt_repository: repo='deb http://packages.dotdeb.org jessie all' state=present -# when: ansible_os_family == "Debian" and ansible_distribution_major_version == "8" - -#- name: Addding Debian8 dotdeb GPG key -# apt_key: url='https://www.dotdeb.org/dotdeb.gpg' state=present -# when: ansible_os_family == "Debian" and ansible_distribution_major_version == "8" + copy: src=debian/99translations dest=/etc/apt/apt.conf.d/99translations # Install common apps for all debian machines -- name: Installing Debian common applications +- name: Installing common Debian/Ubuntu applications apt: update_cache: yes state: present @@ -62,46 +55,3 @@ - dos2unix # Convert dos line endings to unix and visa versa - acl # I customize directories often with ACL - dnsutils # Dig command and other dns commands - -# Install PHP by default, unless explicitly ignored with - { role: server/debian, include_php: false } -- name: Installing PHP 7 cli - apt: - update_cache: yes - state: present - name: php-cli - when: include_php|default(true)|bool - - - - # - nfs-kernel-server - # - samba - # - cifs-utils - # - libnet-ssleay-perl - # - libio-socket-ssl-perl - # - libxrender1 - # - supervisor - - # Were generic here, then commented out, careful - # - dos2unix - # - nfs-common - # - entr - -# libnet and libio are for sendEmail -# libxrender1 is for wkhtmltopdf -# python git dos2unix - - -# other: -# unattended-upgrades https://wiki.debian.org/UnattendedUpgrades -# -- sending emails about updates... -# log monitoring, security etc... maybe a new role - - -#- name: Installing Debian8 applications -# apt: name={{ item }} update_cache=yes state=present -# with_items: - -#- name: Installing Debian 9 applications -# apt: name={{ item }} update_cache=yes state=present -# with_items: -# when: ansible_os_family == "Debian" and ansible_distribution_major_version == "9" diff --git a/server/tasks/debian/main.yml b/server/tasks/debian/main.yml new file mode 100644 index 0000000..7f14bd2 --- /dev/null +++ b/server/tasks/debian/main.yml @@ -0,0 +1,20 @@ +--- +# Debian Server +# ------------------------------------------------------------------------------ +- name: Configuring debian/ubuntu server + include_tasks: all.yml + +# Physical Debian Server +# ------------------------------------------------------------------------------ +- name: Configuring physical debian/ubuntu server + include_tasks: physical.yml + when: type == 'physical' + + +# Virtual Debian Server +# ------------------------------------------------------------------------------ +# Currently NO virtual specific debian customizations +#- name: Configuring virtual debian/ubuntu server +# include_tasks: virtual.yml +# when: type == 'virtual' + diff --git a/server/physical/tasks/main.yml b/server/tasks/debian/physical.yml similarity index 61% rename from server/physical/tasks/main.yml rename to server/tasks/debian/physical.yml index b804608..cd03f9c 100644 --- a/server/physical/tasks/main.yml +++ b/server/tasks/debian/physical.yml @@ -1,6 +1,10 @@ --- -# Assuming physical servers are Debian -- name: Installing physical server applications +# ------------------------------------------------------------------------------ +# These tasks run for physical Debian/Ubuntu servers +# ------------------------------------------------------------------------------ + +# Physical Debian/Ubuntu Server +- name: Installing physical Debian/Ubuntu server applications apt: update_cache: yes state: present diff --git a/server/tasks/main.yml b/server/tasks/main.yml new file mode 100644 index 0000000..096adeb --- /dev/null +++ b/server/tasks/main.yml @@ -0,0 +1,12 @@ +--- +# Any server (OS agnostic) +# ------------------------------------------------------------------------------ +- name: Configure any server (OS agnostic) + include_tasks: agnostic/main.yml + + +# Debian server +# ------------------------------------------------------------------------------ +- name: Configure debian/ubuntu server + include_tasks: debian/main.yml + when: ansible_os_family == "Debian" diff --git a/server/virtual/tasks/main.yml b/server/virtual/tasks/main.yml deleted file mode 100644 index ed97d53..0000000 --- a/server/virtual/tasks/main.yml +++ /dev/null @@ -1 +0,0 @@ ----