Browse Source

install script

Bachir Soussi Chiadmi 7 years ago
parent
commit
01cd8ec81f

+ 7 - 4
rpi/README.md

@@ -11,14 +11,17 @@ install Arch Linux ARM systeme on rpi following these how to : https://archlinux
 connect to rpi through ssh
 
 add alarm user to sudoers : https://wiki.archlinux.org/index.php/Sudo#Example_Entries
+install git : ```pacman -S vim rsync```
+clone this repos : ```git clone -o guime https://g-u-i.me/gogs/bachir/hehe-rover.git ```
 
-make updates : ```pacman -Syyu```
+run rpi/install.sh with sudo
 
-generate the locale : https://wiki.archlinux.org/index.php/Locale#Generating_locales
+### what install is doing
 
-install git vim rsync : ```pacman -S git vim rsync```
+- generate the locale : https://wiki.archlinux.org/index.php/Locale#Generating_locales
+- make updates : ```pacman -Syyu```
+- install vim rsync : ```pacman -S vim rsync```
 
-clone this repos : ```git clone -o guime https://g-u-i.me/gogs/bachir/hehe-rover.git ```
 
 ## camera module
 https://wiki.archlinux.org/index.php/Raspberry_Pi#Raspberry_Pi_camera_module

+ 5 - 0
rpi/assets/bash_profile

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

+ 63 - 0
rpi/assets/bashrc

@@ -0,0 +1,63 @@
+
+#-------------------------------------------------------------
+# Source global definitions (if any)
+#-------------------------------------------------------------
+
+if [ -f /etc/bashrc ]; then
+  . /etc/bashrc   # --> Read /etc/bashrc, if present.
+fi
+
+if [ -f /etc/bash_completion ]; then
+	    . /etc/bash_completion
+fi
+
+PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"
+
+export EDITOR=vim
+export TERM=xterm-256color
+
+# https://wiki.archlinux.org/index.php/Bash#Additional_programs_and_options_manually
+complete -cf sudo
+complete -cf man
+
+bind '"\e[A": history-search-backward'
+bind '"\e[B": history-search-forward'
+
+# https://wiki.archlinux.org/index.php/Bash#Auto_.22cd.22_when_entering_just_a_path
+shopt -s autocd
+
+
+# Only load Liquid Prompt in interactive shells, not from a script or from scp
+[[ $- = *i* ]] && source ~/.liquidprompt/liquidprompt
+
+
+alias ls='ls -lsh --color=always --group-directories-first --time-style=+"%d.%m.%Y %H:%M"'
+alias la='ls -lsha --color=always --group-directories-first --time-style=+"%d.%m.%Y %H:%M"'
+alias lr='ls -R | grep ":$" | sed -e '\''s/:$//'\'' -e '\''s/[^-][^\/]*\//--/g'\'' -e '\''s/^/   /'\'' -e '\''s/-/|/'\'''
+
+alias grep='grep --color=tty -d skip'
+
+alias cp="cp -i"                          # confirm before overwriting something
+
+
+alias df="df -kTh"                          # human-readable sizes
+
+alias free='free -m'                      # show sizes in MB
+
+alias sys='sudo systemctl'
+
+alias mysqlr='mysql -u root -p'
+
+
+alias ggraph="git log --graph --abbrev-commit --decorate=no --format=format:'%C(bold yellow)%ai%C(reset)%C(yellow)(%ar)%C(reset)%C(auto)%+d%C(reset)%n''%C(dim white)%an%C(reset)%n''%C(bold white)%B%C(reset)%C(blue)%H%C(reset)%n' --all"
+
+
+starthttpd ()
+{
+    sudo systemctl start httpd
+    sudo systemctl start mysqld
+}
+
+if [ -f ~/.private-aliases ]; then
+    . ~/.private-aliases
+fi

+ 7 - 0
rpi/assets/config/liquidpromptrc

@@ -0,0 +1,7 @@
+LP_BATTERY_THRESHOLD=100
+LP_COLOR_TIME="$PINK"
+LP_ENABLE_TIME=1
+LP_ENABLE_BATT=1
+LP_USER_ALWAYS=0
+LP_PS1_POSTFIX="\n$ "
+LP_ENABLE_JOBS=1

