Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oalders/dot-files
My dotfiles
https://github.com/oalders/dot-files
bash dotfiles tmux vim
Last synced: 10 days ago
JSON representation
My dotfiles
- Host: GitHub
- URL: https://github.com/oalders/dot-files
- Owner: oalders
- Created: 2011-08-17T15:12:40.000Z (about 13 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T14:50:17.000Z (7 months ago)
- Last Synced: 2024-04-14T08:06:27.006Z (7 months ago)
- Topics: bash, dotfiles, tmux, vim
- Language: Shell
- Homepage:
- Size: 3.8 MB
- Stars: 23
- Watchers: 7
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Dot Files
* [Fresh macOS Installs](#fresh-macos-installs)
* [Clone Repo and Change Remote](#clone-repo-and-change-remote)
* [Change Default shell](#change-default-shell)
* [Trackpad and Dock defaults](#trackpad-and-dock-defaults)
* [Install App Store Apps](#install-app-store-apps)
* [Hammerspoon Spoon Installer](#hammerspoon-spoon-installer)
* [Alfred Workflows](#alfred-workflows)
* [Alfred Nord Theme](#alfred-nord-theme)
* [All Fresh Installs](#all-fresh-installs)
* [Plenv](#plenv)
* [tmux](#tmux)
* [Prefix](#prefix)
* [Shortcuts](#shortcuts)
* [Plugins](#plugins)
* [tmux-resurrect](#tmux-resurrect)
* [vim](#vim)
* [Mouse](#mouse)
* [Buffers](#buffers)
* [LSP](#lsp)
* [State](#state)
* [Mason](#mason)
* [Alfred](#alfred)
* [Bash](#bash)
* [less](#less)
* [gh -- GitHub CLI](#gh----github-cli)
* [Testing with Docker](#testing-with-docker)
* [Fresh](#fresh)
* [Interactive](#interactive)
* [Docker bashrc](#docker-bashrc)
* [Hammerspoon](#hammerspoon)
* [Seal](#seal)
* [cpan-repo](#cpan-repo)
* [Slackify Name](#slackify-name)
* [xpasswd](#xpasswd)[![Actions Status](https://github.com/oalders/dot-files/workflows/Build/badge.svg)](https://github.com/oalders/dot-files/actions)
## Fresh macOS Installs
Some of these scripts will need to be run manually on a fresh install. They may
require manual intervention or be impractical to run regularly.### Clone Repo and Change Remote
```text
git clone https://github.com/oalders/dot-files.git
cd dot-files
./bin/change-dot-files-origin.sh
```### Change Default shell
See
On macOS:
`sudo vi /etc/shells`
Afterwards it should look something like:
```text
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells./bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/opt/homebrew/bin/bash
```Then:
```shell
chsh -s /opt/homebrew/bin/bash $USER
```### Trackpad and Dock defaults
```shell
./configure/macos.sh
```### Install App Store Apps
On my personal machines after I'm logged in to the app store:
```shell
brew bundle install --file=brew/mas
```### Hammerspoon Spoon Installer
```shell
./installer/spoon-installer.sh
```Then double-click the `SpoonInstall.spoon` file. This fixes the following error:
> Unable to load Spoon: SpoonInstall
### Alfred Workflows
```shell
installer/alfred-workflows.sh
```Run after Alfred has been installed. Confirm each install individually.
### Alfred Nord Theme
[Install Alfred Nord Theme](https://www.alfredapp.com/extras/theme/5Y8E7URIWQ/)
## All Fresh Installs
### Plenv
```shell
./installer/plenv.sh
```Install `plenv` as well as the latest Perl version.
## tmux
### Prefix
`ctrl-a`
### Shortcuts
`ctrl-a + L`: toggle session
`ctrl-a + `: tmux which-key### Plugins
* prefix + r # reload config
* prefix + I # install plugins#### tmux-resurrect
* prefix + Ctrl-s - save
* prefix + Ctrl-r - restore
* `rm -rf ~/.cache/tmux/resurrect` - clear saved sessions## vim
Remind myself of vim shortcuts etc.
* `:BCommits` - git commits for the current buffer
* `:BLines` - fzf lines in current buffer
* `:bn` or `]b` - next buffer
* `:bp` or `[b` - previous buffer
* `[c` and `]c` - navigate to next changed hunk
* `rn` - LSP rename
* `crr` - LSP code action
* `ctrl-l` - clear highlighted search terms
* `ctrl-o` - return to previous position in file
* `ctrl-w =` - equalize width and height of all windows
* `ctrl-w m` - toggle zooming of splits
* `ctrl-w r` - swap splits
* `DiffviewOpen HEAD~1` - view diff. Probably follow with `:colo iceberg`
* `]d` - next diagnostic
* `[d` - previous diagnostic
* `gc` - toggle commenting on a visual selection
* `gcc` - toggle commenting on line under cursor
* `gd` - go to definition
* `:GenTocGFM` - generate GitHub flavoured markdown table of contents
* `:GFiles` - `git ls-files | fzf`
* `:GFiles?` - `git status | fzf` with preview pane
* `:Gitsigns reset_hunk` - reset hunk at cursor
* `gO` - open a loc list with the table of contents for a help file
* `gr` - get references
* `gwip` - reflow a block of text and maintain cursor position
* `gx` - in normal mode calls `vim.ui.open()` on whatever is under the cursor
* `gm` - show commit message for line under cursor
* `:Lines` - fzf lines in loaded buffers
* `:Maps` - fzf normal mode mappings
* `:Splitrun precious tidy --git` - run a command in a split
* Terminals
* Switch between windows via `Ctrl-\ Ctrl-n` and then `Ctrl-w` etc
* `:vert(ical) terminal` - vertical split into a terminal. `exit` to
close the terminal
* `:ToggleTerm to split into a terminal buffer`
* `:w` in a Git commit buffer to enable a `typos` linter check### Mouse
When mouse is enabled, clicking in the terminal automatically sets it to
`normal` mode.* `:set mouse=a` to enable mouse
* `:set mouse=` to disable mouse
* `ctrl-a ctrl-m` to toggle mouse in `tmux`### Buffers
See `akinsho/bufferline.nvim` for buffer config.
### LSP
`:LspLog` displays path to log file at the top
Print results of `vim.lsp.log.get_filename()`:
`:lua print(require('vim.lsp.log').get_filename())`
### State
Print location of state directory:
`:lua print(vim.fn.stdpath 'state')`
`:h stdpath()` for args that can be passed.
### Mason
Lockfiles. For instance, if it can't update or install `selene`, remove:
`./local/share/nvim/mason/staging/selene.lock`## Alfred
After Alfred and Dash are installed, click the `Integration` tab in `Dash` and
then choose `Alfred`. If, for instance the `HTTP Status Codes` cheat sheet has
been downloaded via `Dash`, this will then be available in Alfred using `http`
to begin the search.## Bash
* `ctrl-e` - open current line in `$EDITOR`
* `fc` - open previous command in `$EDITOR`
* `fc 2009` - open line 2009 of `history` in `$EDITOR`## less
When using `less` as a pager for `psql`, you can pass `less` directives while
viewing outpt.* `-S` toggle horizontal scrolling
* `-N` toggle line numbers
* `10 + arrow key` will now advance horizontal scroll by 10 characters when
arrow keys are pressed## gh -- GitHub CLI
* `gh pr status`: status of all pull requests in repo
* `gh pr view 1234`: view a single pull request
* `gh pr view --comments 1234`: view pull request and comments
* `gh pr checks`: get status of checks for a PR in current branch## Testing with Docker
### Fresh
```shell
docker-compose up
```### Interactive
```shell
docker-compose run --rm app /bin/env bash
```In the Docker container:
```shell
USER=root ./installer/inside-docker.sh && ./install.sh
```## Docker bashrc
```text
docker run --rm -it -p 5000:5000 \
-v "$HOME/dot-files/bashrc-docker:/root/.bashrc" \
--volume $PWD:/sandbox \
python:latest bashrc
```## Hammerspoon
### Seal
Launch Seal via `hyper` + `space`
#### cpan-repo
`hyper` + `space` + `cr OrePAN2`
#### Slackify Name
Select name. Then: `hyper` + `space` + `sl`
#### xpasswd
Enter insert mode. Then `hyper` + `space` + `xp`