My dotfiles, this time with nix.
Find a file
github-actions[bot] adfb833296 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:willemml/nix-darwin/215f56f908ed88d5660d93e064af439a7fb5a7bf' (2023-11-11)
  → 'github:willemml/nix-darwin/6093904c53583cd5a2c6d28a72f866bb2f5b60da' (2023-11-11)
• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/1a47948bbbe3eea50deaabf5f260d3b2a233aaa5' (2023-11-09)
  → 'github:nix-community/emacs-overlay/c5f0c468f8e92246473c1eabe997ad1c41fb6a1a' (2023-11-11)
• Updated input 'fenix':
    'github:nix-community/fenix/8eeef23f2c8d092227af40eff98afe5b41891e3b' (2023-11-09)
  → 'github:nix-community/fenix/ca6415d87d2e1b5975d59b2a68ae19029de1759c' (2023-11-11)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/7059ae2fc2d55fa20d7e2671597b516431129445' (2023-11-08)
  → 'github:rust-lang/rust-analyzer/11a87c917943dac5a568579f799c2d7458324103' (2023-11-10)
• Updated input 'home-manager':
    'github:nix-community/home-manager/6a8444467c83c961e2f5ff64fb4f422e303c98d3' (2023-11-07)
  → 'github:nix-community/home-manager/fad880ea934808072cd224152854d4257034bd24' (2023-11-12)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/14195835ef1dd25e10b0d873ec75c004b238ccba' (2023-11-09)
  → 'github:hyprwm/Hyprland/9afdd61adeaf413afbe853dbc5fdf6853c8bde21' (2023-11-11)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/47bf87ade2bd32395615a385ebde1fefbcdf79a2' (2023-10-21)
  → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06)
2023-11-12 00:13:34 +00:00
.github/workflows Enables nix-magic-cache for github, disables darwin CI 2023-11-10 12:10:59 -08:00
common Adds support for /etc/hosts on darwin 2023-11-11 12:34:57 -08:00
flake Restructrues entire flake 2023-11-09 14:10:10 -08:00
home Fixes linux gpg-agent 2023-11-11 03:43:53 -08:00
nixos Switches to darwin input to my fork 2023-11-11 12:56:52 -08:00
packages Replaces pinentry-touchid with pinentry 2023-11-11 03:37:06 -08:00
.envrc nix direnv 2023-03-20 09:30:18 -07:00
.gitignore Restructrues entire flake 2023-11-09 14:10:10 -08:00
flake.lock flake.lock: Update 2023-11-12 00:13:34 +00:00
flake.nix Switches to darwin input to my fork 2023-11-11 12:56:52 -08:00
LICENSE add MIT license 2023-03-16 12:28:17 -07:00
README.org Updates readme, fixes darwin home config 2023-11-09 14:34:45 -08:00

dotfiles.nix

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).