+ 276 - 0
rpi/assets/vim/colors/molokai.vim

@@ -0,0 +1,276 @@
+" Vim color file
+"
+" Author: Tomas Restrepo <tomas@winterdom.com>
+" https://github.com/tomasr/molokai
+"
+" Note: Based on the Monokai theme for TextMate
+" by Wimer Hazenberg and its darker variant
+" by Hamish Stuart Macpherson
+"
+
+hi clear
+
+if version > 580
+    " no guarantees for version 5.8 and below, but this makes it stop
+    " complaining
+    hi clear
+    if exists("syntax_on")
+        syntax reset
+    endif
+endif
+let g:colors_name="molokai"
+
+if exists("g:molokai_original")
+    let s:molokai_original = g:molokai_original
+else
+    let s:molokai_original = 0
+endif
+
+
+hi Boolean         guifg=#AE81FF
+hi Character       guifg=#E6DB74
+hi Number          guifg=#AE81FF
+hi String          guifg=#E6DB74
+hi Conditional     guifg=#F92672               gui=bold
+hi Constant        guifg=#AE81FF               gui=bold
+hi Cursor          guifg=#000000 guibg=#F8F8F0
+hi iCursor         guifg=#000000 guibg=#F8F8F0
+hi Debug           guifg=#BCA3A3               gui=bold
+hi Define          guifg=#66D9EF
+hi Delimiter       guifg=#8F8F8F
+hi DiffAdd                       guibg=#13354A
+hi DiffChange      guifg=#89807D guibg=#4C4745
+hi DiffDelete      guifg=#960050 guibg=#1E0010
+hi DiffText                      guibg=#4C4745 gui=italic,bold
+
+hi Directory       guifg=#A6E22E               gui=bold
+hi Error           guifg=#E6DB74 guibg=#1E0010
+hi ErrorMsg        guifg=#F92672 guibg=#232526 gui=bold
+hi Exception       guifg=#A6E22E               gui=bold
+hi Float           guifg=#AE81FF
+hi FoldColumn      guifg=#465457 guibg=#000000
+hi Folded          guifg=#465457 guibg=#000000
+hi Function        guifg=#A6E22E
+hi Identifier      guifg=#FD971F
+hi Ignore          guifg=#808080 guibg=bg
+hi IncSearch       guifg=#C4BE89 guibg=#000000
+
+hi Keyword         guifg=#F92672               gui=bold
+hi Label           guifg=#E6DB74               gui=none
+hi Macro           guifg=#C4BE89               gui=italic
+hi SpecialKey      guifg=#66D9EF               gui=italic
+
+hi MatchParen      guifg=#000000 guibg=#FD971F gui=bold
+hi ModeMsg         guifg=#E6DB74
+hi MoreMsg         guifg=#E6DB74
+hi Operator        guifg=#F92672
+
+" complete menu
+hi Pmenu           guifg=#66D9EF guibg=#000000
+hi PmenuSel                      guibg=#808080
+hi PmenuSbar                     guibg=#080808
+hi PmenuThumb      guifg=#66D9EF
+
+hi PreCondit       guifg=#A6E22E               gui=bold
+hi PreProc         guifg=#A6E22E
+hi Question        guifg=#66D9EF
+hi Repeat          guifg=#F92672               gui=bold
+hi Search          guifg=#000000 guibg=#FFE792
+" marks
+hi SignColumn      guifg=#A6E22E guibg=#232526
+hi SpecialChar     guifg=#F92672               gui=bold
+hi SpecialComment  guifg=#7E8E91               gui=bold
+hi Special         guifg=#66D9EF guibg=bg      gui=italic
+if has("spell")
+    hi SpellBad    guisp=#FF0000 gui=undercurl
+    hi SpellCap    guisp=#7070F0 gui=undercurl
+    hi SpellLocal  guisp=#70F0F0 gui=undercurl
+    hi SpellRare   guisp=#FFFFFF gui=undercurl
+endif
+hi Statement       guifg=#F92672               gui=bold
+hi StatusLine      guifg=#455354 guibg=fg
+hi StatusLineNC    guifg=#808080 guibg=#080808
+hi StorageClass    guifg=#FD971F               gui=italic
+hi Structure       guifg=#66D9EF
+hi Tag             guifg=#F92672               gui=italic
+hi Title           guifg=#ef5939
+hi Todo            guifg=#FFFFFF guibg=bg      gui=bold
+
+hi Typedef         guifg=#66D9EF
+hi Type            guifg=#66D9EF               gui=none
+hi Underlined      guifg=#808080               gui=underline
+
+hi VertSplit       guifg=#808080 guibg=#080808 gui=bold
+hi VisualNOS                     guibg=#403D3D
+hi Visual                        guibg=#403D3D
+hi WarningMsg      guifg=#FFFFFF guibg=#333333 gui=bold
+hi WildMenu        guifg=#66D9EF guibg=#000000
+
+hi TabLineFill     guifg=#1B1D1E guibg=#1B1D1E
+hi TabLine         guibg=#1B1D1E guifg=#808080 gui=none
+
+if s:molokai_original == 1
+   hi Normal          guifg=#F8F8F2 guibg=#272822
+   hi Comment         guifg=#75715E
+   hi CursorLine                    guibg=#3E3D32
+   hi CursorLineNr    guifg=#FD971F               gui=none
+   hi CursorColumn                  guibg=#3E3D32
+   hi ColorColumn                   guibg=#3B3A32
+   hi LineNr          guifg=#BCBCBC guibg=#3B3A32
+   hi NonText         guifg=#75715E
+   hi SpecialKey      guifg=#75715E
+else
+   hi Normal          guifg=#F8F8F2 guibg=#1B1D1E
+   hi Comment         guifg=#7E8E91
+   hi CursorLine                    guibg=#293739
+   hi CursorLineNr    guifg=#FD971F               gui=none
+   hi CursorColumn                  guibg=#293739
+   hi ColorColumn                   guibg=#232526
+   hi LineNr          guifg=#465457 guibg=#232526
+   hi NonText         guifg=#465457
+   hi SpecialKey      guifg=#465457
+end
+
+"
+" Support for 256-color terminal
+"
+if &t_Co > 255
+   if s:molokai_original == 1
+      hi Normal                   ctermbg=234
+      hi CursorLine               ctermbg=235   cterm=none
+      hi CursorLineNr ctermfg=208               cterm=none
+   else
+      hi Normal       ctermfg=252 ctermbg=233
+      hi CursorLine               ctermbg=234   cterm=none
+      hi CursorLineNr ctermfg=208               cterm=none
+   endif
+   hi Boolean         ctermfg=135
+   hi Character       ctermfg=144
+   hi Number          ctermfg=135
+   hi String          ctermfg=144
+   hi Conditional     ctermfg=161               cterm=bold
+   hi Constant        ctermfg=135               cterm=bold
+   hi Cursor          ctermfg=16  ctermbg=253
+   hi Debug           ctermfg=225               cterm=bold
+   hi Define          ctermfg=81
+   hi Delimiter       ctermfg=241
+
+   hi DiffAdd                     ctermbg=24
+   hi DiffChange      ctermfg=181 ctermbg=239
+   hi DiffDelete      ctermfg=162 ctermbg=53
+   hi DiffText                    ctermbg=102 cterm=bold
+
+   hi Directory       ctermfg=118               cterm=bold
+   hi Error           ctermfg=219 ctermbg=89
+   hi ErrorMsg        ctermfg=199 ctermbg=16    cterm=bold
+   hi Exception       ctermfg=118               cterm=bold
+   hi Float           ctermfg=135
+   hi FoldColumn      ctermfg=67  ctermbg=16
+   hi Folded          ctermfg=67  ctermbg=16
+   hi Function        ctermfg=118
+   hi Identifier      ctermfg=208               cterm=none
+   hi Ignore          ctermfg=244 ctermbg=232
+   hi IncSearch       ctermfg=193 ctermbg=16
+
+   hi keyword         ctermfg=161               cterm=bold
+   hi Label           ctermfg=229               cterm=none
+   hi Macro           ctermfg=193
+   hi SpecialKey      ctermfg=81
+
+   hi MatchParen      ctermfg=233  ctermbg=208 cterm=bold
+   hi ModeMsg         ctermfg=229
+   hi MoreMsg         ctermfg=229
+   hi Operator        ctermfg=161
+
+   " complete menu
+   hi Pmenu           ctermfg=81  ctermbg=16
+   hi PmenuSel        ctermfg=255 ctermbg=242
+   hi PmenuSbar                   ctermbg=232
+   hi PmenuThumb      ctermfg=81
+
+   hi PreCondit       ctermfg=118               cterm=bold
+   hi PreProc         ctermfg=118
+   hi Question        ctermfg=81
+   hi Repeat          ctermfg=161               cterm=bold
+   hi Search          ctermfg=0   ctermbg=222   cterm=NONE
+
+   " marks column
+   hi SignColumn      ctermfg=118 ctermbg=235
+   hi SpecialChar     ctermfg=161               cterm=bold
+   hi SpecialComment  ctermfg=245               cterm=bold
+   hi Special         ctermfg=81
+   if has("spell")
+       hi SpellBad                ctermbg=52
+       hi SpellCap                ctermbg=17
+       hi SpellLocal              ctermbg=17
+       hi SpellRare  ctermfg=none ctermbg=none  cterm=reverse
+   endif
+   hi Statement       ctermfg=161               cterm=bold
+   hi StatusLine      ctermfg=238 ctermbg=253
+   hi StatusLineNC    ctermfg=244 ctermbg=232
+   hi StorageClass    ctermfg=208
+   hi Structure       ctermfg=81
+   hi Tag             ctermfg=161
+   hi Title           ctermfg=166
+   hi Todo            ctermfg=231 ctermbg=232   cterm=bold
+
+   hi Typedef         ctermfg=81
+   hi Type            ctermfg=81                cterm=none
+   hi Underlined      ctermfg=244               cterm=underline
+
+   hi VertSplit       ctermfg=244 ctermbg=232   cterm=bold
+   hi VisualNOS                   ctermbg=238
+   hi Visual                      ctermbg=235
+   hi WarningMsg      ctermfg=231 ctermbg=238   cterm=bold
+   hi WildMenu        ctermfg=81  ctermbg=16
+
+   hi Comment         ctermfg=59
+   hi CursorColumn                ctermbg=236
+   hi ColorColumn                 ctermbg=236
+   hi LineNr          ctermfg=250 ctermbg=236
+   hi NonText         ctermfg=59
+
+   hi SpecialKey      ctermfg=59
+
+   if exists("g:rehash256") && g:rehash256 == 1
+       hi Normal       ctermfg=252 ctermbg=234
+       hi CursorLine               ctermbg=236   cterm=none
+       hi CursorLineNr ctermfg=208               cterm=none
+
+       hi Boolean         ctermfg=141
+       hi Character       ctermfg=222
+       hi Number          ctermfg=141
+       hi String          ctermfg=222
+       hi Conditional     ctermfg=197               cterm=bold
+       hi Constant        ctermfg=141               cterm=bold
+
+       hi DiffDelete      ctermfg=125 ctermbg=233
+
+       hi Directory       ctermfg=154               cterm=bold
+       hi Error           ctermfg=222 ctermbg=233
+       hi Exception       ctermfg=154               cterm=bold
+       hi Float           ctermfg=141
+       hi Function        ctermfg=154
+       hi Identifier      ctermfg=208
+
+       hi Keyword         ctermfg=197               cterm=bold
+       hi Operator        ctermfg=197
+       hi PreCondit       ctermfg=154               cterm=bold
+       hi PreProc         ctermfg=154
+       hi Repeat          ctermfg=197               cterm=bold
+
+       hi Statement       ctermfg=197               cterm=bold
+       hi Tag             ctermfg=197
+       hi Title           ctermfg=203
+       hi Visual                      ctermbg=238
+
+       hi Comment         ctermfg=244
+       hi LineNr          ctermfg=239 ctermbg=235
+       hi NonText         ctermfg=239
+       hi SpecialKey      ctermfg=239
+   endif
+end
+
+" Must be at the end, because of ctermbg=234 bug.
+" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
+set background=dark

+ 1 - 0
rpi/assets/vim/swp/.gitignore

@@ -0,0 +1 @@
+*.swp

+ 17 - 0
rpi/assets/vimrc

@@ -0,0 +1,17 @@
+filetype plugin on
+
+set encoding=utf-8
+set directory=~/.vim/swp
+
+" last known cursor position
+" autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
+
+" remove trailing whitespace
+autocmd BufWritePre * :%s/\s\+$//e
+
+syntax on
+set t_co=256
+let g:molokai_termcolors=256
+colorscheme molokai
+
+set number

+ 77 - 0
rpi/install.sh

@@ -0,0 +1,77 @@
+#!/bin/sh
+# author : bachir soussi chiadmi
+# date : 10/06/2016
+
+_cwd="$(pwd)"
+
+sudo pacman -Syyu
+sudo pacman -S --needed --noconfirm vim rsync wget tmux
+
+# vim
+echo 'vim configuration'
+sudo pacman -S --needed --noconfirm vim-{spell-fr,spell-en,nerdtree,supertab,systemd}
+cp $_cwp/assets/vim /home/$USER/.vim
+cp $_cwd/assets/vimrc /home/$USER/.vimrc
+sudo cp $_cwd/assets/vim /root/.vim
+sudo cp $_cwd/assets/vimrc /root/.vimrc
+
+# git
+echo 'Git Completion'
+sudo pacman -S --needed --noconfirm bash-completion
+sudo mkdir /etc/bash_completion.d
+sudo wget -O /etc/bash_completion.d/git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
+
+# yaourt
+sudo pacman -S --needed base-devel
+mkdir -p /home/$USER/build-repos
+wget -O /home/$USER/build-repos/package-query.tar.gz https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz
+wget -O /home/$USER/build-repos/yaourt.tar.gz https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz
+cd /home/$USER/build-repos
+tar -xvf package-query.tar.gz
+tar -xvf yaourt.tar.gz
+cd package-query
+makepkg -sri
+cd ../yaourt
+makepkg -sri
+echo "EDITFILES=1" >> ~/.yaourtrc
+echo "Yaourt install complete!"
+
+# bash & prompt
+echo 'Bash and Prompt (liquidprompt)'
+git clone https://github.com/nojhan/liquidprompt.git -o github /home/$USER/.liquidprompt
+cp $_cwd/assets/bash_profile /home/$USER/.bash_profile
+cp $_cwd/assets/bashrc /home/$USER/.bashrc
+mkdir /home/$USER/.config
+cp $_cwd/assets/config/liquipromptrc /home/$USER/.config/
+# sudo pacman -S --needed --noconfirm bash-completion
+source /home/$USER/.bashrc
+
+# candy
+echo 'ILoveCandy (pacman)'
+sudo sed -i.back 's/.*\[options\].*/&\nILoveCandy/' /etc/pacman.conf
+sudo sed -i.back 's/^#Color$/Color/' /etc/pacman.conf
+
+# avahi
+echo "install avahi"
+sudo pacman -S --needed --noconfirm avahi nss-mdns
+echo "configure avahi"
+sudo systemctl enable avahi-daemon
+sudo systemctl start avahi-deamon
+sudo sed -i.back 's/hosts: files dns myhostname/hosts: files mdns_minimal [NOTFOUND=return] dns myhostname/' /etc/nsswitch.conf
+
+# Camera
+echo "Camera Module"
+sudo sed -i.back 's/gpu_mem=.*$/gpu_mem=128\nstart_file=start_x.elf\nfixup_file=fixup_x.dat/' /etc/pacman.conf
+
+
+# gps cli
+sudo sed -i 's/console=ttyAMA0,115200//' /boot/cmdline.txt
+sudo sed -i 's/kgdboc=ttyAMA0,115200//' /boot/cmdline.txt
+sudo systemctl disable serial-getty@ttyAMA0.service
+sudo pacman -S --needed --noconfirm minicom gpsd
+#sudo systemctl stop gpsd.socket
+#sudo systemctl disable gpsd.socket
+sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
+
+
+# gps python