<commit_before>= dotfiles

:toc:
:toclevels: 1

== Overview

My new standalone cross-platform dotfiles (works on MacOS/Windows) that configures ZSH and VIM. It
Removed all dependencies from all ZSH frameworks as they are slow and suck at cross XP support
(linux/MacOS/WindowsCygwin/WSL).

== Pre-Requisites: Needs Manual Setup 
=== Windows
- Install link:https://chocolatey.org/[Chocolatey], the fantastic windows package manager for software.
- If you are on Windows 10 with at-least the Creators Update please install the https://msdn.microsoft.com/commandline/wsl["Windows Subsystem for Linux"] which is also called by the terrible name of "Bash on Ubuntu on Windows". Refer to the https://msdn.microsoft.com/en-us/commandline/wsl/install_guide[Installation Guide]. 
- After installing WSL, install wsltty for a better console: https://github.com/mintty/wsltty
- IF you are on an older build of Windows,  install link:Cygwin[http://cygwin.com/]. Cygwin Support will be dropped in the future as Cygwin is slow as hell.
 ** Cygwin: Make sure you install the following cygwin components are selected for installation: `zsh`,`wget`,`curl`, `git`, `zip`, `unzip`.
 ** Cygwin: Change Home Directory to Windows Home Directory. See: https://stackoverflow.com/questions/1494658/how-can-i-change-my-cygwin-home-folder-after-installation. You need to basically add a line `db_home:  /%H` to `/etc/nsswitch.conf`.
 ** Cygwin: Change Shell to ZSH. See https://stackoverflow.com/questions/22363210/set-default-shell-in-cygwin/37815158#37815158. You need to add/edit the line containing `db_shell`.
 ** Cygwin: Install apt-cyg. See https://github.com/transcode-open/apt-cyg

=== MacOS 
- Install link:Homebrew[https://brew.sh/]
- Install ZSH `brew install zsh zsh-completions`

== Run Setup Script
Open a shell and execute the following command:
.Execute this
[source,shell]
----
curl -sfL  https://raw.github.com/lenkite/dotfiles/master/setup/setup.sh | bash
----

== Customize Path and Environment Variables
=== Personal environment variables
Create optional file `~.env`. This is sourced by `~/.zshenv` . You should
put environment variable definitions here apart from those affecting the `PATH`

=== Personal additions to PATH 
Create optional file `~/.paths`. This file is loaded and every line is assumed to be a valid path and is 
added to the `PATH` environment variable.

=== Personal ZSH configuration
Create optional file `~/my.zsh`. Personal configuration can be added here.
This file is sourced by `~/.zshrc` at the end.

== autorun Cotributions
Put your contributions with a `.zsh' extension in `dotfiles/zshcfg/autorun`. These will be sourced by `zshrc`.

<commit_msg>Added instructions for sdk's and util<commit_after>= dotfiles

:toc:
:toclevels: 1

== Overview

My new standalone cross-platform dotfiles (works on MacOS/Windows) that configures ZSH and VIM. It
Removed all dependencies from all ZSH frameworks as they are slow and suck at cross XP support
(linux/MacOS/WindowsCygwin/WSL).

== Pre-Requisites: Needs Manual Setup 
=== Windows
- Install link:https://chocolatey.org/[Chocolatey], the fantastic windows package manager for software.
- If you are on Windows 10 with at-least the Creators Update please install the https://msdn.microsoft.com/commandline/wsl["Windows Subsystem for Linux"] which is also called by the terrible name of "Bash on Ubuntu on Windows". Refer to the https://msdn.microsoft.com/en-us/commandline/wsl/install_guide[Installation Guide]. 
- After installing WSL, install wsltty for a better console: https://github.com/mintty/wsltty
- IF you are on an older build of Windows,  install link:Cygwin[http://cygwin.com/]. Cygwin Support will be dropped in the future as Cygwin is slow as hell.
 ** Cygwin: Make sure you install the following cygwin components are selected for installation: `zsh`,`wget`,`curl`, `git`, `zip`, `unzip`.
 ** Cygwin: Change Home Directory to Windows Home Directory. See: https://stackoverflow.com/questions/1494658/how-can-i-change-my-cygwin-home-folder-after-installation. You need to basically add a line `db_home:  /%H` to `/etc/nsswitch.conf`.
 ** Cygwin: Change Shell to ZSH. See https://stackoverflow.com/questions/22363210/set-default-shell-in-cygwin/37815158#37815158. You need to add/edit the line containing `db_shell`.
 ** Cygwin: Install apt-cyg. See https://github.com/transcode-open/apt-cyg

=== MacOS 
- Install link:Homebrew[https://brew.sh/]
- Install ZSH `brew install zsh zsh-completions`

== Run Setup Script
Open a shell and execute the following command:
.Execute this
[source,shell]
----
curl -sfL  https://raw.github.com/lenkite/dotfiles/master/setup/setup.sh | bash
----


== Customize Path and Environment Variables
=== Personal environment variables
Create optional file `~.env`. This is sourced by `~/.zshenv` . You should
put environment variable definitions here apart from those affecting the `PATH`

=== Personal additions to PATH 
Create optional file `~/.paths`. This file is loaded and every line is assumed to be a valid path and is 
added to the `PATH` environment variable.

=== Personal ZSH configuration
Create optional file `~/my.zsh`. Personal configuration can be added here.
This file is sourced by `~/.zshrc` at the end.

== autorun Cotributions
Put your contributions with a `.zsh' extension in `dotfiles/zshcfg/autorun`. These will be sourced by `zshrc`.

== Setup of SDK and Utilities 
Enter fresh shell instance
----
./setup/setup.sh -s # For SDK's
# Now Exit and Relaunch your Shell
./setup/setup.sh -u  # For utilities tools
----

== Setup For Coding 
Setup VIM , Intellij and VS Code
Enter fresh shell instance and `cd ~/dotfiles && ./setup/setup.sh -c`

== Setup of Misc App Settings 
Setup App Settings for tmux, SSH, etc
{'fraction_non_alphanumeric': 0.10576755532322704, 'fraction_numerical': 0.01184875413835163, 'mean_word_length': 4.256410256410256, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5949374', 'n_tokens_mistral': 1809, 'n_tokens_neox': 1689, 'n_words': 675}