My dotfiles, this time with nix.
Find a file
2023-11-24 11:29:49 -08:00
common Updates nixpkgs, adds nix-tree, fixes stylix on darwin 2023-11-23 00:34:17 -08:00
home Enables Karabiner-Elements to remap Hyper+JKL; to arrows 2023-11-24 11:02:08 -08:00
nixos Adds thunderbird to brew on darwin 2023-11-24 11:29:49 -08:00
packages Adds p4box host 2023-11-14 02:02:35 -08:00
.envrc nix direnv 2023-03-20 09:30:18 -07:00
.gitattributes Enables git-crypt 2023-11-19 14:11:06 -08:00
.gitignore Restructrues entire flake 2023-11-09 14:10:10 -08:00
flake.lock flake.lock: Update 2023-11-23 00:35:39 -08:00
flake.nix Updates nixpkgs, adds nix-tree, fixes stylix on darwin 2023-11-23 00:34:17 -08:00
LICENSE add MIT license 2023-03-16 12:28:17 -07:00
README.md Adds markdown version of README (using ox-md) 2023-11-24 11:04:20 -08:00
README.org Adds markdown version of README (using ox-md) 2023-11-24 11:04:20 -08:00

My dotfiles using Nix. System configuration done using nix-darwin and NixOS. User configuration using home-manager. This repo is put together as a flake using flake-parts. On NixOS home-manager is used as a NixOS module, on Darwin it is used separately from nix-darwin.

dotfiles.nix is inspired by terlar/nix-config, ~rycee/configurations and hlissner/dotfiles.

All Nix code in this repo is formatted using alejandra.

Usage

Show what this flake provides:

nix flake show

Switch both system (NixOS) and home:

nixos-rebuild switch --flake .

Switch system (nix-darwin):

darwin-rebuild switch --flake .

Switch home only (on Darwin):

nix run .#home

Build home without switching:

nix build .#home

Update all inputs:

nix flake update --commit-lock-file

Update a single input:

nix flake lock --update-input nixpkgs --commit-lock-file

Format all nix files:

nix fmt

Enter the dev shell (if not using nix-direnv):

nix develop

Tasks

TODO Break out emacs config

Emacs configuration should be in it's own repository. Lisp code should be extracted into separate files or an org-babel setup.

TODO Services as modules

Services should be converted to modules. These should ideally support both linux and darwin hosts (launchd and systemd).