Compare commits

..

1 Commits

Author SHA1 Message Date
1bbf277010
Replace openntpd with chronyd for reliability 2022-01-18 10:52:00 -06:00
137 changed files with 4340 additions and 697 deletions

4
.gitignore vendored
View File

@ -1,7 +1,3 @@
src/
pkg/
__pycache__
*.pyc
*.tar.xz
*.tar.zst
wiki/**

View File

@ -1,4 +1,4 @@
list=close-guest fix-sound log-guest open-guest restart-service silent-guardian revproxy simple-web
list=arch-update close-guest fix-sound log-guest netcli open-guest restart-service silent-guardian revproxy simple-web shadowarch-sync
location=${pkgdir}/usr/local/sbin
perms=0700

103
AdminScripts/arch-update Executable file
View File

@ -0,0 +1,103 @@
#!/bin/bash
set -x
export logfile="/var/log/sysupdate.log"
export tmpfile=/tmp/shadowarch-cowerfile
unset apply
while getopts "al:h" OPTION
do
case $OPTION in
a) export apply="true"; ;;
c) export logfile=${OPTARG}; ;;
*) printf "ShadowArch Update Checker\n-a Apply changes\n-l Logfile\n-h Show this helptext\n"; exit 1;;
esac;
done
date > $logfile
# Update
echo == Updating Arch Packages == | tee -a $logfile
if [ ! -z "$apply" ]; then
pacman -Syu --force 2>&1 | tee -a $logfile # I've been having troubles with this causing crashes while online.
# Hook for MediaWiki
if [ `grep $(date +$F) /var/log/pacman.log | grep -c mediawiki` -eq 1 ] && [ -d /usr/share/webapps/mediawiki ]; then
php /usr/share/webapps/mediawiki/maintenance/update.php | tee -a $logfile
for i in `find /usr/share/webapps/ -maxdepth 1 -type d | grep mediawiki\-`; do
rsync -avz --exclude images --exclude Images --exclude LocalSettings.php /usr/share/webapps/mediawiki/ "$i"
php "$i"/maintenance/update.php
done
fi
# Hook for TT-RSS
if [ `grep $(date +$F) /var/log/pacman.log | grep -c tt-rss` -eq 1 ] && [ -d /usr/share/webapps/tt-rss ]; hten
/usr/bin/runuser -u http -- /usr/bin/php /usr/share/webapps/tt-rss/update.php --update-schema
fi
# Hook for Grimoire
if [ `grep $(date +$F) /var/log/pacman.log | grep -c 'upgraded postgresql '` -eq 1 ]; then
echo "Updating PostGreSQL databases" | tee -a $logfile
#Clear old backups.
rm -Rf /var/lib/postgres/olddata
#Stop the service and save old database version.
if [ -f /usr/lib/systemd/system/grimoire.service ]; then systemctl stop grimoire; else systemctl stop postgresql.service; fi
su -l postgres -c 'mv /var/lib/postgres/data /var/lib/postgres/olddata'
# Init new database and upgrade.
su -l postgres -c 'initdb --locale en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data' | tee -a $logfile
upstr=`grep "$(date +%F)" /var/log/pacman.log | grep 'upgraded postgresql '`
oldver=`echo $upstr | rev | cut -f 2 -d '>' | cut -f 1 -d '(' | rev | sed s/\ -//`
newver=`echo $upstr | rev | cut -f 1 -d '>' | cut -f 2 -d ')' | rev`
# Upgrade the database.
su -l postgres -c "pg_upgrade -d /var/lib/postgres/olddata/ -D /var/lib/postgres/data/ -b /opt/pgsql-$oldver/bin/ -B /usr/bin/" | tee -a $logfile
# Create dump file for restores.
/opt/pgsql-$oldver/bin/pg_ctl -D /var/lib/postgres/olddata/ start
/opt/pgsql-$oldver/bin/pg_dumpall >> /var/lib/postgres/olddata/dump.psql
/opt/pgsql-$oldver/bin/pg_ctl -D /var/lib/postgres/olddata/ stop
# Restart the service.
if [ -f /usr/lib/systemd/system/grimoire.service ]; then systemctl start grimoire; else systemctl start postgresql.service; fi
echo "Updated PostGreSQL databases" | tee -a $logfile
fi
else
checkupdates | tee -a $logfile
fi
echo | tee -a $logfile
# Get AUR list of update candidates
echo == AUR Candidate List == | tee -a $logfile
if [ ! -z "$apply" ]; then
cower -u | cut -f 2 -d ' ' &> $tmpfile
echo Edit the package list.
read
${EDITOR} ${tmpfile}
chmod 0755 $tmpfile;
printf "What deprivileged user do you want to use? "
read deprivuser;
sudo -u "$deprivuser" /bin/bash -c "for i in `cat $tmpfile`; do cd /usr/local/src/"$i"; git pull; makepkg -sri; done"
(echo Updated the following AUR packages:; cat $tmpfile) | tee -a $logfile
rm $tmpfile;
else
cower -u | tee -a $logfile
fi
echo | tee -a $logfile
# Update AniNIX packages
echo == Updating AniNIX Packages == | tee -a $logfile
if [ ! -z "$apply" ]; then
for i in ; do #`find /usr/local/src/ -maxdepth 6 -type f -name config -exec egrep -l aninix\|foundation {} \; | sed 's#.git/config$##'`; do
cd "$i"
git pull
make
make install
done
fi
# Generate list of installed packages
echo == Generated installed-packages list == | tee -a $logfile
pacman -Qqe | egrep '^[a-z]' | sed 's#local/##' > /var/log/installed-packages.txt
# Generate list of orphaned packages
echo == Generated orphaned-packages list == | tee -a $logfile
pacman -Qdtq > /var/log/orphaned-packages.txt
echo | tee -a $logfile
date | tee -a $logfile
printf '\n\n' | tee -a $logfile

111
AdminScripts/netcli Executable file
View File

@ -0,0 +1,111 @@
#!/bin/bash
# Global variables
unset conf
unset network
unset type
interface="wlp4s0"
# Print helptext
function usage() {
echo Usage: $0 '[-i interface] -f conf_name'
echo " $0 -a # Connect to any known secured network"
echo " $0 -l # List networks and arp"
echo " $0 -o SSID # Connect to open network "
echo " $0 -u # Bring up interface"
echo " $0 -d # Stop the interface"
echo " $0 -I # Info "
echo " $0 -h # Usage"
echo
echo Add -v to increase verbosity.
echo "Add -t TYPE to override type guessing, where type is eth or wifi"
echo Default interface is "${interface}"
}
# Try to guess if we're ether or wifi
function guessType() {
if [ "$(echo "${interface}" | egrep -c '^enp|^eth|^eno')" -ne 1 ]; then
echo "wifi"
else
echo "ether"
fi
}
# Clean up running processes
function cleanUp() {
killall wpa_supplicant dhcpcd 2>&1
ip link set "$interface" down
}
# Connect to a given open network
# param network: an open ESSID
function connectOpen() {
network="$1"
cleanUp
ip link set "$interface" up
if [ "$type" == "wifi" ]; then
iw dev "$interface" connect "$network"
fi
}
# Connect to any known secured access point
function connectAny() {
cleanUp
ip link set "$interface" up
if [ "$type" == "wifi" ]; then
for i in `iwlist "$interface" scanning | grep ESSID | cut -f 2 -d \" | tr '[:upper:]' '[:lower:]'`; do
if [ -f /etc/wpa_supplicant/"$i".conf ]; then
/root/bin/wifi "$i" "$interface"
if [ $? -eq 0 ]; then
exit 0;
fi
fi
done
fi
}
# Connect using the WPA Conf file saved
# param conf: the conf file
function connect() {
conf="$1"
cleanUp
ip link set "${interface}" up
if [ "$type" == wifi ]; then
wpa_supplicant -i "$interface" -c "$conf" -B
fi
}
# Get the information on current interfaces
function netInfo() {
ip addr list
ip route list
iwlist scanning
}
### MAIN FUNCTION ###
if [ `echo "$0" | egrep -c '(^|/)netcli$'` -eq 1 ]; then
type=`guessType`
while getopts 'adf:hIi:lo:t:uv' OPTION 2>/dev/null; do
case "${OPTION}" in
a) connectAny ;;
f) connect "/etc/wpa_supplicant/${OPTARG}.conf" ;;
d) cleanUp; exit 0 ;;
h) usage; exit 0 ;;
i) interface="${OPTARG}"; type=`guessType` ;;
I) netInfo; exit 0; ;;
l) if [ "$type" == "wifi" ]; then echo SSID Broadcasts:; iwlist "${interface}" scanning | egrep Encryption\|ESSID | sed 's/ *//' | sed 's/ESSID://' ; fi; echo; echo ARP list:; arp -a; exit $? ;;
o) connectOpen "${OPTARG}" ;;
t) if [ "$OPTARG" != "wifi" ] && [ "$OPTARG" != "eth" ]; then usage; exit 1; fi; type="${OPTARG}" ;;
u) if ! [ "$(ip link list "${interface}" | grep -m 1 -c \ UP\ )" -ne 1 ]; then ip link set "${interface}" up; fi ;;
v) set -x ;;
*) usage; exit 1 ;;
esac
done
# Attempt DHCP Lease -- if this fails, static routing will need to be added TODO
sleep 3
dhcpcd "$interface"
exit $?
fi

