aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: 23787fb84fb55970188804f6cf2cc3a3e3639b59 (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
53
54
55
56
57
58
59
60
61
#+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
** Overall
- 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
** Project by project
Setup a README.org in the root, with a notes.org and todo.org in .git (to not be
tracked by git unless you want it to of course). Write up some documentation in
README.org. Use notes for quick note taking about the project, todo.org for
todos recording. For scripting languages or learning a language, use .org files
and source code blocks to generate code, writing descriptions and other things
around them to explain them better (with an added benefit to compile to a PDF
for a nice document)