PageRenderTime 51ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/README.md

https://gitlab.com/kostaz/env
Markdown | 239 lines | 190 code | 49 blank | 0 comment | 0 complexity | 3f6228ca607f025f1790c6e9f1c7b906 MD5 | raw file
  1. My Ubuntu environment for a good life!
  2. ======================================
  3. Step 1 - Basic
  4. ==============
  5. Install basic stuff.
  6. ##### Command for copy-paste:
  7. ```
  8. sudo apt install git
  9. sudo apt install vim
  10. ```
  11. ---
  12. Step 2 - Ease The Flow
  13. ======================
  14. ### Enable `sudo` without a password
  15. - Update `/etc/sudoers` to enable `sudo` without a password.
  16. - See the example `sudoers.no_password` file.
  17. Replace:
  18. ```
  19. %sudo ALL=(ALL:ALL) ALL
  20. ```
  21. with:
  22. ```
  23. %sudo ALL=(ALL) NOPASSWD:ALL
  24. ```
  25. in `/etc/sudoers` file.
  26. ##### Command for copy-paste:
  27. ```
  28. sudo cp ./sudoers.no_password /etc/sudoers
  29. ```
  30. ---
  31. ### Enable all apt repositories
  32. - Uncomment all `deb http://...` repos at `/etc/apt/sources.list` file.
  33. - Update `apt` cache and upgrade the machine:
  34. ##### Command for copy-paste:
  35. ```
  36. sudo vim /etc/apt/sources.list
  37. sudo apt update
  38. sudo apt upgrade
  39. sudo reboot
  40. ```
  41. ##### Fix error for avahi-daemon during update/upgrade
  42. Note - in case of problems with **avahi-daemon** during `sudo apt update` or `sudo apt upgrade`
  43. disable the avahi-deamon and re-enable after the update/upgrade.
  44. Reference: https://ubuntuforums.org/showthread.php?t=2388648
  45. Example of error with avahi-daemon:
  46. ```
  47. Job for avahi-daemon.socket canceled.
  48. dpkg: error processing archive /var/cache/apt/archives/avahi-dnsconfd_0.6.32~rc+dfsg-1ubuntu2.1_amd64.deb (--unpack):
  49. subprocess new pre-removal script returned error exit status 1
  50. Errors were encountered while processing:
  51. /var/cache/apt/archives/avahi-dnsconfd_0.6.32~rc+dfsg-1ubuntu2.1_amd64.deb
  52. E: Sub-process /usr/bin/dpkg returned an error code (1)
  53. ```
  54. ##### Command for copy-paste:
  55. ```
  56. sudo systemctl disable avahi-daemon
  57. sudo apt update
  58. sudo apt upgrade
  59. sudo systemctl enable avahi-daemon
  60. ```
  61. ---
  62. Step 3 - Git
  63. ============
  64. Install git using the command below.
  65. ##### Command for copy-paste:
  66. ```
  67. ./setup_021_git.sh
  68. ```
  69. Update name and email in git configuration file `~/.gitconfig`.
  70. ```
  71. [user]
  72. name = Kosta Zertsekel
  73. email = zertsekel@gmail.com
  74. ```
  75. ---
  76. Step 4 - Main Blow
  77. ==================
  78. Install the main utils for life and happiness.
  79. ##### Command for copy-paste:
  80. ```
  81. ./setup_011_bashrc.sh
  82. ./setup_010_server.sh
  83. ./setup_030_server_manual.sh
  84. ./setup_080_opx.sh # only if needed for OPX
  85. ./setup_012_clang_silversearcher.sh
  86. ./setup_140_server_repo_tool.sh
  87. ./setup_170_server_python.sh
  88. ./setup_220_ripgrep.sh
  89. ```
  90. ---
  91. Step 5 - ZShell My Life
  92. =======================
  93. Install zsh (Z Shell).
  94. ##### Command for copy-paste:
  95. ```
  96. ./setup_120_zsh.sh
  97. ```
  98. Configure zsh - update `~/.zshrc` with:
  99. - Add `source ~/.bashrc.kostaz` after `source $ZSH/oh-my-zsh.sh` line.
  100. - Set `DISABLE_AUTO_TITLE="true"`.
  101. ##### Command for copy-paste:
  102. ```
  103. vim ~/.zshrc
  104. ```
  105. Configure zsh - update default theme with double `\n\n` and full path:
  106. - In `~/.oh-my-zsh/themes/robbyrussell.zsh-theme` file replace `%c` with `%d` and add `$'\n'`
  107. - The end result should like below:
  108. `PROMPT=$'\n''${ret_status} %{$fg[cyan]%}%d%{$reset_color%} $(git_prompt_info)'$'\n\n'`
  109. ##### Command for copy-paste:
  110. ```
  111. vim ~/.oh-my-zsh/themes/robbyrussell.zsh-theme
  112. cd ~/.oh-my-zsh
  113. ga -u
  114. gcsm 'WIP'
  115. cd -
  116. ```
  117. ---
  118. Step 6 - Golang
  119. ===============
  120. Install go language.
  121. ##### Command for copy-paste:
  122. ```
  123. ./setup_110_golang.sh
  124. ```
  125. ---
  126. Step 7 - Vim It All
  127. ===================
  128. Install vim with best plugins.
  129. ##### Command for copy-paste:
  130. ```
  131. ./setup_020_vim_vundle.sh
  132. vim ~/.vimrc
  133. ```
  134. Inside vim run `:PluginInstall` to install all vim plugins.
  135. ---
  136. Step 8 - Atom-Fast Search
  137. =========================
  138. Install FZF tool for fastest searchers in the world!
  139. ##### Command for copy-paste:
  140. ```
  141. ./setup_013_fzf_manual.sh
  142. ```
  143. Answer yes (`y`) for all questions.
  144. ---
  145. Step 9 - Make It Fresh
  146. ======================
  147. ##### Command for copy-paste:
  148. ```
  149. sudo reboot
  150. ```
  151. ---
  152. Step 10 - Install GUI apps
  153. ==========================
  154. #### Note: Do **not** do it if you want only the GUI-less functionality!
  155. ##### Command for copy-paste:
  156. ```
  157. ./setup_010_desktop.sh
  158. ./setup_030_desktop_manual.sh
  159. ./setup_040_gui.sh
  160. ./setup_040_zoom.sh
  161. ./setup_070_misc.sh
  162. ```
  163. ---
  164. Step 11 - Enable VNC via vino server
  165. =============================
  166. ##### Command for copy-paste:
  167. ```
  168. sudo apt install vino
  169. ```
  170. Configure vino VNC server.
  171. ##### For Ubuntu 16.04:
  172. ##### Command for copy-paste:
  173. ```
  174. sudo vino-preferences
  175. ```
  176. ##### For Ubuntu 18.04:
  177. Use GUI settings `Sharing` to enable remote VNC vino sessions.
  178. Enable VNC connection without an encryption.
  179. ##### Command for copy-paste:
  180. ```
  181. sudo dconf write /org/gnome/desktop/remote-access/require-encryption false
  182. ```
  183. Then run vino server.
  184. ##### Command for copy-paste:
  185. ```
  186. /usr/lib/vino/vino-server
  187. ```
  188. To connect to vino server use port `:5900` in VNC client.
  189. When all works ok, create start script to run vino server after reboot.
  190. Done! :-)