Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/owpac/dotfiles
My dotfiles managed with chezmoi. Everything, everywhere, in a single command.
https://github.com/owpac/dotfiles
chezmoi dotfiles linux macos oh-my-zsh zsh
Last synced: 2 months ago
JSON representation
My dotfiles managed with chezmoi. Everything, everywhere, in a single command.
- Host: GitHub
- URL: https://github.com/owpac/dotfiles
- Owner: owpac
- Created: 2024-03-19T14:35:33.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-05T15:08:03.000Z (6 months ago)
- Last Synced: 2024-08-05T17:36:07.787Z (6 months ago)
- Topics: chezmoi, dotfiles, linux, macos, oh-my-zsh, zsh
- Language: Shell
- Homepage:
- Size: 85 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Thomas' dotfiles
Bootstrap your local env in a single command!
This dotfiles repository is currently aimed for MacOS.
It's also suitable for use in [**GitHub Codespaces**](https://docs.github.com/codespaces/customizing-your-codespace/personalizing-codespaces-for-your-account#dotfiles), [**Gitpod**](https://www.gitpod.io/docs/config-dotfiles), [**VS Code Remote - Containers**](https://code.visualstudio.com/docs/remote/containers#_personalizing-with-dotfile-repositories), or even Linux distributions, through the [**minimum mode**](#minimum-mode).
Managed with [`chezmoi`](https://chezmoi.io), a dotfiles manager.
## Getting started
You can use the [install script](./install.sh) to install the dotfiles on any machine with a single command. Simply run the following command in your terminal:
```bash
sh -c "$(curl -fsSL https://get.owpac.com/dotfiles)"
```Using the full URL
```bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/owpac/dotfiles/main/install.sh)"
```Using wget
```bash
sh -c "$(wget -qO- https://raw.githubusercontent.com/owpac/dotfiles/main/install.sh)"
```---
## Documentation
**If you followed the steps above so far, you already finished installing the dotfiles. Have fun!**
The below information is more for reference purposes.
_**TL;DR**:_
There are 3 possible modes, listed be order of priority:
1. [**Minimum mode**](#minimum-mode): it contains command prompt configuration.
2. [**Personal mode**](#personal-mode): it is the base configuration for any other Profiles.
3. [**Work mode**](#work-mode): it is a derived Profile from the base, adding work email & other work related configurations.> [!TIP]
> There is an automatic **Headless mode**: if `SSH_CLIENT` env var is detected during init, the headless mode installs .ssh/authorized_keys files.### Minimum mode
The first step of installation will ask if you want a **Minimum** mode installation. The minimum mode only installs the needed dotfiles for the command prompt and is compatible with more distributions. It's also suit for ephemeral environment.
It will be enabled by default when running in a Dev Container.
### Personal mode
The installation will ask if the machine is a **Personal** profile type. The personal profile is the base of every dotfiles configuration. All other profiles inherits from it.
### Work mode
The installation will ask if the machine is a **Work** profile type. The work profile is derived from the base and add some work related configurations.
### Convenience script
The [getting started](#getting-started) step used the [convenience script](./install.sh) to install this dotfiles. There are some extra options that you can use to tweak the installation if you need.
It supports some environment variables:
- `DOTFILES_USER`: Defaults to `owpac`.
- `DOTFILES_HTTPS_URL`: Defaults to `https://github.com/${DOTFILES_USER}/dotfiles.git`.
- `DOTFILES_SSH_URL`: Defaults to `"[email protected]:${DOTFILES_USER}/dotfiles.git`.
- `DOTFILES_DIR`: Defaults to `${HOME}/.dotfiles`.For example, you can use it to clone and install the dotfiles repository in an other directory:
```console
DOTFILES_DIR=.chezmoi sh -c "$(curl -fsSL https://get.owpac.com/dotfiles)"
```### Installing without the convenience script
If you prefer not to use the convenience script to install the dotfiles, you can also do it manually:
```bash
git clone https://github.com/owpac/dotfiles "$HOME/.dotfiles""$HOME/.dotfiles/install.sh"
```---
### TODO
- add script to init & install packages for raspberry pi