Skip to content

Instantly share code, notes, and snippets.

@Nattefrost
Last active July 2, 2017 18:06
Show Gist options
  • Save Nattefrost/6177f37613a31e8ac32cd7d47fcc99a1 to your computer and use it in GitHub Desktop.
Save Nattefrost/6177f37613a31e8ac32cd7d47fcc99a1 to your computer and use it in GitHub Desktop.
Fish functions
# Fish functions
# for vagrant, postgresql and more on openSUSE
function fish_greeting
set_color 92FF7F
set os_version (cat /etc/os-release)
set os_v (echo $os_version | sed 's/\(NAME="openSUSE Leap" \).*/\1/') # catches
set os_v (echo $os_v | sed 's/^.*NAME="//') # removes stuff before
set os_v (echo $os_v | rev | cut -c 3- | rev) # removes last char "
set fish_version (fish -v)
echo $fish_version on $os_v
set_color FF0
end
function fish_prompt --description 'Write out the prompt'
if not set -q __fish_git_prompt_show_informative_status
set -g __fish_git_prompt_show_informative_status 1
end
if not set -q __fish_git_prompt_hide_untrackedfiles
set -g __fish_git_prompt_hide_untrackedfiles 1
end
if not set -q __fish_git_prompt_color_branch
set -g __fish_git_prompt_color_branch magenta --bold
end
if not set -q __fish_git_prompt_showupstream
set -g __fish_git_prompt_showupstream "informative"
end
if not set -q __fish_git_prompt_char_upstream_ahead
set -g __fish_git_prompt_char_upstream_ahead "↑"
end
if not set -q __fish_git_prompt_char_upstream_behind
set -g __fish_git_prompt_char_upstream_behind "↓"
end
if not set -q __fish_git_prompt_char_upstream_prefix
set -g __fish_git_prompt_char_upstream_prefix ""
end
if not set -q __fish_git_prompt_char_stagedstate
set -g __fish_git_prompt_char_stagedstate "●"
end
if not set -q __fish_git_prompt_char_dirtystate
set -g __fish_git_prompt_char_dirtystate "✚"
end
if not set -q __fish_git_prompt_char_untrackedfiles
set -g __fish_git_prompt_char_untrackedfiles "…"
end
if not set -q __fish_git_prompt_char_conflictedstate
set -g __fish_git_prompt_char_conflictedstate "✖"
end
if not set -q __fish_git_prompt_char_cleanstate
set -g __fish_git_prompt_char_cleanstate "✔"
end
if not set -q __fish_git_prompt_color_dirtystate
set -g __fish_git_prompt_color_dirtystate blue
end
if not set -q __fish_git_prompt_color_stagedstate
set -g __fish_git_prompt_color_stagedstate yellow
end
if not set -q __fish_git_prompt_color_invalidstate
set -g __fish_git_prompt_color_invalidstate red
end
if not set -q __fish_git_prompt_color_untrackedfiles
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
end
if not set -q __fish_git_prompt_color_cleanstate
set -g __fish_git_prompt_color_cleanstate green --bold
end
set -l last_status $status
if not set -q __fish_prompt_normal
set -g __fish_prompt_normal (set_color normal)
end
set -l color_cwd
set -l prefix
switch $USER
case root toor
if set -q fish_color_cwd_root
set color_cwd $fish_color_cwd_root
else
set color_cwd $fish_color_cwd
end
set suffix '#'
case '*'
set color_cwd $fish_color_cwd
set suffix '%'
end
# PWD
set_color $color_cwd
echo -n (prompt_pwd)
set_color normal
printf '%s ' (__fish_vcs_prompt)
if not test $last_status -eq 0
set_color $fish_color_error
end
echo -n "$suffix "
set_color normal
end
function docker_pg
sudo su -c "su postgres -c 'psql -h 0.0.0.0 -p 5432 -U pguser -W -d sc_core'";
end
########################
# ssh python anywhere
########################
function portfolio_ssh
ssh [email protected]
end
function portfolio_rsync
set initial_path (pwd)
cd '/home/sc/dev/intech/portfolio_flask/'
rsync -rav -e ssh --exclude ./run.py [email protected]:/home/Nattefrost/sumoleague/
cd $initial_path
end
##############
# WEBCAM
##############
function cam_off
echo "Disabling cam"
sudo modprobe -r uvcvideo
end
##############
# TOUCHPAD
# requires xinput
##############
function touchpad
# touchpad ID is 13, exec 'xinput list' to get it
set device_id (xinput list | grep TouchPad | grep -oP '\d+\D+\K\d+' )
echo $device_id
set bool $argv[1]
set_color yellow
switch (echo $bool)
case on
xinput set-prop $device_id "Device Enabled" 1
echo "Touchpad enabled"
case off
xinput set-prop $device_id "Device Enabled" 0
echo "Touchpad disabled"
case '*'
echo "Args : on or off"
end
set_color FF0
end
##############
# GIT
##############
function gstat
git status
end
function gadd
git add --all
end
function gcom
git commit -m $argv
end
##############
# Vagrant VMS
##############
function ha --description "Controls 3 vms HA setup"
set cmd $argv[1]
set initial_path (pwd)
cd /home/sc/dev/vms/ha/
set_color yellow
switch (echo $cmd)
case start
echo "Starting HA setup ..."
vagrant up master
vagrant up app
vagrant up slave
case stop
echo "Stopping HA setup ..."
vagrant halt app
vagrant halt slave
vagrant halt master
case status
vagrant status
case '*'
echo "Args : start stop status"
end
cd $initial_path
set_color FF0
end
function vm --description "start or stop vms"
set cmd $argv[1]
set initial_path (pwd)
cd /home/sc/dev/vms/single/
set_color yellow
switch (echo $cmd)
case start
echo "Trying to start vm ..."
vagrant up
echo "DONE"
case stop
echo "Trying to stop vm ..."
vagrant halt
echo "DONE"
case status
vagrant status
case '*'
echo "Args : start stop status"
end
cd $initial_path
end
#############
# METEO
#############
function meteo
curl -s -D - wttr.in
end
##############
# POSTGRESQL
##############
function pgsql_start
sudo su -c "su postgres -c '/usr/bin/pg_ctl -D /var/lib/pgsql/9.4/data/ start' -l '/home/sc/pgsql/logs' "
echo "Started"
end
function pgsql_stop
sudo su -c "su postgres -c '/usr/bin/pg_ctl -D /var/lib/pgsql/9.4/data/ stop -m i' "
end
function pgsql_status
sudo su -c "su postgres -c '/usr/bin/pg_ctl -D /var/lib/pgsql/9.4/data/ status' "
end
function pgsql_connect
sudo su -c "su postgres -c 'psql -h 0.0.0.0 -p 5440 -U postgres'";
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment