diff --git a/rpi/README.md b/rpi/README.md index 9558f41..a794683 100644 --- a/rpi/README.md +++ b/rpi/README.md @@ -11,15 +11,18 @@ 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 - -make updates : ```pacman -Syyu``` - -generate the locale : https://wiki.archlinux.org/index.php/Locale#Generating_locales - -install git vim rsync : ```pacman -S git vim rsync``` - +install git : ```pacman -S vim rsync``` clone this repos : ```git clone -o guime https://g-u-i.me/gogs/bachir/hehe-rover.git ``` +run rpi/install.sh with sudo + +### what install is doing + +- generate the locale : https://wiki.archlinux.org/index.php/Locale#Generating_locales +- make updates : ```pacman -Syyu``` +- install vim rsync : ```pacman -S vim rsync``` + + ## camera module https://wiki.archlinux.org/index.php/Raspberry_Pi#Raspberry_Pi_camera_module diff --git a/rpi/assets/bash_profile b/rpi/assets/bash_profile new file mode 100755 index 0000000..5545f00 --- /dev/null +++ b/rpi/assets/bash_profile @@ -0,0 +1,5 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/rpi/assets/bashrc b/rpi/assets/bashrc new file mode 100644 index 0000000..845b777 --- /dev/null +++ b/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 diff --git a/rpi/assets/config/liquidpromptrc b/rpi/assets/config/liquidpromptrc new file mode 100644 index 0000000..0cd849d --- /dev/null +++ b/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 diff --git a/rpi/assets/vim/colors/molokai.vim b/rpi/assets/vim/colors/molokai.vim new file mode 100644 index 0000000..6d97053 --- /dev/null +++ b/rpi/assets/vim/colors/molokai.vim @@ -0,0 +1,276 @@ +" Vim color file +" +" Author: Tomas Restrepo +" 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 diff --git a/rpi/assets/vim/swp/.gitignore b/rpi/assets/vim/swp/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/rpi/assets/vim/swp/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/rpi/assets/vimrc b/rpi/assets/vimrc new file mode 100644 index 0000000..964d7ba --- /dev/null +++ b/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 diff --git a/rpi/install.sh b/rpi/install.sh new file mode 100755 index 0000000..057ff90 --- /dev/null +++ b/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