diff --git a/themes/godfather/README.md b/themes/godfather/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..efccbd447db05cdef4e9ab28da9bed6f3f63c7d4
--- /dev/null
+++ b/themes/godfather/README.md
@@ -0,0 +1,22 @@
+## godfather fish theme
+
+Clean git theme with homey feel and git-centric features.
+
+![screenshot](http://i.imgur.com/mh7a39d.png)
+
+#### Prompt structure:
+
+* Left-hand side:
+	* user@host:
+	* truncated cwd (just the current folder name)
+	* git branch with state info (if applicable)
+
+* Right-hand side:
+	* last error code (if applicable)
+	* [timestamp]
+
+#### Credits:
+
+Colors and git functions taken from [amio](https://github.com/amio)'s
+[edan](https://github.com/bpinto/oh-my-fish/tree/master/themes/edan) theme.
+
diff --git a/themes/godfather/fish_prompt.fish b/themes/godfather/fish_prompt.fish
new file mode 100644
index 0000000000000000000000000000000000000000..20daa0076c33325a4c34e70a0cab8b8431cd654d
--- /dev/null
+++ b/themes/godfather/fish_prompt.fish
@@ -0,0 +1,54 @@
+# fish theme: goddy
+
+function _git_branch_name
+  echo (command git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||')
+end
+
+function _is_git_dirty
+  echo (command git status -s --ignore-submodules=dirty ^/dev/null)
+end
+
+# change color depending on the user.
+function _user_host
+  if [ (id -u) = "0" ];
+    echo -n (set_color -o red)
+  else
+    echo -n (set_color -o blue)
+  end
+  echo -n (hostname|cut -d . -f 1)ˇ$USER (set color normal)
+end
+
+function fish_prompt
+  set fish_greeting
+  set -l cyan (set_color -o cyan)
+  set -l yellow (set_color -o yellow)
+  set -l red (set_color -o red)
+  set -l blue (set_color -o blue)
+  set -l green (set_color -o green)
+  set -l normal (set_color normal)
+
+  set -l cwd $cyan(basename (prompt_pwd))
+
+  # output the prompt, left to right:
+  # display 'user@host:'
+  echo -n -s $green (whoami) $dark_green @ $green (hostname|cut -d . -f 1) ": "
+
+  # display the current directory name:
+  echo -n -s $cwd $normal
+
+  # show git branch and dirty state, if applicable:
+  if [ (_git_branch_name) ]
+    set -l git_branch '[' (_git_branch_name) ']'
+
+    if [ (_is_git_dirty) ]
+      set git_info $red $git_branch "×"
+    else
+      set git_info $green $git_branch
+    end
+    echo -n -s ' ' $git_info $normal
+  end
+
+  # terminate with a nice prompt char:
+  echo -n -s ' » ' $normal
+
+end
diff --git a/themes/godfather/fish_right_prompt.fish b/themes/godfather/fish_right_prompt.fish
new file mode 100644
index 0000000000000000000000000000000000000000..e2ccd346d9391781645bf2f17caf86c334763897
--- /dev/null
+++ b/themes/godfather/fish_right_prompt.fish
@@ -0,0 +1,18 @@
+# fish theme: godfather
+
+function fish_right_prompt
+  set -l last_status $status
+  set -l cyan (set_color -o cyan)
+  set -l red (set_color -o red)
+  set -l normal (set_color normal)
+
+  # print last exit code if nonzero:
+  if test $last_status -ne 0
+    set_color red
+    printf '%d' $last_status
+    set_color normal
+  end
+
+  # display the timestamp on the utmost right.
+  echo -n -s $normal ' [' (date +%H:%M:%S) ']'
+end