https://github.com/progamesigner/dotfiles
My dotfiles
https://github.com/progamesigner/dotfiles
shell
Last synced: over 1 year ago
JSON representation
My dotfiles
- Host: GitHub
- URL: https://github.com/progamesigner/dotfiles
- Owner: progamesigner
- License: mit
- Created: 2015-03-11T14:08:10.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-05-25T03:19:40.000Z (about 3 years ago)
- Last Synced: 2023-05-25T04:22:56.245Z (about 3 years ago)
- Topics: shell
- Language: Shell
- Homepage:
- Size: 253 KB
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dotfiles
A minimal, portable (Linux & macOS), and optimized for [devcontainer](https://containers.dev/) dotfiles.
## Installation
```sh
git clone https://github.com/progamesigner/dotfiles ~/.dotfiles
export GIT_USER_NAME=""
export GIT_USER_EMAIL=""
~/.dotfiles/install.sh
```
## Usage
This dotfiles will configure platforms (macOS, Linux, and DevContainers), Git, GnuPG, SSH, and ZSH.
### Platforms
#### Linux
Nothing configured currently.
#### macOS
It will touch `$DOTTARGET/.hushlogin` file to skip login messages. This can be skipped with `NO_HUSH_LOGIN=1`.
#### DevContainers
It will copy `/etc/gitattributes` and `/etc/gitignore` in containers.
### Git
This will configure some defaults to Git. This can be skipped with `NO_GIT=1`.
### GnuPG
This will configure GPG to use `pinentry-mac` if it's available. Also install browser native messaging manifest for [mailvelope](https://mailvelope.com/). This can be skipped with `NO_GNUPG=1`.
### SSH
This will configure SSH to include some default files. Support `*.user.conf` files to customize. This can be skipped with `NO_SSH=1`.
### ZSH
This will configure ZSH to source some default files. It will load `$ZSH_PROFILE/*.zsh` files in starting-up. This can be skipped with `NO_ZSH=1`.
## Example
In my real setup, I use [Syncthing](https://syncthing.net/) to sync this repository with some `.*` folders, including ignore file for Syncthing, private network SSH configurations, Docker, Kubernetes, and even customized ZSH (mostly [oh-my-zsh](https://ohmyz.sh/) and [zsh-users](https://github.com/zsh-users)) etc.