Skip to content

Instantly share code, notes, and snippets.

@seefood
Last active December 2, 2024 10:35
Show Gist options
  • Save seefood/d70672cccb551935827ece2554592f96 to your computer and use it in GitHub Desktop.
Save seefood/d70672cccb551935827ece2554592f96 to your computer and use it in GitHub Desktop.

Revisions

  1. seefood revised this gist Dec 2, 2024. 1 changed file with 9 additions and 23 deletions.
    32 changes: 9 additions & 23 deletions DotFiles_DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -360,39 +360,25 @@ Other resources

    Bash-it not enough? Prefer Zsh syntax coloring and completion? here are a few things to check:

    https://github.com/robbyrussell/oh-my-zsh - plugin system for zsh

    https://aliae.dev/ - multi-shell portable aliases, functions and settings.

    https://medium.com/@caulfieldOwen/youre-missing-out-on-a-better-mac-terminal-experience-d73647abf6d7 - better mac terminal

    https://coderwall.com/p/t7a-tq/change-terminal-color-when-ssh-from-os-x - make ssh sessions change terminal colour

    https://medium.com/the-code-review/make-your-terminal-more-colourful-and-productive-with-iterm2-and-zsh-11b91607b98c

    https://medium.com/the-code-review/powerlevel9k-personalise-your-prompt-for-any-programming-language-68974c127c63

    https://jessicadeen.com/badass-terminal-fcu-wsl-edition-oh-my-zsh-powerlevel9k-tmux-and-more/

    https://jessicadeen.com/badass-terminal-wsl-macos-and-ubuntu-dotfiles-update/

    https://medium.com/@caulfieldOwen/turn-your-keyboard-into-a-text-editing-rocket-1514d8474d2d
    * https://github.com/robbyrussell/oh-my-zsh - plugin system for zsh
    * https://aliae.dev/ - multi-shell portable aliases, functions and settings.
    * https://medium.com/@caulfieldOwen/youre-missing-out-on-a-better-mac-terminal-experience-d73647abf6d7 - better mac terminal
    * https://coderwall.com/p/t7a-tq/change-terminal-color-when-ssh-from-os-x - make ssh sessions change terminal colour
    * https://medium.com/the-code-review/make-your-terminal-more-colourful-and-productive-with-iterm2-and-zsh-11b91607b98c
    * https://medium.com/the-code-review/powerlevel9k-personalise-your-prompt-for-any-programming-language-68974c127c63
    * https://jessicadeen.com/badass-terminal-fcu-wsl-edition-oh-my-zsh-powerlevel9k-tmux-and-more/
    * https://jessicadeen.com/badass-terminal-wsl-macos-and-ubuntu-dotfiles-update/
    * https://medium.com/@caulfieldOwen/turn-your-keyboard-into-a-text-editing-rocket-1514d8474d2d

    And there's more crazy fun stuff.

    - [FiSH: Anternative shell that's very interactive and a bit flashy](https://fishshell.com/)

    - [ElviSH: another shell alternative that looks like it's worth exploring](https://elv.sh/)

    - [Even More FOSS shells](https://itsfoss.com/shells-linux/)

    - [lla - a very nice upgrade to /bin/ls](https://github.com/triyanox/lla) I recently discovered -
    git integration, plugin ecosystem, powerful stuff.

    - [Sesh - Crazy powerful tmux manager with a nice TUI](https://github.com/joshmedeski/sesh)

    - https://github.com/lukaszkorecki/color-tail-ruby

    - https://0x46.net/thoughts/2019/02/01/dotfile-madness/

    ---
  2. seefood revised this gist Dec 2, 2024. 1 changed file with 11 additions and 5 deletions.
    16 changes: 11 additions & 5 deletions DotFiles_DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -380,14 +380,20 @@ https://medium.com/@caulfieldOwen/turn-your-keyboard-into-a-text-editing-rocket-

    And there's more crazy fun stuff.

    [FiSH: Anternative shell that's very interactive and a bit flashy](https://fishshell.com/)
    - [FiSH: Anternative shell that's very interactive and a bit flashy](https://fishshell.com/)

    [ElviSH: another shell alternative that looks like it's worth exploring](https://elv.sh/)
    - [ElviSH: another shell alternative that looks like it's worth exploring](https://elv.sh/)

    [Even More FOSS shells](https://itsfoss.com/shells-linux/)
    - [Even More FOSS shells](https://itsfoss.com/shells-linux/)

    https://github.com/lukaszkorecki/color-tail-ruby
    - [lla - a very nice upgrade to /bin/ls](https://github.com/triyanox/lla) I recently discovered -
    git integration, plugin ecosystem, powerful stuff.

    https://0x46.net/thoughts/2019/02/01/dotfile-madness/
    - [Sesh - Crazy powerful tmux manager with a nice TUI](https://github.com/joshmedeski/sesh)

    - https://github.com/lukaszkorecki/color-tail-ruby

    - https://0x46.net/thoughts/2019/02/01/dotfile-madness/

    ---
    Made this gist with help from [Github's Markdown guide](https://help.github.com/categories/writing-on-github/)
  3. seefood revised this gist Dec 2, 2024. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions DotFiles_DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -380,9 +380,11 @@ https://medium.com/@caulfieldOwen/turn-your-keyboard-into-a-text-editing-rocket-

    And there's more crazy fun stuff.

    https://fishshell.com/ - anternative shell that's very interactive and a bit flashy
    [FiSH: Anternative shell that's very interactive and a bit flashy](https://fishshell.com/)

    https://elv.sh/ - another shell alternative that looks like it's worth exploring
    [ElviSH: another shell alternative that looks like it's worth exploring](https://elv.sh/)

    [Even More FOSS shells](https://itsfoss.com/shells-linux/)

    https://github.com/lukaszkorecki/color-tail-ruby

  4. seefood revised this gist Dec 2, 2024. 1 changed file with 18 additions and 12 deletions.
    30 changes: 18 additions & 12 deletions DotFiles_DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,8 @@ or at least with more bells, whistles and pazzaz (All of the above for me, thank
    It starts with a section for developer, but see the section about dot-files below for more general
    environment recommendations.

    = Basic tools you want to know
    Basic tools you want to know
    ============================

    Most places I worked at are managing code versions with Git. It's like Subversion, Perforce
    and other VCS you may have worked with, but with a P2P twist. Although we
    @@ -33,7 +34,8 @@ used in the industry, so here are some of the major points you need to know:

    * More smart stuff at [gitready](http://gitready.com/).

    = Dev environment enrichment
    Dev environment enrichment
    ==========================

    I usually work at unix shops, or rather Linux, but the following is useful also for development
    on OSX machines, which are really Unix. Here are a few useful
    @@ -82,7 +84,8 @@ bash-it enable aliases apt docker vim git general fuck tmux

    * Useful github enhancements via local browser plugins, [here is a comprehensive list](https://trello.com/c/gGDfz4UV/1665-add-whois-linux-package-to-the-cwinvoiceimporters-server-in-production-and-staging), but use at your own risk, this code has access to your pages and can be malicious, I didn't do security reviews on any of them, naturally)

    == Global editor settings
    Global editor settings
    ----------------------

    To keep the coding style consistant across editors (tabs-vs-spaces especially), please consider using [EditorConfig](http://EditorConfig.org). [Most editors have a plugin to support it](http://editorconfig.org/#download), and this is my default ~/.editorconfig:
    ```ini
    @@ -127,7 +130,8 @@ indent_style = space
    indent_size = 2
    ```

    == Useful settings for your ~/.gitconfig
    Useful settings for your ~/.gitconfig
    -------------------------------------

    ```ini
    [user]
    @@ -312,7 +316,8 @@ Remarks:

    * Textmate, VS Code, Atom (code editors)

    = Not just for developers: managing your dot files and configurations
    Not just for developers: managing your dot files and configurations
    ===================================================================

    I've been working with GNU/Linux and unix systems for well over 2 decades almost exclusively.
    There's a silly ritual to get all your favourite tools aligned with what you are used to on other machines.
    @@ -350,17 +355,18 @@ Other honorable mentions:

    And remember, wherever you go with this, start at https://dotfiles.github.io/ :-)

    == Other resources
    Other resources
    ---------------

    Bash-it not enough? Prefer Zsh syntax coloring and completion? here are a few things to check:

    https://github.com/robbyrussell/oh-my-zsh
    https://github.com/robbyrussell/oh-my-zsh - plugin system for zsh

    https://aliae.dev/
    https://aliae.dev/ - multi-shell portable aliases, functions and settings.

    https://medium.com/@caulfieldOwen/youre-missing-out-on-a-better-mac-terminal-experience-d73647abf6d7
    https://medium.com/@caulfieldOwen/youre-missing-out-on-a-better-mac-terminal-experience-d73647abf6d7 - better mac terminal

    https://coderwall.com/p/t7a-tq/change-terminal-color-when-ssh-from-os-x
    https://coderwall.com/p/t7a-tq/change-terminal-color-when-ssh-from-os-x - make ssh sessions change terminal colour

    https://medium.com/the-code-review/make-your-terminal-more-colourful-and-productive-with-iterm2-and-zsh-11b91607b98c

    @@ -374,9 +380,9 @@ https://medium.com/@caulfieldOwen/turn-your-keyboard-into-a-text-editing-rocket-

    And there's more crazy fun stuff.

    https://fishshell.com/
    https://fishshell.com/ - anternative shell that's very interactive and a bit flashy

    https://elv.sh/
    https://elv.sh/ - another shell alternative that looks like it's worth exploring

    https://github.com/lukaszkorecki/color-tail-ruby

  5. seefood renamed this gist Dec 2, 2024. 1 changed file with 25 additions and 16 deletions.
    41 changes: 25 additions & 16 deletions DevEnv.MD → DotFiles_DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,13 @@
    Basic tools you want to know
    ============================
    We are managing our code versions with Git. It's like Subversion, Perforce
    TL;DR: This doc is aimed at power users (or power user wannabes like me) that want a few more life
    improving toys to improve their GNU/Unix/MacOS work environment work for them more conveniantly
    or at least with more bells, whistles and pazzaz (All of the above for me, thanks).

    It starts with a section for developer, but see the section about dot-files below for more general
    environment recommendations.

    = Basic tools you want to know

    Most places I worked at are managing code versions with Git. It's like Subversion, Perforce
    and other VCS you may have worked with, but with a P2P twist. Although we
    work with a central server (bitbucket, github, gitlab and the like), it is just one
    of many types of workflows
    @@ -26,8 +33,8 @@ used in the industry, so here are some of the major points you need to know:

    * More smart stuff at [gitready](http://gitready.com/).

    Dev environment enrichment
    ==========================
    = Dev environment enrichment

    I usually work at unix shops, or rather Linux, but the following is useful also for development
    on OSX machines, which are really Unix. Here are a few useful
    things you may want to install to get your environment usefully set up with
    @@ -75,8 +82,8 @@ bash-it enable aliases apt docker vim git general fuck tmux

    * Useful github enhancements via local browser plugins, [here is a comprehensive list](https://trello.com/c/gGDfz4UV/1665-add-whois-linux-package-to-the-cwinvoiceimporters-server-in-production-and-staging), but use at your own risk, this code has access to your pages and can be malicious, I didn't do security reviews on any of them, naturally)

    Global editor settings
    ----------------------
    == Global editor settings

    To keep the coding style consistant across editors (tabs-vs-spaces especially), please consider using [EditorConfig](http://EditorConfig.org). [Most editors have a plugin to support it](http://editorconfig.org/#download), and this is my default ~/.editorconfig:
    ```ini
    # EditorConfig is awesome: http://EditorConfig.org
    @@ -120,8 +127,8 @@ indent_style = space
    indent_size = 2
    ```

    Useful settings for your ~/.gitconfig
    =====================================
    == Useful settings for your ~/.gitconfig

    ```ini
    [user]
    # email = <your email>
    @@ -143,7 +150,6 @@ Useful settings for your ~/.gitconfig
    branches = branch -a
    c = clone --recursive
    ca = !git add -A && git commit -av
    ca = commit -a
    ci = commit
    co = checkout
    contributors = shortlog --summary --numbered
    @@ -274,15 +280,16 @@ Useful settings for your ~/.gitconfig
    [diff]
    renameLimit=1000
    ```

    Remarks:
    * The above examples assume you prefer vim and meld, feel free to fix this to your personal needs.
    * The examples assume you are using merges. if the default mode is rebase,
    [you can use this](https://stackoverflow.com/questions/13846300/how-to-make-git-pull-use-rebase-by-default-for-all-my-repositories).
    * if you want to [set rebase as the global default](https://coderwall.com/p/tnoiug/rebase-by-default-when-doing-git-pull),
    do remember to set it back to merge for individual repos that swing the other way or it gets messy.

    Advice+tools specific for Mac users
    ===================================
    === Advice+tools specific for Mac users

    * Turn on filevault, hook you up to the office TimeCapsule if you have one.

    * Install and use Firefox, Safari is OK but I just can't get used to it.
    @@ -305,8 +312,7 @@ Advice+tools specific for Mac users

    * Textmate, VS Code, Atom (code editors)

    Not just for developers: managing your dot files and configurations
    ===================================================================
    = Not just for developers: managing your dot files and configurations

    I've been working with GNU/Linux and unix systems for well over 2 decades almost exclusively.
    There's a silly ritual to get all your favourite tools aligned with what you are used to on other machines.
    @@ -344,13 +350,14 @@ Other honorable mentions:

    And remember, wherever you go with this, start at https://dotfiles.github.io/ :-)

    Other resources
    ---------------
    == Other resources

    Bash-it not enough? Prefer Zsh syntax coloring and completion? here are a few things to check:

    https://github.com/robbyrussell/oh-my-zsh

    https://aliae.dev/

    https://medium.com/@caulfieldOwen/youre-missing-out-on-a-better-mac-terminal-experience-d73647abf6d7

    https://coderwall.com/p/t7a-tq/change-terminal-color-when-ssh-from-os-x
    @@ -369,6 +376,8 @@ And there's more crazy fun stuff.

    https://fishshell.com/

    https://elv.sh/

    https://github.com/lukaszkorecki/color-tail-ruby

    https://0x46.net/thoughts/2019/02/01/dotfile-madness/
  6. seefood revised this gist Feb 28, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,7 @@ work with a central server (bitbucket, github, gitlab and the like), it is just
    of many types of workflows
    used in the industry, so here are some of the major points you need to know:

    * Some [Git Basics](https://git-scm.com/doc), Also see [Atlassina's git guide](https://www.atlassian.com/git/tutorials)
    * Some [Git Basics](https://git-scm.com/doc), Also see [Atlassina's git guide](https://www.atlassian.com/git/tutorials), and here's a nice graphical bunch of explanations of [git branching](https://learngitbranching.js.org/)

    * Alternatively to see how it's done on Github, see [GitHub's Skills](https://skills.github.com/) and check
    out their [Github Learning app](https://github.com/apps/github-learning-lab).
  7. seefood revised this gist Feb 25, 2024. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -16,6 +16,8 @@ used in the industry, so here are some of the major points you need to know:
    * About [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/) (this works nicely with merging,
    slight adjustments for rebase).

    * also [git flow in slides](https://docs.google.com/presentation/d/1hdr4bp6NqYSJCxwubZKOy7ZtYxLYHtbmtRsvRGFsifg/edit#slide=id.g35f391192_00) or how to [use it in GitKraken](https://www.gitkraken.com/learn/git/git-flow), there are also several ways to use it as add-ons in Pycharm, VScode, and of course [commandline wrappers](https://github.com/nvie/gitflow).

    * More about the [git-flow philosophy](http://nvie.com/posts/a-successful-git-branching-model/).

    * Rebasing is an abomination to some (me), but I have used it daily at work.
  8. seefood revised this gist Feb 18, 2024. 1 changed file with 9 additions and 3 deletions.
    12 changes: 9 additions & 3 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -3,12 +3,18 @@ Basic tools you want to know
    We are managing our code versions with Git. It's like Subversion, Perforce
    and other VCS you may have worked with, but with a P2P twist. Although we
    work with a central server (bitbucket, github, gitlab and the like), it is just one
    of [many types of workflows](https://github.com/stevenharman/git-workflows)
    of many types of workflows
    used in the industry, so here are some of the major points you need to know:

    * Some [Git Basics](https://git-scm.com/doc), Also see [GitHub's Learning Lab](https://lab.github.com/).
    * Some [Git Basics](https://git-scm.com/doc), Also see [Atlassina's git guide](https://www.atlassian.com/git/tutorials)

    * About [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/) (this works nicely with merging, slight adjustments for rebase).
    * Alternatively to see how it's done on Github, see [GitHub's Skills](https://skills.github.com/) and check
    out their [Github Learning app](https://github.com/apps/github-learning-lab).

    * Atlassian's [unwritten guide to pull requests](https://www.atlassian.com/blog/git/written-unwritten-guide-pull-requests)

    * About [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/) (this works nicely with merging,
    slight adjustments for rebase).

    * More about the [git-flow philosophy](http://nvie.com/posts/a-successful-git-branching-model/).

  9. seefood revised this gist Feb 13, 2024. 1 changed file with 8 additions and 10 deletions.
    18 changes: 8 additions & 10 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -36,20 +36,20 @@ Enjoy!
    to add special fonts to render them correctly, see below.
    * Recommended basic settings for Bash-it: (Well, for me, as a DevOps guy)
    ```
    bash-it enable completion makefile pip rake virtualbox ssh system tmux \
    vagrant git git_flow gem docker docker-compose dirs defaults bash-it
    bash-it enable completion makefile pip ssh system \
    git git_flow docker docker-compose dirs defaults bash-it
    bash-it enable plugins alias-completion base battery browser docker docker-compose \
    dirs edit-mode-emacs git history less-pretty-cat python ruby ssh tmux virtualenv \
    dirs edit-mode-emacs git history less-pretty-cat python ssh virtualenv \
    xterm z_autoenv
    bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    bash-it enable aliases apt docker vim git general fuck tmux
    ```
    * Additional plugins/completions/aliases exist for MacOS environments. look for textmate, osx, homebrew etc.

    * More prompt colors? check out https://OhMyPosh.dev for a fast tool (written in go), works for bash, zsh, PowerShell, fish and many more, cross platform of course. requires Nerd Fonts, see below.

    * Editors worth checking out, if you are not a vi/vim/neovim/emacs/eclipse zealot:
    * Editors worth checking out, if you are not a vi/vim/neovim/emacs/eclipse/pycharm zealot:
    * https://code.visualstudio.com/
    * https://atom.io/

    @@ -59,9 +59,9 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    * Programming Ligatures: This is an insane idea that I love, may not be for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You may have to tick a "Use Ligatures" box in your terminal's config after selecting them.
    * Other good fonts: https://www.programmingfonts.org/, http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.
    * `sudo apt install silversearcher-ag` on Ubuntu or `brew install the_silver_searcher` on a mac - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> [PATH]`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

    * [fd](https://github.com/sharkdp/fd) is a faster finder than find, but a slightly different feature set. It's nice to know.
    * [fd](https://github.com/sharkdp/fd) is a faster finder than `find`, but a slightly different feature set. It's nice to know.

    * [fzf](https://github.com/junegunn/fzf) is a useful tool and works great in the shell for smart history completions (Bash ^R) and tabs. works wondefully with ag and fd above. Excellent experience if you turn on the plugins for fd and fzf in bash-it, or the equivalent plugins in oh-my-zsh, vim etc.

    @@ -277,7 +277,7 @@ Advice+tools specific for Mac users
    ===================================
    * Turn on filevault, hook you up to the office TimeCapsule if you have one.

    * Install and use Firefox, Safari is not up to task for dozens of reasons.
    * Install and use Firefox, Safari is OK but I just can't get used to it.

    * iTerm2 (a better terminal than the built in one, actually better than any available for GNU/Linux).

    @@ -297,8 +297,6 @@ Advice+tools specific for Mac users

    * Textmate, VS Code, Atom (code editors)

    * x2go (for remote X sessions with Unix)

    Not just for developers: managing your dot files and configurations
    ===================================================================

  10. seefood revised this gist Feb 13, 2024. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@ Basic tools you want to know
    ============================
    We are managing our code versions with Git. It's like Subversion, Perforce
    and other VCS you may have worked with, but with a P2P twist. Although we
    work with a central server (github, gitlab and the like), it is just one
    work with a central server (bitbucket, github, gitlab and the like), it is just one
    of [many types of workflows](https://github.com/stevenharman/git-workflows)
    used in the industry, so here are some of the major points you need to know:

    @@ -12,7 +12,8 @@ used in the industry, so here are some of the major points you need to know:

    * More about the [git-flow philosophy](http://nvie.com/posts/a-successful-git-branching-model/).

    * Rebasing is an abomination to some (me), but I use it daily at work. If your employer decided to work with rebasing rather than merging,
    * Rebasing is an abomination to some (me), but I have used it daily at work.
    If your employer decided to work with rebasing rather than merging,
    here's a good place to start: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

    * More smart stuff at [gitready](http://gitready.com/).
  11. seefood revised this gist Oct 12, 2022. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -20,8 +20,7 @@ used in the industry, so here are some of the major points you need to know:
    Dev environment enrichment
    ==========================
    I usually work at unix shops, or rather Linux, but the following is useful also for development
    on OSX machines, which are really Unix with a UI that you may
    [want to tweek](https://www.youtube.com/watch?v=psPgSN1bPLY). Here are a few useful
    on OSX machines, which are really Unix. Here are a few useful
    things you may want to install to get your environment usefully set up with
    nice tools, informative colorful command prompt and other fun gadgets.
    Go over these one by one, or if you want to try out my own dotfiles repo
    @@ -279,7 +278,10 @@ Advice+tools specific for Mac users

    * Install and use Firefox, Safari is not up to task for dozens of reasons.

    * iTerm2 (a better terminal than the built in one, actually better than any available for GNU/Linux)
    * iTerm2 (a better terminal than the built in one, actually better than any available for GNU/Linux).

    * Lots of stuff in the UI that you may [want to tweek](https://www.youtube.com/watch?v=psPgSN1bPLY).
    And [another vid](https://www.youtube.com/watch?v=1qknuwb0LGM).

    * [brew.sh](https://brew.sh/) will help you feel at home if you are used to Linux package installers, it can even be used
    to install some of the tools below. Latest versions now also support GNU/Linux.
  12. seefood revised this gist Oct 12, 2022. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,8 @@ used in the industry, so here are some of the major points you need to know:
    Dev environment enrichment
    ==========================
    I usually work at unix shops, or rather Linux, but the following is useful also for development
    on OSX machines, which are really Unix. Here are a few useful
    on OSX machines, which are really Unix with a UI that you may
    [want to tweek](https://www.youtube.com/watch?v=psPgSN1bPLY). Here are a few useful
    things you may want to install to get your environment usefully set up with
    nice tools, informative colorful command prompt and other fun gadgets.
    Go over these one by one, or if you want to try out my own dotfiles repo
    @@ -46,7 +47,7 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    ```
    * Additional plugins/completions/aliases exist for MacOS environments. look for textmate, osx, homebrew etc.

    * More prompt colors? check out https://OhMyPosh.dev for a fast tool (written in go), works for bash, zsh, PowerShell, fish and many more, cross platform of course. requires Nerd Fonts, see below.
    * More prompt colors? check out https://OhMyPosh.dev for a fast tool (written in go), works for bash, zsh, PowerShell, fish and many more, cross platform of course. requires Nerd Fonts, see below.

    * Editors worth checking out, if you are not a vi/vim/neovim/emacs/eclipse zealot:
    * https://code.visualstudio.com/
  13. seefood revised this gist Feb 16, 2022. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -46,7 +46,9 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    ```
    * Additional plugins/completions/aliases exist for MacOS environments. look for textmate, osx, homebrew etc.

    * Editors worth checking out, if you are not a vi/vim/emacs/eclipse zealot:
    * More prompt colors? check out https://OhMyPosh.dev for a fast tool (written in go), works for bash, zsh, PowerShell, fish and many more, cross platform of course. requires Nerd Fonts, see below.

    * Editors worth checking out, if you are not a vi/vim/neovim/emacs/eclipse zealot:
    * https://code.visualstudio.com/
    * https://atom.io/

  14. seefood revised this gist Sep 27, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -53,8 +53,8 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    * Excellent [original fonts of the Powerline project](https://github.com/powerline/fonts) and more that you should know:
    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.
    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!
    * Programming Ligatures: This is an insane idea, but not for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You will have to tick a "Use Ligatures" box after selecting them.
    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).
    * Programming Ligatures: This is an insane idea that I love, may not be for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You may have to tick a "Use Ligatures" box in your terminal's config after selecting them.
    * Other good fonts: https://www.programmingfonts.org/, http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

  15. seefood revised this gist May 14, 2019. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -51,10 +51,10 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    * https://atom.io/

    * Excellent [original fonts of the Powerline project](https://github.com/powerline/fonts) and more that you should know:
    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.
    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!
    * Programming Ligatures: This is an insane idea, but not for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You will have to tick a "Use Ligatures" box after selecting them.
    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).
    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.
    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!
    * Programming Ligatures: This is an insane idea, but not for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You will have to tick a "Use Ligatures" box after selecting them.
    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

  16. seefood revised this gist May 14, 2019. 1 changed file with 0 additions and 4 deletions.
    4 changes: 0 additions & 4 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -51,13 +51,9 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    * https://atom.io/

    * Excellent [original fonts of the Powerline project](https://github.com/powerline/fonts) and more that you should know:

    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.

    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!

    * Programming Ligatures: This is an insane idea, but not for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You will have to tick a "Use Ligatures" box after selecting them.

    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.
  17. seefood revised this gist May 14, 2019. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -6,16 +6,16 @@ work with a central server (github, gitlab and the like), it is just one
    of [many types of workflows](https://github.com/stevenharman/git-workflows)
    used in the industry, so here are some of the major points you need to know:

    * Some [Git Basics](https://git-scm.com/doc)
    * Some [Git Basics](https://git-scm.com/doc), Also see [GitHub's Learning Lab](https://lab.github.com/).

    * About [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/) (this works nicely with merging, slight adjustments for rebase)
    * About [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/) (this works nicely with merging, slight adjustments for rebase).

    * More about the [git-flow philosophy](http://nvie.com/posts/a-successful-git-branching-model/)
    * More about the [git-flow philosophy](http://nvie.com/posts/a-successful-git-branching-model/).

    * Rebasing is an abomination to some (me), but I use it daily at work. If your employer decided to work with rebasing rather than merging,
    here's a good place to start: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

    * More smart stuff at [gitready](http://gitready.com/)
    * More smart stuff at [gitready](http://gitready.com/).

    Dev environment enrichment
    ==========================
  18. seefood revised this gist May 14, 2019. 1 changed file with 135 additions and 42 deletions.
    177 changes: 135 additions & 42 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -50,16 +50,22 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant
    * https://code.visualstudio.com/
    * https://atom.io/

    * Excellent [original fonts of the Powerline project](https://github.com/powerline/fonts)
    * Excellent [original fonts of the Powerline project](https://github.com/powerline/fonts) and more that you should know:

    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.
    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.

    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!
    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!

    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).
    * Programming Ligatures: This is an insane idea, but not for everyone. Supported in VS Code, iTerm2 (on Mac) and Konsole (on GNU/Linux), this takes terminal eye candy to the next level. The most known is [Fira Code](https://github.com/tonsky/FiraCode) AKA Fura Code on Nerd Fonts above, but they also exist in Hasklug and other fonts. You will have to tick a "Use Ligatures" box after selecting them.

    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

    * [fd](https://github.com/sharkdp/fd) is a faster finder than find, but a slightly different feature set. It's nice to know.

    * [fzf](https://github.com/junegunn/fzf) is a useful tool and works great in the shell for smart history completions (Bash ^R) and tabs. works wondefully with ag and fd above. Excellent experience if you turn on the plugins for fd and fzf in bash-it, or the equivalent plugins in oh-my-zsh, vim etc.

    * Useful github enhancements via local browser plugins, [here is a comprehensive list](https://trello.com/c/gGDfz4UV/1665-add-whois-linux-package-to-the-cwinvoiceimporters-server-in-production-and-staging), but use at your own risk, this code has access to your pages and can be malicious, I didn't do security reviews on any of them, naturally)

    Global editor settings
    @@ -115,51 +121,78 @@ Useful settings for your ~/.gitconfig
    # name = <Your Name>
    # signingkey = <PGP Key ID for signing. very optional

    [credential]
    # OS-X specific
    helper = osxkeychain

    [hub]
    protocol = https

    [alias]
    co = checkout
    ci = commit
    st = status
    aliases = config --get-regexp alias
    amend = commit --amend --reuse-message=HEAD
    ba = branch -a
    br = branch
    r = reset
    rh = reset --hard
    branches = branch -a
    c = clone --recursive
    ca = !git add -A && git commit -av
    ca = commit -a
    ci = commit
    co = checkout
    contributors = shortlog --summary --numbered
    count = !git shortlog -sn
    cp = cherry-pick
    wdiff = diff --word-diff=color --ignore-all-space
    plog = log --pretty=fixes
    slog = log --oneline --decorate
    review = git-review
    credit = "\"!f() { git commit --amend --author \\\"$1 <$2>\\\" -C HEAD; }; f\""
    d = "!\"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat\""
    dc = diff --cached
    df = diff
    dfs = diff --cached
    di = "di = !\"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d\""
    dm = \"!git branch --merged | grep -v \\* | xargs -n 1 git branch -d\"
    dump = cat-file -p
    fb = "!f() { git branch -a --contains ; }; f"
    fc = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short -S; }; f"
    # fixup is like amend but for older commits. From https://blog.filippo.io/git-fixup-amending-an-older-commit/
    fixup = "!f() { TARGET=$(git rev-parse "$1"); git commit --fixup=$TARGET ${@:2} && EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"
    fm = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short --grep=; }; f"
    ft = "!f() { git describe --always --contains ; }; f"
    go = "\"!f() { git checkout -b \\\"$1\\\" 2> /dev/null || git checkout \\\"$1\\\"; }; f\""
    graph = log --graph --pretty=format:'%C(red)%h%Creset%C(red bold)%d%Creset %s%Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all
    pu = push --force-with-lease
    hist = log --graph --pretty=format:'%C(bold)%h%Creset%C(yellow)%d%Creset %s %C(yellow)%an %C(cyan)%cr%Creset' --abbrev-commit --date=relative
    aliases = config --get-regexp alias
    df = diff
    dc = diff --cached
    lg = log -p
    l = log --pretty=oneline -n 20 --graph --abbrev-commit
    last = log 1 - HEAD
    lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
    lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
    lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
    ll = log -p
    lol = log --graph --decorate --pretty=oneline --abbrev-commit
    lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
    ls = ls-files
    unstash = stash apply
    new = !sh -c 'git log $1@{1}..$1@{0} "$@"'
    l = log --pretty=oneline -n 20 --graph --abbrev-commit
    s = status -s
    d = "!\"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat\""
    di = "di = !\"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d\""
    c = clone --recursive
    ca = !git add -A && git commit -av
    go = "\"!f() { git checkout -b \\\"$1\\\" 2> /dev/null || git checkout \\\"$1\\\"; }; f\""
    tags = tag -l
    branches = branch -a
    remotes = remote -v
    amend = commit --amend --reuse-message=HEAD
    credit = "\"!f() { git commit --amend --author \\\"$1 <$2>\\\" -C HEAD; }; f\""
    p = !git checkout master && git pull origin master && git push origin master && git checkout -
    patch = !git --no-pager diff --no-color
    plog = log --pretty=fixes
    pop = stash pop
    pp = !git checkout develop && git pull origin develop && git push origin develop && git checkout -
    promote = !$ZSH/bin/git-promote
    pu = push --force-with-lease
    r = reset
    rank-contributors = !$ZSH/bin/git-rank-contributors
    reb = "\"!r() { git rebase -i HEAD~$1; }; r\""
    remotes = remote -v
    retag = "\"!r() { git tag -d $1 && git push origin :refs/tags/$1 && git tag $1; }; r\""
    fb = "!f() { git branch -a --contains ; }; f"
    ft = "!f() { git describe --always --contains ; }; f"
    fc = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short -S; }; f"
    fm = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short --grep=; }; f"
    dm = \"!git branch --merged | grep -v \\* | xargs -n 1 git branch -d\"
    contributors = shortlog --summary --numbered
    review = git-review
    rh = reset --hard
    s = status -s
    slog = log --oneline --decorate
    squash = !"f() { NL=$1; GIT_EDITOR=\"sed -i '2,$NL s/pick/squash/;/# This is the 2nd commit message:/,$ {d}'\"; git rebase -i HEAD~$NL; }; f"
    st = status
    tags = tag -l
    type = cat-file -t
    unstash = stash apply
    wdiff = diff --word-diff=color --ignore-all-space
    wtf = !$ZSH/bin/git-wtf

    [push]
    default = simple
    # Read this to set to your needs: https://stackoverflow.com/questions/21839651/git-what-is-the-difference-between-push-default-matching-and-simple
    @@ -174,34 +207,65 @@ Useful settings for your ~/.gitconfig
    frag = magenta bold
    old = red bold
    new = green bold
    commit = yellow bold
    whitespace = red reverse
    [color "status"]
    added = yellow
    changed = green
    untracked = cyan
    [color "decorate"]
    tag = blue

    [diff "zip"]
    textconv = unzip -v

    [pretty]
    fixes = Fixes: %h (\"%s\")
    [log]
    decorate=true

    [url "https://"]
    insteadOf = git://

    [core]
    editor = vim
    pager = less -R
    abbrev = 12
    #whitespace = nowarn
    # Install deff-so-fancy or mark this out:
    pager = diff-so-fancy | less --tabs=4 -RFX
    excludesfile = /Users/ira/.gitignore_global
    autocrlf = input

    [merge]
    # Mac or Linux:
    tool = meld
    # Optional, only on Mac:
    #tool = diffmerge
    log = true
    renamelimit = 2000

    [filter "lfs"]
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true
    process = git-lfs filter-process

    [help]
    autocorrect = 1
    [http]
    postBuffer = 1048576000
    [pack]
    threads = 1

    [rerere]
    enabled = true

    [pull]
    # Change as appropriate (or per repo)
    rebase = false
    [diff]
    renameLimit=1000
    ```
    Remarks:
    * The above examples assume you prefer vim and meld, feel free to fix this to your personal needs.
    @@ -214,23 +278,25 @@ Advice+tools specific for Mac users
    ===================================
    * Turn on filevault, hook you up to the office TimeCapsule if you have one.

    * Install and use Firefox, Safari is not up to tak for dozens of reasons.
    * Install and use Firefox, Safari is not up to task for dozens of reasons.

    * iTerm2 (a better terminal than the built in one, actually better than any available for GNU/Linux)

    * [brew.sh](https://brew.sh/) will help you feel at home if you are used to Linux package installers, it can even be used
    to install some of the tools below. (There's a nice fork of this for GNU/Linux called [LinuxBrew](http://linuxbrew.sh/))
    to install some of the tools below. Latest versions now also support GNU/Linux.

    * [BetterTouchTool](https://www.boastr.net/) - costs a bit, but worth every penny. You may
    become adicted to the trackpad and never go back to mice.

    * [Karabiner](https://pqrs.org/osx/karabiner/index.html.en) - Fix keyboard layout and shortcuts for Hebrew,
    development or just if yuou are used to the way things are done in Linux/Windows.

    * [Hammerspoon](https://www.hammerspoon.org/) - Automate MacOS with Lua code, this is Karabiner for tasks.

    * Textmate (code editor)
    * Textmate, VS Code, Atom (code editors)

    * x2go (for remote X sessions with Unix)

    * iTerm2 (a better terminal than the built in one)

    Not just for developers: managing your dot files and configurations
    ===================================================================

    @@ -272,4 +338,31 @@ And remember, wherever you go with this, start at https://dotfiles.github.io/ :-

    Other resources
    ---------------

    Bash-it not enough? Prefer Zsh syntax coloring and completion? here are a few things to check:

    https://github.com/robbyrussell/oh-my-zsh

    https://medium.com/@caulfieldOwen/youre-missing-out-on-a-better-mac-terminal-experience-d73647abf6d7

    https://coderwall.com/p/t7a-tq/change-terminal-color-when-ssh-from-os-x

    https://medium.com/the-code-review/make-your-terminal-more-colourful-and-productive-with-iterm2-and-zsh-11b91607b98c

    https://medium.com/the-code-review/powerlevel9k-personalise-your-prompt-for-any-programming-language-68974c127c63

    https://jessicadeen.com/badass-terminal-fcu-wsl-edition-oh-my-zsh-powerlevel9k-tmux-and-more/

    https://jessicadeen.com/badass-terminal-wsl-macos-and-ubuntu-dotfiles-update/

    https://medium.com/@caulfieldOwen/turn-your-keyboard-into-a-text-editing-rocket-1514d8474d2d

    And there's more crazy fun stuff.

    https://fishshell.com/

    https://github.com/lukaszkorecki/color-tail-ruby

    https://0x46.net/thoughts/2019/02/01/dotfile-madness/

    Made this gist with help from [Github's Markdown guide](https://help.github.com/categories/writing-on-github/)
  19. seefood revised this gist Jan 1, 2019. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -60,6 +60,8 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

    * Useful github enhancements via local browser plugins, [here is a comprehensive list](https://trello.com/c/gGDfz4UV/1665-add-whois-linux-package-to-the-cwinvoiceimporters-server-in-production-and-staging), but use at your own risk, this code has access to your pages and can be malicious, I didn't do security reviews on any of them, naturally)

    Global editor settings
    ----------------------
    To keep the coding style consistant across editors (tabs-vs-spaces especially), please consider using [EditorConfig](http://EditorConfig.org). [Most editors have a plugin to support it](http://editorconfig.org/#download), and this is my default ~/.editorconfig:
  20. seefood revised this gist May 23, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -54,6 +54,8 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant

    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.

    * [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) even more logos and graphics right in your terminal, Powerline is only the beginning!

    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.
  21. seefood revised this gist Apr 25, 2018. 1 changed file with 35 additions and 11 deletions.
    46 changes: 35 additions & 11 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -12,17 +12,20 @@ used in the industry, so here are some of the major points you need to know:

    * More about the [git-flow philosophy](http://nvie.com/posts/a-successful-git-branching-model/)

    * Rebasing is an abomination to some (me), but if your employer decided to work with rebasing rather than merging,
    * Rebasing is an abomination to some (me), but I use it daily at work. If your employer decided to work with rebasing rather than merging,
    here's a good place to start: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

    * More smart stuff at [gitready](http://gitready.com/)

    Dev environment enrichment
    ==========================
    We're a unix shop. Actually Linux, but the following is useful also for development
    I usually work at unix shops, or rather Linux, but the following is useful also for development
    on OSX machines, which are really Unix. Here are a few useful
    things you may want to install to get your environment usefully set up with
    nice tools, informative colorful command prompt and other fun gadgets.
    Go over these one by one, or if you want to try out my own dotfiles repo
    that includes all the tools mentioned here and more, see the bottom on this page.

    Enjoy!

    * [Bash-It](https://github.com/Bash-it/bash-it) is a YUGE set of add-ons for the bash shell. It will give you plugins
    @@ -51,7 +54,7 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant

    * [Input font](http://input.fontbureau.com/info/) for Xterm/iTerm2/Textmate or any other editor. It pre-includes powerline symbols.

    * Other good fonts: http://wesbos.com/programming-fonts/
    * Other good fonts: http://wesbos.com/programming-fonts/ and [IBM Plex Mono](https://github.com/IBM/plex).

    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

    @@ -210,7 +213,7 @@ Advice+tools specific for Mac users
    * Install and use Firefox, Safari is not up to tak for dozens of reasons.

    * [brew.sh](https://brew.sh/) will help you feel at home if you are used to Linux package installers, it can even be used
    to install some of the tools below.
    to install some of the tools below. (There's a nice fork of this for GNU/Linux called [LinuxBrew](http://linuxbrew.sh/))

    * [BetterTouchTool](https://www.boastr.net/) - costs a bit, but worth every penny. You may
    become adicted to the trackpad and never go back to mice.
    @@ -227,13 +230,34 @@ Advice+tools specific for Mac users
    Not just for developers: managing your dot files and configurations
    ===================================================================

    I've been working with GNU/Linux and unix systems for well over 2 decades almost exclusively. There's a silly ritual to get all your favourite tools aligned with what you are used to on other machines. Talkin' about bashrc, profile, aliases, history management, externals like fasd and BashIt, vimrc (or maybe yuou like NeoVIM) and all the plugins it domes with, etc. etc.

    Simple solution - prepare a zip and unpack it ecerywhere, or a disrectory you can rsync, but that's a bit naiive and won't let you follow changes in several sites, version and merge things.

    I then tried [one guy's solution](https://github.com/sontek/dotfiles) and build my files into it, but it changed often and was ugly in my opinion, all the different vim plugins as submodules (before nice plugin manageres like [dein](https://github.com/Shougo/dein.vim) or [vim-plug](https://github.com/junegunn/vim-plug) came to be) and then one day I see he switched to [rcm](https://github.com/thoughtbot/rcm). I knew I was going to look at one of those new solutions, but being a BashIt user I thought [homesick](https://github.com/technicalpickles/homesick) was the Correct Answer(TM).

    Looking for a comparison site that will help me pick a solution, I bumped into The great page at https://dotfiles.github.io/ and despaired. There are dozens of solutions out there. Might as well pick out the one I saw named most open, assuming it means it has the more active community, and at the moment it seems to be homesick ([homeshick](https://github.com/andsens/homeshick) is also an option, it's homesick written in bash, I may need it for smaller environments like RasPi one day).
    I've been working with GNU/Linux and unix systems for well over 2 decades almost exclusively.
    There's a silly ritual to get all your favourite tools aligned with what you are used to on other machines.
    Talkin' about bashrc, profile, aliases, history management, externals like fasd and BashIt,
    vimrc (or maybe yuou like NeoVIM) and all the plugins it domes with, etc. etc.

    Simple solution - prepare a zip and unpack it ecerywhere, or a disrectory you can rsync,
    but that's a bit naiive and won't let you follow changes in several sites, version and merge things.

    I then tried [one guy's solution](https://github.com/sontek/dotfiles) and build my files into it,
    but it changed often and was a bit rough in my opinion, all the different vim plugins as
    submodules (before nice plugin manageres like [dein](https://github.com/Shougo/dein.vim) or
    [vim-plug](https://github.com/junegunn/vim-plug) came to be) and then one day I see he
    switched to [rcm](https://github.com/thoughtbot/rcm). I knew I was going to look at one
    of those new solutions, but being a BashIt user I thought [homesick](https://github.com/technicalpickles/homesick)
    was the Correct Answer(TM).

    Looking for a comparison site that will help me pick a solution, I bumped into
    the great page at https://dotfiles.github.io/ and despaired. There are dozens of solutions out there.
    Might as well pick out the one I saw named most open, assuming it means it has the more active community,
    and at the moment it seems to be homesick ([homeshick](https://github.com/andsens/homeshick) is also an option,
    it's homesick written in bash, I may need it for smaller environments like RasPi one day).

    So if you want an automated install of the above tools and others not mentioned
    ([TheFuck](https://github.com/nvbn/thefuck), [FZF](https://github.com/junegunn/fzf),
    [fd](https://github.com/sharkdp/fd) and more), head on to [My Dotfiles repo](https://github.com/seefood/dotfiles).
    There's a quick bootstrap included, go over it and see it does what you expect.
    If it does not, you may prefer to run parts of it manually or fork and tweak it for yourself.
    If you come up with good fixes to the problems I bumped into, please send me a PR.

    Other honorable mentions:
    * https://github.com/dotphiles/dotsync
  22. seefood revised this gist Dec 4, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -233,7 +233,7 @@ Simple solution - prepare a zip and unpack it ecerywhere, or a disrectory you ca

    I then tried [one guy's solution](https://github.com/sontek/dotfiles) and build my files into it, but it changed often and was ugly in my opinion, all the different vim plugins as submodules (before nice plugin manageres like [dein](https://github.com/Shougo/dein.vim) or [vim-plug](https://github.com/junegunn/vim-plug) came to be) and then one day I see he switched to [rcm](https://github.com/thoughtbot/rcm). I knew I was going to look at one of those new solutions, but being a BashIt user I thought [homesick](https://github.com/technicalpickles/homesick) was the Correct Answer(TM).

    Looking for a comparison site that will help me pick a solution, I bumped into Github's own https://dotfiles.github.io/ and despaired. There are dozens of solutions out there. Might as well pick out the one I saw named most open, assuming it means it has the more active community, and at the moment it seems to be homesick.
    Looking for a comparison site that will help me pick a solution, I bumped into The great page at https://dotfiles.github.io/ and despaired. There are dozens of solutions out there. Might as well pick out the one I saw named most open, assuming it means it has the more active community, and at the moment it seems to be homesick ([homeshick](https://github.com/andsens/homeshick) is also an option, it's homesick written in bash, I may need it for smaller environments like RasPi one day).

    Other honorable mentions:
    * https://github.com/dotphiles/dotsync
  23. seefood revised this gist Dec 4, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -230,6 +230,7 @@ Not just for developers: managing your dot files and configurations
    I've been working with GNU/Linux and unix systems for well over 2 decades almost exclusively. There's a silly ritual to get all your favourite tools aligned with what you are used to on other machines. Talkin' about bashrc, profile, aliases, history management, externals like fasd and BashIt, vimrc (or maybe yuou like NeoVIM) and all the plugins it domes with, etc. etc.

    Simple solution - prepare a zip and unpack it ecerywhere, or a disrectory you can rsync, but that's a bit naiive and won't let you follow changes in several sites, version and merge things.

    I then tried [one guy's solution](https://github.com/sontek/dotfiles) and build my files into it, but it changed often and was ugly in my opinion, all the different vim plugins as submodules (before nice plugin manageres like [dein](https://github.com/Shougo/dein.vim) or [vim-plug](https://github.com/junegunn/vim-plug) came to be) and then one day I see he switched to [rcm](https://github.com/thoughtbot/rcm). I knew I was going to look at one of those new solutions, but being a BashIt user I thought [homesick](https://github.com/technicalpickles/homesick) was the Correct Answer(TM).

    Looking for a comparison site that will help me pick a solution, I bumped into Github's own https://dotfiles.github.io/ and despaired. There are dozens of solutions out there. Might as well pick out the one I saw named most open, assuming it means it has the more active community, and at the moment it seems to be homesick.
    @@ -238,6 +239,7 @@ Other honorable mentions:
    * https://github.com/dotphiles/dotsync
    * https://www.gnu.org/software/stow/
    * https://github.com/svetlyak40wt/dotfiler

    And remember, wherever you go with this, start at https://dotfiles.github.io/ :-)

    Other resources
  24. seefood revised this gist Dec 4, 2017. 1 changed file with 19 additions and 2 deletions.
    21 changes: 19 additions & 2 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,8 @@ Enjoy!

    * [Bash-It](https://github.com/Bash-it/bash-it) is a YUGE set of add-ons for the bash shell. It will give you plugins
    and completion macros for most of the tools we use, and nice colorful
    prompts. I recommend the powerline ones, but it means you may want
    prompts. I recommend the powerline ones or [liquidprompt](https://github.com/nojhan/liquidprompt)
    (which bashit will install for you if selected), but it means you may want
    to add special fonts to render them correctly, see below.
    * Recommended basic settings for Bash-it: (Well, for me, as a DevOps guy)
    ```
    @@ -52,7 +53,7 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant

    * Other good fonts: http://wesbos.com/programming-fonts/

    * `sudo apt install ack-grep` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ack <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.
    * `sudo apt install silversearcher-ag` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ag <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

    Global editor settings
    ----------------------
    @@ -223,6 +224,22 @@ Advice+tools specific for Mac users

    * iTerm2 (a better terminal than the built in one)

    Not just for developers: managing your dot files and configurations
    ===================================================================

    I've been working with GNU/Linux and unix systems for well over 2 decades almost exclusively. There's a silly ritual to get all your favourite tools aligned with what you are used to on other machines. Talkin' about bashrc, profile, aliases, history management, externals like fasd and BashIt, vimrc (or maybe yuou like NeoVIM) and all the plugins it domes with, etc. etc.

    Simple solution - prepare a zip and unpack it ecerywhere, or a disrectory you can rsync, but that's a bit naiive and won't let you follow changes in several sites, version and merge things.
    I then tried [one guy's solution](https://github.com/sontek/dotfiles) and build my files into it, but it changed often and was ugly in my opinion, all the different vim plugins as submodules (before nice plugin manageres like [dein](https://github.com/Shougo/dein.vim) or [vim-plug](https://github.com/junegunn/vim-plug) came to be) and then one day I see he switched to [rcm](https://github.com/thoughtbot/rcm). I knew I was going to look at one of those new solutions, but being a BashIt user I thought [homesick](https://github.com/technicalpickles/homesick) was the Correct Answer(TM).

    Looking for a comparison site that will help me pick a solution, I bumped into Github's own https://dotfiles.github.io/ and despaired. There are dozens of solutions out there. Might as well pick out the one I saw named most open, assuming it means it has the more active community, and at the moment it seems to be homesick.

    Other honorable mentions:
    * https://github.com/dotphiles/dotsync
    * https://www.gnu.org/software/stow/
    * https://github.com/svetlyak40wt/dotfiler
    And remember, wherever you go with this, start at https://dotfiles.github.io/ :-)

    Other resources
    ---------------
    Made this gist with help from [Github's Markdown guide](https://help.github.com/categories/writing-on-github/)
  25. seefood revised this gist Dec 4, 2017. 1 changed file with 25 additions and 0 deletions.
    25 changes: 25 additions & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -102,11 +102,25 @@ indent_size = 2
    Useful settings for your ~/.gitconfig
    =====================================
    ```ini
    [user]
    # email = <your email>
    # name = <Your Name>
    # signingkey = <PGP Key ID for signing. very optional

    [alias]
    co = checkout
    ci = commit
    st = status
    br = branch
    r = reset
    rh = reset --hard
    cp = cherry-pick
    wdiff = diff --word-diff=color --ignore-all-space
    plog = log --pretty=fixes
    slog = log --oneline --decorate
    review = git-review
    graph = log --graph --pretty=format:'%C(red)%h%Creset%C(red bold)%d%Creset %s%Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all
    pu = push --force-with-lease
    hist = log --graph --pretty=format:'%C(bold)%h%Creset%C(yellow)%d%Creset %s %C(yellow)%an %C(cyan)%cr%Creset' --abbrev-commit --date=relative
    aliases = config --get-regexp alias
    df = diff
    @@ -156,10 +170,17 @@ Useful settings for your ~/.gitconfig
    added = yellow
    changed = green
    untracked = cyan
    [color "decorate"]
    tag = blue
    [pretty]
    fixes = Fixes: %h (\"%s\")
    [log]
    decorate=true

    [core]
    editor = vim
    pager = less -R
    abbrev = 12
    [merge]
    tool = meld
    log = true
    @@ -169,6 +190,10 @@ Useful settings for your ~/.gitconfig
    required = true
    [help]
    autocorrect = 1
    [http]
    postBuffer = 1048576000
    [pack]
    threads = 1
    ```
    Remarks:
    * The above examples assume you prefer vim and meld, feel free to fix this to your personal needs.
  26. seefood revised this gist Apr 4, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -139,7 +139,8 @@ Useful settings for your ~/.gitconfig
    contributors = shortlog --summary --numbered
    squash = !"f() { NL=$1; GIT_EDITOR=\"sed -i '2,$NL s/pick/squash/;/# This is the 2nd commit message:/,$ {d}'\"; git rebase -i HEAD~$NL; }; f"
    [push]
    default = matching
    default = simple
    # Read this to set to your needs: https://stackoverflow.com/questions/21839651/git-what-is-the-difference-between-push-default-matching-and-simple
    [color]
    ui = auto
    [color "branch"]
  27. seefood revised this gist Apr 3, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -137,6 +137,7 @@ Useful settings for your ~/.gitconfig
    fm = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short --grep=; }; f"
    dm = \"!git branch --merged | grep -v \\* | xargs -n 1 git branch -d\"
    contributors = shortlog --summary --numbered
    squash = !"f() { NL=$1; GIT_EDITOR=\"sed -i '2,$NL s/pick/squash/;/# This is the 2nd commit message:/,$ {d}'\"; git rebase -i HEAD~$NL; }; f"
    [push]
    default = matching
    [color]
  28. seefood revised this gist Apr 2, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,8 @@ bash-it enable aliases apt docker emacs vim atom git general fuck tmux vagrant

    * Other good fonts: http://wesbos.com/programming-fonts/

    * `sudo apt install ack-grep` - when you need a smart `grep -r`, and your target is not a git repo (where `git grep` is your friend), this little tool is a time saver. I hightly recommend it. usege is `ack <RE> <dir>`, and it will recursively search but skip swap files, temps, git and subversion DBs, etc.

    Global editor settings
    ----------------------
    To keep the coding style consistant across editors (tabs-vs-spaces especially), please consider using [EditorConfig](http://EditorConfig.org). [Most editors have a plugin to support it](http://editorconfig.org/#download), and this is my default ~/.editorconfig:
  29. seefood revised this gist Mar 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -29,7 +29,7 @@ Enjoy!
    and completion macros for most of the tools we use, and nice colorful
    prompts. I recommend the powerline ones, but it means you may want
    to add special fonts to render them correctly, see below.
    * Recommended basic settingss for Bash-it: (Well, for me, as a DevOps guy)
    * Recommended basic settings for Bash-it: (Well, for me, as a DevOps guy)
    ```
    bash-it enable completion makefile pip rake virtualbox ssh system tmux \
    vagrant git git_flow gem docker docker-compose dirs defaults bash-it
  30. seefood revised this gist Mar 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion DevEnv.MD
    Original file line number Diff line number Diff line change
    @@ -15,7 +15,7 @@ used in the industry, so here are some of the major points you need to know:
    * Rebasing is an abomination to some (me), but if your employer decided to work with rebasing rather than merging,
    here's a good place to start: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

    * More smart stuff at [gitready](http://gitready.com/),
    * More smart stuff at [gitready](http://gitready.com/)

    Dev environment enrichment
    ==========================