PageRenderTime 61ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/README.md

https://github.com/marksteve/dotfiles
Markdown | 131 lines | 102 code | 29 blank | 0 comment | 0 complexity | dc5389fc07994bcbd38c988033ac4641 MD5 | raw file
  1. # dotfiles
  2. > That's the Way (I Like It)
  3. ## Requirements
  4. - zsh
  5. - [starship](https://starship.rs/)
  6. - [ripgrep](https://github.com/BurntSushi/ripgrep)
  7. - [fasd](https://github.com/clvv/fasd)
  8. - [tpm](https://github.com/tmux-plugins/tpm)
  9. ### Ubuntu
  10. 1. Install dependencies
  11. ```
  12. sh -c "$(curl -fsSL https://starship.rs/install.sh)"
  13. sudo apt install zsh ripgrep fasd tmux direnv syncthing pinentry-gtk2 gocryptfs
  14. ```
  15. ### MacOS
  16. 1. Install brew and port
  17. 1. Install dependencies
  18. ```
  19. eval $(/opt/homebrew/bin/brew shellenv)
  20. brew install zsh starship ripgrep fasd tmux direnv syncthing gpg
  21. brew install \
  22. bitwarden \
  23. boop \
  24. cloudflare-warp \
  25. google-chrome \
  26. iterm2 \
  27. netnewswire \
  28. obsidian \
  29. rectangle \
  30. spotify \
  31. sublime-merge \
  32. tailscale \
  33. telegram \
  34. todoist
  35. sudo port install gocryptfs
  36. sudo ln -fsn /opt/local/Library/Filesystems/macfuse.fs /Library/Filesystems/macfuse.fs
  37. ```
  38. ## Install
  39. ```sh
  40. git clone https://github.com/marksteve/dotfiles
  41. cd dotfiles
  42. git submodule update --init --recursive
  43. gpg # run to generate config directory
  44. ./install.sh
  45. git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
  46. ```
  47. Install tpm plugins by running tmux then pressing `Ctrl + a, i` after installing dotfiles
  48. ## Secrets
  49. ```
  50. mkdir ~/.secrets
  51. mount-secrets
  52. rm -rf ~/.ssh
  53. ln -s ~/.secrets/ssh ~/.ssh
  54. gpg --import ~/.secrets/gpg/secret.asc
  55. gpg --import-ownertrust ~/.secrets/gpg/ownertrust.txt
  56. ```
  57. ### MacOS
  58. Store SSH private key passphrase in keychain:
  59. ```
  60. ssh-add -K
  61. ```
  62. ## Ubuntu
  63. ### Alacritty
  64. 1. Follow [install instructions](https://github.com/alacritty/alacritty/blob/master/INSTALL.md)
  65. 1. Set as default terminal
  66. ```
  67. sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/alacritty 50
  68. sudo update-alternatives --config x-terminal-emulator
  69. ```
  70. ## WSL
  71. ### Setup systemd with genie
  72. ```
  73. sudo su -
  74. # add Microsoft repo with .Net 3.1 runtime
  75. wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  76. dpkg -i packages-microsoft-prod.deb
  77. # https://arkane-systems.github.io/wsl-transdebian/
  78. wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg
  79. chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
  80. cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
  81. deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
  82. deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
  83. EOF
  84. apt update
  85. apt install systemd-genie
  86. ```
  87. Instructions taken from https://kumekay.com/wsl2-and-systemd/
  88. ## Python
  89. ### Versions
  90. ```
  91. curl https://pyenv.run | bash
  92. ```
  93. ### Global Packages
  94. ```
  95. pip3 install --user pipx
  96. cat requirements.in | xargs -I '{}' pipx install {}
  97. ```
  98. ## Node
  99. ```
  100. curl https://get.volta.sh | bash
  101. volta install node yarn
  102. ```