diff options
-rw-r--r-- | README.md | 72 | ||||
-rw-r--r-- | aerc/aerc.conf (renamed from .config/aerc/aerc.conf) | 0 | ||||
-rw-r--r-- | alacritty/alacritty.yml (renamed from .config/alacritty/alacritty.yml) | 0 | ||||
-rw-r--r-- | dunst/dunstrc (renamed from .config/dunst/dunstrc) | 0 | ||||
-rw-r--r-- | foot/foot.ini (renamed from .config/foot/foot.ini) | 0 | ||||
-rw-r--r-- | gtk-4.0/gtk.css (renamed from .config/gtk-4.0/gtk.css) | 0 | ||||
-rw-r--r-- | i3status/config (renamed from .config/i3status/config) | 0 | ||||
-rw-r--r-- | lf/lfrc (renamed from .config/lf/lfrc) | 0 | ||||
-rw-r--r-- | mimeapps.list (renamed from .config/mimeapps.list) | 0 | ||||
l--------- | nvim/init.vim (renamed from .config/nvim/init.vim) | 0 | ||||
-rw-r--r-- | swappy/config (renamed from .config/swappy/config) | 0 | ||||
-rw-r--r-- | sway/config (renamed from .config/sway/config) | 0 | ||||
l--------- | sway/setup (renamed from .config/sway/setup) | 0 | ||||
-rw-r--r-- | sway/setups/home (renamed from .config/sway/setups/home) | 0 | ||||
-rw-r--r-- | waybar/config (renamed from .config/waybar/config) | 0 |
15 files changed, 62 insertions, 10 deletions
@@ -1,21 +1,73 @@ # dotfiles -A Git repository to track my personal GNU/Linux dotfiles. +A Git repository to track my personal GNU/Linux dotfiles. It should be located +in the config directory `~/.config` where programs should store their +configuration files. -## Usage +## Migrate from earlier dotfiles versions + +The dotfiles project used to create a bare Git repository in `~/dotfiles.git` +and a worktree in `~` to care about programs that place configuration files in +`~` directly. + +Now dotfiles does not care about them anymore. It is much cleaner to save +configuration files in `~/.config` and much simpler to use a simple Git +repository than using a bare repo with worktree. + +Use this command to remove a bare repository based installation of dotfiles: + +``` +rm -rf ~/dotfiles.git +``` + +After this step you can proceed with installation like described below. + +## Installation + +Start by switching to your config directory and initialize an empty Git +repository in it: + +```bash + mkdir -p ~/.config # create if it does not exist + cd ~/.config + git init +``` + +Then you should add the remote repository from xengineering.eu and fetch the +content: + +```bash + git remote add origin https://cgit.xengineering.eu/dotfiles + git fetch +``` + +Checkout the preferred branch (default is `main`). Add ` --force` after +`checkout` if the following command fails and you want to overwrite existing +files: + +```bash + git checkout main +``` + +Finally you should link some configuration files from programs which expect +their config file in `~` instead of `~/.config`: -### Installation ```bash - cd ~ # switch to home folder - git clone --bare https://cgit.xengineering.eu/dotfiles # clone the bare repository - git --git-dir=$HOME/dotfiles.git/ --work-tree=$HOME checkout # checkout dotfiles to your home - # (append '-f' to overwrite local ones) - source ~/.bashrc # enable configuration for current shell + ln -s ~/.config/.bash_profile ~/.bash_profile + ln -s ~/.config/.bashrc ~/.bashrc + ln -s ~/.config/.vimrc ~/.vimrc + ln -s ~/.config/.zshrc ~/.zshrc ``` -### Update +## Update + +Simply run this command from any location on your computer: + ```bash - dotfiles pull + git -C ~/.config pull ``` +## Add or update files + +You can use `~/.config` like a normal Git repository. diff --git a/.config/aerc/aerc.conf b/aerc/aerc.conf index 66959d0..66959d0 100644 --- a/.config/aerc/aerc.conf +++ b/aerc/aerc.conf diff --git a/.config/alacritty/alacritty.yml b/alacritty/alacritty.yml index f977cb0..f977cb0 100644 --- a/.config/alacritty/alacritty.yml +++ b/alacritty/alacritty.yml diff --git a/.config/dunst/dunstrc b/dunst/dunstrc index dca19f6..dca19f6 100644 --- a/.config/dunst/dunstrc +++ b/dunst/dunstrc diff --git a/.config/foot/foot.ini b/foot/foot.ini index b0c6525..b0c6525 100644 --- a/.config/foot/foot.ini +++ b/foot/foot.ini diff --git a/.config/gtk-4.0/gtk.css b/gtk-4.0/gtk.css index d9538e0..d9538e0 100644 --- a/.config/gtk-4.0/gtk.css +++ b/gtk-4.0/gtk.css diff --git a/.config/i3status/config b/i3status/config index 6864525..6864525 100644 --- a/.config/i3status/config +++ b/i3status/config diff --git a/.config/lf/lfrc b/lf/lfrc index c164970..c164970 100644 --- a/.config/lf/lfrc +++ b/lf/lfrc diff --git a/.config/mimeapps.list b/mimeapps.list index ae66dc8..ae66dc8 100644 --- a/.config/mimeapps.list +++ b/mimeapps.list diff --git a/.config/nvim/init.vim b/nvim/init.vim index 71b3819..71b3819 120000 --- a/.config/nvim/init.vim +++ b/nvim/init.vim diff --git a/.config/swappy/config b/swappy/config index 53bd7cc..53bd7cc 100644 --- a/.config/swappy/config +++ b/swappy/config diff --git a/.config/sway/config b/sway/config index 0fccd6f..0fccd6f 100644 --- a/.config/sway/config +++ b/sway/config diff --git a/.config/sway/setup b/sway/setup index bbc3121..bbc3121 120000 --- a/.config/sway/setup +++ b/sway/setup diff --git a/.config/sway/setups/home b/sway/setups/home index 9db5d86..9db5d86 100644 --- a/.config/sway/setups/home +++ b/sway/setups/home diff --git a/.config/waybar/config b/waybar/config index c9420ad..c9420ad 100644 --- a/.config/waybar/config +++ b/waybar/config |