L'installation d'une nouvelle machine peut souvent être une perspective excitante. Cependant, en tant que développeurs, nous avons besoin de nombreux outils qui ne sont pas fournis en standard..
Dans cet article, j'aimerais vous présenter certaines des techniques que j'utilise pour configurer ma machine rapidement, efficacement et avec des super pouvoirs supplémentaires..
Après avoir lu cet article, vous devriez pouvoir effectuer les tâches suivantes:
Avant de commencer, vous devez comprendre Git et utiliser la ligne de commande. Si vous n’êtes pas sûr de ce qu’il s’agit, je vous conseillerais d’abord de regarder par dessus:
Et si vous pouviez styler le terminal, accélérer la vitesse de Mission Control, exécuter g
au lieu de git
, avoir languette
autocomplete quel que soit le nom du fichier, recherchez des mises à jour logicielles quotidiennement, pas seulement une fois par semaine? Et si vous pouviez automatiser la configuration de toutes ces fonctionnalités avec un seul script? Ça sonne bien? Alors ce post est pour vous.
À bien des égards, l'installation d'une nouvelle machine dépend beaucoup de vos préférences personnelles. Je suis toujours en train de refacturer et de réévaluer et je vous conseillerais de faire de même. Découvrez ce qui vous convient le mieux et partagez vos connaissances.
TL; DR: Investissez du temps en apprenant à configurer votre machine et à automatiser des processus, vous obtiendrez dix fois ce temps.
Dotfiles, ainsi appelé parce que le nom du fichier commence par un .
se trouvent dans le répertoire personnel de l'utilisateur. Ces fichiers sont créés lors de l'installation et de la configuration de votre machine. Je considère chaque fichier de points comme un super-héros, chacun contenant ses propres super pouvoirs. Je vais passer en revue chaque fichier de points de super-héros et les pouvoirs qui s'y trouvent. Mais d'abord…
Il y a beaucoup à dire sur la génialité des fichiers de points, la configuration automatique des configurations et l'accélération des processus. Il peut être tentant de cloner un référentiel et d'exécuter immédiatement des fichiers dot, mais je vous le déconseille, car le résultat peut avoir des résultats indésirables..
Tout d’abord, je recommanderais de cloner certains référentiels de fichiers de points existants. Cela vous permettra de commencer à comprendre la structure du fichier et à avoir une vue d'ensemble du code. Vous trouverez ci-dessous les dépôts GitHub de certains des meilleurs développeurs ayant partagé leurs fichiers dot:
Cela peut paraître intimidant au premier abord, mais ne paniquez pas, je vais passer en revue chaque fichier de points que j'utilise lors de la configuration d'une nouvelle machine. Après avoir lu cet article, lorsque vous aurez une meilleure compréhension de chaque fichier et de ce qu’il peut faire, je vous recommande de créer votre propre référentiel et de tirer parti des fichiers de points existants pour le construire. Vous pouvez ensuite ajouter les fichiers et le code correspondant à vos besoins..
Comme les gens appellent généralement leur repo dotfiles fichiers de points
Je configure la structure du dossier comme suit:
└── fichiers de points mathias fichiers de points ├── LICENSE-MIT.txt README.md par bin bash -> / usr / local / Cellar / bash /4.2.45/bin/bash │ httpcompression └── subl -> / Applications / Sublime \ Text \ 3.app/Contents/SharedSupport/bin/subl │ bootstrap.sh └─ ─ init │ └── Mathias.terminal paulirish dotfiles README.md bin │ github-email │ └── spot │ ├── install- deps.sh de sync.sh de simonowendesign, de fichiers de points, de bootstrap.sh, d'initialisation, de Mathias.terminal, de SolarizedDark.terminal, d'installation-deps.sh └── readme.md
Ici, je configure un dossier principal appelé dotfiles, puis un dossier avec le nom d'utilisateur et ensuite le référentiel. La raison pour laquelle je recommande de le configurer comme ceci est pour éviter toute confusion. Une partie du code est assez similaire, donc je trouve utile de voir facilement le code que je regarde. Par exemple, si j'avais quatre référents ou plus, tous nommés «fichiers de points», ce processus serait beaucoup plus difficile..
Vous voulez savoir comment je génère la structure de dossiers comme ça? J'ai utilisé cette chose géniale appelée arbre
, installé dans le .brasser
fichier.
Casser chaque fichier et regarder ce qui se passe.
Les fichiers de points sont divisés en deux types principaux. Ceux qui contiennent un ensemble de commandes et ne s'exécutent qu'une fois, .osx
par exemple, lance une liste de commandes et donne à OS X des super pouvoirs. D'autres fichiers tels que .bash_profile
et .bashrc
exécutez chaque fois que vous ouvrez une nouvelle session de terminal et donnez à votre terminal des super pouvoirs.
Voici un aperçu des fichiers de points dans mon dépôt et une description de ce qu'ils peuvent faire..
C'est mieux de lancer ça en premier. Une fois qu'il vérifie que Homebrew
est à jour, il sera utilisé pour installer des outils utiles tels que arbre
.
brasser installer arbre
Plutôt que de devoir accéder à un site et télécharger une application, il est également possible d’automatiser l’installation de certaines applications à l’aide de brassin de bière
, tel que:
installation du fût de bière installation du fût de bière Dropbox installer google-chrome
Ce fichier est comme tourner la clé dans une voiture pour démarrer le moteur.
Une fois exécuté, il synchronisera le référentiel local et celui de GitHub, puis copiera ces fichiers dans votre dossier personnel, en remplaçant les fichiers existants, le cas échéant..
Par conséquent, avant de courir bootstrap.sh
C'est une bonne idée de sauvegarder vos fichiers dot existants et de les sauvegarder ailleurs. Un raccourci pratique pour accéder à vos fichiers de points dans le Finder est le suivant:
Recherche> Cmd + Maj + g> ~
J'utilise une application appelée TotalFinder, qui ajoute quelques fonctionnalités intéressantes au Finder. Fenêtres à onglets et un raccourci pour afficher et masquer les fichiers cachés, par exemple, je trouve très utile.
Dans bootstrap.sh
vous remarquerez source ~ / .bash_profile
. Cela signifie que si vous exécutez bootstrap.sh
et que toutes les fenêtres du terminal soient ouvertes, vos nouveaux paramètres seront appliqués sans qu'il soit nécessaire de les redémarrer..
Lorsque vous ouvrez une nouvelle session Terminal, ce fichier est chargé par Bash. Il se charge dans les autres fichiers dot chemin, bash_prompt, exports, alias, fonctions, extra
et configure certains paramètres utiles tels que la correction automatique des fautes de frappe lors de l'utilisation CD
achèvement.
Dans certains cas .bashrc
peut être chargé, donc ce fichier fait en sorte que .bash_profile
est appelé.
J'aime mon terminal propre et sans encombrement, donc je choisis de ne pas afficher le nom d'utilisateur / nom d'ordinateur en haut par défaut avec ce fichier.
Ce fichier accélère le processus d’exécution des fichiers exécutables. Plutôt que de devoir CD
dans les divers chemins d'accès aux fichiers exécutables, vous pouvez définir les chemins de fichiers dans votre .chemin
dotilfe, puis exécutez les fichiers exécutables directement.
Généralement, ce fichier n'est pas dans le dépôt public car il peut contenir des informations sensibles.
Voici un exemple de fichier ~ / .path qui ajoute ~ / utils au $ PATH:
export PATH = "$ HOME / utils: $ PATH"
En utilisant ce fichier, vous pouvez personnaliser et définir les différentes couleurs de votre invite Bash..
Définit les variables d'environnement, telles que définir Vim comme éditeur par défaut à l'aide de export EDITOR = "vim"
. Cela augmente également la quantité d’historique sauvegardée, ce qui est utile pour revenir sur les commandes précédentes que vous avez utilisées..
Ce fichier contient des alias utiles pour vous aider à écrire moins. Par exemple, au lieu de taper 'CD…
"vous pouvez le définir ici pour être"…
'. Vous commencez à aimer ces fichiers? :)
Similaire aux alias, sauf que les fonctions peuvent prendre des arguments.
Avant, quand j’ai mentionné que j’étais en train de regarder par-dessus différents dépôts de fichiers, je mkdir
créer un répertoire. Après cela, je devrais alors CD
dans ce répertoire.
Un exemple de fonction que je trouve utile est:
# Créez un nouveau répertoire et entrez la fonction mkd () mkdir -p "$ @" && cd "$ @"
Maintenant vous pouvez simplement faire mkd
. Maintenant, non seulement vous avez créé le répertoire, vous y êtes également.
Ce fichier est utilisé pour l'ajout de vos informations personnelles et n'est pas ajouté à votre référentiel afin de vous assurer que quelqu'un ne créera pas accidentellement votre projet puis ne commencera pas à valider vos informations. Quelque chose de bien à ajouter ici serait vos références Git.
Ce fichier n’est utilisé que par Git, par exemple, lorsqu’un git
La commande est appelée. Donc, bien qu'il y ait un .alias
fichier, ces alias sont exécutés directement.
Dans .alias
j'ai g
mis à git
et en .gitconfig
, s
mis à status -s
.
Maintenant au lieu de courir:
git status -s
Je peux simplement courir:
g s
Définissez les fichiers que vous souhaitez que Git ignore sur l’ensemble du système. Oui, pas plus .DS_Store
être commis accidentellement!
Un petit fichier qui améliore la lisibilité pour Gvim
.
Simliar à .gitignore
pour Mercurial.
Dans certains cas, par exemple, lorsque vous ssh
dans une machine, un message peut vous être présenté. Cela pourrait ressembler à quelque chose comme ça:
_ | | _ __ ___ _ _ _ ___ ___ ___ | | ___ ___ _ ____ _____ _ __ | '_' _ \ | | | | / __ / _ \ / _ \ | | / __ | / _ \ '__ \ \ / / _ \' __ | | | | | | | | _ | | | (_ | (_) | (_) | | \ __ \ __ / | \ V / __ / | | _ | | _ | | _ | \ __, | \ ___ \ ___ / \ ___ / | _ | | | | / \ ___ | _ | \ _ / \ ___ | _ | __ / | | ___ / Bienvenue sur mon super serveur. Toute activité malveillante et / ou non autorisée est strictement interdite. Toute activité peut être enregistrée.
Ce fichier empêche que ceci soit affiché.
Configure l'environnement 'Readline'. Ceci contrôle le fonctionnement des touches lorsque vous entrez une commande dans votre shell.
Un exemple de la façon dont je trouve cela utile est de faire languette
autocomplete quel que soit le nom du fichier:
définir la complétion-ignorer-la casse
Ceci est mon préféré de tous les fichiers de points. Il est exécuté une fois, manuellement, pour que les commandes soient exécutées et prennent effet. Selon ce que vous avez ajouté à ce fichier, vous devrez peut-être redémarrer votre ordinateur..
Certaines des choses impressionnantes que j'aime sont:
Si tu utilises écran
, cela supprime le message de démarrage.
Je ne suis pas si familier avec vim
. Cependant, certaines des choses que vous pouvez faire avec ce fichier incluent l’activation des numéros de ligne et l’ajout de la coloration syntaxique..
Cela me semble être une bonne idée :)
Si tu utilises wget
, Cela ajoute des paramètres supplémentaires tels que la modification du délai d'attente à 60 secondes au lieu des 15 minutes par défaut. Il définit également le nombre de tentatives à trois, plutôt que le paramètre par défaut.!
À ce stade, j'ai examiné tous les fichiers et je suis à un stade où je suis content de tout dans mon référant. Tout ce dont je n'étais pas sûr a été commenté.
Maintenant la partie excitante! En l'état actuel des choses, nous avons les fichiers de points dans un repo mais nous devons les mettre au bon endroit pour pouvoir les trouver et les utiliser..
Pensez-y comme ceci: nous avons Thor's Hammer, Batman's Utility Belt, Captain America's Shield et Iron Man's Suit. Tous nos héros savent comment les utiliser, mais sans eux, ils sont perdus! Nous devons donner à nos super-héros leurs armes pour qu'ils puissent les utiliser.
Pour ce faire (avec mes fichiers de points existants sauvegardés et mon référentiel à jour), ouvrez votre terminal, CD
à la repo et courir
source bootstrap.sh
Suivant, CD
à ~
et courir:
source .osx
Redémarrage rapide et… Génial, les super pouvoirs sont maintenant disponibles!!!
Passez-vous beaucoup de temps à faire des choses comme ça?
cd this / is / the / path / that / i / wanna / so / i / tapez / it / all / out / to / get / whereiwant
Et si au lieu de cela, vous pouviez simplement faire ceci:
z oùiwant
Oui s'il vous plaît. Merci https://github.com/rupa/z.
Pour ajouter ceci, dans .bash_profile
J'ai apporté le changement suivant:
# init z https://github.com/rupa/z. ~ / z / z.sh
Et aussi dans install-deps.sh
:
cd git clone https://github.com/rupa/z.git chmod + x ~ / z / z.sh
Lorsque vous exécutez vos fichiers de points pour la première fois, vous constaterez peut-être que vous n'aimez pas un morceau de code exécuté. Par exemple, dans le .osx
fichier, je n'aimais pas trop ce que faisait le code suivant:
Les valeurs par défaut écrivent com.apple.dock showhidden -bool true
Ce code a changé l'opacité sur les applications cachées dans le dock.
Pour rétablir simplement ce comportement à son état par défaut, j'ai simplement exécuté à nouveau la commande, cette fois en modifiant vrai
à faux
, comme tel:
par défaut, écrivez com.apple.dock showhidden -bool false
Cela rétablit sa valeur par défaut.
Avec la plupart des commandes, il est assez évident de revenir en arrière en changeant simplement vrai
à faux
ou vice versa. Avec d'autres, il est possible de rétablir les valeurs par défaut en utilisant valeurs par défaut supprimer
, par exemple, valeurs par défaut delete NSGlobalDomain AppleHighlightColor
. Dans certains cas, vous devrez peut-être également redémarrer la machine..
Maintenant, ceci est pour le maître de fichier de points plus avancé. Au fur et à mesure que vous gagnerez en connaissances et en confiance en utilisant dotfiles, vous voudrez peut-être inclure votre propre code.
Sur un nouvel ordinateur, si vous modifiez manuellement les paramètres, ceux-ci seraient mieux automatisés..
Ajouter votre propre .osx
les commandes peuvent être un peu délicates!
Mais généralement, c’est un bon point de départ:
lecture par défaut> a
lecture par défaut> b
diff a b
Cela crée un fichier appelé une
et b
puis affiche la différence entre eux, avec cette connaissance, vous pouvez ensuite ouvrir le fichier b
Dans Sublime Text 2, recherchez le bit qui a changé et essayez de trouver la commande pour le changer. Si vous essayez cette méthode, bonne chance!
Alors là vous l'avez! Allez-y, amusez-vous avec les fichiers de points, attendez avec impatience de donner à votre machine des super pouvoirs et la prochaine fois que vous aurez besoin de configurer une machine à partir de zéro, vous pourrez sourire tout le processus automatisé.
Merci beaucoup pour votre visite, veuillez commenter ci-dessous si vous avez des questions ou des suggestions..
Je suis particulièrement intéressé de voir le vôtre .fichiers de points
Repo et tous les nouveaux ajouts que vous faites, alors n'hésitez pas à ajouter un lien vers votre repo dotfiles dans les commentaires ci-dessous.
Cet article de blog n'aurait pas été possible sans l'aide merveilleuse de la communauté, en particulier grâce à @mathias, @paul_irish, @reybango et @AndrewPerkins.