Skip to content

Instantly share code, notes, and snippets.

Hey there! I am using GitHub.

Will Power willpower232

Hey there! I am using GitHub.
View GitHub Profile
willpower232 / Vagrantfile
Created Nov 21, 2016
My working minimalist Vagrantfile with everything I have used so far in my use of Vagrant
View Vagrantfile
Vagrant.configure(2) do |config|
config.vm.define VAGRANTFILE_CLIENT_NAME do |localdevbox| = "localdev"
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
View bash.bashrc
#### Set prompt basics ####
# 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)
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
willpower232 /
Last active Jan 10, 2018
Output pending yum updates as a string and do something with it, good for crons. Based on
# count package updates by the number of lines
# note that this will include packages pending replacement because of needing system reboot
UPDATES_COUNT=$(yum check-update --quiet | grep -v "^$" | wc -l)
# count security updates with a substring
SECURITY_UPDATES=$(yum --debuglevel 2 --security check-update 2>/dev/null | grep -P '(?<! 0 packages) available$' | cut -d ',' -f 1)
# store the hostname for later
willpower232 /
Last active Jan 10, 2018
Output pending apt updates as a string and do something with it, good for crons. Aptitude based version of
# count package updates by the number of lines
# - just-print bypasses the sudo lock requirement
# - have to narrow it down to lines with brackets to avoid simulation warning that has whitespace at the start
# also note this will include any packages on hold, you should use apt pinning to hide them from the update process
UPDATES_COUNT=$(apt-get --just-print -V -u upgrade --assume-no | grep "(" | grep "^\s" | wc -l)
# store the hostname for later
willpower232 / etc_nginx_sites-enabled_test
Last active Jul 16, 2021
Run Nginx on WSL (Ubuntu on Windows) with automatic domain names and environment for local development
View etc_nginx_sites-enabled_test
server {
listen 80;
listen 443 ssl http2;
# make yourself an SSL certificate for *.test.test (and your dhparam file if you're so inclined)
ssl_certificate /etc/nginx/ssl/test.cert;
ssl_certificate_key /etc/nginx/ssl/test.key;
# your other favourite SSL settings go here
willpower232 /
Created Dec 13, 2017
Reset Linux Home directory permissions based on /etc/passwd
chown root:root /home
chmod 755 /home
USERS=$(grep '/home' /etc/passwd | tr "\n" "\n")
for USER in $USERS
willpower232 /
Created Jan 22, 2018
Certbot with DNS verification and AWS route53 plugin
# run these first to install certbot globally with the route53 plugin
# $ sudo apt install python-setuptools
# $ sudo easy_install pip
# $ sudo -H pip install certbot-dns-route53
# verify the route53 plugin is present
# $ certbot plugins
willpower232 / my.vimrc
Last active Jun 19, 2019
Guess I have to get into vim one day
View my.vimrc
" syntax highlighting
syntax on
" todo: experiment with colour schemes
"colorscheme elflord
" might help vim cope with random terminals and colours
" by reminding it that the background is dark
set background=dark
willpower232 /
Last active Apr 16, 2019
Setting up my perfect development environment in virtualbox



Definitely more ready out of the box also seems to cope with 3D in Virtualbox better


save 1.1GB for base install of 5.5GB apt remove mintstick transmission-gtk timeshift thunderbird xed simple-scan rhythmbox redshift-gtk pix xplayer libreoffice-* xviewer hexchat gimp firefox xreader baobab gnome-calendar gnome-calculator gnome-terminal blueberry gufw tomboy && apt autoremove

willpower232 /
Last active Nov 11, 2019
dmenu script for pass
#!/usr/bin/env bash
# 1 - source copy from (
# 2 - make dmenu case insensitive
# 3 - correct include_username variable
# 4 - only pick out usernames if they are the start of the sentence, i.e. ignore non-primary usernames listed in the file (mostly for bitbucket)
# 5 - dependency test and install
shopt -s nullglob globstar