/homies

home dir & package management

Primary LanguageNixMIT LicenseMIT

Homies

homies

Reproducible set of dotfiles and packages for Linux and macOS


Install with nix profile install. Update your ~/.zshrc:

if [ -f $HOME/.nix-profile/share/zshrc/zshrc ]; then source $HOME/.nix-profile/share/zshrc/zshrc; fi

The homies will be available in all subsequent shells, including the customizations (vim with my favorite plugins, tmux with my customized configuration, etc). See the introduction blog post for an overview.

How-To

Installing the package set:

$ nix profile install

Updating the packages:

$ nix flake update # alternative: nix flake lock --update-input <my-input>

Try out the new packages:

$ nix develop

Upgrading to the new profile:

$ nix profile upgrade X # find X with "nix profile list"

Syncing apps for Spotlight indexing:

$ rsync --archive --checksum --delete --chmod=-w ~/.nix-profile/Applications/ ~/Applications/homies-apps/

Note We copy the app to make sure Spotlight picks it up. Creating a (Finder) alias does work too, but the alias is given much lower priority in Spotlight search and the app appears way below e.g. online searches, files, etc.

Listing the previous and current configurations:

$ nix profile history

Deleting old configurations:

$ nix profile wipe-history

Ensure build is sandboxed:

# /etc/nix/nix.conf
build-users-group = nixbld
# /Library: cc is installed in /Library/Developer (and used from /usr/bin
/cc and others)
# /System/Library: needed for system-wide Perl
sandbox-paths = /bin/bash /bin /usr/bin /usr/sbin /Library /System/Library
sandbox = true