From 118488b97f8f9c3ba2dbea7ccc5e42d035e2ba42 Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Fri, 27 Mar 2020 07:11:16 -0400 Subject: [PATCH] Clean up files, update .gitignore --- .gitignore | 1 + README.md | 26 +- configs/.vimrc | 102 ++- configs/.vimrc-README | 42 -- configs/bash/.bash_aliases | 16 - configs/bash/.bashrc | 117 ---- configs/bash/bash.bashrc | 71 --- configs/bash/profile | 31 - configs/fail2ban/README.md | 116 ---- configs/fail2ban/jail.local | 914 --------------------------- configs/fail2ban/nginx-nohome.conf | 6 - configs/fail2ban/nginx-noproxy.conf | 5 - configs/fail2ban/nginx-noscript.conf | 6 - configs/i3/config | 421 ------------ python/gitloaded.json | 15 - python/gittest.py | 62 -- refs/cppFormat | 37 -- refs/doxygenROT | 48 -- scripts/README.md | 200 ------ scripts/cmake-build.sh | 27 - scripts/setup-vim.sh | 98 --- 21 files changed, 98 insertions(+), 2263 deletions(-) delete mode 100644 configs/.vimrc-README delete mode 100644 configs/bash/.bash_aliases delete mode 100644 configs/bash/.bashrc delete mode 100644 configs/bash/bash.bashrc delete mode 100644 configs/bash/profile delete mode 100644 configs/fail2ban/README.md delete mode 100644 configs/fail2ban/jail.local delete mode 100644 configs/fail2ban/nginx-nohome.conf delete mode 100644 configs/fail2ban/nginx-noproxy.conf delete mode 100644 configs/fail2ban/nginx-noscript.conf delete mode 100644 configs/i3/config delete mode 100644 python/gitloaded.json delete mode 100644 python/gittest.py delete mode 100644 refs/cppFormat delete mode 100644 refs/doxygenROT delete mode 100644 scripts/README.md delete mode 100755 scripts/cmake-build.sh delete mode 100755 scripts/setup-vim.sh diff --git a/.gitignore b/.gitignore index 567609b..fe7cb19 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ build/ +**/.vscode diff --git a/README.md b/README.md index b3ab523..b74cd45 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,7 @@ klips/ │   ├── docker │   └── nginx ├── configs -│   ├── .vimrc -│   └── .vimrc-README +│   └── .vimrc ├── plates │   ├── cpp-cmake │   └── cpp-launcher @@ -60,17 +59,12 @@ Roles ### configs - .vimrc - Various settings for vim, can be copied or used with setup-vim.sh) - - .vimrc-README - What these settings do, output when setup-vim.sh is ran.) ### plates - cpp-cmake - Simple cpp executable template, built using cmake - cpp-launcher - Simple cpp launcher template, built using cmake. Easily expandable. -### refs - - doxygenROT - Basic rule-of-thumb for Doxygen commenting - ### scripts - adduser.sh - Script to add new user, run with sudo if you want to configure / allow user to sudo - `./adduser` - (Print help text) - `./adduser ` - (Don't need sudo if new user doesn't need it) @@ -78,21 +72,3 @@ adduser.sh - Script to add new user, run with sudo if you want to configure / al - `sudo ./adduser jeff 1005` - (Create jeff user and assign userID to 1005) - Follow prompts to configure password / sudo depending on needs of new user -cmake-build.sh - - Script to toss around and build cmake projects - -README.md - - Further clarification of scripts - -setup-vim.sh - - Script for setting up vim configuration - - Includes Pathogen Plugin manager - - Includes auto-completion (Clang_completion) - - Supertab completion interaction (Tab to interact with completion context) - - Syntax highlighting - - Tabsize 2, use spaces in place of tabs - - auto indentation, mouse interaction when supported - - Custom keybind (Ctrl-e for jumping windows || Ctrl-w still works if not in a tabbed terminal where the same will close the tab) - - See klips/configs/.vimrc-README for more information - - diff --git a/configs/.vimrc b/configs/.vimrc index a793866..a8f92d1 100644 --- a/configs/.vimrc +++ b/configs/.vimrc @@ -1,5 +1,7 @@ " Single-quote is a comment written to be read -" Double-quotes ("") are commented out code and can be removed or added +" Double-quotes are commented out code and can be removed or added + +" General Vim Settings " Set tabwidth=2, adjust Vim shiftwidth to the same set tabstop=2 shiftwidth=2 @@ -13,22 +15,110 @@ set autoindent " mouse=a allows for mouse interaction with vim when supported set mouse=a +set number + +" Use Powerline symbols +"let g:airline_powerline_fonts = 1 + " Enable Syntax Highlighting in Vim syntax on +" Use Sourcerer color scheme by Xero +colorscheme sourcerer " Fix plugin compatibility issues set nocp " Allow backspace to remove all types of characters set backspace=indent,eol,start -" set rtp+=/path/to/rtp/that/included/pathogen/vim " if needed -" Enable Pathogen plugin manager -execute pathogen#infect() -filetype plugin indent on -" Custom Keybindings +" Set terminal title when opening file +" autocmd BufEnter * let &titlestring = ' ' . expand("%:t") +" set title + +" Custom Vim Keybindings + " nnoremap " Modify and remove leading quotation " Set window jump to custom binding " default Ctrl-W conflict - closes browser tabs nnoremap +nnoremap :!make -C build/ + +" Vim Plugin Settings + +" set rtp+=/path/to/rtp/that/included/pathogen/vim " if needed +" Enable Pathogen plugin manager +execute pathogen#infect() +filetype plugin indent on + +" Set Vim Airline theme +" base16 soda base16_pop laederon night_owl kalisi* ayu_mirage* raven +let g:airline_theme='kalisi' + +" Gitgutter installed for + - diffs in gutters within repo files + +" Syntastic syntax checker settings +" See :help syntastic +set statusline+=%#warningmsg# +set statusline+=%{SyntasticStatuslineFlag()} +set statusline+=%* +let g:syntastic_always_populate_loc_list = 1 +let g:syntastic_auto_loc_list = 1 +let g:syntastic_check_on_open = 1 +let g:syntastic_check_on_wq = 0 + +" Clang_complete settings +let g:clang_library_path='/usr/lib/llvm-8/lib/' + +" Understand how the plugin works: :h signify-modus-operandi +" Spare the plugin some work and read: :h g:signify_vcs_list +" Signify plugin settings +" Diff gutter within Vim +" let g:signify_vcs_list = ['git', 'hg'] +" let g:signify_cursorhold_insert = 1 +" let g:signify_cursorhold_normal = 1 +" let g:signify_update_on_bufenter = 0 +" let g:signify_update_on_focusgained = 1 +" +" Colorizer plugin settings +" See :h colorizer in Vim for more info +"let g:colorizer_colornames = 0 " Don't color literal names, like red, green, etc +"let g:colorizer_auto_color = 1 +"let g:colorizer_skip_comments = 1 +"let g:colorizer_auto_filetype ='css,html,vim' + +" Symbols important to vim / terminal layouts + +set termencoding=utf-8 +set encoding=utf-8 + +" air-line +let g:airline_powerline_fonts = 1 + +if !exists('g:airline_symbols') + let g:airline_symbols = {} +endif + +" unicode symbols +let g:airline_left_sep = '»' +let g:airline_left_sep = '▶' +let g:airline_right_sep = '«' +let g:airline_right_sep = '◀' +let g:airline_symbols.linenr = '␊' +let g:airline_symbols.linenr = '␤' +let g:airline_symbols.linenr = '¶' +let g:airline_symbols.branch = '⎇' +let g:airline_symbols.paste = 'ρ' +let g:airline_symbols.paste = 'Þ' +let g:airline_symbols.paste = '∥' +let g:airline_symbols.whitespace = 'Ξ' + +" airline symbols +let g:airline_left_sep = '' +let g:airline_left_alt_sep = '' +let g:airline_right_sep = '' +let g:airline_right_alt_sep = '' +let g:airline_symbols.branch = '' +let g:airline_symbols.readonly = '' +let g:airline_symbols.linenr = '' + diff --git a/configs/.vimrc-README b/configs/.vimrc-README deleted file mode 100644 index ecf33ba..0000000 --- a/configs/.vimrc-README +++ /dev/null @@ -1,42 +0,0 @@ -Packages Installed / Updated: -- vim, git, clang - -Vimrc Settings: -- tabwidth is 2, and set to insert SPACE characters instead of TAB symbols with expandtab -- shiftwidth is 2 so we can compensate for the conflict with default tab settings -- autoindent is on, when moving to a newline vim will indent to the current depth -- syntax highlighting is on -- mouse interaction is enabled when supported by connecting systems --- https://github.com/shaunrd0/klips/tree/master/configs - -Plugin Settings: -- Pathogen vim plugin manager has been installed and .vimrc configured for its use. --- Install new vim plugins by cloning their repositories into ~/.vim/bundle/ --- https://github.com/tpope/vim-pathogen - -- Clang_complete vim plugin has been installed and .vimrc configured for its use. -- Code-completion is enabled with default clang_complete settings --- https://github.com/xavierd/clang_complete ---If you have issues with Clang_complete library linking / loading, check the directory / commands below - -cd /usr/lib/x86_64-unknown-linux -ln -s libclang.so.1 libclang.so - -- Supertab vim plugin has been installed and .vimrc configured for its use. -- Allows the use of TAB to enable code-completion context menu --- https://github.com/ervandew/supertab - -- Enable nocp --- Ensures vim is not set to be compatible with older versions of vi --- Removing this could diable enhancements on some systems --- :help 'compatible' within vim for more information - -- Define backspace scope --- Ensures that backspace has the permissions to remove all character types - -- Custom Keybindings -- The keybind (Ctrl-e ) allows switching between split vim windows --- Ctrl-w is the default setting, which closes tabbed shells on Chrome OS - -- Backups previous vimrc configurations --- If they were present, previous vim files are stored in /etc/config-vim/backups/ - diff --git a/configs/bash/.bash_aliases b/configs/bash/.bash_aliases deleted file mode 100644 index 74c8504..0000000 --- a/configs/bash/.bash_aliases +++ /dev/null @@ -1,16 +0,0 @@ -alias gitkapp='git config --global user.name "Shaun Reed" && git config --global user.email "shaunrd0@gmail.com"' - -# Overrides for default .bashrc aliases and exports -# Alias / export customizations -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -# Add an "alert" alias for long running commands. Use like so: -# sleep 10; alert -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' - diff --git a/configs/bash/.bashrc b/configs/bash/.bashrc deleted file mode 100644 index 770cb92..0000000 --- a/configs/bash/.bashrc +++ /dev/null @@ -1,117 +0,0 @@ -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# If not running interactively, don't do anything -case $- in - *i*) ;; - *) return;; -esac - -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - xterm-color|*-256color) color_prompt=yes;; -esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -#force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\][\u@\h\[\033[00m\] \W\[\033[01;32m\]]\$\[\033[00m\]' -else - PS1='${debian_chroot:+($debian_chroot)}[\u@\h \W]\$ ' -fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - -# Alias / export customizations - -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -# Add an "alert" alias for long running commands. Use like so: -# sleep 10; alert -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' - -# Edit ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. - -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). -if ! shopt -oq posix; then - if [ -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - fi -fi diff --git a/configs/bash/bash.bashrc b/configs/bash/bash.bashrc deleted file mode 100644 index ec92e54..0000000 --- a/configs/bash/bash.bashrc +++ /dev/null @@ -1,71 +0,0 @@ -# System-wide .bashrc file for interactive bash(1) shells. - -# To enable the settings / commands in this file for login shells as well, -# this file has to be sourced in /etc/profile. - -# If not running interactively, don't do anything -[ -z "$PS1" ] && return - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, overwrite the one in /etc/profile) -# but only if not SUDOing and have SUDO_PS1 set; then assume smart user. -if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -fi - -# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. -# If this is an xterm set the title to user@host:dir -#case "$TERM" in -#xterm*|rxvt*) -# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' -# ;; -#*) -# ;; -#esac - -# enable bash completion in interactive shells -#if ! shopt -oq posix; then -# if [ -f /usr/share/bash-completion/bash_completion ]; then -# . /usr/share/bash-completion/bash_completion -# elif [ -f /etc/bash_completion ]; then -# . /etc/bash_completion -# fi -#fi - -# sudo hint -if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then - case " $(groups) " in *\ admin\ *|*\ sudo\ *) - if [ -x /usr/bin/sudo ]; then - cat <<-EOF - To run a command as administrator (user "root"), use "sudo ". - See "man sudo_root" for details. - - EOF - fi - esac -fi - -# if the command-not-found package is installed, use it -if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then - function command_not_found_handle { - # check because c-n-f could've been removed in the meantime - if [ -x /usr/lib/command-not-found ]; then - /usr/lib/command-not-found -- "$1" - return $? - elif [ -x /usr/share/command-not-found/command-not-found ]; then - /usr/share/command-not-found/command-not-found -- "$1" - return $? - else - printf "%s: command not found\n" "$1" >&2 - return 127 - fi - } -fi diff --git a/configs/bash/profile b/configs/bash/profile deleted file mode 100644 index 48cfeda..0000000 --- a/configs/bash/profile +++ /dev/null @@ -1,31 +0,0 @@ -# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) -# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). - -# This line sets the system-wide default text editor to vim -export EDITOR='/usr/bin/vim' -export VISUAL='/usr/bin/vim' - -if [ "${PS1-}" ]; then - if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then - # The file bash.bashrc already sets the default PS1. - # PS1='\h:\w\$ ' - if [ -f /etc/bash.bashrc ]; then - . /etc/bash.bashrc - fi - else - if [ "`id -u`" -eq 0 ]; then - PS1='# ' - else - PS1='$ ' - fi - fi -fi - -if [ -d /etc/profile.d ]; then - for i in /etc/profile.d/*.sh; do - if [ -r $i ]; then - . $i - fi - done - unset i -fi diff --git a/configs/fail2ban/README.md b/configs/fail2ban/README.md deleted file mode 100644 index 60e7026..0000000 --- a/configs/fail2ban/README.md +++ /dev/null @@ -1,116 +0,0 @@ -####Fail2ban - -Be sure to configure mail notifications if you plan to use them. -Found in jail.local - -```bash -# Destination email address used solely for the interpolations in -# jail.{conf,local,d/*} configuration files. -destemail = user@gmail.com - -# Sender email address used solely for some actions -sender = admin@hostname - -# E-mail action. Since 0.8.1 Fail2Ban uses sendmail MTA for the -# mailing. Change mta configuration parameter to mail if you want to -# revert to conventional 'mail'. -mta = mail - -# Default protocol -protocol = tcp -``` - - -Default fail2ban action set to `action = %(action_mwl)s` - -These configurations can be used to activate the below jails within fail2ban - -```bash -[nginx-noproxy] - -enabled = true -port = http,https -filter = nginx-noproxy -logpath = /var/log/nginx/access.log -maxretry = 2 - -[nginx-nohome] - -enabled = true -port = http,https -filter = nginx-nohome -logpath = /var/log/nginx/access.log -maxretry = 2 - -[nginx-badbots] - -enabled = true -port = http,https -filter = nginx-badbots -logpath = /var/log/nginx/access.log -maxretry = 2 - -[nginx-noscript] - -enabled = true -port = http,https -filter = nginx-noscript -logpath = /var/log/nginx/access.log -maxretry = 6 - -[nginx-http-auth] - -enabled = true -filter = nginx-http-auth -port = http,https -logpath = /var/log/nginx/error.log - -[sshd] -# To use more aggressive sshd modes set filter parameter "mode" in jail.local: -# normal (default), ddos, extra or aggressive (combines all). -# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and[Definition] -failregex = ^ -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\.scgi) -ignoreregex = details. -#mode = normal -enabled = true -port = 22 -logpath = %(sshd_log)s -backend = %(sshd_backend)s -``` - -The following filters are also included, which are required to exist within the `/etc/fail2ban/filter.d/` directory. All other jails within this configuration are provided with the default installation of fail2ban on Ubuntu. - -```bash -# /etc/fail2ban/filter.d/nginx-noscript.conf -[Definition] - -failregex = ^ -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\.scgi) - -ignoreregex = - -``` - -```bash -# /etc/fail2ban/filter.d/nginx-nohome.conf -[Definition] - -failregex = ^ -.*GET .*/~.* - -ignoreregex = -``` - -```bash -# /etc/fail2ban/filter.d/nginx-noproxy.conf -[Definition] - -failregex = ^ -.*GET http.* - -ignoreregex = -``` - -To use these configurations, nginx must be running on the host. Run the commands below to apply them. -```bash -git clone https://github.com/shaunrd0/klips; -sudo cp klips/configs/fail2ban/jail.local /etc/fail2ban/jail.local; -sudo cp klips/configs/fail2ban/nginx* /etc/fail2ban/filter.d/; -sudo systemctl restart fail2ban; -sudo fail2ban-client status; -``` diff --git a/configs/fail2ban/jail.local b/configs/fail2ban/jail.local deleted file mode 100644 index 356cdf7..0000000 --- a/configs/fail2ban/jail.local +++ /dev/null @@ -1,914 +0,0 @@ -# -# WARNING: heavily refactored in 0.9.0 release. Please review and -# customize settings for your setup. -# -# Changes: in most of the cases you should not modify this -# file, but provide customizations in jail.local file, -# or separate .conf files under jail.d/ directory, e.g.: -# -# HOW TO ACTIVATE JAILS: -# -# YOU SHOULD NOT MODIFY THIS FILE. -# -# It will probably be overwritten or improved in a distribution update. -# -# Provide customizations in a jail.local file or a jail.d/customisation.local. -# For example to change the default bantime for all jails and to enable the -# ssh-iptables jail the following (uncommented) would appear in the .local file. -# See man 5 jail.conf for details. -# -# [DEFAULT] -# bantime = 1h -# -# [sshd] -# enabled = true -# -# See jail.conf(5) man page for more information - - - -# Comments: use '#' for comment lines and ';' (following a space) for inline comments - - -[INCLUDES] - -#before = paths-distro.conf -before = paths-debian.conf - -# The DEFAULT allows a global definition of the options. They can be overridden -# in each jail afterwards. - -[DEFAULT] - -# -# MISCELLANEOUS OPTIONS -# - -# "ignorself" specifies whether the local resp. own IP addresses should be ignored -# (default is true). Fail2ban will not ban a host which matches such addresses. -#ignorself = true - -# "ignoreip" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban -# will not ban a host which matches an address in this list. Several addresses -# can be defined using space (and/or comma) separator. -#ignoreip = 127.0.0.1/8 ::1 - -# External command that will take an tagged arguments to ignore, e.g. , -# and return true if the IP is to be ignored. False otherwise. -# -# ignorecommand = /path/to/command -ignorecommand = - -# "bantime" is the number of seconds that a host is banned. -bantime = 10m - -# A host is banned if it has generated "maxretry" during the last "findtime" -# seconds. -findtime = 10m - -# "maxretry" is the number of failures before a host get banned. -maxretry = 5 - -# "backend" specifies the backend used to get files modification. -# Available options are "pyinotify", "gamin", "polling", "systemd" and "auto". -# This option can be overridden in each jail as well. -# -# pyinotify: requires pyinotify (a file alteration monitor) to be installed. -# If pyinotify is not installed, Fail2ban will use auto. -# gamin: requires Gamin (a file alteration monitor) to be installed. -# If Gamin is not installed, Fail2ban will use auto. -# polling: uses a polling algorithm which does not require external libraries. -# systemd: uses systemd python library to access the systemd journal. -# Specifying "logpath" is not valid for this backend. -# See "journalmatch" in the jails associated filter config -# auto: will try to use the following backends, in order: -# pyinotify, gamin, polling. -# -# Note: if systemd backend is chosen as the default but you enable a jail -# for which logs are present only in its own log files, specify some other -# backend for that jail (e.g. polling) and provide empty value for -# journalmatch. See https://github.com/fail2ban/fail2ban/issues/959#issuecomment-74901200 -backend = auto - -# "usedns" specifies if jails should trust hostnames in logs, -# warn when DNS lookups are performed, or ignore all hostnames in logs -# -# yes: if a hostname is encountered, a DNS lookup will be performed. -# warn: if a hostname is encountered, a DNS lookup will be performed, -# but it will be logged as a warning. -# no: if a hostname is encountered, will not be used for banning, -# but it will be logged as info. -# raw: use raw value (no hostname), allow use it for no-host filters/actions (example user) -usedns = warn - -# "logencoding" specifies the encoding of the log files handled by the jail -# This is used to decode the lines from the log file. -# Typical examples: "ascii", "utf-8" -# -# auto: will use the system locale setting -logencoding = auto - -# "enabled" enables the jails. -# By default all jails are disabled, and it should stay this way. -# Enable only relevant to your setup jails in your .local or jail.d/*.conf -# -# true: jail will be enabled and log files will get monitored for changes -# false: jail is not enabled -enabled = false - - -# "mode" defines the mode of the filter (see corresponding filter implementation for more info). -mode = normal - -# "filter" defines the filter to use by the jail. -# By default jails have names matching their filter name -# -filter = %(__name__)s[mode=%(mode)s] - - -# -# ACTIONS -# - -# Some options used for actions - -# Destination email address used solely for the interpolations in -# jail.{conf,local,d/*} configuration files. -destemail = user@gmail.com - -# Sender email address used solely for some actions -sender = admin@hostname - -# E-mail action. Since 0.8.1 Fail2Ban uses sendmail MTA for the -# mailing. Change mta configuration parameter to mail if you want to -# revert to conventional 'mail'. -mta = mail - -# Default protocol -protocol = tcp - -# Specify chain where jumps would need to be added in ban-actions expecting parameter chain -chain = - -# Ports to be banned -# Usually should be overridden in a particular jail -port = 0:65535 - -# Format of user-agent https://tools.ietf.org/html/rfc7231#section-5.5.3 -fail2ban_agent = Fail2Ban/%(fail2ban_version)s - -# -# Action shortcuts. To be used to define action parameter - -# Default banning action (e.g. iptables, iptables-new, -# iptables-multiport, shorewall, etc) It is used to define -# action_* variables. Can be overridden globally or per -# section within jail.local file -banaction = iptables-multiport -banaction_allports = iptables-allports - -# The simplest action to take: ban only -action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] - -# ban & send an e-mail with whois report to the destemail. -action_mw = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] - %(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"] - -# ban & send an e-mail with whois report and relevant log lines -# to the destemail. -action_mwl = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] - %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"] - -# See the IMPORTANT note in action.d/xarf-login-attack for when to use this action -# -# ban & send a xarf e-mail to abuse contact of IP address and include relevant log lines -# to the destemail. -action_xarf = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] - xarf-login-attack[service=%(__name__)s, sender="%(sender)s", logpath=%(logpath)s, port="%(port)s"] - -# ban IP on CloudFlare & send an e-mail with whois report and relevant log lines -# to the destemail. -action_cf_mwl = cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"] - %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"] - -# Report block via blocklist.de fail2ban reporting service API -# -# See the IMPORTANT note in action.d/blocklist_de.conf for when to use this action. -# Specify expected parameters in file action.d/blocklist_de.local or if the interpolation -# `action_blocklist_de` used for the action, set value of `blocklist_de_apikey` -# in your `jail.local` globally (section [DEFAULT]) or per specific jail section (resp. in -# corresponding jail.d/my-jail.local file). -# -action_blocklist_de = blocklist_de[email="%(sender)s", service=%(filter)s, apikey="%(blocklist_de_apikey)s", agent="%(fail2ban_agent)s"] - -# Report ban via badips.com, and use as blacklist -# -# See BadIPsAction docstring in config/action.d/badips.py for -# documentation for this action. -# -# NOTE: This action relies on banaction being present on start and therefore -# should be last action defined for a jail. -# -action_badips = badips.py[category="%(__name__)s", banaction="%(banaction)s", agent="%(fail2ban_agent)s"] -# -# Report ban via badips.com (uses action.d/badips.conf for reporting only) -# -action_badips_report = badips[category="%(__name__)s", agent="%(fail2ban_agent)s"] - -# Report ban via abuseipdb.com. -# -# See action.d/abuseipdb.conf for usage example and details. -# -action_abuseipdb = abuseipdb - -# Choose default action. To change, just override value of 'action' with the -# interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local -# globally (section [DEFAULT]) or per specific section -action = %(action_mwl)s - - -# -# JAILS -# - -# -# SSH servers -# - -[sshd] - -# To use more aggressive sshd modes set filter parameter "mode" in jail.local: -# normal (default), ddos, extra or aggressive (combines all). -# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details. -#mode = normal -port = 22 -logpath = %(sshd_log)s -backend = %(sshd_backend)s - - -[dropbear] - -port = ssh -logpath = %(dropbear_log)s -backend = %(dropbear_backend)s - - -[selinux-ssh] - -port = ssh -logpath = %(auditd_log)s - - -# -# HTTP servers -# - -[apache-auth] - -port = http,https -logpath = %(apache_error_log)s - - -[apache-badbots] -# Ban hosts which agent identifies spammer robots crawling the web -# for email addresses. The mail outputs are buffered. -port = http,https -logpath = %(apache_access_log)s -bantime = 48h -maxretry = 1 - - -[apache-noscript] - -port = http,https -logpath = %(apache_error_log)s - - -[apache-overflows] - -port = http,https -logpath = %(apache_error_log)s -maxretry = 2 - - -[apache-nohome] - -port = http,https -logpath = %(apache_error_log)s -maxretry = 2 - - -[apache-botsearch] - -port = http,https -logpath = %(apache_error_log)s -maxretry = 2 - - -[apache-fakegooglebot] - -port = http,https -logpath = %(apache_access_log)s -maxretry = 1 -ignorecommand = %(ignorecommands_dir)s/apache-fakegooglebot - - -[apache-modsecurity] - -port = http,https -logpath = %(apache_error_log)s -maxretry = 2 - - -[apache-shellshock] - -port = http,https -logpath = %(apache_error_log)s -maxretry = 1 - - -[openhab-auth] - -filter = openhab -action = iptables-allports[name=NoAuthFailures] -logpath = /opt/openhab/logs/request.log - -[nginx-http-auth] - -enabled = true -port = http,https -logpath = %(nginx_error_log)s - -# To use 'nginx-limit-req' jail you should have `ngx_http_limit_req_module` -# and define `limit_req` and `limit_req_zone` as described in nginx documentation -# http://nginx.org/en/docs/http/ngx_http_limit_req_module.html -# or for example see in 'config/filter.d/nginx-limit-req.conf' -[nginx-limit-req] -port = http,https -logpath = %(nginx_error_log)s - -[nginx-botsearch] - -enabled = true -port = http,https -logpath = %(nginx_error_log)s -maxretry = 2 - -[nginx-noproxy] - -enabled = true -port = http,https -filter = nginx-noproxy -logpath = /var/log/nginx/access.log -maxretry = 2 - -[nginx-noscript] - -enabled = true -port = http,https -filter = nginx-noscript -logpath = /var/log/nginx/access.log -maxretry = 6 - -[nginx-nohome] - -enabled = true -port = http,https -filter = nginx-nohome -logpath = /var/log/nginx/access.log -maxretry = 2 - -# Ban attackers that try to use PHP's URL-fopen() functionality -# through GET/POST variables. - Experimental, with more than a year -# of usage in production environments. - -[php-url-fopen] - -port = http,https -logpath = %(nginx_access_log)s - %(apache_access_log)s - - -[suhosin] - -port = http,https -logpath = %(suhosin_log)s - - -[lighttpd-auth] -# Same as above for Apache's mod_auth -# It catches wrong authentifications -port = http,https -logpath = %(lighttpd_error_log)s - - -# -# Webmail and groupware servers -# - -[roundcube-auth] - -port = http,https -logpath = %(roundcube_errors_log)s -# Use following line in your jail.local if roundcube logs to journal. -#backend = %(syslog_backend)s - - -[openwebmail] - -port = http,https -logpath = /var/log/openwebmail.log - - -[horde] - -port = http,https -logpath = /var/log/horde/horde.log - - -[groupoffice] - -port = http,https -logpath = /home/groupoffice/log/info.log - - -[sogo-auth] -# Monitor SOGo groupware server -# without proxy this would be: -# port = 20000 -port = http,https -logpath = /var/log/sogo/sogo.log - - -[tine20] - -logpath = /var/log/tine20/tine20.log -port = http,https - - -# -# Web Applications -# -# - -[drupal-auth] - -port = http,https -logpath = %(syslog_daemon)s -backend = %(syslog_backend)s - -[guacamole] - -port = http,https -logpath = /var/log/tomcat*/catalina.out - -[monit] -#Ban clients brute-forcing the monit gui login -port = 2812 -logpath = /var/log/monit - - -[webmin-auth] - -port = 10000 -logpath = %(syslog_authpriv)s -backend = %(syslog_backend)s - - -[froxlor-auth] - -port = http,https -logpath = %(syslog_authpriv)s -backend = %(syslog_backend)s - - -# -# HTTP Proxy servers -# -# - -[squid] - -port = 80,443,3128,8080 -logpath = /var/log/squid/access.log - - -[3proxy] - -port = 3128 -logpath = /var/log/3proxy.log - - -# -# FTP servers -# - - -[proftpd] - -port = ftp,ftp-data,ftps,ftps-data -logpath = %(proftpd_log)s -backend = %(proftpd_backend)s - - -[pure-ftpd] - -port = ftp,ftp-data,ftps,ftps-data -logpath = %(pureftpd_log)s -backend = %(pureftpd_backend)s - - -[gssftpd] - -port = ftp,ftp-data,ftps,ftps-data -logpath = %(syslog_daemon)s -backend = %(syslog_backend)s - - -[wuftpd] - -port = ftp,ftp-data,ftps,ftps-data -logpath = %(wuftpd_log)s -backend = %(wuftpd_backend)s - - -[vsftpd] -# or overwrite it in jails.local to be -# logpath = %(syslog_authpriv)s -# if you want to rely on PAM failed login attempts -# vsftpd's failregex should match both of those formats -port = ftp,ftp-data,ftps,ftps-data -logpath = %(vsftpd_log)s - - -# -# Mail servers -# - -# ASSP SMTP Proxy Jail -[assp] - -port = smtp,465,submission -logpath = /root/path/to/assp/logs/maillog.txt - - -[courier-smtp] - -port = smtp,465,submission -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -[postfix] -# To use another modes set filter parameter "mode" in jail.local: -mode = more -port = smtp,465,submission -logpath = %(postfix_log)s -backend = %(postfix_backend)s - - -[postfix-rbl] - -filter = postfix[mode=rbl] -port = smtp,465,submission -logpath = %(postfix_log)s -backend = %(postfix_backend)s -maxretry = 1 - - -[sendmail-auth] - -port = submission,465,smtp -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -[sendmail-reject] -# To use more aggressive modes set filter parameter "mode" in jail.local: -# normal (default), extra or aggressive -# See "tests/files/logs/sendmail-reject" or "filter.d/sendmail-reject.conf" for usage example and details. -#mode = normal -port = smtp,465,submission -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -[qmail-rbl] - -filter = qmail -port = smtp,465,submission -logpath = /service/qmail/log/main/current - - -# dovecot defaults to logging to the mail syslog facility -# but can be set by syslog_facility in the dovecot configuration. -[dovecot] - -port = pop3,pop3s,imap,imaps,submission,465,sieve -logpath = %(dovecot_log)s -backend = %(dovecot_backend)s - - -[sieve] - -port = smtp,465,submission -logpath = %(dovecot_log)s -backend = %(dovecot_backend)s - - -[solid-pop3d] - -port = pop3,pop3s -logpath = %(solidpop3d_log)s - - -[exim] -# see filter.d/exim.conf for further modes supported from filter: -#mode = normal -port = smtp,465,submission -logpath = %(exim_main_log)s - - -[exim-spam] - -port = smtp,465,submission -logpath = %(exim_main_log)s - - -[kerio] - -port = imap,smtp,imaps,465 -logpath = /opt/kerio/mailserver/store/logs/security.log - - -# -# Mail servers authenticators: might be used for smtp,ftp,imap servers, so -# all relevant ports get banned -# - -[courier-auth] - -port = smtp,465,submission,imap,imaps,pop3,pop3s -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -[postfix-sasl] - -filter = postfix[mode=auth] -port = smtp,465,submission,imap,imaps,pop3,pop3s -# You might consider monitoring /var/log/mail.warn instead if you are -# running postfix since it would provide the same log lines at the -# "warn" level but overall at the smaller filesize. -logpath = %(postfix_log)s -backend = %(postfix_backend)s - - -[perdition] - -port = imap,imaps,pop3,pop3s -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -[squirrelmail] - -port = smtp,465,submission,imap,imap2,imaps,pop3,pop3s,http,https,socks -logpath = /var/lib/squirrelmail/prefs/squirrelmail_access_log - - -[cyrus-imap] - -port = imap,imaps -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -[uwimap-auth] - -port = imap,imaps -logpath = %(syslog_mail)s -backend = %(syslog_backend)s - - -# -# -# DNS servers -# - - -# !!! WARNING !!! -# Since UDP is connection-less protocol, spoofing of IP and imitation -# of illegal actions is way too simple. Thus enabling of this filter -# might provide an easy way for implementing a DoS against a chosen -# victim. See -# http://nion.modprobe.de/blog/archives/690-fail2ban-+-dns-fail.html -# Please DO NOT USE this jail unless you know what you are doing. -# -# IMPORTANT: see filter.d/named-refused for instructions to enable logging -# This jail blocks UDP traffic for DNS requests. -# [named-refused-udp] -# -# filter = named-refused -# port = domain,953 -# protocol = udp -# logpath = /var/log/named/security.log - -# IMPORTANT: see filter.d/named-refused for instructions to enable logging -# This jail blocks TCP traffic for DNS requests. - -[named-refused] - -port = domain,953 -logpath = /var/log/named/security.log - - -[nsd] - -port = 53 -action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] - %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] -logpath = /var/log/nsd.log - - -# -# Miscellaneous -# - -[asterisk] - -port = 5060,5061 -action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] - %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] - %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"] -logpath = /var/log/asterisk/messages -maxretry = 10 - - -[freeswitch] - -port = 5060,5061 -action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] - %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] - %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"] -logpath = /var/log/freeswitch.log -maxretry = 10 - - -# To log wrong MySQL access attempts add to /etc/my.cnf in [mysqld] or -# equivalent section: -# log-warning = 2 -# -# for syslog (daemon facility) -# [mysqld_safe] -# syslog -# -# for own logfile -# [mysqld] -# log-error=/var/log/mysqld.log -[mysqld-auth] - -port = 3306 -logpath = %(mysql_log)s -backend = %(mysql_backend)s - - -# Log wrong MongoDB auth (for details see filter 'filter.d/mongodb-auth.conf') -[mongodb-auth] -# change port when running with "--shardsvr" or "--configsvr" runtime operation -port = 27017 -logpath = /var/log/mongodb/mongodb.log - - -# Jail for more extended banning of persistent abusers -# !!! WARNINGS !!! -# 1. Make sure that your loglevel specified in fail2ban.conf/.local -# is not at DEBUG level -- which might then cause fail2ban to fall into -# an infinite loop constantly feeding itself with non-informative lines -# 2. Increase dbpurgeage defined in fail2ban.conf to e.g. 648000 (7.5 days) -# to maintain entries for failed logins for sufficient amount of time -[recidive] - -logpath = /var/log/fail2ban.log -banaction = %(banaction_allports)s -bantime = 1w -findtime = 1d - - -# Generic filter for PAM. Has to be used with action which bans all -# ports such as iptables-allports, shorewall - -[pam-generic] -# pam-generic filter can be customized to monitor specific subset of 'tty's -banaction = %(banaction_allports)s -logpath = %(syslog_authpriv)s -backend = %(syslog_backend)s - - -[xinetd-fail] - -banaction = iptables-multiport-log -logpath = %(syslog_daemon)s -backend = %(syslog_backend)s -maxretry = 2 - - -# stunnel - need to set port for this -[stunnel] - -logpath = /var/log/stunnel4/stunnel.log - - -[ejabberd-auth] - -port = 5222 -logpath = /var/log/ejabberd/ejabberd.log - - -[counter-strike] - -logpath = /opt/cstrike/logs/L[0-9]*.log -# Firewall: http://www.cstrike-planet.com/faq/6 -tcpport = 27030,27031,27032,27033,27034,27035,27036,27037,27038,27039 -udpport = 1200,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27010,27011,27012,27013,27014,27015 -action = %(banaction)s[name=%(__name__)s-tcp, port="%(tcpport)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp] - %(banaction)s[name=%(__name__)s-udp, port="%(udpport)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp] - -# consider low maxretry and a long bantime -# nobody except your own Nagios server should ever probe nrpe -[nagios] - -logpath = %(syslog_daemon)s ; nrpe.cfg may define a different log_facility -backend = %(syslog_backend)s -maxretry = 1 - - -[oracleims] -# see "oracleims" filter file for configuration requirement for Oracle IMS v6 and above -logpath = /opt/sun/comms/messaging64/log/mail.log_current -banaction = %(banaction_allports)s - -[directadmin] -logpath = /var/log/directadmin/login.log -port = 2222 - -[portsentry] -logpath = /var/lib/portsentry/portsentry.history -maxretry = 1 - -[pass2allow-ftp] -# this pass2allow example allows FTP traffic after successful HTTP authentication -port = ftp,ftp-data,ftps,ftps-data -# knocking_url variable must be overridden to some secret value in jail.local -knocking_url = /knocking/ -filter = apache-pass[knocking_url="%(knocking_url)s"] -# access log of the website with HTTP auth -logpath = %(apache_access_log)s -blocktype = RETURN -returntype = DROP -action = %(action_)s[blocktype=%(blocktype)s, returntype=%(returntype)s] -bantime = 1h -maxretry = 1 -findtime = 1 - - -[murmur] -# AKA mumble-server -port = 64738 -action = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol=tcp, chain="%(chain)s", actname=%(banaction)s-tcp] - %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol=udp, chain="%(chain)s", actname=%(banaction)s-udp] -logpath = /var/log/mumble-server/mumble-server.log - - -[screensharingd] -# For Mac OS Screen Sharing Service (VNC) -logpath = /var/log/system.log -logencoding = utf-8 - -[haproxy-http-auth] -# HAProxy by default doesn't log to file you'll need to set it up to forward -# logs to a syslog server which would then write them to disk. -# See "haproxy-http-auth" filter for a brief cautionary note when setting -# maxretry and findtime. -logpath = /var/log/haproxy.log - -[slapd] -port = ldap,ldaps -logpath = /var/log/slapd.log - -[domino-smtp] -port = smtp,ssmtp -logpath = /home/domino01/data/IBM_TECHNICAL_SUPPORT/console.log - -[phpmyadmin-syslog] -port = http,https -logpath = %(syslog_authpriv)s -backend = %(syslog_backend)s - - -[zoneminder] -# Zoneminder HTTP/HTTPS web interface auth -# Logs auth failures to apache2 error log -port = http,https -logpath = %(apache_error_log)s - diff --git a/configs/fail2ban/nginx-nohome.conf b/configs/fail2ban/nginx-nohome.conf deleted file mode 100644 index 83d065e..0000000 --- a/configs/fail2ban/nginx-nohome.conf +++ /dev/null @@ -1,6 +0,0 @@ -[Definition] - -failregex = ^ -.*GET .*/~.* - -ignoreregex = - diff --git a/configs/fail2ban/nginx-noproxy.conf b/configs/fail2ban/nginx-noproxy.conf deleted file mode 100644 index a091a0d..0000000 --- a/configs/fail2ban/nginx-noproxy.conf +++ /dev/null @@ -1,5 +0,0 @@ -[Definition] - -failregex = ^ -.*GET http.* - -ignoreregex = diff --git a/configs/fail2ban/nginx-noscript.conf b/configs/fail2ban/nginx-noscript.conf deleted file mode 100644 index 2a8c37e..0000000 --- a/configs/fail2ban/nginx-noscript.conf +++ /dev/null @@ -1,6 +0,0 @@ -[Definition] - -failregex = ^ -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\.scgi) - -ignoreregex = - diff --git a/configs/i3/config b/configs/i3/config deleted file mode 100644 index 859d74b..0000000 --- a/configs/i3/config +++ /dev/null @@ -1,421 +0,0 @@ -# i3 config file (v4) -# Please see http://i3wm.org/docs/userguide.html for a complete reference! - -# Set mod key (Mod1=, Mod4=) -set $mod Mod4 - -# set default desktop layout (default is tiling) -# workspace_layout tabbed - -# Configure border style -default_border pixel 1 -default_floating_border normal - -# Hide borders -hide_edge_borders none - -# change borders -bindsym $mod+u border none -bindsym $mod+y border pixel 1 -bindsym $mod+n border normal - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font xft:URWGothic-Book 11 - -# Use Mouse+$mod to drag floating windows -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start program launcher -bindsym $mod+d exec --no-startup-id dmenu_recency - -# launch categorized menu -bindsym $mod+z exec --no-startup-id morc_menu - -################################################################################################ -## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## -################################################################################################ - -exec --no-startup-id volumeicon -bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' -#exec --no-startup-id pulseaudio -#exec --no-startup-id pa-applet -#bindsym $mod+Ctrl+m exec pavucontrol - -################################################################################################ - -# Screen brightness controls -# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" -# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" - -# Start Applications -bindsym $mod+Ctrl+b exec terminal -e 'bmenu' -bindsym $mod+F2 exec firefox -bindsym $mod+F3 exec bitwarden -bindsym $mod+F4 exec signal-desktop -# bindsym $mod+F3 exec ranger -bindsym $mod+Shift+F3 exec pcmanfm_pkexec -bindsym $mod+F5 exec terminal -e 'mocp' -bindsym $mod+t exec --no-startup-id pkill compton -bindsym $mod+Ctrl+t exec --no-startup-id compton -b -bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" -bindsym Print exec --no-startup-id i3-scrot -bindsym $mod+Print --release exec --no-startup-id i3-scrot -w -bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s -bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf -bindsym $mod+Ctrl+x --release exec --no-startup-id xkill - -# focus_follows_mouse no - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right - -# alternatively, you can use the cursor 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 - -# workspace back and forth (with/without active container) -workspace_auto_back_and_forth yes -bindsym $mod+b workspace back_and_forth -bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth - -# split orientation -bindsym $mod+h split h;exec notify-send 'tile horizontally' -bindsym $mod+v split v;exec notify-send 'tile vertically' -bindsym $mod+q split toggle - -# toggle fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# toggle sticky -bindsym $mod+Shift+s sticky toggle - -# focus the parent container -bindsym $mod+a focus parent - -# 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 - -#navigate workspaces next / previous -bindsym $mod+Ctrl+Right workspace next -bindsym $mod+Ctrl+Left workspace prev - -# Workspace names -# to display names or symbols instead of plain workspace numbers you can use -# something like: set $ws1 1:mail -# set $ws2 2: -set $ws1 1 -set $ws2 2 -set $ws3 3 -set $ws4 4 -set $ws5 5 -set $ws6 6 -set $ws7 7 -set $ws8 8 - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 - -# Move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 -bindsym $mod+Ctrl+7 move container to workspace $ws7 -bindsym $mod+Ctrl+8 move container to workspace $ws8 - -# Move to workspace with focused container -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 - -# Open applications on specific workspaces -# assign [class="Thunderbird"] $ws1 -# assign [class="Pale moon"] $ws2 -# assign [class="Pcmanfm"] $ws3 -# assign [class="Skype"] $ws5 - -# Open specific applications in floating mode -for_window [title="alsamixer"] floating enable border pixel 1 -for_window [class="calamares"] floating enable border normal -for_window [class="Clipgrab"] floating enable -for_window [title="File Transfer*"] floating enable -for_window [class="fpakman"] floating enable -for_window [class="Galculator"] floating enable border pixel 1 -for_window [class="GParted"] floating enable border normal -for_window [title="i3_help"] floating enable sticky enable border normal -for_window [class="Lightdm-settings"] floating enable -for_window [class="Lxappearance"] floating enable sticky enable border normal -for_window [class="Manjaro-hello"] floating enable -for_window [class="Manjaro Settings Manager"] floating enable border normal -for_window [title="MuseScore: Play Panel"] floating enable -for_window [class="Nitrogen"] floating enable sticky enable border normal -for_window [class="Oblogout"] fullscreen enable -for_window [class="octopi"] floating enable -for_window [title="About Pale Moon"] floating enable -for_window [class="Pamac-manager"] floating enable -for_window [class="Pavucontrol"] floating enable -for_window [class="qt5ct"] floating enable sticky enable border normal -for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal -for_window [class="Simple-scan"] floating enable border normal -for_window [class="(?i)System-config-printer.py"] floating enable border normal -for_window [class="Skype"] floating enable border normal -for_window [class="Timeset-gui"] floating enable border normal -for_window [class="(?i)virtualbox"] floating enable border normal -for_window [class="Xfburn"] floating enable - -# switch to workspace with urgent window automatically -for_window [urgent=latest] focus - -# reload the configuration file -bindsym $mod+Shift+c reload - -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart - -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# Set shut down, restart and locking features -bindsym $mod+0 mode "$mode_system" -set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown -mode "$mode_system" { - bindsym l exec --no-startup-id i3exit lock, mode "default" - bindsym s exec --no-startup-id i3exit suspend, mode "default" - bindsym u exec --no-startup-id i3exit switch_user, mode "default" - bindsym e exec --no-startup-id i3exit logout, mode "default" - bindsym h exec --no-startup-id i3exit hibernate, mode "default" - bindsym r exec --no-startup-id i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" - - # exit system mode: "Enter" or "Escape" - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Resize window (you can also use the mouse for that) -bindsym $mod+r mode "resize" -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 5 px or 5 ppt - bindsym k resize grow height 5 px or 5 ppt - bindsym l resize shrink height 5 px or 5 ppt - bindsym semicolon resize grow width 5 px or 5 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # exit resize mode: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Lock screen -bindsym $mod+9 exec --no-startup-id blurlock - -# Autostart applications -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec --no-startup-id nitrogen --restore; sleep 1; compton -b -exec --no-startup-id manjaro-hello -exec --no-startup-id nm-applet -exec --no-startup-id xfce4-power-manager -exec --no-startup-id pamac-tray -exec --no-startup-id clipit -# exec --no-startup-id blueman-applet -# exec_always --no-startup-id sbxkb -exec --no-startup-id start_conky_maia -# exec --no-startup-id start_conky_green -exec --no-startup-id xautolock -time 10 -locker blurlock -exec_always --no-startup-id ff-theme-util -exec_always --no-startup-id fix_xcursor - -# Color palette used for the terminal ( ~/.Xresources file ) -# Colors are gathered based on the documentation: -# https://i3wm.org/docs/userguide.html#xresources -# Change the variable name at the place you want to match the color -# of your terminal like this: -# [example] -# If you want your bar to have the same background color as your -# terminal background change the line 362 from: -# background #14191D -# to: -# background $term_background -# Same logic applied to everything else. -set_from_resource $term_background background -set_from_resource $term_foreground foreground -set_from_resource $term_color0 color0 -set_from_resource $term_color1 color1 -set_from_resource $term_color2 color2 -set_from_resource $term_color3 color3 -set_from_resource $term_color4 color4 -set_from_resource $term_color5 color5 -set_from_resource $term_color6 color6 -set_from_resource $term_color7 color7 -set_from_resource $term_color8 color8 -set_from_resource $term_color9 color9 -set_from_resource $term_color10 color10 -set_from_resource $term_color11 color11 -set_from_resource $term_color12 color12 -set_from_resource $term_color13 color13 -set_from_resource $term_color14 color14 -set_from_resource $term_color15 color15 - -# Start i3bar to display a workspace bar (plus the system information i3status if available) -bar { - i3bar_command i3bar -# status_command i3status - status_command ~/.i3/bumblebee-status/bumblebee-status -m kernel git github indicator ping caffeine disk:root cpu sensors memory todo pacman weather time date -p weather.unit="imperial" timetz.format="%H:%M" weather.showcity=false github.token=ec7086ba80092cd51c1768e1f5f1e0040848b299 ping.address=knoats.com date.left-click="gsimplecal" root.path=/ time.format="%H:%M" date.format="%D" -t greyish-powerline - position top - font pango:Inconsolata 10 - -## please set your primary output first. Example: 'xrandr --output eDP1 --primary' -# tray_output primary -# tray_output eDP1 - - bindsym button4 nop - bindsym button5 nop -# font xft:URWGothic-Book 11 - strip_workspace_numbers yes - - colors { - background #222D31 - statusline #F9FAF9 - separator #454947 - -# border backgr. text - focused_workspace #F9FAF9 #16a085 #292F34 - active_workspace #595B5B #353836 #FDF6E3 - inactive_workspace #595B5B #222D31 #EEE8D5 - binding_mode #16a085 #2C2C2C #F9FAF9 - urgent_workspace #16a085 #FDF6E3 #E5201D - } -} - -# hide/unhide i3status bar -bindsym $mod+m bar mode toggle - -# Theme colors -# class border backgr. text indic. child_border - client.focused #556064 #556064 #80FFF9 #FDF6E3 - client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 - client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 - client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 - client.placeholder #000000 #0c0c0c #ffffff #000000 - - client.background #2B2C2B - -############################# -### settings for i3-gaps: ### -############################# - -# Set inner/outer gaps -gaps inner 14 -gaps outer -2 - -# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. -# gaps inner|outer current|all set|plus|minus -# gaps inner all set 10 -# gaps outer all plus 5 - -# Smart gaps (gaps used if only more than one container on the workspace) -smart_gaps on - -# Smart borders (draw borders around container only if it is not the only container on this workspace) -# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) -smart_borders on - -# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. -set $mode_gaps Gaps: (o) outer, (i) inner -set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) -set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) -bindsym $mod+Shift+g mode "$mode_gaps" - -mode "$mode_gaps" { - bindsym o mode "$mode_gaps_outer" - bindsym i mode "$mode_gaps_inner" - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_inner" { - bindsym plus gaps inner current plus 5 - bindsym minus gaps inner current minus 5 - bindsym 0 gaps inner current set 0 - - bindsym Shift+plus gaps inner all plus 5 - bindsym Shift+minus gaps inner all minus 5 - bindsym Shift+0 gaps inner all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_outer" { - bindsym plus gaps outer current plus 5 - bindsym minus gaps outer current minus 5 - bindsym 0 gaps outer current set 0 - - bindsym Shift+plus gaps outer all plus 5 - bindsym Shift+minus gaps outer all minus 5 - bindsym Shift+0 gaps outer all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} diff --git a/python/gitloaded.json b/python/gitloaded.json deleted file mode 100644 index c5c414c..0000000 --- a/python/gitloaded.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "git": { - "token": "84014fake588token55b46751for4297u361223", - "id": "shaunrd0", - "name": "Shaun Reed", - "email": "shaunrd0@gmail.com" - }, - - "repos": { - "klips": "/home/kapper/Code/test", - "cmake": "/home/kapper/Code/cmake" - } - } -] diff --git a/python/gittest.py b/python/gittest.py deleted file mode 100644 index 3cf158a..0000000 --- a/python/gittest.py +++ /dev/null @@ -1,62 +0,0 @@ -############################################################################### -## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ## -## ## -## A test script for using Git APIs and gitpython module ## -############################################################################### -# gittest.py - -import git -import requests -import json - - -def local_status(path): - repo = git.Repo(path) - if repo.bare is True: - print("Error loading repository located at %s, check that it is a repository\n" % path) - else: - print("Loaded local repository: %s\n\tOrigin URL: %s" % (repo.description, repo.remotes['origin'])) - return repo - -def remote_status(user, repo): - reply = requests.get('https://api.github.com/repos/%s/%s/commits' % (user, repo)) - commits = reply.json() - remoteCommit = [] - remoteCommit.append(commits[0]['commit']['author']['name']) - remoteCommit.append(commits[0]['commit']['author']['email']) - remoteCommit.append(commits[0]['commit']['author']['date']) - remoteCommit.append(commits[0]['commit']['message']) - print("Fetched most recent commit by %s <%s> on %s \n\tCommit message: %s\n" % (tuple(remoteCommit))) - return remoteCommit - -def load_config(): - global user - global paths - with open(config, 'r') as f: - loadedConfig = json.load(f) - user = loadedConfig[0]['git'] - paths = loadedConfig[0]['repos'] - -def load_repo(path): - global user - local = local_status(paths[path]) - print("\tRepo: ", repo) - remote_status(user["id"], repo) - print(local.active_branch.name) - -global user -global paths -user = [] -paths = [] -config = 'gitloaded.json' - -# Load user JSON config -load_config() -print("Loaded user: %s\n" % user) -print("Loaded paths: %s\n" % paths) - -for repo in paths: - print("Loading path: %s" % paths[repo]) - load_repo(repo) - print() - diff --git a/refs/cppFormat b/refs/cppFormat deleted file mode 100644 index d15d53f..0000000 --- a/refs/cppFormat +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include -#include -using namespace std; - -class C : public B { - // Private implied.. -public: - // Code... -}; - -struct D { - // Public implied.. -private: - // Code... -}; - -void f(int* p, int max) -{ - if (p) { - // Code... - } - - for (int i = 0; i 2. It's - * written this way to be more "visible" to developers who are reading the - * source code. - * - * Often, developers are unaware that this is not (by default) a valid Doxygen - * comment block! - * - * However, as long as JAVADOC_BLOCK = YES is added to the Doxyfile, it will - * work as expected. - * - * This style of commenting behaves well with clang-format. - * - * @param theory Even if there is only one possible unified theory. it is just a - * set of rules and equations. - ******************************************************************************/ -void javadocBanner( int theory ); - -/***************************************************************************//** - * A brief history of Doxygen-style banner comments. - * - * This is a Doxygen-style C-style "banner" comment. It starts with a "normal" - * comment and is then converted to a "special" comment block near the end of - * the first line. It is written this way to be more "visible" to developers - * who are reading the source code. - * This style of commenting behaves poorly with clang-format. - * - * @param theory Even if there is only one possible unified theory. it is just a - * set of rules and equations. - ******************************************************************************/ -void doxygenBanner( int theory ); - diff --git a/scripts/README.md b/scripts/README.md deleted file mode 100644 index 6af61f3..0000000 --- a/scripts/README.md +++ /dev/null @@ -1,200 +0,0 @@ -### Scripts - -I write these scripts for my own use, and you may need to tweak them slightly to suit your needs. - -Never run a script you can't read or understand. Comments can be found in the scripts, usually explaining them block-by-block. Below is my personal use cases for the scripts, to provide further insight into how I use them and how they might be useful to you. - -adduser.sh ------------- - -This script was made on Ubuntu when creating a few users across multiple hosts. Syntax requires at least 2 arguments when running the script, otherwise help text will be output warning of correct usage and available options. The script can be used to configure sudo on a new user if the script itself is ran with sudo. Otherwise, creating a default user with or without a password is possible without sudo. If the script is ran on an existing user or a userID that is already in use is passed, no changes will happen in user-creation but you may still allow the user to sudo and change their password. - -Syntax - - -`./adduser` (Help text) -`./adduser jeff 1005` (Create user jeff with userID 1005, can't configure sudo, prompt for possible password creation) - -`sudo ./adduser` (Help text) -`sudo ./adduser jeffy 1010` (Create user jeffy with userID 1010, can configure sudo, possible password creation) - -Didn't configure sudo, and don't want to do so manually? Re-run the script on the existing user just as above, and accept the prompt for sudo configuration. -`sudo ./adduser jeff 1005` (User creation will fail, follow prompts to configure sudo and / or reset user password) - -cmake-build.sh ------------- - -I usually run this script within whatever directory I'm working in, hence the infinite loop, I leave the script running until I'm done with my work and move to a new directory / cmake project. - - -setup-vim.sh ------------- - -To use this script, run `sudo ./setup-vim.sh` as seen below. Vim configs used for this script are stored in `/etc/config-vim/`. When the script runs into previous vimrc configs they are backed up into `/etc/config-vim/backups/` - -```bash -cloud_user@shaunrd03c:~$ ./setup-vim.sh -This script must be ran with sudo... -sudo ./setup-vim.sh -cloud_user@shaunrd03c:~$ sudo ./setup-vim.sh - -Enter 1 to configure vim with the Klips repository, any other value to exit. -The up-to-date .vimrc config can be found here: https://github.com/shaunrd0/klips/tree/master/configs -Configuring Vim with this tool will update / upgrade your packages - - -1 - -Updating, upgrading required packages... -Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease -Hit:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease -Hit:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease -Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease -Reading package lists... Done -Building dependency tree -Reading state information... Done -32 packages can be upgraded. Run 'apt list --upgradable' to see them. -Reading package lists... Done -Building dependency tree -Reading state information... Done -Calculating upgrade... Done -The following packages were automatically installed and are no longer required: - linux-aws-headers-4.15.0-1043 linux-headers-4.15.0-1043-aws linux-image-4.15.0-1043-aws - linux-modules-4.15.0-1043-aws -Use 'sudo apt autoremove' to remove them. -The following packages will be upgraded: - bind9-host bsdutils dnsutils dpkg dpkg-dev fdisk libbind9-160 libblkid1 libdns-export1100 libdns1100 - libdpkg-perl libfdisk1 libirs160 libisc-export169 libisc169 libisccc160 libisccfg160 libldap-2.4-2 - libldap-common liblwres160 libmount1 libprocps6 libsmartcols1 libsoup-gnome2.4-1 libsoup2.4-1 - libuuid1 mount procps snapd util-linux uuid-runtime xkb-data -32 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. -Need to get 20.5 MB of archives. -After this operation, 1001 kB of additional disk space will be used. -Reading package lists... Done -Building dependency tree -Reading state information... Done -git is already the newest version (1:2.17.1-1ubuntu0.4). -vim is already the newest version (2:8.0.1453-1ubuntu1.1). -The following packages were automatically installed and are no longer required: - linux-aws-headers-4.15.0-1043 linux-headers-4.15.0-1043-aws linux-image-4.15.0-1043-aws - linux-modules-4.15.0-1043-aws -Use 'sudo apt autoremove' to remove them. -0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. - -Gathering resources from Klips repository.. -Cloning into 'temp'... -remote: Enumerating objects: 339, done. -remote: Counting objects: 100% (339/339), done. -remote: Compressing objects: 100% (221/221), done. -remote: Total 339 (delta 135), reused 283 (delta 82), pack-reused 0 -Receiving objects: 100% (339/339), 59.76 KiB | 19.92 MiB/s, done. -Resolving deltas: 100% (135/135), done. -mkdir: created directory '/etc/config-vim' -'temp/README.md' -> '/etc/config-vim/README.md' -'temp/configs/' -> '/etc/config-vim/configs' -'temp/configs/.vimrc' -> '/etc/config-vim/configs/.vimrc' -'temp/configs/.vimrc-README' -> '/etc/config-vim/configs/.vimrc-README' -'temp/configs/fail2ban' -> '/etc/config-vim/configs/fail2ban' -'temp/configs/fail2ban/README.md' -> '/etc/config-vim/configs/fail2ban/README.md' -'temp/configs/fail2ban/jail.local' -> '/etc/config-vim/configs/fail2ban/jail.local' -'temp/configs/fail2ban/nginx-nohome.conf' -> '/etc/config-vim/configs/fail2ban/nginx-nohome.conf' -'temp/configs/fail2ban/nginx-noproxy.conf' -> '/etc/config-vim/configs/fail2ban/nginx-noproxy.conf' -'temp/configs/fail2ban/nginx-noscript.conf' -> '/etc/config-vim/configs/fail2ban/nginx-noscript.conf' - -Klips configs gathered -See /etc/config-vim/README.md for more information. - -mkdir: created directory '/etc/config-vim/backup/' - -Backup directory created - /etc/config-vim/backup/ -mv: cannot stat '/home/cloud_user/.vimrc': No such file or directory -mv: cannot stat '/etc/skel/.vimrc': No such file or directory -renamed '/usr/share/vim/vimrc' -> '/etc/config-vim/backup/share/vimrc' -renamed '/etc/vim/vimrc' -> '/etc/config-vim/backup/etc/vimrc' -Your local .vimrc configurations have been stashed in /etc/config-vim/backup/ - -New ~/.vimrc configuration installed. -New /etc/skel/.vimrc configuration installed. -New /etc/vim/vimrc configuration installed. - -Removing any previous installations of Pathogen... - -Installing Pathogen plugin manager for Vim.... - -If they don't exist, we will create the following directories: -/usr/share/vim/vimfiles/autoload/ /usr/share/vim/vimfiles/bundle/mkdir: created directory '/usr/share/vim/vimfiles/autoload' -mkdir: created directory '/usr/share/vim/vimfiles/bundle' - -Pathogen has been installed! Plugins plugins can now be easily installed. - -Removing plugins installed by this tool... -rm: cannot remove '/usr/share/vim/vimfiles/bundle/*': No such file or directory -/usr/share/vim/vimfiles/bundle ~ - -Installing updated plugins... -Cloning into 'supertab'... -remote: Enumerating objects: 687, done. -remote: Total 687 (delta 0), reused 0 (delta 0), pack-reused 687 -Receiving objects: 100% (687/687), 186.15 KiB | 20.68 MiB/s, done. -Resolving deltas: 100% (267/267), done. - -Supertab plugin has been installed - -Cloning into 'clang_complete'... -remote: Enumerating objects: 2720, done. -remote: Total 2720 (delta 0), reused 0 (delta 0), pack-reused 2720 -Receiving objects: 100% (2720/2720), 725.96 KiB | 25.03 MiB/s, done. -Resolving deltas: 100% (1132/1132), done. - -Clang Completion plugin has been installed - - -Vim has been configured with the Klips repository. - -Configuration Changes: -~ -Packages Installed / Updated: -- vim, git, clang - -Vimrc Settings: -- tabwidth is 2, and set to insert SPACE characters instead of TAB symbols with expandtab -- shiftwidth is 2 so we can compensate for the conflict with default tab settings -- autoindent is on, when moving to a newline vim will indent to the current depth -- syntax highlighting is on -- mouse interaction is enabled when supported by connecting systems --- https://github.com/shaunrd0/klips/tree/master/configs - -Plugin Settings: -- Pathogen vim plugin manager has been installed and .vimrc configured for its use. --- Install new vim plugins by cloning their repositories into ~/.vim/bundle/ --- https://github.com/tpope/vim-pathogen - -- Clang_complete vim plugin has been installed and .vimrc configured for its use. -- Code-completion is enabled with default clang_complete settings --- https://github.com/xavierd/clang_complete ---If you have issues with Clang_complete library linking / loading, check the directory / commands below - -cd /usr/lib/x86_64-unknown-linux -ln -s libclang.so.1 libclang.so - -- Supertab vim plugin has been installed and .vimrc configured for its use. -- Allows the use of TAB to enable code-completion context menu --- https://github.com/ervandew/supertab - -- Enable nocp --- Ensures vim is not set to be compatible with older versions of vi --- Removing this could diable enhancements on some systems --- :help 'compatible' within vim for more information - -- Define backspace scope --- Ensures that backspace has the permissions to remove all character types - -- Custom Keybindings -- The keybind (Ctrl-e ) allows switching between split vim windows --- Ctrl-w is the default setting, which closes tabbed shells on Chrome OS - -- Backups previous vimrc configurations --- If they were present, previous vim files are stored in /etc/config-vim/backups/ -cloud_user@shaunrd03c:~$ -``` - -Now just open a file in vim to test things out - diff --git a/scripts/cmake-build.sh b/scripts/cmake-build.sh deleted file mode 100755 index 97563a9..0000000 --- a/scripts/cmake-build.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ## -## A custom bash script for building cmake projects. ## -## Intended to be ran in root directory of the project alongside CMakeLists ## -############################################################################### - -# Infinite while loop - break on conditions -while true -do - - printf "\nEnter 1 to build, 2 to cleanup previous build, 0 to exit.\n" - read bChoice - - if [ $bChoice -eq 1 ] # Build project - then - mkdir build - (cd build && cmake .. && cmake --build .) - elif [ $bChoice -eq 2 ] ; then # Cleanup build - rm -Rv build/ - elif [ $bChoice -eq 0 ] ; then # Exit script - break - else - continue - fi - -done - diff --git a/scripts/setup-vim.sh b/scripts/setup-vim.sh deleted file mode 100755 index 623392f..0000000 --- a/scripts/setup-vim.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash -## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ## -## A custom bash script to configure vim with my preferred settings ## -## Run as user with sudo within directory to store / stash .vimrc configs ## -############################################################################### - -# For easy colorization of printf -GREEN=$(tput setaf 2) -RED=$(tput setaf 1) -UNDERLINE=$(tput smul) -NORMAL=$(tput sgr0) - -if [ "$(whoami)" != "root" ]; then - echo "This script must be ran with sudo..." - echo "sudo ./setup-vim.sh" - exit 1 -fi - -welcome=( "\nEnter 1 to configure vim with the Klips repository, any other value to exit." \ - "The up-to-date .vimrc config can be found here: https://github.com/shaunrd0/klips/tree/master/configs" \ - "${RED}Configuring Vim with this tool will update / upgrade your packages${NORMAL}\n\n") - -printf '%b\n' "${welcome[@]}" -read cChoice - -if [ $cChoice -eq 1 ] ; then - - printf "\nUpdating, upgrading required packages...\n" - sudo apt -y update && sudo apt -y upgrade - sudo apt install vim git - - printf "\nGathering resources from Klips repository..\n" - # Clone klips repository in a temp directory - git clone https://github.com/shaunrd0/klips temp/ - # Relocate the files we need and remove the temp directory - sudo mkdir -pv /etc/config-vim - sudo cp -fruv temp/README.md /etc/config-vim/ - sudo cp -fruv temp/configs/ /etc/config-vim/ - rm -Rf temp/ - printf "\n${GREEN}Klips configs gathered" - printf "\nSee /etc/config-vim/README.md for more information.${NORMAL}\n\n" - - # Create backup dir for .vimrc files - sudo mkdir -pv /etc/config-vim/backup/ - printf "\n${GREEN}Backup directory created - /etc/config-vim/backup/${NORMAL}\n" - - # Stash current .vimrc configs to protect loss of information - sudo mkdir /etc/config-vim/backup/home/ && sudo mv -bv ~/.vimrc /etc/config-vim/backup/home/ - sudo mkdir /etc/config-vim/backup/skel/ && sudo mv -bv /etc/skel/.vimrc /etc/config-vim/backup/skel/.vimrc - sudo mkdir /etc/config-vim/backup/share/ && sudo mv -bv /usr/share/vim/vimrc /etc/config-vim/backup/share/vimrc - sudo mkdir /etc/config-vim/backup/etc/ && sudo mv -bv /etc/vim/vimrc /etc/config-vim/backup/etc/vimrc - printf "${RED}Your local .vimrc configurations have been stashed in /etc/config-vim/backup/${NORMAL}\n\n" - - # Copy our cloned config into the active user home directory - sudo cp /etc/config-vim/configs/.vimrc ~/ - printf "${GREEN}New ~/.vimrc configuration installed.${NORMAL}\n" - # Copy our cloned config into the global user directories - sudo cp /etc/config-vim/configs/.vimrc /etc/skel/.vimrc - printf "${GREEN}New /etc/skel/.vimrc configuration installed.${NORMAL}\n" - sudo cp /etc/config-vim/configs/.vimrc /etc/vim/vimrc - printf "${GREEN}New /etc/vim/vimrc configuration installed.${NORMAL}\n" - - - # Reinstall Pathogen plugin manager for vim - # https://github.com/tpope/vim-pathogen - printf "\n${RED}Removing any previous installations of Pathogen...${NORMAL}\n" - sudo rm -f /usr/share/vim/vimfiles/autoload/pathogen.vim - - # Install Pathogen - printf "\n${GREEN}Installing Pathogen plugin manager for Vim....\n" - printf "\nIf they don't exist, we will create the following directories:\n" - printf "/usr/share/vim/vimfiles/autoload/ /usr/share/vim/vimfiles/bundle/${NORMAL}" - mkdir -pv /usr/share/vim/vimfiles/autoload /usr/share/vim/vimfiles/bundle && \ - sudo curl -LSso /usr/share/vim/vimfiles/autoload/pathogen.vim https://tpo.pe/pathogen.vim - printf "\n${GREEN}Pathogen has been installed! Plugins plugins can now be easily installed.\n"\ - "Clone any plugin repositories into /usr/share/vim/vimfiles/bundles${NORMAL}\n" - - # Remove any plugins managed by this config tool (Klips) - printf "\n${RED}Removing plugins installed by this tool...${NORMAL}\n" - sudo rm -R /usr/share/vim/vimfiles/bundle/* - - # Clone plugin repos into pathogen plugin directory - pushd /usr/share/vim/vimfiles/bundle/ - printf "\n${GREEN}Installing updated plugins...${NORMAL}\n" - git clone https://github.com/ervandew/supertab && \ - printf "\n${GREEN}Supertab plugin has been installed${NORMAL}\n\n" && \ - git clone https://github.com/xavierd/clang_complete && \ - printf "\n${GREEN}Clang Completion plugin has been installed${NORMAL}\n\n" - vimConf=( "\n${UNDERLINE}Vim has been configured with the Klips repository.${NORMAL}" \ - "\nConfiguration Changes: " ) - printf '%b\n' "${vimConf[@]}" - popd -else -printf "\nExiting..\n" -fi - -sudo cat /etc/config-vim/configs/.vimrc-README -