aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: 4f4a1c007b4714594fad0a16cef757b1f8af8203 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#+TITLE: Dotfiles
#+AUTHOR: Oreodave
#+DESCRIPTION: README for Dotfiles

* Preclude
Hello and welcome to my Dotfiles repo! Though I'm not sure why you're here (this
is literally just for me).
* Tools
- Git: how...what are you doing without this?
- Emacs: My editor for everything (using it right now), incredibly powerful. Is
  used with [[https://github.com/hlissner/doom-emacs][Doom Emacs]].
- Vim: my configuration makes it a nice editor, with plugins for C# and Python
  already prebuilt and ready to use with external dependencies installed.
  Developed to be used with Tmux
- Tmux: Used in conjunction with Vim to produce a powerful workspace. Has
  bindings for quick switching between Vim and tmux panes, as well as full on vi bindings
- ZSH: Great shell, with amazing theming options, that I use for everything
- Pass: Password manager/generator which I strongly recommend
- Zeal/Dash: Documentation manager/reader. Absolute necessity when doing offline work

* Dependencies
|--------------------------+-----------------------------------------------------------------------------------+----------------+------------|
| Dependency               | Why?                                                                              |        Version | Link       |
|--------------------------+-----------------------------------------------------------------------------------+----------------+------------|
| Vim                      | Obvious. Plugins need async, thus version 8 or above. Has to be compiled w/python |              8 | [[https://www.vim.org/download.php][Vim]]        |
| Emacs                    | Obvious. Doom Emacs on Straight needs 26.2                                        |          26.2+ | [[https://www.gnu.org/software/emacs/download.html][Emacs]]      |
| Tmux                     | Obvious. Used for most terminal related things                                    |           1.5+ | [[https://github.com/tmux/tmux][Tmux]]       |
| Omnisharp Roslyn Server  | Used by vim and Emacs. For C# tooling                                             |         Latest | [[https://github.com/omnisharp/omnisharp-roslyn][Omnisharp]]  |
| Python                   | Used by some plugins in Vim                                                       | 3.6.8 and 2.7+ | [[https://www.python.org/downloads/][Python]]     |
| Zeal                     | Used for downloading/reading documentation                                        |         0.6.0+ | [[https://zealdocs.org][Zeal]]       |
| .NET Core                | Needed for Omnisharp to work. For C#                                              |         2.2.3+ | [[https://dotnet.microsoft.com/download][.NET]]       |
| Ag                       | Used by quickly searching code bases in Emacs and vim                             |           2.1+ | [[https://github.com/ggreer/the_silver_searcher][Ag]]         |
| Fzf                      | Used by vim. For insanely fast searches in the interface                          |         0.18.0 | [[https://github.com/junegunn/fzf][Fzf]]        |
| cargo/rust               | Used for fd/ripgrep. Also a nice lang                                             |         1.3.6+ | [[https://github.com/rust-lang/cargo/][Rust]]       |
| fd                       | Used by doom for super quick file searches.                                       |         7.3.0+ | [[https://github.com/sharkdp/fd][Fd]]         |
| ripgrep                  | Used for insanely fast searches (sometimes faster than ag)                        |        11.0.1+ | [[https://github.com/BurntSushi/ripgrep][RipGrep]]    |
| tmuxinator (optional)    | Used to help with tmux scripting and window handling                              |           1.0+ | [[https://github.com/tmuxinator/tmuxinator][tmuxinator]] |
| LSP servers of some kind | Used for language support with C, C++, C#, Python, etc                            |           N/A  | N/A        |
|--------------------------+-----------------------------------------------------------------------------------+----------------+------------|

* How to use
- Use ZSH as your default shell environment.
- Set tmux as your default shell in your console emulator. Use tmux for
  everything console based, and try to move more stuff towards a console based
  environment (such as music). Setup zsh to be your default tmux env
- Use vim for quick edits and light development. Stuff like scripts. Use when
  resources are limited
- Use emacs for project work (large scale development) and writing. Always keep
  an instance open. See how much of your life you could stick into emacs
- Use fd/ripgrep/ag as much as possible outside, in the terminal. They're
  insanely useful. Integrating them with your editors is cool, but using them
  raw has benefits as well