This is my dotfiles repo. You're welcome to use it, but I would highly recommend setting up an environment that is tailored for yourself. To build this, I borrowed from a lot of different repos and did a lot of tweaking. I'd recommend you do the same.
I especially recommend against copying anything that configures vim or tmux. I've been experimenting with these but have not landed on something I'm super happy with.
I don't know what the typical setup is and I'm sure I could improve on this, but here's a short explanation of what the files included are:
install.sh: This runs all of the install scripts ininstall-scripts/brew-list.sh: Generates the list of stuff in my Brewfile for the readmeBrewfile: All my Brew stuffapps/: Config for various applications that isn't well represented by dotfile stuffbin/: Intentionally left empty and gitignored, I have some private scripts in therehome/: Everything in here gets symlinked into~install-scripts: Various scripts to get my environment up and running
This contains some basic AWS config for the official AWS CLI.
ls: Aliased to the excellentexaaliases: Prints out all aliases and functionsapk-version: Reads the version number of an APK located at $APK_DIR/android-release.apkpoint-master: Runs git fetch and then checks out the head commit. I only use this for submodulesipl: Runyarn installwithout touching the lockfilebuild-android: Just an easy alias to clean + build Android projectss:git statusd:git diffless: Less, but with syntax highlightingmore:lesshcat: Cat, but with syntax highlightingag: Make ag include ~/.ignore by defaultJ: Pipe something tojq. Example:cat thing.json J
This is just some basic environment setup and stuff that I didn't want to stick elsewhere.
android-version: Prints the version of an APK at the specified pathctx: Without a parameter provided, lists kubectl contexts. With a parameter provided, switches to that context.reload-zsh: Clears all functions/aliases and then sources .zshrcfh: Fuzzy search of recent command history, selecting one loads it into the promptfcoFuzzy search of git branches and tags, selecting one checks it outfshow: Fuzzy search of git logs
Mostly only useful for the aliases:
git graph: Git logs output as a colorful graphgit rbc:git rebase --continuegit co:git checkoutgit ec:git config --global -e(opens the config file to be edited)git ds:git diff --stagedgit local-branches: Prints a list of branches that have not been pushedgit cp:git cherry-pickgit cpc:git cherry-pick --continuegit cpa:git cherry-pick --abortgit smu:git submodule updategit smui:git submodule update --initgit smuir:git submodule update --init --recursivegit logs: Git logs in the format I prefer reading themgit ptags:git push && git push --tagsgit fetch-master: Does the same thing as thepoint-masterfrom.aliasesgit cm:git commit -m
These are just functions specific to Taskwarrior that I wanted to separate out.
Here's an auto-generated list of the stuff in my Brewfile. I haven't figured out how to parse out casks or mas installs.
asciinema: Record and share terminal sessionsautomake: Tool for generating GNU Standards-compliant Makefilesawscli: Official Amazon AWS command-line interfacebat: Clone of cat(1) with syntax highlighting and Git integrationbazel: Google's own build toolboost: Collection of portable C++ source librariesbroot: New way to see and navigate directory treesbuku: Powerful command-line bookmark managercarthage: Decentralized dependency manager for Cocoaceres-solver: C++ library for large-scale optimizationcgal: Computational Geometry Algorithms Librarycheat: Create and view interactive cheat sheets for *nix commandscmake: Cross-platform makecocoapods: Dependency manager for Cocoa projectscoreutils: GNU File, Shell, and Text utilitiesdesk: Lightweight workspace manager for the shelldex2jar: Tools to work with Android .dex and Java .class filesdiff-so-fancy: Good-lookin' diffs with diff-highlight and moredive: A tool for exploring each layer in a docker imagedocker-clean: Clean Docker containers, images, networks, and volumeseigen: C++ template library for linear algebraelixir: Functional metaprogramming aware language built on Erlang VMentr: Run arbitrary commands when files changeerlang: Programming language for highly scalable real-time systemsexa: Modern replacement for 'ls'exiftool: Perl lib for reading and writing EXIF metadatafastlane: Easiest way to build and release mobile appsfd: Simple, fast and user-friendly alternative to findffmpeg: Play, record, convert, and stream audio and videofpp: CLI program that accepts piped input and presents files for selectionfzf: Command-line fuzzy finder written in Gogawk: GNU awk utilitygdal: Geospatial Data Abstraction Librarygeos: Geometry Enginegit: Distributed revision control systemgit-delta: A viewer for git and diff outputgit-lfs: Git extension for versioning large filesgit-madge: Git-aware madge wrapperglances: Alternative to top/htopglew: OpenGL Extension Wrangler Libraryglfw: Multi-platform library for OpenGL applicationsglslviewer: Live-coding console tool that renders GLSL Shadersgmp: GNU multiple precision arithmetic librarygnupg: GNU Pretty Good Privacy (PGP) packagego: Open source programming language to build simple/reliable/efficient softwaregotop: A terminal based graphical activity monitor inspired by gtop and vtopgource: Version Control Visualization Toolgradle: Open-source build automation tool based on the Groovy and Kotlin DSLgraphicsmagick: Image processing tools collectiongraphviz: Graph visualization software from AT&T and Bell Labsgrip: GitHub Markdown previewergsettings-desktop-schemas: GSettings schemas for desktop componentsgtk+3: Toolkit for creating graphical user interfaceshexyl: Command-line hex viewerhighlight: Convert source code to formatted text with syntax highlightinghtml-xml-utils: Tools for manipulating HTML and XML fileshttpie: User-friendly cURL replacement (command-line HTTP client)hub: Add GitHub support to git on the command-lineideviceinstaller: Tool for managing apps on iOS devicesimagemagick: Tools and libraries to manipulate images in many formatsinfer: Static analyzer for Java, C, C++, and Objective-Cios-deploy: Install and debug iPhone apps from the command-lineios-webkit-debug-proxy: DevTools proxy for iOS devicesirssi: Modular IRC clientjpeg: Image manipulation libraryjq: Lightweight and flexible command-line JSON processorktlint: Kotlin linterkubernetes-cli: Kubernetes command-line interfacelame: High quality MPEG Audio Layer III (MP3) encoderlibimobiledevice: Library to communicate with iOS devices nativelylibomp: LLVM's OpenMP runtime librarylibpq: Postgres C API librarylibxml2: GNOME XML librarylibyaml: YAML Parserlynx: Text-based web browsermacvim: GUI for vim, made for macOSmas: Mac App Store command-line interfacemdcat: Show markdown documents on text terminalsnavi: Interactive cheatsheet tool for the command-line.neovim: Ambitious Vim-fork focused on extensibility and agilityninja: Small build system for use with gyp or CMakenvm: Manage multiple Node.js versionsopencv: Open source computer vision librarypass: Password managerpeco: Simplistic interactive filtering toolpidcat: Colored logcat script to show entries only for specified apppigz: Parallel gzippkg-config: Manage compile and link flags for librariespostgresql: Object-relational database systemprotobuf: Protocol buffers (Google's data interchange format)pv: Monitor data's progress through a pipepyenv: Python version managementpyenv-virtualenv: Pyenv plugin to manage virtualenvpython@2: Interpreted, interactive, object-oriented programming languageq: Run SQL directly on CSV or TSV filesqt: Cross-platform application and UI frameworkr: Software environment for statistical computingranger: File browserrbenv: Ruby version managerrclone: Rsync for cloud storagereattach-to-user-namespace: Reattach process (e.g., tmux) to backgroundrename: Perl-powered file rename script with many helpful built-insrestic: Fast, efficient and secure backup programripgrep: Search tool like grep and The Silver Searcherrtv: Command-line Reddit clientruby: Powerful, clean, object-oriented scripting languagerust: Safe, concurrent, practical languagesourcekitten: Framework and command-line tool for interacting with SourceKitstarship: Cross-shell prompt for astronautsswift-protobuf: Plugin and runtime library for using protobuf with Swiftswiftlint: Tool to enforce Swift style and conventionstask: Feature-rich console based todo list managertasksh: Shell wrapper for Taskwarrior commandsthe_silver_searcher: Code-search similar to ackthefuck: Programmatically correct mistyped console commandstig: Text interface for Git repositoriestmux: Terminal multiplexertree: Display directories as trees (with optional color/HTML output)vim: Vi 'workalike' with many additional featuresvisidata: Terminal utility for exploring and arranging tabular datavtk: Toolkit for 3D computer graphics, image processing, and visualizationwatchman: Watch files and take action when they changewget: Internet file retrieverx264: H.264/AVC encoderxdot: Interactive viewer for graphs written in Graphviz's dot languagexvid: High-performance, high-quality MPEG-4 video libraryxz: General-purpose data compression with high compression ratioyabai: A tiling window manager for macOS based on binary space partitioning.yq: Process YAML documents from the CLIyvm: Manage multiple versions of Yarnzlib: General-purpose lossless data-compression libraryzplug: Next-generation plugin manager for zshzsh: UNIX shell (command interpreter)zsh-autosuggestions: Fish-like fast/unobtrusive autosuggestions for zshzsh-syntax-highlighting: Fish shell like syntax highlighting for zshzstd: Zstandard is a real-time compression algorithm