home dir & package management
113
stars
300
commits
Lua
primary language
Aug 22, 2026
updated
Reproducible set of dotfiles and packages for Linux and macOS
Install with nix run github:nmattia/homies#init. This will add the homies profile and set up some necessary dotfiles.
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.
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 build .#homies
Upgrading to the new profile:
$ nix profile upgrade homies # or list more with "nix profile list"
Syncing apps for Spotlight indexing:
$ rsync --archive --checksum --delete --chmod=-w ~/.nix-profile/Applications/ ~/Applications/homies-apps/ && chmod -R +w ~/Applications/homies-apps && codesign --remove-signature ~/Applications/homies-apps/kitty.app && codesign --force --deep --sign - ~/Applications/homies-apps/kitty.app
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 /sbin /Library /System/Library
sandbox = true
300 commits
Lua
37.7%
Nix
33.8%
Shell
28.4%
home dir & package management
113
stars
300
commits
Lua
primary language
Aug 22, 2026
updated
Reproducible set of dotfiles and packages for Linux and macOS
Install with nix run github:nmattia/homies#init. This will add the homies profile and set up some necessary dotfiles.
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.
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 build .#homies
Upgrading to the new profile:
$ nix profile upgrade homies # or list more with "nix profile list"
Syncing apps for Spotlight indexing:
$ rsync --archive --checksum --delete --chmod=-w ~/.nix-profile/Applications/ ~/Applications/homies-apps/ && chmod -R +w ~/Applications/homies-apps && codesign --remove-signature ~/Applications/homies-apps/kitty.app && codesign --force --deep --sign - ~/Applications/homies-apps/kitty.app
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 /sbin /Library /System/Library
sandbox = true
300 commits
Lua
37.7%
Nix
33.8%
Shell
28.4%