Index

dotfiles / 1928370

My personal dotfiles for Debian/Ubuntu.

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
2903 Oct 2021 17:371928370Update install scriptJosh Stockin11316G

Blob @ dotfiles / install.sh

text/x-shellscript3834 bytesdownload raw
1#!/bin/bash
2
3HELPTEXT="./install.sh <desktop|laptop|headless>"
4case $1 in
5 h|help|\?|-h|-help|-\?|--h|--help|--\?)
6 echo -e $HELPTEXT
7 exit 0
8 ;;
9 desktop)
10 UNIT=DESKTOP
11 ;;
12 laptop)
13 UNIT=LAPTOP
14 ;;
15 headless)
16 UNIT=HEADLESS
17 ;;
18 *)
19 echo -e $HELPTEXT
20 exit 0
21 ;;
22esac
23
24category(){
25 echo -e " \e[1;37m$1\e[0m"
26}
27
28item(){
29 echo -e " \e[0m$1\e[0m"
30}
31
32echo -e " \e[1;33mInstall type \e[1;35m$UNIT\e[0m"
33
34SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
35
36# Bash config
37category "Bash config"
38item "~/.bash_aliases"
39install $SCRIPT_DIR/.bash_aliases $HOME/.bash_aliases
40item "~/.bashrc"
41install $SCRIPT_DIR/.bashrc $HOME/.bashrc
42item "~/.profile"
43install $SCRIPT_DIR/.profile $HOME/.profile
44
45category "Common folders"
46item "~/src/"
47SRCFOLDER=$HOME/src
48mkdir -p $SRCFOLDER
49item "~/.local/bin/"
50LOCALBIN=$HOME/.local/bin
51mkdir -p $LOCALBIN
52item "~/.local/fonts/"
53FONTDIR=$HOME/.local/fonts
54mkdir -p $FONTDIR
55item "~/.local/share/"
56mkdir -p $HOME/.local/share
57
58# Local scripts
59category "Local scripts"
60if [ $UNIT == "DESKTOP" ]; then
61 item "~/.local/bin/middle-mouse-scroll"
62 install $SCRIPT_DIR/middle-mouse-scroll $LOCALBIN/middle-mouse-scroll
63fi
64item "/usr/local/bin/minesweeper"
65if ! command -v minesweeper &> /dev/null
66then
67 git clone --depth=1 git://joshstock.in/ncurses-minesweeper.git $SRCFOLDER/ncurses-minesweeper
68 cd $SRCFOLDER/ncurses-minesweeper
69 make compile build
70 install bin/minesweeper /usr/local/bin/minesweeper
71 rm -rf $SRCFOLDER/ncurses-minesweeper
72 cd $SCRIPT_DIR
73fi
74
75if [ $UNIT == "DESKTOP" ] || [ $UNIT == "LAPTOP" ]; then
76 # GTK config
77 category "GTK config"
78
79 GTKDIR=$HOME/.config/gtk-3.0
80 item "~/.config/gtk-3.0/"
81 mkdir -p $GTKDIR
82
83 item "~/.config/gtk-3.0/gtk.css"
84 install $SCRIPT_DIR/gtk.css $GTKDIR/gtk.css
85
86 item "Terminal theme 'Oceanic Next'"
87 $SCRIPT_DIR/terminal_theme.sh $1 &>/dev/null
88
89 # Fonts
90 category "Fonts"
91
92 item "Fira Sans pack"
93 if [ ! -f $FONTDIR/FiraSans-Regular.ttf ]; then
94 curl -fLso /tmp/Fira.zip https://fonts.google.com/download?family=Fira%20Sans
95 unzip -q /tmp/Fira.zip -d $FONTDIR
96 fi
97
98 item "Fira Mono (Nerd Fonts) pack"
99 if [ ! -f $FONTDIR/FiraMono-Regular.otf ]; then
100 curl -fLso $FONTDIR/FiraMono-Regular.otf https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/FiraMono/Regular/complete/Fura%20Mono%20Regular%20Nerd%20Font%20Complete%20Mono.otf
101 fi
102 if [ ! -f $FONTDIR/FiraMono-Medium.otf ]; then
103 curl -fLso $FONTDIR/FiraMono-Medium.otf https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/FiraMono/Medium/complete/Fura%20Mono%20Medium%20Nerd%20Font%20Complete%20Mono.otf
104 fi
105 if [ ! -f $FONTDIR/FiraMono-Bold.otf ]; then
106 curl -fLso $FONTDIR/FiraMono-Bold.otf https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/FiraMono/Bold/complete/Fura%20Mono%20Bold%20Nerd%20Font%20Complete%20Mono.otf
107 fi
108
109 item "Refreshing font cache"
110 fc-cache
111fi
112
113# Global git config
114category "Global git config"
115
116item "~/.gitconfig"
117install $SCRIPT_DIR/.gitconfig $HOME/.gitconfig
118
119# Vim
120category "Vim config"
121
122if [ $UNIT == "HEADLESS" ]; then
123 item "/usr/share/vim/"
124 VIMDIR=/usr/share/vim
125 mkdir -p $VIMDIR
126else
127 item "~/.vim/"
128 VIMDIR=$HOME/.vim
129 mkdir -p $VIMDIR
130fi
131
132item "~/.vim/vimrc"
133if [ $UNIT == "HEADLESS" ]; then
134 grep -v "RMHEADLESS" vimrc > $SCRIPT_DIR/.vimrc_headless
135 install $SCRIPT_DIR/.vimrc_headless $VIMDIR/vimrc
136else
137 install $SCRIPT_DIR/vimrc $VIMDIR/vimrc
138fi
139
140item "~/.vim/autoload/plug.vim"
141curl -fLso $VIMDIR/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
142
143# Done
144echo -e " \e[1;33mDONE\e[0m"
145