Initial commit
Signed-off-by: Alban VIDAL <alban.vidal@zordhak.fr>
This commit is contained in:
parent
117ba9c03c
commit
452a94b993
26
README.md
Normal file
26
README.md
Normal file
@ -0,0 +1,26 @@
|
||||
Basic config for Debian
|
||||
=======================
|
||||
|
||||
This script configure basic config for Debian
|
||||
|
||||
The following component are configured:
|
||||
|
||||
+ Install git and tig
|
||||
+ Set git username and email
|
||||
+ Install bash-completion
|
||||
+ Install and configure auto updates (unattended-upgrades and apt-listchanges
|
||||
+ Install and tune logrotate
|
||||
+ Disable IPv6
|
||||
+ Tune .vimrc
|
||||
+ Tune .bashrc
|
||||
+ Tune .profile
|
||||
|
||||
You just need to clone this repository in /srv/git/basic_config_debian and execute the auto_config.sh script
|
||||
|
||||
```bash
|
||||
apt install git
|
||||
mkdir -p /srv/git
|
||||
git clone https://github.com/AlbanVidal/basic_config_debian.git /srv/git/basic_config_debian
|
||||
cd /srv/git/basic_config_debian
|
||||
./auto_config.sh
|
||||
```
|
78
auto_config.sh
Executable file
78
auto_config.sh
Executable file
@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# BSD 3-Clause License
|
||||
#
|
||||
# Copyright (c) 2018, Alban Vidal <alban.vidal@zordhak.fr>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# * Neither the name of the copyright holder nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
################################################################################
|
||||
|
||||
# Install the packages
|
||||
apt-get -y install -y git tig bash-completion unattended-upgrades apt-listchanges logrotate
|
||||
|
||||
# Configure auto updates
|
||||
sed -i \
|
||||
-e 's#^//Unattended-Upgrade::Mail .*#Unattended-Upgrade::Mail "unattended@zordhak.fr";#' \
|
||||
-e 's#^//Unattended-Upgrade::MailOnlyOnError .*#Unattended-Upgrade::MailOnlyOnError "true";#' \
|
||||
/etc/apt/apt.conf.d/50unattended-upgrades
|
||||
|
||||
# Git global username and email
|
||||
read -p "Git username: " GIT_USERNAME
|
||||
read -p "Git email: " GIT_EMAIL
|
||||
|
||||
git config --global user.name "$GIT_USERNAME"
|
||||
git config --global user.email "$GIT_EMAIL"
|
||||
|
||||
## Symbolic links
|
||||
# Bashrc
|
||||
ln -sf /srv/git/basic_config_debian/root/.bashrc /root/
|
||||
# Profile
|
||||
ln -sf /srv/git/basic_config_debian/root/.profile /root/
|
||||
mkdir -p /root/.profile.d
|
||||
ln -sf /srv/git/basic_config_debian/root/.profile.d/00_connexion_info.conf /root/.profile.d/
|
||||
# vimrc
|
||||
ln -sf /srv/git/basic_config_debian/root/.vimrc /root/
|
||||
|
||||
## Tune logrotate
|
||||
# Fix logrotate bug
|
||||
cat << EOF > /etc/cron.daily/logrotate
|
||||
#!/bin/sh
|
||||
test -x /usr/sbin/logrotate || exit 0
|
||||
/usr/sbin/logrotate -f /etc/logrotate.conf
|
||||
EOF
|
||||
# Disable delaycompress
|
||||
sed -i 's/.*delaycompress/#&/' /etc/logrotate.d/*
|
||||
|
||||
# Disable IPv6
|
||||
cat << EOF > /etc/sysctl.d/98-disable-ipv6.conf
|
||||
# Disable ipv6 on all connexion
|
||||
net.ipv6.conf.all.disable_ipv6 = 1
|
||||
EOF
|
||||
sysctl -p
|
||||
|
43
root/.bashrc
Normal file
43
root/.bashrc
Normal file
@ -0,0 +1,43 @@
|
||||
# If .bashrc.d directory exist, load .conf files
|
||||
if [ -f ~/.bashrc.d/*.conf ]; then
|
||||
for bashrc_d_file in ~/.bashrc.d/*.conf ; do
|
||||
. $bashrc_d_file
|
||||
done
|
||||
fi
|
||||
|
||||
# alias
|
||||
export LS_OPTIONS='--color=auto'
|
||||
alias ls='ls -h'
|
||||
alias ll='ls -lh'
|
||||
alias l='ls -lAh'
|
||||
|
||||
alias rm='rm -i'
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
|
||||
# Journalctl :
|
||||
alias jf="journalctl -f"
|
||||
|
||||
# Git :
|
||||
alias ggb="cd /srv/git/basic_config_debian"
|
||||
alias gs="git status"
|
||||
alias gd="git diff"
|
||||
alias ga="git add"
|
||||
alias gb="git branch"
|
||||
alias gc="git commit"
|
||||
alias gca="git commit -v -a"
|
||||
alias gcam="git commit --amend -v"
|
||||
alias gp="git push origin master"
|
||||
alias gl="git log"
|
||||
alias gll="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
|
||||
|
||||
# PS1
|
||||
export PS1="\[\033]0;\u@\h - \w\007\]\[\e[32m\]root@\h\[\e[0m\] [\[\e[0m\]\t\[\e[0m\]][\[\e[34m\]\w\[\e[0m\]]$ "
|
||||
|
||||
# History format
|
||||
HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '
|
||||
|
20
root/.profile
Normal file
20
root/.profile
Normal file
@ -0,0 +1,20 @@
|
||||
# ~/.profile: executed by Bourne-compatible login shells.
|
||||
if [ "$BASH" ]; then
|
||||
if [ -f ~/.bashrc ]; then
|
||||
. ~/.bashrc
|
||||
fi
|
||||
fi
|
||||
|
||||
mesg n
|
||||
|
||||
################################################################################
|
||||
# My conf
|
||||
|
||||
# if .profile.d directory exist, load .conf files
|
||||
if [ -f ~/.profile.d/*.conf ] ;then
|
||||
for profile_d_file in /root/.profile.d/*.conf
|
||||
do
|
||||
. $profile_d_file
|
||||
done
|
||||
fi
|
||||
|
1
root/.profile.d/00_stats_connexion.conf
Normal file
1
root/.profile.d/00_stats_connexion.conf
Normal file
@ -0,0 +1 @@
|
||||
echo TODO
|
36
root/.vimrc
Normal file
36
root/.vimrc
Normal file
@ -0,0 +1,36 @@
|
||||
" Activation de la colorisation syntaxique :
|
||||
syntax on
|
||||
"
|
||||
" Gestion de la casse pour les recherches «/ »
|
||||
"« set ignorecase » for case-insensitive searching
|
||||
"« set smartcase » which will automatically switch to a case-sensitive search if you use any capital letters
|
||||
"set smartcase
|
||||
set ignorecase
|
||||
"
|
||||
" thèmes de couleurs :
|
||||
"colorscheme koehler
|
||||
colorscheme pablo
|
||||
"
|
||||
" (et) activer le remplacement des tabulations par des espaces :
|
||||
set expandtab " (et) expand tabs to spaces (use :retab to redo entire file)
|
||||
"
|
||||
" (ts) nombre d'espace qui seront générés lors de l'appuie de la touche <tab> :
|
||||
set tabstop=4 " (ts) width (in spaces) that a <tab> is displayed as
|
||||
"
|
||||
" (sw) nombre d'espaces utilisés pour l'auto indentation :
|
||||
set shiftwidth=4 " (sw) width (in spaces) used in each step of autoindent (aswell as << and >>)
|
||||
"
|
||||
" Permet de prendre en compte les lignes du type suivant pour surcharger le conf vim
|
||||
" # vim: syntax=sh ts=4 sw=4 sts=4
|
||||
" http://vim.wikia.com/wiki/Modeline_magic
|
||||
set modeline
|
||||
"
|
||||
" mettre surbrillance les résultats de la recherche
|
||||
set hlsearch
|
||||
"
|
||||
" Permet de retourner a la dernière ligne lue dans un fichier
|
||||
if has("autocmd")
|
||||
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
|
||||
\| exe "normal! g'\"" | endif
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user