https://github.com/mate-amargo/dotfiles
🔧 My dotfiles & some useful scripts 🐛
https://github.com/mate-amargo/dotfiles
configs dotfiles i3-config vimrc xmonad-config yadm
Last synced: 7 months ago
JSON representation
🔧 My dotfiles & some useful scripts 🐛
- Host: GitHub
- URL: https://github.com/mate-amargo/dotfiles
- Owner: mate-amargo
- License: mit
- Created: 2021-06-01T18:28:07.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-23T20:40:26.000Z (7 months ago)
- Last Synced: 2025-03-23T21:29:06.782Z (7 months ago)
- Topics: configs, dotfiles, i3-config, vimrc, xmonad-config, yadm
- Language: Shell
- Homepage:
- Size: 445 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dotfiles
🔧 My dotfiles & some useful scripts 🐛
The files are managed nicely by [yadm](https://github.com/TheLocehiliosan/yadm/).
## Installation
Specify the main branch:
```
yadm clone -b main https://github.com/mate-amargo/dotfiles.git
```
After that, remember to decrypt the files:
```
yadm decrypt --yadm-archive ~/.local/share/yadm/archive
```
## Usage
### Basic stuff
Just use `yadm` as if it were git.
```
vim ~/.newconfig
yadm add ~/.newconfig
yadm commit -m "Useful commit message"
yadm push
```
### Use a different user for commits
If you have different `user` sections in your gitconfigs for your different machines, use the following to tell yadm which user to use:
```
yadm gitconfig "user.email" "alternate-email@domain"
yadm gitconfig "user.name" "Alternate Name"
yadm gitconfig "user.signkey" "ALTERNATE_KEY_FINGERPRINT"
yadm gitconfig "user.signingkey" "ALTERNATE_KEY_FINGERPRINT"
```
### Alternates
There are various ways of using alternate files. But I find that using the `class` system works best for me.
You can set the class with (for example `home`):
```
yadm config local.class home
```
To query the current class just don't pass the last argument
```
yadm config local.class
```
If you want to use alternates just add them to `~/.config/yadm/alt` and commit that file and **not the created symlink**.
For example:
```
vim ~/.config/yadm/alt/.config/fish/config.fish\#\#class.home
yadm add ~/.config/yadm/alt/.config/fish/config.fish\#\#class.home
yadm commit -m "Add fish config for home class"
```
This will create a symlink from `~/.config/fish/config.fish` pointing to `~/.config/yadm/alt/.config/fish/config.fish##class.home`
### Encryption
To use encryption first add the path to the sensitive file to the archive `~/.config/yadm/encrypt` and then use `yadm encrypt` to generate the encrypted file `~/.local/share/yadm/archive` and add that one to the repo too!
For example:
```
vim ~/.config/my_sensitive_config
echo '~/.config/my_sensitive_config' >> ~/.config/yadm/encrypt
yadm add ~/.config/yadm/encrypt
yadm encrypt
yadm add ~/.local/share/yadm/archive
yadm commit -m "Add sensitive config as encrypted file"
```