Skip to content

Latest commit

 

History

History
71 lines (53 loc) · 3.47 KB

README.org

File metadata and controls

71 lines (53 loc) · 3.47 KB

This repository holds my dotfiles setup. It is based on home-manager, a Nix based approach to handling all dependencies and setup. This means that all dotfiles are actually symlinked to the nix store, and are immutable. This in turn means I’ll have to deploy changes every time I want to change something, but I can live with it.

https://github.com/knl/dotskel/actions/workflows/build.yml/badge.svg

Installation

Command Line Tools

Command Line Tools are needed to build various things, and bring in git.

xcode-select --install

nix

The new installer from Determinate Systems is really good, and the option to use single user mode disappeared from all installers, so:

   curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
     sh -s -- install \
       --extra-conf "extra-substituters = https://knl.cachix.org https://nix-community.cachix.org https://niv.cachix.org https://cache.nixos.org https://devenv.cachix.org" \
       --extra-conf "extra-trusted-public-keys = knl.cachix.org-1:/iqUbqBexzvcDn5ee7Q3Kj1MBh6P9RTwEVh6hh9SDE0= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= niv.cachix.org-1:X32PCg2e/zAm3/uD1ScqW2z/K0LtDyNV7RdaxIuLgQM= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU=" \
	 --extra-conf "keep-outputs = true" \
       --extra-conf "keep-derivations = true"

   source "$HOME/.nix-profile/etc/profile.d/nix.sh"

Applications

These tools can’t be installed by home-manager, because they are macOS applications. So, install them manually.

Misc

One can’t live without good fonts. I prefer Iosevka: Iosevka Term SS08. This font will be installed by home-manager.

dotfiles

Finally, just run the following command:

nix-shell
home-manager switch

Afterwards, it’s just riding on the good wave of direnv and aliases:

z skel
stash; gl --rebase; unstash
d reload
hm switch

References