# Dotfiles This repository contains useful (config) files. There are two branches: - [*main*](https://code.webartifex.de/alexander/dotfiles/src/branch/main) (~ "headless") - [*desktop*](https://code.webartifex.de/alexander/dotfiles/src/branch/desktop) (for GNOME 48+ on X11) `main` contains dotfiles intended to be used on all kinds of machines and can be thought of as a "minimal" or "server" version. It targets [Debian](https://www.debian.org/) 13 but is kept working on older versions and other distributions as well. `desktop` is (re-)based on top of `main` and adds configurations for [GNOME](https://www.gnome.org/) 48+ on [X11](https://www.x.org/) and many applications, be it end-user software or common development utilities. ## SSH Keys If I told you to go here and copy/paste my public `ssh` keys to give me access to one of your servers, find them either [here](.ssh/authorized_keys) or [here](https://code.webartifex.de/alexander.keys). ## Installation Simply run: ```sh curl https://code.webartifex.de/alexander/dotfiles/raw/branch/main/.local/bin/dotfiles-install > dotfiles-install && sh ./dotfiles-install && rm ./dotfiles-install ``` or ```sh wget https://code.webartifex.de/alexander/dotfiles/raw/branch/main/.local/bin/dotfiles-install -O dotfiles-install && sh ./dotfiles-install && rm ./dotfiles-install ``` This downloads a simple [installation script](.local/bin/dotfiles-install) and then executes it. The script's only dependency is [`git`](https://git-scm.com/). So, it should not be too hard to get this going. The repository is cloned as a bare repository into `~/.local/share/dotfiles` and its files are checked out into `~/` directly. Pre-existing files are backed up to `~/.local/state/dotfiles-backups` beforehand. Afterwards, the files can be managed with the [`dotfiles`](.config/shell/aliases#L23) alias, for example, `dotfiles status` or `dotfiles pull`. The above commands install the *main* variant. To install the *desktop* variant, switch to the [desktop](https://code.webartifex.de/alexander/dotfiles/src/branch/desktop) branch first. Normally, I advise against executing shell scripts from the internet, but this one is short enough to be read even by beginners. So, convince yourself that it is not harmful! ## Shells The config files in this repository are optimized for usage with [GNU's Bourne again shell](https://man7.org/linux/man-pages/man1/bash.1.html), or `bash` for short, and the popular [zsh](https://www.zsh.org/). ## Copyright This repository and *all* of its contents are open-source under the [MIT license](./LICENSE.txt).