Acknowledgement
- Preface
The Pitch
- What do you mean, “development environment”?
Who is This Book For?
- What Technologies are Covered?
How to Read This Book
About the Author
What to Expect from this Book
Conventions Used
- Information
- Exercises
- Warning
- Tips
- Appetizer
Identifying your Motivation
- Find the Time
Mindfulness Applies Everywhere
- Profile Your Workflow
- On Premature Customization
Supercharging your Shell
- What’s a Shell?
- What’s a Shell Alias?
- Persisting Aliases
- When Aliases are Not Enough
- Aliases: A Case-Study
- Navigating the File System in Constant Time
- Adoption
- DRY your shell usage!
- Also Try
Version Control
- What’s a “Dotfile”?
- Considerations for Your
dotfilesRepository - Sensitive Information
- Links
Automating Environment Setup
- Shell Scripts
- A Step Up from Shell Scripts: Babushka
- Warning: Babushka is unsupported
- More Power: Ansible
- Making a Choice
- CI for Your Development Environment
- Main Course
Editors and IDEs: Choosing and Customizing
- Vim – Ultimate Editing Speed
edToday- Interactive Vim Tutorial
- Getting Help
- Emacs – Ultimate Customization
- Sublime Text – Immediately Cool
- Exploring New Software
- Atom – Like Sublime, Except
- JetBrains – The Big Guns (IntelliJ and friends)
- Making a Choice
Picking an Operating System
- macOS, the Safe Option
- Linux: Introduction and Context
- The Magical World of Linux Distributions
- Ubuntu: Beginner-Friendly and Stable
- Arch Linux: Minimal, Always Up to Date
- Linux: The Rest
Interlude: Finding Answers on the Internet
- Framing the Search Query
- Pinpointing the Actual Problem
- Beware the A-B Problem
- Asking Questions the Smart Way
- Evaluating and Using Answers
Terminal Emulators - What and Why
- macOS: Terminal and iTerm2
- Linux: Choices, Choices
- Notes on details of the script
- Interrogating Terminal Emulators for Features
- Conclusion
Command-Line Productivity
- Get the Most Out of Standard *nix Tools
- The Shiny, the Featureful, the Modern
- Advanced Shell Usage
- Dessert
- What’s a “symlink”?
- Anatomy of a Linux System
- What’s a TTY?
- Properly Trusting Messages with GPG
- That’s all he wrote