Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/knl/dotskel

My personal configuration files built using home-manager.
https://github.com/knl/dotskel

dotfiles home-manager nix

Last synced: 11 days ago
JSON representation

My personal configuration files built using home-manager.

Awesome Lists containing this project

README

        

This repository holds my dotfiles setup. It is based on [[https://github.com/nix-community/home-manager][home-manager]], a [[https://nixos.org/][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][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.

#+begin_src bash
xcode-select --install
#+end_src

** =nix=

The new installer from Determinate Systems is really good, and the option to use single user mode disappeared from all installers, so:
#+begin_src bash
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
source "$HOME/.nix-profile/etc/profile.d/nix.sh"
#+end_src

** Applications

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

- [[https://github.com/Hammerspoon/hammerspoon/releases/latest][Hammerspoon]]
- [[https://d3jdrrl94b667u.cloudfront.net/Raycast_v1.62.1_fa62964c11720495b5c98ad1b30f32ebe5913c65_universal.dmg?response-content-disposition=attachment%3B%20filename%3DRaycast.dmg&Expires=1700563439&Signature=c87Tv1XxzDGRgIRt8zgrm0eiFO9QWxQrcYJV4qy7lyhiTtTG8J2JhTfUOsaRmJBtcE2KhtIFPnH0gG8twx2cqB2LGX5T535-UOeAVwLE7wiP-Ef9OrepvSgkZt5I6kQjWpO7tEcZXQ4j-BKJ4iV2Zph1rumTQIewTvh9ZwlgopJr6D~wK93j48dYEy5WfvKmRJbv1Jvas8Ia2shfg8NOTJhBul6huZfvY5CPJ7d7TfcXg~P8kSAyuP7jidePgcJ5VuajblyOObjkP6teR7hMSk~SNwCqxZC8rjntUd0eROM0sKs2rKiVdvh4CH8zFF3ZMq7kHOaAxfqMP7an-Vj7Xw__&Key-Pair-Id=K69CUC23G592W][Raycast]]
- [[https://karabiner-elements.pqrs.org/][Karabiner-Elements]]
- [[https://app-updates.agilebits.com/download/OPM7][1Password 7]]
- [[https://www.mozilla.org/en-US/firefox/new/][Firefox]]
- [[https://download.bjango.com/istatmenus/][iStat Menus]]
- [[https://frankfurt.kapeli.com/downloads/v6/Dash.zip][Dash]]

** Misc

One can't live without good fonts. I prefer Iosevka:
[[https://github.com/be5invis/Iosevka/releases][Iosevka Term SS08]]. This font
will be installed by home-manager.

** dotfiles

Finally, just run the following command:

#+begin_src bash
nix-shell
home-manager switch
#+end_src

Afterwards, it's just riding on the good wave of direnv and aliases:
#+begin_src bash
z skel
stash; gl --rebase; unstash
d reload
hm switch
#+end_src

* References

- https://hugoreeves.com/posts/2019/nix-home/
- https://github.com/ryantm/home-manager-template/blob/master/shell.nix