This set of files includes dotfiles for GNU Stow, a Brewfile for installing applications, and commands for installing developer tools.
cd ~
git clone [email protected]:cwsaylor/dotfiles.git
cd dotfiles
./scripts/setup.sh
Generate your ssh keys via the instructions here:
Now set your git username and email. It's set to load your local username and email from a separate gitconfig file that is not checked into the repo.
git config --file "$HOME/.gitconfig.local" user.name "Mona Lisa"
git config --file "$HOME/.gitconfig.local" user.email "[email protected]"
Install Docker Desktop https://www.docker.com/products/docker-desktop/
There are some environment varaibles that need setup before running the docker commands.
echo "export [email protected]" >> ~/.env_vars
echo "export DOCKER_USERNAME=monalisa" >> ~/.env_vars
echo "export JUPYTER_TOKEN=token" >> ~/.env_vars
pgAdmin has it's own login system and uses the EMAIL environment variable as the username and password. adminer logs in with the postgresql username and password, which are both set to your system username, USER.
When configuring the database connection, use the hostname "db", as that's the name defined in the compose.yml file for communications inside of the docker network.
cd ~/dotfiles/docker/postgresql
docker compose up -d
For pgAdmin, vist http://127.0.0.1:8081 For adminer, vist http://127.0.0.1:8082
There is a docker file for running Jupyter Notebook with Python, Ruby, Javascript, and Rust. Your notebooks are stored in ~/jupyter. Edit the compose.yml and update the path to change.
Build the Dockerfile first.
cd ~/dotfiles/docker/jupyter
docker build -t $DOCKER_USERNAME/jupyter_with_ruby .
mkdir ~/jupyter
docker compose up -d
I'm using the new built in package manager for neovim to manage plugins so the nightly needs to be installed.
- Leader set to space
- Leader + w - Write file
- Leader + q - Quit
- Leader + gb - Git blame line toggle
- Leader + o - Oil file explorer
- Leader + ff - Fuzzy find files
- Leader + ce - Copilot enable
- Leader + cd - Copilot disable
- Leader + cs - Copilot status
- Ctrl + l - Copilot suggestion accept
- Ctrl + ] - Copilot next suggestion
- Ctrl + \ - Copilot dismiss
I'm using vim-plug to install my vim plugins. vim-plug will be auto-installed on first run.
Run :PlugInstall in vim if you add more plugins.
- Leader is set to space
- Ctrl + n — Toggle Explorer (netrw) in the same pane
- Ctrl + b — Toggle between last two open buffers
- Ctrl + h/j/k/l — Move to split left/down/up/right (Ctrl + l also redraws)
- space + w — Save file
- space + ff — Fuzzy find files (fzf :Files)
- space + q — Close current split/window
- space + t — Run nearest test
- space + T — Run test file
- space + a — Run test suite
- space + l — Run last test
- space + g — Switch to last test file
- space + s — Split below and open Explorer
- space + v — Split right and open Explorer
- space + L — Toggle display of invisible characters
sudo softwareupdate --install-rosetta --agree-to-license
Download flutter and install to ~/.flutter