開發環境
一般來說軟體的設定檔案都會在 Home directory(家目錄)建立隱藏 directory(檔名開頭為 .
開頭),這些隱藏檔案裡面就會有軟體的設定檔案,比如說目前開發使用的 Neovim
,就會在 Home directory 的 .config
建立 nvim
,在 nvim
裡面就是 Neovim
設定檔案存放的地方。
(.
開頭為隱藏檔案)
.dotfiles 其實就是一個 directory,達配指令就可以把設定檔案移到 .dotfile 內,並且同時「連結」到 Home directory,我們就可以把 .dotfile 內的設定檔案推上雲端帶著走,確保在每個裝置上都可以保持相同的 workflow。
(家目錄)
Homebrew
下載的軟體清單Homebrew
是 macOS 的套件管理工具,使用 macOS 的電腦推薦下載 Homebrew
,並且「儘量」透過 Homebrew
下載軟體。
A key practice is to install EVERYTHING possible using brew, brew cask, or mas. Even things like fonts!
但不要使用
Homebrew
下載nvm
(管理 Node 檔案的工具),因為官方有說明使用Homebrew
下載nvm
會出現一些問題,因此nvm
還是上網找怎麼不使用Homebrew
下載
可以查看 Homebrew 筆記 內有基本
brew
指令
Brewfile
brew bundle dump --describe
可以透過指令建立 Brewfile
(裡面是所有透過 Homebrew
下載的檔案清單)
Brewfile
記得先移動到
.dotfiles
再建立Brewfile
Brewfile
已經存在但想要更新的話就要下另一組指令
brew bundle dump --force
or brew bundle dump --describe --force
其餘的 Brewfile
的說明可以看這篇 Brew Bundle Brewfile Tips
.dotfiles
內mv sourceFile targetDirectory
可以把檔案移到想要的地方,比如說 mv ~/.zshrc ~/.dotfiles/zsh/
那麼原本在 Home directory 的 .zshrc
就會移到 ~/.dotfile/zsh/
的 directory 之內了。
.dotfiles
的設定檔連結到 Home directory 之內因為軟體還是會從 Home directory 找設定檔案,當我們把設定檔案移到 .dotfiles
的話就會造成軟體吃不到設定,所以需要使用另一個指令連結 .dotfile
內的設定檔案
ln -s sourceFile targetDirectory
ln
(stands for link)
-s
(stands for symbolic)
比如說使用 ln -s ~/dotfiles/.zshrc ~/.zshrc
那麼就會把 .dotfile
內的 .zshrc
連結到 Home director。所以在 Home directory 就會出現被連結的 .zshrc
(被連結的 .zshrc
在 Finder 中會出現小小的箭頭標示)
(用終端機看也可以發現 .zshrc
有顯示連結資訊)
使用 stow 可以更快速地連結檔案,但是要注意檔案結構要與 Home directory 相同
一樣透過 Homebrew
下載
brew install stow
.dotfiles
是一個外層檔案夾,每個直接放在 Home directory 的設定檔多用一層包起來就可以.dotfiles
是一個裝檔案的容器.dotfiles
內建立第一層 directory 後就要模仿 Home directory 的結構可以看到
.dotfiles/nvim/
的結構跟原先 Home directory 相同
stow
快速建立連結完成設定檔移到 .dotfiles
內的工作後,就可以用 GNU Stow 提供的指令快速在 Home directory 建立連結
stow directoryName
依照 directoryName
在 Home directory 建立連結
stow zsh
那麼在 Home directory 就會建立其連結
stow */ # Everything (the '/' ignores the README)
但要記得在新的電腦事先安裝 stow
!
教學 Youtube
Homebrew
nvm
clone
Github 上建立 dotfiles
repo 至本機端
git clone Repo ~/.dotfiles
clone repo 至~/.dotfiles
stow
brew install stow
Brewfile
中所有的 packagesbrew bundle --file ~/myFolder/Brewfile
ref. Manage all your installed software at one place with Homebrew Bundle
(根據這個人分享,這樣子 Homebrew
就會自動下載 Brewfile
中的所有 packages 了)
或者 brew bundle install
(但這個指令會需要 Brewfile
在以下 path: ~/Brewfile
)
It will automatically skip software that’s already installed.
ref. Easy macOS Loads By Way of Homebrew Bundle - Casey Liss
另外,如果卡住要等一段時間的話也是很正常的,就慢慢等吧。
讓 sourcetree 可以直接 clone gitlab 的專案
可以參考這邊的教學
clone 的時候選擇 ssh
把複製的 ssh
貼上 source url,sourcetree 就會自動填入資訊
Backspace not working in tmux command prompt
brew bundle install
多一層,就必須把裡面的東西拿出來