View File

@ -0,0 +1,25 @@
#!/bin/bash
# File: shadowarch-sync
#
# Description: This file syncs the ShadowArch customization files over the ones created by other packages, like filesystem and pacman
#
# Package: AniNIX::Foundation/ShadowArch
# Copyright: WTFPL
#
# Author: DarkFeather <darkfeather@aninix.net>
seconds=10
echo "Syncing in $seconds seconds. Press Ctrl+C to cancel."
sleep $seconds
# AniNIX GPG Package Signing
keyid=1CC1E3F4ED06F296
if ! gpg --homedir /etc/pacman.d/gnupg --list-key "${keyid}"; then
pacman-key --recv-key "${keyid}"
pacman-key --finger "${keyid}"
pacman-key --lsign-key "${keyid}"
fi
# Sync configuration
rsync -avz /opt/aninix/ShadowArch/etc/ /etc/

View File

@ -1,39 +1,52 @@
syncList = profile.d tmux.conf
userServiceList =
httpRoot = ${pkgdir}/srv/http/aninix.net
httpUser = http
syncList = vimrc bashrc tmux.conf profile pacman.conf
serviceList = tmux@.service ssh-agent@.service
pacmanHooks = mediawiki.hook tt-rss.hook shadowarch.hook
compile: ./shadowarch ${syncList} ${userServiceList} ./shadowarch.vim ./skel
compile: ./shadowarch
@echo Nothing to compile
install: compile
mkdir -p ${pkgdir}/etc/
cp -pr ./skel ${pkgdir}/etc
mkdir -p ${pkgdir}/usr/lib/systemd/user
for i in ${userServiceList}; do cp "$$i" ${pkgdir}/usr/lib/systemd/user/"$$i"; done
mkdir -p ${pkgdir}/opt/aninix/ShadowArch/etc/
mkdir -p ${pkgdir}/usr/lib/systemd/system
mkdir -p ${pkgdir}/etc/pacman.d/hooks
mkdir -p ${pkgdir}/usr/share/vim/vimfiles/plugin/
for i in ${syncList}; do cp "$$i" ${pkgdir}/opt/aninix/ShadowArch/etc/; done
for i in ${serviceList}; do cp "$$i" ${pkgdir}/usr/lib/systemd/system/"$$i"; done
for i in ${pacmanHooks}; do cp "$$i" ${pkgdir}/etc/pacman.d/hooks/"$$i"; done
cp ./shadowarch.vim ${pkgdir}/usr/share/vim/vimfiles/plugin/shadowarch.vim
for i in ${syncList}; do cp -r "$$i" ${pkgdir}/etc/; chmod -R a+r "${pkgdir}/etc/$$i"; done
if [ `uname -r | grep -c arch` -eq 1 ]; then mkdir -p ${pkgdir}/usr/share/pacman/keyrings; cp aninix.gpg ${pkgdir}/usr/share/pacman/keyrings; fi
cp -pr ./skel ${pkgdir}/opt/aninix/ShadowArch/etc
repository: shadowarch ${httpRoot}
cp ./shadowarch ${httpRoot}
checkperm: ${syncList}
printf "What is your deprivileged user? "; read user; chown -R ${user}:${user} .
if [ -f ${httpRoot}/shadowarch ]; then chmod 0755 ${httpRoot}/shadowarch; chown ${httpUser} ${httpRoot}/shadowarch; fi
chown -R root:root ${syncList}
for i in ${syncList}; do if [ -f "${i}" ]; then chmod 0644 "${i}"; elif [ -d "${i}" ]; then chmod 0755 "${i}"; fi; done
test:
test:
bash -n shadowarch
bash ./shadowarch -h
bash ./shadowarch -h
echo Success.
reverse: ${syncList}
reverse: ${httpRoot}/shadowarch ${syncList}
cat ${httpRoot}/shadowarch > ./shadowarch
for i in ${syncList}; do rsync -avz ${syncList} .; done
for i in ${userServiceList}; do rsync -avz /usr/lib/systemd/user/${userServiceList} .; done
rsync --delete-before -avz ${pkgdir}/etc/skel ./skel
for i in ${serviceList}; do rsync -avz ${serviceList} .; done
for i in ${pacmanHooks}; do rsync -avz ${pacmanHooks} .; done
rsync --delete-before -avz ${pkgdir}/opt/aninix/ShadowArch/etc/skel ./skel
clean:
git clean -fdX
@echo Nothing to do.
diff: ${syncList}
if [ -f ${httpRoot}/shadowarch ]; then diff ./shadowarch ${httpRoot}/shadowarch; echo; fi
for i in ${syncList}; do diff -rc "$$i" ./`echo $$i | rev | cut -f 1 -d '/' | rev`; echo; done
diff -rc ${pkgdir}/etc/skel ./skel; printf ""
diff -rc ${pkgdir}/opt/aninix/ShadowArch/etc/skel ./skel; printf ""
find-missing-hooks-in-src:
@for i in `wget -q -O - https://aninix.net/foundation/ | grep toplevel-repo | cut -f 4 -d \'`; do if [ -z $$i ]; then continue; fi; for file in `find ../.. -type f -name Makefile | grep $$i`; do if [ -z "$$file" ]; then echo NO MAKEFILE FOR $$i; elif [ `grep -c -i 'hook for systemd' $$file` -eq 0 ]; then echo HOOK MISSING IN: $$file; else echo HOOK FOUND IN: $$file; fi; done; done
@for i in `wget -q -O - https://aninix.net/foundation/ | grep toplevel-repo | cut -f 4 -d \'`; do if [ -z $$i ]; then continue; fi; for file in `find ../.. -type f -name Makefile | grep $$i`; do if [ -z "$$file" ]; then echo NO MAKEFILE FOR $$i; elif [ `grep -c useradd $$file` -eq 0 ]; then echo DEPRIV MISSING IN: $$file; else echo DEPRIV FOUND IN: $$file; fi; done; done

View File

@ -1,16 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEXODEBRYJKwYBBAHaRw8BAQdAfb/AxMT/BxuZ3YxVZvzGeHamqApB4Cm7mrol
N/KdMxa0MERhcmtGZWF0aGVyIDxpcmNzOi8vYW5pbml4Lm5ldDo2Njk3L0RhcmtG
ZWF0aGVyPoiQBBMWCAA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAFiEEkE3m
J1V5y1idhXIMHMHj9O0G8pYFAl4NpXUACgkQHMHj9O0G8pZGsgEAu29Fj+vDSnUF
jsDwTgSAZRSiEMIzO0hSTOL//uwaSgQA/iESpuKyfUUoteJhSvwI6PTt0D23F4AR
vXWh0f5LqTgLiJAEExYIADgWIQSQTeYnVXnLWJ2FcgwcweP07QbylgUCXg2A8QIb
AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAcweP07QbylvaeAQDvnhvFK3Qt
BNLGwwV2w85SCm2ITFK6l4ClmO/EcreNzAEAlNHSEquQRaFwKQD7IUbj1dPllOPY
RUsFyqZetReWlAG4OARc4MQFEgorBgEEAZdVAQUBAQdA/TfytUcx/gmKbkMLF1hd
49FZIyoq2MKMrjFEHWI/KykDAQgHiHgEGBYIACACGwwWIQSQTeYnVXnLWJ2Fcgwc
weP07QbylgUCXg2ltwAKCRAcweP07Qbylo3PAP0W5BOTL8YMwLbwYzNlxFpiNSCn
GHXfxI5/3QRB8Q5kCgD+Og0Y0Nve58yZj+DkqFCpI0TJReKj+bavK7TJ9ElL8wo=
=VnrT
-----END PGP PUBLIC KEY BLOCK-----

117
EtcFiles/bashrc Normal file
View File

