Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lettertwo/config
XDG_CONFIG_HOME
https://github.com/lettertwo/config
config dotfiles shell zsh
Last synced: 25 days ago
JSON representation
XDG_CONFIG_HOME
- Host: GitHub
- URL: https://github.com/lettertwo/config
- Owner: lettertwo
- Created: 2013-02-09T03:22:57.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2024-08-25T17:52:55.000Z (2 months ago)
- Last Synced: 2024-08-25T19:08:04.482Z (2 months ago)
- Topics: config, dotfiles, shell, zsh
- Language: Lua
- Homepage:
- Size: 1.18 MB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Config Directory
AKA "dotfiles"
This repo is designed to be checked out to `$XDG_CONFIG_HOME`.
See [XDG Base Directory Specification] for more.I try to follow XDG conventions, but this _is_ a mac-centric config.
## Prerequisites and Dependencies
The following are used for managing dependencies and installation.
The install task will attempt to bootstrap these things if they are missing.
- [Homebrew] for most things
- [Sheldon] for zsh things
- [Fisher] for fish shell things
- [Neovim] for vim things
- [Kitty] for term things## Installation
The default `$XDG_CONFIG_HOME` dir is `~/.config`,
and that is where we will install.> Note that `$XDG_CONFIG_HOME` does not have not to be set yet.
> Installation will attempt to configure it for you, which will
> require admin credentials.If you have no config dir yet:
```shell
mkdir ~/.config
cd ~/.config
git clone [email protected]:lettertwo/config.git .
make install
```If you have stuff in `~/.config` already:
```shell
cd ~/.config
git init
git remote add origin [email protected]:lettertwo/config.git
git fetch
git reset origin/main
git checkout -t origin/main
make install
```## Updating
An update will do the following:
- pull the latest from lettertwo/config
- update [Homebrew] and installed dependencies
- update [Sheldon] and installed dependencies
- update [Fisher] and installed dependencies
- update [Neovim] and installed dependencies
- update [Kitty]```shell
cd ~/.config
make update
```## Git config
The `git/config` will try to include a `git/user` config file.
I do it this way to avoid having to modify the `git/config` file
with any settings that aren't shareable.You can add your own user and other settings to `git/user` like this:
```shell
touch ~/.config/git/user
git config --file ~/.config/git/user user.name "Your Name Here"
git config --file ~/.config/git/user user.email "[email protected]"
git config --file ~/.config/git/user credential.helper osxkeychain
```[XDG Base Directory Specification]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
[Homebrew]: https://brew.sh
[Sheldon]: https://sheldon.cli.rs
[Fisher]: https://github.com/jorgebucaran/fisher
[Neovim]: https://neovim.io/
[Kitty]: https://sw.kovidgoyal.net/kitty/