Updated readme

This commit is contained in:
2024-12-30 13:38:37 +02:00
parent cc4778f46e
commit 061819d25f

View File

@@ -1,82 +1,35 @@
# Dotfiles
My personal dotfiles for reproducing my entire machine.
Includes
- Operating System and packages (NixOS)
- Neovim config
- Ghostty Terminal config
- Tmux config
- Utility scripts
## Installation
To install GNU Stow, use your preferred package manager
Use your preferred package manager to install GNU stow
### OpenSUSE Tumbleweed
Then clone the repository
```zsh
$ sudo zypper up
$ sudo zypper in stow
```sh
$ git clone https://github.com/kyren223/dotfiles
```
### Load (symlink) dotfiles
Let stow generate all the symlinks for you
- <dotfiles> - refers to the name of the directory where the dotfiles git repo lives
Make sure that <dotfiles> is a subdirectory of `$HOME`
```zsh
$ cd ~/<dotfiles> && stow .
```sh
$ cd ~/dotfiles && stow .
```
You may need to add the `--adopt` flag to stow to override existing configurations in `$HOME`
```zsh
$ cd ~/<dotfiles> && stow --adopt .
You may need to add the `--adopt` flag to stow to override existing your existing dotfiles.
If using NixOS, rebuild your system using the flake
```sh
$ sudo nixos-rebuild switch --flake ~/dotfiles#laptop-nixos
```
## Usage
- <dotfiles> - refers to the name of the directory where the dotfiles git repo lives
- <path> - The directory path where the file/s live
- <file> - The file's name, this is the file you want to add/update/delete
### Add
Add a new file to the dotfiles repo
```zsh
$ mv ~/<path>/<file> ~/<dotfiles>/<path>/<file>
$ cd ~/<dotfiles> && stow .
```
### Update
As GNU Stow uses symlinks, you can simply edit it (in either ~/<path>/<file> or ~/<dotfiles>/<path>/<file>) and the changes will be present in both locations
### Delete
Remove a file from GNU Stow and the filesystem
```zsh
$ rm ~/<dotfiles>/<path>/<file>
$ rm ~/<path>/<file>
```
Remove a file only from GNU Stow, but keep it in the filesystem
```zsh
$ rm ~/<path>/<file>
$ mv ~/<dotfiles>/<path>/<file> ~/<path>/<file>
$ cd ~/<dotfiles> && stow .
```
### Commit changes to the GitHub repository (optional)
```zsh
$ cd ~/<dotfiles>
$ git add .
$ git commit -m "Your message here"
$ git push origin master
```
### Pull Changes from the GitHub repository
```zsh
$ cd ~/<dotfiles>
$ git pull origin master
$ stow -- adopt .
```