@ -0,0 +1,117 @@
#
# /etc/bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
### Prompt ###
organization="$(echo $HOSTNAME | rev | cut -f 2 -d '.' | rev)"
PS1='\[\033[00;31m\][ \[\033[01;32m\]\u\[\033[00;31m\]@\H:${SHELL} {\[\033[m\]$? \[\033[00;36m\]\D{%F-%R} \[\033[00;35m\]\w\[\033[00;31m\]\[\033[00;31m\]\[\033[00;33m\]$(git_prompt_var)\[\033[00;31m\]} ]\n|\[\033[m\]> '
PS2='> '
PS3='> '
PS4='+ '
case ${TERM} in
screen|xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND='echo -en "\033]0;'${organization^^}'/'${HOSTNAME%%.*}'\a"'
;;
esac
# Terminal settings
export TERM=xterm-256color
alias weechat="TERM=screen weechat"
# Disable bracketed paste mode
printf "\e[?2004l"
### MOTD ###
[ -f /etc/bash.motd ] && cat /etc/bash.motd
### AniNIX Customizations ###
alias get-commands='for i in $( echo $PATH | sed "s/:/\n/g"); do ls $i; done | sort | less'
alias whoison='who | grep -v tmux'
function vncdesktop() {
set -x
if [ -z "$@" ]; then
vncserver :2 -rfbport 5901
else
vncserver $@
fi
export DISPLAY=`vncserver -list | tail -n 1 | awk '{print $1; }' `
sleep 3
xfce4-session
vncserver -kill "$DISPLAY"
set +x
}
alias vi=vim
alias view="vim -R"
alias top="top -o %CPU"
alias make-entrypoints="egrep '^[a-zA-Z0-9\-]*:' Makefile"
if [ -x `which torsocks 2>/dev/null` ] && [ `systemctl status tor 2>/dev/null| grep -c running` -eq 1 ]; then
alias tor-lynx="torsocks lynx https://check.torproject.org/";
fi
IFS="
"
### GIT ###
source /usr/share/git/completion/git-prompt.sh
function git_prompt_var() {
### If $PWD is a Git repo, add URL and branch to PS1
url=`git config remote.origin.url 2>/dev/null`
if [ -n "$url" ]; then
branch=`__git_ps1 '%s'`
url=`basename "$url"`
echo " $url($branch)"
fi
}
### SSH ###
# Tell shell about ssh-agent -- enable with 'systemctl enable ssh-agent@$USER.service'
export SSH_AGENT_PID="$(pgrep -fu "$USER" ssh-agent)"
if [ -n "$SSH_AGENT_PID" ]; then
export SSH_AUTH_SOCK="$(ls -ld /tmp/ssh-*/agent.* | grep -m 1 "$USER" | awk '{ print $9; }')"
echo ssh-agent PID is $SSH_AGENT_PID
fi
if [ -n "$SSH_AUTH_SOCK" ] && [ `ssh-add -L | grep -c no\ identities` -eq 1 ]; then
ssh-add
ssh-add -L
fi
### GPG ###
export GPG_TTY=$(tty)
### Ansible ###
export ANSIBLE_VAULT_PASSWORD_FILE=$HOME/password-store/${organization}.vault.password
export ANSIBLE_VAULT_FILE=$HOME/password-store/${organization}.vault
# ### User-directory .gitbare Support (Git) ###
# if [ -d ~/.git ]; then
# cd
# printf "~/.git: "
# if [ $SHLVL -eq 1 ] && [ -z "$TMUX" ]; then
# git pull
# else
# git rev-parse --short HEAD
# fi
# git status
# fi
#
# Set up screen/tmux safety nest by default for remote sessions
if [ -n "$SSH_CLIENT" ]; then
# Prefer tmux
if [ -x "$(which tmux 2>/dev/null)" ] && [ -z "$TMUX" ]; then
if [ `tmux list-sessions | grep created | wc -l` -eq 0 ]; then
exec tmux
elif [ `tmux list-sessions | grep created | wc -l` -eq 1 ] && [ `tmux list-sessions | grep attached | wc -l` -eq 0 ]; then
exec tmux a -d -t `tmux list-sessions | grep created | cut -f 1 -d ':'`
else
tmux list-sessions
fi
alias tat="exec tmux a -d -t"
fi;
### XFCE4 ###
elif [ `who -m | egrep "^$(whoami)" | awk '{ print $2; }' | egrep -c "^tty"` -eq 1 ] && [ -x /usr/sbin/startxfce4 ] && [ `pgrep -ac xinit` -eq 0 ] && [ `whoami` != 'root' ]; then
exec startxfce4
fi

10
EtcFiles/mediawiki.hook Normal file
View File

@ -0,0 +1,10 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = mediawiki
[Action]
Description = Updating MediaWiki Install
When = PostTransaction
Exec = /usr/bin/runuser -u http -- /usr/bin/php /usr/share/webapps/mediawiki/maintenance/update.php

59
EtcFiles/profile Normal file
View File

