Skip to content

Instantly share code, notes, and snippets.

@yoanmalie
Last active August 4, 2017 11:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yoanmalie/dd13a6583ae4bcf258ad1a600b79e98d to your computer and use it in GitHub Desktop.
Save yoanmalie/dd13a6583ae4bcf258ad1a600b79e98d to your computer and use it in GitHub Desktop.
#!/bin/sh
# Testé pour Ubuntu 16.04
# Tuto KGAUT
# Essayer de l'automatiser au max
# - https://kgaut.net/journal/bien-commencer-le-developpement-php-sous-ubuntu.html
# - https://kgaut.net/journal/creer-son-premier-virtual-host-sous-ubuntu.html
# - https://kgaut.net/journal/installer-et-faire-fonctionner-phpmyadmin-sur-ubuntu-1604.html
# Recherche de mises à jours des packages natif
sudo apt-get update && sudo apt-get upgrade -y
# Création d'un point de restauration clean
dpkg --get-selections > point-restauration_$(date +'%d-%m-%Y_%Hh%M').txt
# Ajout de dépôts
sudo apt-add-repository ppa:git-core/ppa -y
sudo apt-add-repository ppa:nijel/phpmyadmin -y
sudo apt-get update
# Installations des packages (git -v)
sudo apt-get install curl git gitk git-gui aspell-fr dnsmasq lamp-server^ zsh phpmyadmin php-mbstring php-gettext php-curl php-sqlite3
# Sublime Text 3 (cherche le dernier build)
ST_BUILD=$(
curl -Ls http://www.sublimetext.com/3 |
grep '<h2>Build' |
head -n1 |
sed -E 's#<h2>Build ([0-9]+)</h2>#\1#g'
)
ST_URL_FORMAT='https://download.sublimetext.com/sublime-text_build-%d_amd64.deb';
ST_URL=$(printf "${ST_URL_FORMAT}" "${ST_BUILD}")
ST_FILE=`mktemp`;
wget "$ST_URL" -qO $ST_FILE && sudo dpkg -i $ST_FILE; rm $ST_FILE
echo "Sublime Text 3 build: ${ST_BUILD}";
# Google Chrome
GC_URL='https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb';
GC_FILE=`mktemp`;
sudo apt-get install libxss1 libappindicator1 libindicator7
wget "$GC_URL" -qO $GC_FILE && sudo dpkg -i $GC_FILE; rm $GC_FILE
# NodeJS & NPM (node -v / npm -v)
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
# Composer (composer -V)
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer.phar
alias composer='/usr/local/bin/composer.phar'
# ZSH (zsh --version)
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# WP CLI (wp --info)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
# Modules PHP
sudo a2enmod rewrite
sudo service apache2 restart
# Config DNSmasq
sudo touch /etc/dnsmasq.d/my-dev
sudo echo "address=/dev/127.0.0.1" > /etc/dnsmasq.d/my-dev
sudo service dnsmasq restart
# Raccourcis
# La touche F12 ouvre un terminal pointé sur le chemin actuel (Un redemarrage de la machine est nécessaire)
echo '(gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "F12")' >> ~/.config/nautilus/accels
# Choix de la liste des raccourcis dans Unity Launcher
gsettings set com.canonical.Unity.Launcher favorites "['application://ubiquity.desktop', 'application://org.gnome.Nautilus.desktop', 'application://gnome-terminal.desktop', 'application://firefox.desktop', 'application://google-chrome.desktop', 'application://sublime_text.desktop', 'unity://running-apps', 'application://unity-control-center.desktop', 'unity://expo-icon', 'unity://devices']"
# Supprime les suggestions commerciale dans la recherche
gsettings set com.canonical.Unity.Lenses remote-content-search 'none'
# Éteindre l'écran après x secondes d'inactivités
gsettings set org.gnome.desktop.session idle-delay 1800
# Vérouiller l'écran x secondes après l'avoir éteint (0 = de suite après)
gsettings set org.gnome.desktop.screensaver lock-delay 0
# Désactive les bords collants
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-capture-mouse false
# Affiche le jour de la semaine dans la date de l'indicateur d'Unity
gsettings set com.canonical.indicator.datetime show-day true
# Affiche le jour et le mois dans la date de l'indicateur d'Unity
gsettings set com.canonical.indicator.datetime show-date true
# Affiche les secondes dans la date de l'indicateur d'Unity (Pour le Slack preum's !)
gsettings set com.canonical.indicator.datetime show-seconds true
# Affiche le numéro de la semaine dans le calendrier de l'indicateur d'Unity
gsettings set com.canonical.indicator.datetime show-week-numbers true
# Affiche le nom d'utilisateur dans l'indicateur d'Unity
gsettings set com.canonical.indicator.session show-real-name-on-panel true
# Affiche "Redémarrer.." dans le menu de session dans l'indicateur d'Unity
gsettings set com.canonical.indicator.session force-restart-menuitem true
# Supprime le raccourci "Exemples" dans le dossier home
unlink ~/examples.desktop
# Installation de tasks runners en global (gulp -v / grunt -V)
sudo npm install gulp grunt -g
# Création du dossier des projets dans la home
mkdir ~/Projets
# Ajout du dossier des projets dans les signets
echo "file:///home/$USER/Projets" >> ~/.config/gtk-3.0/bookmarks
# Installation de gems Ruby
sudo gem install scss_lint
# Installe Package Control pour Sublime Text
wget "https://packagecontrol.io/Package%20Control.sublime-package" -P ~/.config/sublime-text-3/"Installed Packages"
@yoanmalie
Copy link
Author

yoanmalie commented Oct 6, 2016

TODO:

  • Désactiver l'envoie de données automatique à Canonical (voir screen, seconde case). Une discussion récente ici ;
  • Mettre un avatar pour la session d'utilisateur. Peut-être comme ça si y'a pas mieux ;
  • Se renseigner pour la synchronisation des fichiers de préférences (Alias Bash, config Git, Sublime Text, ...). BtSync et Syncthing requièrent un NAS pour être à l'aise. ;
  • Cloner les repos privé en les plaçant ou il faut (scripts bash, et peut-être quelques projets) ;
  • Informer sur le déroulement du setup en cours et utiliser des couleurs si besoin ;
  • Remettre un peu d'ordre.

Toute action nécessitant un humain devraient être exécuter soit au début soit à la fin, pas n'importe quand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment