dotfiles

My beautiful configs and dotfiles managed by Nix' home-manager
Log | Files | Refs | README | LICENSE

commit 30b88d491b2a60b4f4c9f361e8ae2ab366316f1f
parent 3d56f5233eb7826f336c7a825d5dec7b2a8e5f61
Author: Friedel Schön <[email protected]>
Date:   Sun,  4 Aug 2024 18:57:36 +0200

update readme

Diffstat:
MREADME.md | 52++++++++++++++++++++++------------------------------
1 file changed, 22 insertions(+), 30 deletions(-)

diff --git a/README.md b/README.md @@ -1,52 +1,44 @@ # My Dotfiles! -## Installing +Welcome to my repository! Here you'll find my dotfiles, but not just plain dotfiles, a *[home-manager](https://nix-community.github.io/home-manager/) config*! -### Step 1 +## Installation -Install dependencies: -- `git` -- `stow` (optional) -- `make` -- suckless-dependencies +### Requirements -### Step 2 +- [Git](https://git.org) +- [Nix the package manager](https://nixos.org/download/) +- [Home Manager](https://nix-community.github.io/home-manager/) -Clone this repository with: +For user-services I use [runit](https://smarden.org/runit) which is the default service supervisor of [Void Linux](https://voidlinux.org). -```bash -~ $ git clone --recurse-submodules https://git.friedelschoen.io/dotfiles -``` +### Instruction -Or if you forget the use the `--recurse-submodules`-flag, you can update the submodules afterwards: +You've got the `home-manager`-command, which uses the default path `~/.config/home-manager`. +Remove this directory with as you want my config as a basis: ```bash -~ $ git submodule update --init +$ rm -rf ~/.config/home-manager ``` -And finally change you working directory with: - +Then clone this repository into just removed location with: ```bash -~ $ cd dotfiles +$ git clone https://github.com/friedelschoen/dotfiles ~/.config/home-manager ``` -### Step 3 +**IMPORTANT** Home Manager is curious about you and your home-directory. As your name probably isn't Friedel, change your username and homeDirectory in `home.nix` (these two lines are marked with '# EDIT ME'). -You can populate the dotfiles with GNU stow: -```bash -~/dotfiles $ stow . -``` +Now the magic begins...! -This will link every file in this repository to the parent directory, e.g. `~/dotfiles/.zshrc -> ~/.zshrc`. -If you are using `stow`, ensure you have cloned this repository into your home-directory or use the `-t <target>` flag, more info about stow in `stow(1)`. +Home Manager is respects you and your own configuration so you don't need to worry it removes files. -You can also manually copy or link the files you want. - -### Step 4 - -Build all suckless-configurations with `make`, there is a `Makefile` provided to build all subdirectories: +You can build this project with: +```bash +$ home-manager build +``` +If everything went right, there should be a `./result`-directory (well actually a symbolic link to a directory but who asked). Congrats, youself just built your new home. It's time to move and make everything appear in place: ```bash -~/dotfiles $ make [suckless-progs] +$ home-manager switch ```