@ -0,0 +1,59 @@
# /etc/profile
#Set our umask
umask 022
# Append "$1" to $PATH when not already in.
# This function API is accessible to scripts in /etc/profile.d
append_path () {
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="${PATH:+$PATH:}$1"
esac
}
# Append our default paths
append_path '/usr/local/sbin'
append_path '/usr/local/bin'
append_path '/usr/sbin'
append_path '/usr/bin'
append_path '/sbin'
append_path '/bin'
append_path '~/bin'
# Force PATH to be environment
export PATH
# Set IFS to be newline delimited
IFS="
"
export IFS
# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
for profile in /etc/profile.d/*.sh; do
test -r "$profile" && . "$profile"
done
unset profile
fi
# Unload our profile API functions
unset -f append_path
# Source global bash config, when interactive but not posix or sh mode
if test "$BASH" &&\
test "$PS1" &&\
test -z "$POSIXLY_CORRECT" &&\
test "${0#-}" != sh &&\
test -r /etc/bashrc
then
. /etc/bashrc
fi
# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP
# Man is much better than us at figuring this out
unset MANPATH

View File

@ -1,28 +0,0 @@
### AniNIX Customizations ###
alias get-commands='for i in $( echo $PATH | sed "s/:/\n/g"); do ls $i; done | sort | less'
alias whoison='who | grep -v tmux'
function vncdesktop() {
set -x
if [ -z "$@" ]; then
vncserver :2 -rfbport 5901
else
vncserver $@
fi
export DISPLAY=`vncserver -list | tail -n 1 | awk '{print $1; }' `
sleep 3
xfce4-session
vncserver -kill "$DISPLAY"
set +x
}
alias vi=vim
alias view="vim -R"
alias top="top -o %CPU"
alias make-entrypoints="grep -E '^[a-zA-Z0-9\-]*:' Makefile"
alias rdns="dig +short -x "
alias dns="dig +short "
export WEECHAT_HOME=$HOME/.weechat
if [ -x `which torsocks 2>/dev/null` ] && [ `systemctl status tor 2>/dev/null| grep -c running` -eq 1 ]; then
alias tor-lynx="torsocks lynx https://check.torproject.org/";
fi
IFS="
"

View File

@ -1,7 +0,0 @@
### Ansible ###
source /etc/profile.d/shadowarch-shell-environment.sh
export ANSIBLE_VAULT_PASSWORD_FILE=$HOME/password-store/${organization}.vault.password
export ANSIBLE_VAULT_FILE=$HOME/password-store/${organization}.vault
alias ansible="/usr/bin/ansible -e @${ANSIBLE_VAULT_FILE}"
alias ansible-playbook="/usr/bin/ansible-playbook -e @${ANSIBLE_VAULT_FILE}"
alias vault="/usr/bin/ansible-vault edit ${ANSIBLE_VAULT_FILE}"

View File

@ -1,10 +0,0 @@
### GPG ###
export GPG_TTY=$(tty)
# GPG Key Agent
# Credit: https://wiki.archlinux.org/index.php/GnuPG
if [ `pgrep -afc -u $USER gpg-agent` -lt 1 ] && [ -x `which gpg-agent` ]; then
gpg-agent --daemon 2>&1 | grep -v another
fi

View File

@ -1,17 +0,0 @@
#!/bin/bash
if [ -f "${HOME}/password-store/ldap.password" ]; then
searchopts="-y ${HOME}/password-store/ldap.password"
else
searchopts="-W"
fi
if [ "$USER" == 'root' ]; then
alias ldapsearch="/usr/bin/ldapsearch -x -b 'dc=aninix,dc=net'"
else
alias ldapsearch="/usr/bin/ldapsearch -H 'ldap://127.0.0.1/' ${searchopts} -D 'uid=$USER,ou=People,dc=aninix,dc=net' -b dc=aninix,dc=net -s sub"
alias ldapwhoami="/usr/bin/ldapwhoami -H 'ldap://127.0.0.1/' ${searchopts} -D 'uid=$USER,ou=People,dc=aninix,dc=net'"
fi
alias ldapmodify="/usr/bin/ldapmodify -H 'ldap://127.0.0.1/' -W -D 'cn=root,dc=aninix,dc=net'"
alias ldappasswd="/usr/bin/ldappasswd -H 'ldap://127.0.0.1/' -W -D 'cn=root,dc=aninix,dc=net'"
alias ldapadd="/usr/bin/ldapadd -H 'ldap://127.0.0.1/' -W -D 'cn=root,dc=aninix,dc=net'"

View File

@ -1,2 +0,0 @@
### MOTD ###
[ -f /etc/bash.motd ] && cat /etc/bash.motd

View File

@ -1,18 +0,0 @@
# Set up screen/tmux safety nest by default for remote sessions
if [ -n "$SSH_CLIENT" ]; then
# Prefer tmux
if [ -x "$(which tmux 2>/dev/null)" ] && [ -z "$TMUX" ]; then
if [ `tmux list-sessions | grep created | wc -l` -eq 0 ]; then
exec tmux
elif [ `tmux list-sessions | grep created | wc -l` -eq 1 ] && [ `tmux list-sessions | grep attached | wc -l` -eq 0 ]; then
exec tmux a -d -t `tmux list-sessions | grep created | cut -f 1 -d ':'`
else
tmux list-sessions
fi
alias tat="exec tmux a -d -t"
fi;
### XFCE4 ###
elif [ `who -m | grep -E "^$(whoami)" | awk '{ print $2; }' | grep -E -c "^tty"` -eq 1 ] && [ -x /usr/sbin/startxfce4 ] && [ `pgrep -ac xinit` -eq 0 ] && [ `whoami` != 'root' ]; then
exec startxfce4
fi

View File

@ -1,21 +0,0 @@
### Prompt ###
organization="$(echo $HOSTNAME | rev | cut -f 2 -d '.' | rev)"
PS1='\[\033[00;31m\][ \[\033[01;32m\]\u\[\033[00;31m\]@\H:${SHELL} {\[\033[m\]$? \[\033[00;36m\]\D{%F-%R} \[\033[00;35m\]\w\[\033[00;31m\]\[\033[00;31m\]\[\033[00;33m\]$(git_prompt_var)\[\033[00;31m\]} ]\n|\[\033[m\]> '
PS2='> '
PS3='> '
PS4='+ '
case ${TERM} in
screen|xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND='echo -en "\033]0;'${organization^^}'/'${HOSTNAME%%.*}'\a"'
;;
esac
# Terminal settings
export TERM=xterm-256color
alias weechat="TERM=screen weechat"
# Disable bracketed paste mode
printf "\e[?2004l"
# systemctl --user
export XDG_RUNTIME_DIR=/run/user/$UID

View File

@ -1,45 +0,0 @@
### SSH ###
# Tell shell about ssh-agent -- enable with 'systemctl --user enable --now ssh-agent.service'
if [ `ps -u "$USER" | grep -c ssh-agent` -eq 0 ]; then
systemctl --user start ssh-agent.service
sleep 1
fi
export SSH_AGENT_PID="$(pgrep -fu "$USER" ssh-agent)"
if [ -n "$SSH_AGENT_PID" ]; then
export SSH_AUTH_SOCK="/run/user/$EUID/ssh-agent.socket"
echo ssh-agent PID is $SSH_AGENT_PID
fi
if [ -n "$SSH_AUTH_SOCK" ] && [ `ssh-add -L | grep -c no\ identities` -eq 1 ]; then
ssh-add
ssh-add -L
fi
# Tmux help
function tssh () {
tmux new-window -n "$1" "/bin/bash -ilc 'ssh $1'"
}
### GIT ###
source /usr/share/git/completion/git-prompt.sh
function git_prompt_var() {
### If $PWD is a Git repo, add URL and branch to PS1
url=`git config remote.origin.url 2>/dev/null`
if [ -n "$url" ]; then
branch=`__git_ps1 '%s'`
url=`basename "$url"`
echo " $url($branch)"
fi
}
### User-directory .gitbare Support (Git) ###
if [ -d ~/.git ]; then
cd
printf "~/.git: "
if [ $SHLVL -eq 1 ] && [ -z "$TMUX" ]; then
git pull
else
git rev-parse --short HEAD
fi
git status
fi

View File

@ -1,9 +0,0 @@
# Three start conditions:
# * Interactive shell
# * Weechat is installed
# * User doesn't have a running weechat process
# * User isn't root
# * User is in the weechat group
if [[ $- == *i* ]] && [ -f `which weechat` ] && [ `ps -u $USER | grep -c weechat` -eq 0 ] && [ $USER != 'root' ] && [[ "$(id)" =~ weechat ]]; then
weechat;
fi

View File

@ -2,115 +2,156 @@
function header () {
tput setaf 1
tput bold
echo $@
tput bold echo $@
tput sgr0
return
}
function help() {
cat <<EOM
Usage: ${0} [OPTIONS]
-A -- Audio optimizations from the Arch Wiki
-d DISK -- Use the disk.
-D diskspacer -- the disk spacer character, usually p for nvme
-e -- Encrypt the root partition
-h -- This helptext
-l FILE -- Log to a file
-m -- Skip disk operations and assume storage is mounted on /mnt. Use this to lay out LVM RAID.
-M -- Tell pacman to use your local AniNIX/Maat caching
-P -- Power saving for laptops
-s -- Increase the boot size to be able to accept ISOs
-v -- Verbose output.
Example default build for nvme local node:
$0 -M -d /dev/nvme0n1 -D p [ -e ]
EOM
echo Usage: ${0} '[OPTIONS]'
echo '\-A -- Audio optimizations from the Arch Wiki'
echo '\-d DISK -- Use the disk.'
echo '\-e -- Encrypt the root partition'
echo '\-g -- GUI packages and setup'
echo '\-h -- This helptext'
echo '\-k -- Kali Linux-like package additions'
echo '\-l FILE -- Log to a file'
echo '\-p -- Productivity package additions'
echo '\-P -- Power saving for laptops'
echo '\-s -- Create a layout for an AniNIX/Spartacus'
echo '\-m -- Skip disk operations and assume storage is mounted on /mnt'
echo '\-v -- Verbose output.'
echo '\-z -- Try to add all the packages on AniNIX/Core'
exit 1;
}
# Partition controls
efipart=2;
bootpart=3;
rootpart=4;
partpoint=1;
partedcmd='mklabel gpt\nmkpart primary ext2 0 1MiB\nset 1 bios_grub on\n';
function addNextPartition() {
partsize="$1"
parttype="$2"
partfs="$3"
nextpartpoint=$(( $partpoint + $partsize ))
partedcmd="${partedcmd}mkpart $parttype $partfs ${partpoint}MiB ${nextpartpoint}MiB"'\n'
partpoint=$nextpartpoint
}
disk="/dev/sda"
unset diskspacer
bootsize=500; # Size in MB for /boot
while getopts "Ad:D:el:pmMsv" OPTION
# TODO Add LVM as an argument
while getopts "d:egkl:pmsvz" OPTION
do
case $OPTION in
A) audio=1 ;;
d) disk=${OPTARG} ;;
D) diskspacer=${OPTARG} ;;
e) encrypt=1 ;;
g) gui=1 ;;
k) kali=1 ;;
l) exec script -e -f -c "/bin/bash $0 $(echo $@ | sed "s#-l ${OPTARG}##")" "${OPTARG}" ;;
m) nodiskbuild=1 ;;
p) productivity=1; gui=1 ;;
P) powersave=1 ;;
M) echo "Server = http://Maat.MSN0.AniNIX.net:9129/repo/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist ;;
s) bootsize=10000 ;;
m) nodiskbuild=1 ;;
s) spartacus=1 ;;
v) set -x ;;
z) kitchensink=1 ;;
*) help
esac
done
header Confirm options:
cat <<EOM
Boot size as ${bootsize}
Encryption set to: $encrypt
Disk to use: $disk \(Skip disk building? $nodiskbuild \)
EOM
read -p "Is this OK? Type YES to continue: " answer
echo Spartacus set to: $spartacus
echo Encryption set to: $encrypt
echo GUI: $gui
echo Productivity: $productivity
echo Kali tools: $kali
echo All Core packages: $kitchensink
echo Disk to use: $disk \(Skip disk building? $nodiskbuild \)
printf "Is this OK? Type YES to continue: "
read answer
if [ "$answer" != "YES" ]; then
echo User did not confirm.
exit 1;
fi
umount /mnt/boot; umount /mnt
echo >> /etc/pacman.conf <EOM
[AniNIX]
SigLevel = Optional TrustAll
Server = https://aninix.net/maat/
EOM
pacman -Syy
if [ -z "$nodiskbuild" ]; then
header Allocating space
dd if=/dev/zero of="$disk" bs=1M count=1000
parted -s "$disk" mklabel gpt
parted -s "$disk" mkpart 1 fat32 1MiB ${bootsize}MiB
parted -s "$disk" toggle 1 boot
parted -s "$disk" mkpart 2 ext4 ${bootsize}MiB 100%FREE
if [ ! -z "$spartacus" ]; then
# Insert an ExFAT data partition ahead of the rest.
export datapart=$efipart;
export efipart=$((efipart+1))
export bootpart=$((bootpart+1))
export rootpart=$(($rootpart+1))
# Break the disk up into 4ths -- 2/4 go to data, 1/4 go to boot, and 1/4 to root
export disksize=$(($(fdisk -l $disk | head -n 1 | cut -f 5 -d ' ') / 1048576)) # Return disk size in MB
if [ "$disksize" == "" ]; then echo "Can't identify disk size"; exit 1; fi
if [ "$disksize" -lt 7788 ]; then echo "This drive is too small to be a Spartacus."; exit 1; fi # Must be 8GB or more to have 2GB root.
export bootsize=$(($disksize / 4))
export datasize=$(($disksize / 2))
addNextPartition $datasize primary ext4
fi
# 550MiB for EFI with boot toggle
addNextPartition 550 primary fat32
partedcmd="${partedcmd}toggle $efipart boot"'\n'
header Making fat esp partition on "$disk""$diskspacer""1"
mkfs.fat -F32 "$disk""$diskspacer""1"
# /boot
addNextPartition $bootsize primary fat32
# / (root)
partedcmd="${partedcmd}mkpart primary ext4 ${partpoint}MiB 100%%FREE"'\nquit\n\n'
printf "$partedcmd" | parted "$disk"
if [ ! -z "$spartacus" ]; then
#create data partition
pacman -S exfat-utils --noconfirm
mkfs.exfat "$disk""$datapart"
exfatlabel "$disk""$datapart" "AS-XPLATFRM"
fi
header Making fat esp partition on "$disk""$efipart"
mkfs.fat -F32 "$disk""$efipart"
header Making boot partition on "$disk""$bootpart"
mkfs.vfat "$disk""$bootpart"
header Making root and mountpoints
header Making rootvg on "$disk""$diskspacer""2"
pvcreate "$disk""$diskspacer""2"
vgcreate rootvg "$disk""$diskspacer""2"
lvcreate -n rootlv -L5G rootvg
if [ ! -z "$encrypt" ]; then
header Making encrypted root on /dev/rootvg/rootlv
if [ ! -z "$encrypt" ]; then
header Making encrypted root on "$disk""$rootpart"
modprobe dm-crypt
modprobe serpent_generic
header Formatting root -- make sure to enter YES followed by a strong passphrase.
cryptsetup luksFormat -c serpent-xts-plain64 -h sha512 --key-size 512 /dev/rootvg/rootlv
cryptsetup luksFormat -c serpent-xts-plain64 -h sha512 --key-size 512 "$disk""$rootpart"
header Unlocking root
cryptsetup luksOpen /dev/rootvg/rootlv cryptroot
mkfs.ext4 /dev/mapper/cryptroot
#mkfs.xfs -f /dev/mapper/cryptroot
#xfs_admin -L ROOT /dev/mapper/cryptroot
cryptsetup luksOpen "$disk""$rootpart" cryptroot
mkfs.xfs -f /dev/mapper/cryptroot
xfs_admin -L ROOT /dev/mapper/cryptroot
mount /dev/mapper/cryptroot /mnt
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
else
header Making root on /dev/rootvg/rootlv
mkfs.ext4 /dev/rootvg/rootlv
#mkfs.xfs -f /dev/mapper/cryptroot
#xfs_admin -L ROOT "$disk""$diskspacer""2"
mount /dev/rootvg/rootlv /mnt
else
header Making root on "$disk""$rootpart"
mkfs.xfs -f "$disk""$rootpart"
xfs_admin -L ROOT "$disk""$rootpart"
mount "$disk""$rootpart" /mnt
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
fi
mkdir /mnt/boot
mount "$disk""$diskspacer""1" /mnt/boot
mount "$disk""$bootpart" /mnt/boot
if [ "$?" -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
mkdir /mnt/boot/efi
mount "$disk""$efipart" /mnt/boot/efi
if [ "$?" -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
fi
# Backup the installer
mkdir -p /mnt/root
cp /root/shadowarch /mnt/root/shadowarch.installer."$(date +%F-%R)"
# Install ArchLinux with basic clients for the AniNIX Services.
# * git for Foundation
@ -118,8 +159,31 @@ cp /root/shadowarch /mnt/root/shadowarch.installer."$(date +%F-%R)"
# * openssh for SSH/SFTP
# * weechat for IRC
# * make for source packages
# * tor for anonymity
header Installing ArchLinux to device\(s\) on /mnt
yes "" | pacstrap -K -i /mnt base base-devel linux linux-firmware parted net-tools bind-tools git openssh rsync make elinks weechat vim wget grub os-prober tmux efibootmgr xfsprogs chrony less lvm2 dmraid netctl dhcpcd openresolv python3 vim
export pkglist="base base-devel parted net-tools bind-tools git openssh make elinks weechat vim wget tor torsocks grub os-prober rsync chrony tmux efibootmgr shadowarch"
if [ ! -z "$gui" ]; then
export pkglist="$pkglist"" xorg-server xfce4 hunspell hunspell-en_US thunar-archive-plugin thunar-media-tags-plugin thunar-volman chromium conky tigervnc xscreensaver"
fi
if [ ! -z "$spartacus" ]; then
export pkglist="$pkglist"" exfat-utils"
fi
if [ ! -z "$productivity" ]; then
export pkglist="$pkglist"" libreoffice-still gimp feh vlc evince openshot"
fi
if [ ! -z "$kali" ]; then
export pkglist="$pkglist"" extundelete testdisk nmap tcpdump hexedit dcfldd"
if [ ! -z "$gui" ]; then
export pkglist="$pkglist"" wireshark-gtk"
else
export pkglist="$pkglist"" wireshark-cli"
fi
fi
if [ ! -z "$kitchensink" ]; then
export pkglist="base base-devel $(wget -q -O - 'https://aninix.net/installed-packages.txt' | cut -f 1 -d ' ' | tr '\n' ' ')"
fi
yes "" | pacstrap -i /mnt $pkglist
if [ $? -ne 0 ]; then header ERROR: Cannot continue -- pacstrap failed; exit 1; fi
header Create FSTAB
@ -133,40 +197,66 @@ arch-chroot /mnt hwclock --systohc --utc
header Setup bootloader
if [ -z "$nodiskbuild" ]; then
export rootuuid="$(blkid "$disk""$diskspacer""2" | cut -f 2 -d '"')"
export hookstring="$(grep 'HOOKS=' /mnt/etc/mkinitcpio.conf | grep -v '#')"
export rootuuid="$(blkid "$disk""$rootpart" | cut -f 2 -d '"')"
if [ ! -z "$encrypt" ]; then
sed -i 's#'"$hookstring"'#HOOKS="base udev autodetect modconf block lvm2 dmraid encrypt filesystems keyboard fsck"#' /mnt/etc/mkinitcpio.conf
export hookstring="$(grep 'HOOKS=' /mnt/etc/mkinitcpio.conf | grep -v '#')"
sed -i 's#'"$hookstring"'#HOOKS="base udev autodetect modconf block encrypt filesystems keyboard fsck"#' /mnt/etc/mkinitcpio.conf
sed -i 's#GRUB_CMDLINE_LINUX=""#GRUB_CMDLINE_LINUX="cryptdevice=UUID='$rootuuid':cryptroot"#' /mnt/etc/default/grub
else
sed -i 's#'"$hookstring"'#HOOKS="base udev autodetect modconf block lvm2 dmraid filesystems keyboard fsck"#' /mnt/etc/mkinitcpio.conf
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub # Fix for CVE-2016-4484
fi
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub # Fix for CVE-2016-4484
arch-chroot /mnt grub-install --target=x86_64-efi --removable --bootloader-id=grub --efi-directory /boot "$disk"
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
fi
# Remake initramfs for new changes.
arch-chroot /mnt mkinitcpio -P
arch-chroot /mnt mkinitcpio -p linux
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
if [ -z "$nodiskbuild" ]; then
arch-chroot /mnt grub-install --target=x86_64-efi --removable --bootloader-id=grub --efi-directory /boot "$disk"
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
arch-chroot /mnt grub-install --target=i386-pc "$disk"
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
fi
arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
if [ $? -ne 0 ]; then header ERROR: Cannot continue; exit 1; fi
header Set networking
arch-chroot /mnt systemctl enable chronyd
# This part may fail if there are multiple NICs. Given our hardware posture, this is rare.
export interface=$(ip link list | grep "state" | cut -f 2 -d ":" | cut -f 2 -d " " | grep -vE lo\|wlan)
arch-chroot /mnt systemctl enable netctl
export interface=$(ip link list | grep "state" | cut -f 2 -d ":" | cut -f 2 -d " " | grep -v lo)
cp /mnt/etc/netctl/examples/ethernet-dhcp /mnt/etc/netctl/$interface
sed -i 's/eth0/'$interface'/' /mnt/etc/netctl/$interface
echo 'DNSSearch="aninix.net"' >> /mnt/etc/netctl/$interface
arch-chroot /mnt systemctl enable netctl
arch-chroot /mnt netctl enable $interface
# Vim cleanup for SSH
arch-chroot /mnt mkdir -p /usr/share/vim/vimfiles/plugin
arch-chroot /mnt printf 'set mouse-=a\n' > /usr/share/vim/vimfiles/plugin/shadowarch.vim
ln -sf /etc/skel/.bashrc /mnt/root/.bashrc
# Clone ConfigPackags from AniNIX::Foundation
arch-chroot /mnt git -C /usr/local/src/ clone https://aninix.net/foundation/ConfigPackages
arch-chroot /mnt git -C /usr/local/src/ clone https://aninix.net/foundation/MiscScripts
arch-chroot /mnt make -C /usr/local/src/MiscScripts/Shared install
arch-chroot /mnt make -C /usr/local/src/MiscScripts/Admin install
arch-chroot /mnt make -C /usr/local/src/MiscScripts/ShadowArch install
arch-chroot /mnt git -C /usr/local/src/ clone https://aur.archlinux.org/cower.git
arch-chroot /mnt groupadd tty-allow
arch-chroot /mnt useradd -u 1001 -G tty-allow -m depriv
arch-chroot /mnt usermod -G "$(getent group | grep root | cut -f 1 -d ':' | tr '\n' ',')""tty-allow" root
arch-chroot /mnt /bin/bash -c 'line="$(grep -E root"[[:space:]]"ALL /etc/sudoers)"; sed -i "s/$line/$line\ndepriv ALL=(ALL) ALL/" /etc/sudoers'
# Handle AUR Packages
if [ ! -z "$kali" ]; then
arch-chroot /mnt git -C /usr/local/src/ clone https://aur.archlinux.org/autopsy.git
fi
# Optimizations from https://wiki.archlinux.org/index.php/Power_management
if [ ! -z "$powersave" ]; then
if [ `lspci | grep -i intel | grep -ic audio` -eq 1 ]; then
echo 'options snd_hda_intel power_save=1' > /mnt/etc/modprobe.d/audio_powersave.conf
else
else
echo 'options snd_ac97_codec power_save=1' > /mnt/etc/modprobe.d/audio_powersave.conf
fi
arch-chroot /mnt pacman -S rfkill cpupower --noconfirm
@ -192,24 +282,36 @@ fi
# Set password
header Set new root passphrase and depriviledged user '(depriv)' password.
arch-chroot /mnt useradd depriv
arch-chroot /mnt passwd
arch-chroot /mnt passwd depriv
arch-chroot /mnt chown -R depriv:depriv /usr/local/src/
# Set SSH host keys
arch-chroot /mnt ssh-keygen -A
cp /root/shadowarch /mnt/root/shadowarch.installer."$(date +%F-%R)"
if [ ! -z "$gui" ]; then
echo "Remember to install your graphics drivers!
For NVidia, look at xf86-video-nouveau
For AMD, look at xf86-video-amdgpu
For Hyper-V, look at xf86-video-fbdev
For Virtual Box, look at virtualbox-guest-utils
For VMware, look at open-vm-tools"
fi
# Set hostname
header Set hostname
printf "What is your fully-qualified hostname? (i.e. host.site.example.com) "
read hostname
echo "$hostname" > /mnt/etc/hostname
hostname "$hostname"
header "Installed ShadowArch on $HOSTNAME!"
header "Installed ShadowArch on $HOSTNAME!"
if [ ! -z "$nodiskbuild" ]; then
header Remember to run grub-install and set up your bootloader.
echo 'https://wiki.archlinux.org/index.php/Installation_guide#Boot_loader'
else
else
header Press enter to reboot.
read

10
EtcFiles/shadowarch.hook Normal file
View File

@ -0,0 +1,10 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = shadowarch
[Action]
Description = Updating ShadowArch Customizations
When = PostTransaction
Exec = /usr/local/sbin/shadowarch-sync

View File

@ -1,32 +1 @@
" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just
" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing archlinux.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages.
runtime! archlinux.vim
" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual
" and configure vim to your own liking!
syntax on
filetype on
" Support CSharp files like Java
au BufNewFile,BufRead *.csharp set filetype=java
au BufNewFile,BufRead *.cs set filetype=java
set number
set mouse-=a
colorscheme desert
" This establishes the indenting policy.
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab

View File

@ -0,0 +1,3 @@
#
# ~/.bash_logout
#

View File

@ -0,0 +1,5 @@
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc

12
EtcFiles/skel/.bashrc Normal file
View File

@ -0,0 +1,12 @@
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# Allow separation so that /usr/local/bin/replicate-ssh-profiles doesn't carry local-only customizations downstream.
if [ -f ~/.bashrc-local ]; then
. ~/.bashrc-local
fi

View File

@ -0,0 +1,24 @@
[recommended.sh]
row=5
col=0
[VBOXADDITIONS_4.2.8_83876]
row=4
col=0
[8.6 GB Encrypted]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[Floppy Disk]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=1
col=0
[/home/cxford]
row=3
col=0

View File

@ -0,0 +1,23 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,63 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/LOST-SINGLES]
row=0
col=1
[/home/cxford/Desktop/fb_albums]
row=1
col=0
[/home/cxford/Desktop/geth-sample-regex]
row=6
col=0
[/home/cxford/Desktop/PLdlSgredEHsK1JR0XKVJaf6JvTWGlcg0p]
row=6
col=1
[/home/cxford/Desktop/imperial-agent]
row=5
col=1
[/home/cxford/Desktop/toSort]
row=3
col=1
[/home/cxford/Desktop/PortTest.class]
row=7
col=0
[/home/cxford/Desktop/aninix-background.jpg]
row=2
col=1
[/home/cxford/Desktop/HomeSearch.xlsx]
row=4
col=1
[/home/cxford/Desktop/sayoc]
row=5
col=0
[/home/cxford/Desktop/LOST-MEDIA]
row=1
col=1
[Floppy Disk]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,52 @@
[transfer]
row=0
col=2
[KunjaDraftKnifework.pdf]
row=0
col=1
[defense-3.20.13.txt]
row=1
col=0
[3]
row=1
col=2
[Relocation Estimate Template.xlsx]
row=2
col=1
[Scanned Document.pdf]
row=2
col=0
[blar]
row=0
col=0
[Relocation Estimate Template.ods]
row=1
col=1
[Deadliest Warrior]
row=2
col=2
[VBOXADDITIONS_4.2.16_86992]
row=0
col=3
[Trash]
row=1
col=3
[File System]
row=2
col=3
[Home]
row=0
col=4

View File

@ -0,0 +1,20 @@
[recommended.sh]
row=4
col=0
[VBOXADDITIONS_4.2.18_88780]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[2015-08-06-07-25-33-00]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,16 @@
[Audio Disc]
row=3
col=0
[Trash]
row=0
col=0
[File System]
row=1
col=0
[Home]
row=2
col=0

View File

@ -0,0 +1,31 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=6
col=0
[2015-10-01-17-08-02-00]
row=0
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,31 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=6
col=0
[2015-10-01-17-08-02-00]
row=0
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[2015-08-06-07-25-33-00]
row=0
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/home/cxford]
row=3
col=0

View File

@ -0,0 +1,83 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=5
col=1
[/root/Desktop/Maroon 5]
row=3
col=1
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=9
col=0
[/root/Desktop/twd13.mp4]
row=7
col=1
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=8
col=0
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=0
col=1
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=5
col=0
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=1
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=7
col=0
[/root/Desktop/The Walking Dead S05E15]
row=6
col=1
[/root/Desktop/twd12.mp4]
row=8
col=1
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=6
col=0
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=4
col=0
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=9
col=1
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=4
col=1
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=2
col=1
[2015-03-16-17-37-09-00]
row=0
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,16 @@
[VBOXADDITIONS_4.3.6_91406]
row=0
col=0
[Trash]
row=1
col=0
[File System]
row=2
col=0
[Home]
row=4
col=0

View File

@ -0,0 +1,16 @@
[Furious 6 (2013)]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,83 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=1
col=1
[/root/Desktop/Maroon 5]
row=0
col=0
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=2
col=1
[/root/Desktop/twd13.mp4]
row=10
col=0
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=3
col=1
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=0
col=1
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=6
col=1
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=6
col=0
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=4
col=1
[/root/Desktop/The Walking Dead S05E15]
row=9
col=0
[/root/Desktop/twd12.mp4]
row=11
col=0
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=5
col=1
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=0
col=2
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=8
col=0
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=3
col=0
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=5
col=0
[2015-03-16-17-37-09-00]
row=7
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=4
col=0

View File

@ -0,0 +1,20 @@
[recommended.sh]
row=4
col=0
[VBOXADDITIONS_4.2.18_88780]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,35 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/ChristmasCard.jpg]
row=6
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=7
col=0
[2015-10-01-17-08-02-00]
row=3
col=0
[Trash]
row=2
col=0
[/]
row=1
col=0
[/root]
row=0
col=0

View File

@ -0,0 +1,83 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=1
col=0
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=0
col=1
[/root/Desktop/twd13.mp4]
row=3
col=2
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=1
col=1
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=6
col=0
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=1
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=4
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=1
col=2
[/root/Desktop/The Walking Dead S05E15]
row=6
col=1
[/root/Desktop/twd12.mp4]
row=4
col=2
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=2
col=1
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=5
col=1
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=7
col=1
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=0
col=2
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=7
col=0
[2015-03-16-17-37-09-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=5
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[Floppy Disk]
row=4
col=0
[Trash]
row=2
col=0
[/]
row=0
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=5
col=0
[Kenny Chesney]
row=4
col=0
[NVWONND1]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=6
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,16 @@
[Maroon 5]
row=5
col=0
[Trash]
row=1
col=0
[File System]
row=2
col=0
[Home]
row=3
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=0
col=0
[Kenny Chesney]
row=1
col=0
[NVWONND1]
row=2
col=0
[Trash]
row=1
col=3
[File System]
row=2
col=3
[Home]
row=0
col=1

View File

@ -0,0 +1,83 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=1
col=0
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=0
col=1
[/root/Desktop/twd13.mp4]
row=3
col=2
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=1
col=1
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=6
col=0
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=1
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=4
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=0
col=2
[/root/Desktop/The Walking Dead S05E15]
row=6
col=1
[/root/Desktop/twd12.mp4]
row=4
col=2
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=2
col=1
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=5
col=1
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=7
col=1
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=1
col=2
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=7
col=0
[2015-03-16-17-37-09-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=5
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,67 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=1
col=0
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=0
col=1
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=1
col=1
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=6
col=0
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=1
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=4
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=9
col=0
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=2
col=1
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=5
col=1
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=8
col=0
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=7
col=0
[2015-03-02-14-24-20-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=5
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,83 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=1
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=0
col=1
[/root/Desktop/twd13.mp4]
row=3
col=2
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=1
col=1
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=6
col=0
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=1
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=4
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=9
col=0
[/root/Desktop/The Walking Dead S05E15]
row=8
col=0
[/root/Desktop/twd12.mp4]
row=4
col=2
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=2
col=1
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=5
col=1
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=7
col=1
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=4
col=0
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=7
col=0
[2015-03-16-17-37-09-00]
row=6
col=1
[Trash]
row=2
col=0
[/]
row=0
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,32 @@
[Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv.part]
row=6
col=0
[Maroon 5]
row=0
col=0
[A Walk to Remember (2002) DvDrip Xvid]
row=4
col=0
[Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=5
col=0
[VBOXADDITIONS_4.3.18_96516]
row=1
col=0
[Trash]
row=2
col=0
[File System]
row=3
col=0
[Home]
row=0
col=1

View File

@ -0,0 +1,16 @@
[Audio Disc]
row=3
col=0
[Trash]
row=0
col=0
[File System]
row=1
col=0
[Home]
row=2
col=0

View File

@ -0,0 +1,31 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=6
col=0
[2015-10-01-17-08-02-00]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/root]
row=1
col=0

View File

@ -0,0 +1,59 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/transfer]
row=8
col=0
[/home/cxford/Desktop/KunjaDraftKnifework.pdf]
row=0
col=1
[/home/cxford/Desktop/defense-3.20.13.txt]
row=1
col=1
[/home/cxford/Desktop/Relocation Estimate Template.xlsx]
row=2
col=1
[/home/cxford/Desktop/Scanned Document.pdf]
row=9
col=0
[/home/cxford/Desktop/Game Careers.ods]
row=7
col=0
[/home/cxford/Desktop/Game of Thrones S05 Season 5 Complete 720p HDTV x264 [Multi-Subs] [DexzAery & VectoR]]
row=4
col=0
[/home/cxford/Desktop/BlackBook]
row=6
col=0
[/home/cxford/Desktop/Relocation Estimate Template.ods]
row=2
col=0
[/home/cxford/Desktop/The Whispers S01E05 HDTV XviD-FUM[ettv]]
row=3
col=1
[2015-05-13-16-15-47-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=5
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,59 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/transfer]
row=8
col=0
[/home/cxford/Desktop/KunjaDraftKnifework.pdf]
row=2
col=1
[/home/cxford/Desktop/defense-3.20.13.txt]
row=3
col=1
[/home/cxford/Desktop/Relocation Estimate Template.xlsx]
row=0
col=1
[/home/cxford/Desktop/Scanned Document.pdf]
row=9
col=0
[/home/cxford/Desktop/Game Careers.ods]
row=7
col=0
[/home/cxford/Desktop/Game of Thrones S05 Season 5 Complete 720p HDTV x264 [Multi-Subs] [DexzAery & VectoR]]
row=3
col=0
[/home/cxford/Desktop/BlackBook]
row=5
col=0
[/home/cxford/Desktop/Relocation Estimate Template.ods]
row=1
col=1
[/home/cxford/Desktop/The Whispers S01E05 HDTV XviD-FUM[ettv]]
row=4
col=0
[2015-05-13-16-15-47-00]
row=6
col=0
[Trash]
row=2
col=0
[/]
row=0
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=0
col=1
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=1
col=1
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,83 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=1
col=0
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=0
col=1
[/root/Desktop/twd13.mp4]
row=3
col=2
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=1
col=1
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=6
col=0
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=1
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=4
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=9
col=0
[/root/Desktop/The Walking Dead S05E15]
row=10
col=0
[/root/Desktop/twd12.mp4]
row=4
col=2
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=2
col=1
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=5
col=1
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=7
col=1
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=8
col=0
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=7
col=0
[2015-03-16-17-37-09-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=5
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,59 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/transfer]
row=8
col=0
[/home/cxford/Desktop/KunjaDraftKnifework.pdf]
row=2
col=1
[/home/cxford/Desktop/defense-3.20.13.txt]
row=3
col=1
[/home/cxford/Desktop/Relocation Estimate Template.xlsx]
row=0
col=1
[/home/cxford/Desktop/Scanned Document.pdf]
row=9
col=0
[/home/cxford/Desktop/Game Careers.ods]
row=7
col=0
[/home/cxford/Desktop/Game of Thrones S05 Season 5 Complete 720p HDTV x264 [Multi-Subs] [DexzAery & VectoR]]
row=6
col=0
[/home/cxford/Desktop/BlackBook]
row=5
col=0
[/home/cxford/Desktop/Relocation Estimate Template.ods]
row=1
col=1
[/home/cxford/Desktop/The Whispers S01E05 HDTV XviD-FUM[ettv]]
row=4
col=0
[2015-05-13-16-15-47-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=1
col=0
[/home/cxford]
row=2
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[Floppy Disk]
row=0
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/genie-clipart-lamp-hi.png]
row=5
col=0
[4a6c42d0-d631-4fe9-aebe-37e65ac53b27]
row=1
col=0
[Floppy Disk]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=4
col=0

View File

@ -0,0 +1,31 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=1
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=1
col=0
[2015-05-13-16-15-47-00]
row=0
col=0
[Trash]
row=3
col=0
[/]
row=5
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[Floppy Disk]
row=4
col=0
[Trash]
row=2
col=0
[/]
row=0
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[Floppy Disk]
row=4
col=0
[Trash]
row=0
col=0
[/]
row=2
col=0
[/home/cxford]
row=3
col=0

View File

@ -0,0 +1,16 @@
[Audio Disc]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=1

View File

@ -0,0 +1,16 @@
[Audio Disc]
row=0
col=3
[Trash]
row=0
col=2
[File System]
row=0
col=0
[Home]
row=0
col=1

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=3
col=0
[Kenny Chesney]
row=0
col=0
[FIREFLY_D1]
row=4
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=1

View File

@ -0,0 +1,16 @@
[VBOXADDITIONS_4.3.6_91406]
row=4
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,35 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/ChristmasCard.jpg]
row=6
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=7
col=0
[2015-10-01-17-08-02-00]
row=0
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,63 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/LOST-SINGLES]
row=8
col=0
[/home/cxford/Desktop/fb_albums]
row=3
col=0
[/home/cxford/Desktop/geth-sample-regex]
row=6
col=0
[/home/cxford/Desktop/PLdlSgredEHsK1JR0XKVJaf6JvTWGlcg0p]
row=1
col=1
[/home/cxford/Desktop/imperial-agent]
row=0
col=1
[/home/cxford/Desktop/toSort]
row=11
col=0
[/home/cxford/Desktop/PortTest.class]
row=7
col=0
[/home/cxford/Desktop/aninix-background.jpg]
row=10
col=0
[/home/cxford/Desktop/HomeSearch.xlsx]
row=12
col=0
[/home/cxford/Desktop/sayoc]
row=5
col=0
[/home/cxford/Desktop/LOST-MEDIA]
row=9
col=0
[Floppy Disk]
row=4
col=0
[Trash]
row=0
col=0
[/]
row=2
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,31 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=6
col=0
[2015-10-01-17-08-02-00]
row=3
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=6
col=1
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=5
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/root]
row=0
col=0

View File

@ -0,0 +1,59 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/cxford/Desktop/transfer]
row=8
col=0
[/home/cxford/Desktop/KunjaDraftKnifework.pdf]
row=0
col=1
[/home/cxford/Desktop/defense-3.20.13.txt]
row=1
col=1
[/home/cxford/Desktop/Relocation Estimate Template.xlsx]
row=10
col=0
[/home/cxford/Desktop/Scanned Document.pdf]
row=9
col=0
[/home/cxford/Desktop/Game Careers.ods]
row=7
col=0
[/home/cxford/Desktop/Game of Thrones S05 Season 5 Complete 720p HDTV x264 [Multi-Subs] [DexzAery & VectoR]]
row=3
col=0
[/home/cxford/Desktop/BlackBook]
row=5
col=0
[/home/cxford/Desktop/Relocation Estimate Template.ods]
row=11
col=0
[/home/cxford/Desktop/The Whispers S01E05 HDTV XviD-FUM[ettv]]
row=4
col=0
[2015-05-13-16-15-47-00]
row=6
col=0
[Trash]
row=2
col=0
[/]
row=0
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,31 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=0
col=1
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=1
col=1
[2015-10-01-17-08-02-00]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/root]
row=1
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=0
col=0
[Kenny Chesney]
row=3
col=0
[FIREFLY_D3]
row=0
col=2
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=1

View File

@ -0,0 +1,35 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/ChristmasCard.jpg]
row=6
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=7
col=0
[2015-10-01-17-08-02-00]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/root]
row=1
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=0
col=1
[Kenny Chesney]
row=0
col=0
[FIREFLY_D3]
row=0
col=2
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=3
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=5
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=6
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/root]
row=3
col=0

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=0
[/root/Desktop/Maroon 5]
row=4
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=5
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/root]
row=2
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=3
col=0
[Kenny Chesney]
row=5
col=0
[NVWONND1]
row=0
col=1
[Trash]
row=1
col=0
[File System]
row=2
col=0
[Home]
row=4
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=5
col=0
[Kenny Chesney]
row=4
col=0
[NVWONND1]
row=3
col=0
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=0
col=0

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=3
col=0
[Kenny Chesney]
row=5
col=0
[NVWONND1]
row=0
col=0
[Trash]
row=1
col=0
[File System]
row=2
col=0
[Home]
row=4
col=0

View File

@ -0,0 +1,16 @@
[Audio Disc]
row=3
col=0
[Trash]
row=0
col=0
[File System]
row=1
col=0
[Home]
row=2
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[2015-08-06-07-25-33-00]
row=0
col=0
[Trash]
row=1
col=0
[/]
row=2
col=0
[/home/cxford]
row=3
col=0

View File

@ -0,0 +1,19 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[2015-08-06-07-25-33-00]
row=0
col=0
[Trash]
row=2
col=0
[/]
row=3
col=0
[/home/cxford]
row=1
col=0

View File

@ -0,0 +1,36 @@
[Scanned Document.pdf]
row=4
col=0
[Relocation Estimate Template.xlsx]
row=0
col=0
[Relocation Estimate Template.ods]
row=5
col=0
[transfer]
row=3
col=0
[KunjaDraftKnifework.pdf]
row=0
col=1
[defense-3.20.13.txt]
row=1
col=1
[Trash]
row=2
col=0
[File System]
row=1
col=0
[Home]
row=2
col=1

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=3
col=0
[Kenny Chesney]
row=1
col=0
[VBOXADDITIONS_4.3.16_95972]
row=0
col=0
[Trash]
row=1
col=3
[File System]
row=2
col=3
[Home]
row=3
col=3

View File

@ -0,0 +1,16 @@
[Audio Disc]
row=0
col=0
[Trash]
row=1
col=0
[File System]
row=0
col=1
[Home]
row=1
col=1

View File

@ -0,0 +1,24 @@
[Maroon 5]
row=0
col=1
[Kenny Chesney]
row=0
col=0
[FIREFLY_D3]
row=0
col=2
[Trash]
row=0
col=3
[File System]
row=0
col=4
[Home]
row=0
col=5

View File

@ -0,0 +1,16 @@
[Furious 6 (2013)]
row=2
col=0
[Trash]
row=0
col=0
[File System]
row=1
col=0
[Home]
row=0
col=1

View File

@ -0,0 +1,27 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=4
col=0
[/root/Desktop/Maroon 5]
row=0
col=0
[/root/Desktop/Fifty Shades of Grey 2015 720p BRRip x264 MP4 Multisubs AAC-CC]
row=1
col=0
[Trash]
row=2
col=0
[/]
row=2
col=3
[/root]
row=3
col=0

View File

@ -0,0 +1,115 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/root/Desktop/Girl Meets World S02E01 Girl Meets Gravity 480p HDTV x264]
row=0
col=5
[/root/Desktop/Avatar - The Legend of Korra Season 4 Complete [720p][Vega004]]
row=3
col=2
[/root/Desktop/The.Walking.Dead.S05E10.Them.HDTV.x264-KILLERS[ettv]]
row=2
col=3
[/root/Desktop/Girl Meets World S02E04 Girl Meets Pluto 480p HDTV x264]
row=3
col=4
[/root/Desktop/Game of Thrones - The Complete Season 4 [HDTV]]
row=0
col=2
[/root/Desktop/Maroon 5]
row=1
col=6
[/root/Desktop/The.Walking.Dead.S05E10.HDTV.x264-KILLERS.mp4]
row=1
col=3
[/root/Desktop/twd13.mp4]
row=0
col=6
[/root/Desktop/The Americans Season 1 Complete 480p RawKEy]
row=0
col=3
[/root/Desktop/Girl Meets World S02E02 Girl Meets the New World 480p HDTV x264]
row=1
col=5
[/root/Desktop/Law.and.Order.SVU.S16E14.HDTV.x264-LOL[ettv]]
row=3
col=3
[/root/Desktop/Vikings Season 3 - COMPLETE S03 720p HDTV x264 [MKV, AC3,5.1] Ehhhh]
row=1
col=2
[/root/Desktop/Star Wars Omnibus (001 - 023) (2006 - 2012)]
row=3
col=5
[/root/Desktop/The.Walking.Dead.S05E11.HDTV.x264-ASAP[ettv]]
row=0
col=1
[/root/Desktop/The.Walking.Dead.S05E13.HDTV.x264-KILLERS[rarbg]]
row=2
col=1
[/root/Desktop/Girl Meets World S02E05 Meets Mr Squirrels 480p HDTV x264]
row=2
col=2
[/root/Desktop/The Walking Dead S05E15]
row=3
col=1
[/root/Desktop/twd12.mp4]
row=2
col=5
[/root/Desktop/The Americans - Season 2 Complete-ChameE]
row=3
col=6
[/root/Desktop/The.Walking.Dead.S05E12.HDTV.x264-KILLERS[ettv]]
row=1
col=1
[/root/Desktop/The.Walking.Dead.S05E16.PROPER.HDTV.x264-KILLERS.mp4]
row=0
col=4
[/root/Desktop/A Walk to Remember (2002) DvDrip Xvid]
row=2
col=6
[/root/Desktop/Criminal.Minds.S10E15.720p.HDTV.X264-DIMENSION.mkv]
row=1
col=4
[/root/Desktop/Girl Meets World S02E03 Girl Meets the Secret of Life 480p HDTV x264]
row=2
col=4
[2015-03-16-17-37-09-00]
row=3
col=0
[Trash]
row=2
col=0
[/]
row=0
col=0
[/root]
row=1
col=0

Some files were not shown because too many files have changed in this diff Show More