My dotfiles, this time with nix.
Find a file
willemml e4feb3d435
flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/94a0f967876bbb4b42292026d2c776cade605589' (2023-11-16)
  → 'github:nix-community/emacs-overlay/7d58a5b06d126ef3bfac51a17f359201374a7490' (2023-11-23)
• Updated input 'emacs-overlay/nixpkgs-stable':
    'github:NixOS/nixpkgs/d4b5a67bbe9ef750bd2fdffd4cad400dd5553af8' (2023-11-14)
  → 'github:NixOS/nixpkgs/f741f8a839912e272d7e87ccf4b9dbc6012cdaf9' (2023-11-20)
• Updated input 'fenix':
    'github:nix-community/fenix/ca6415d87d2e1b5975d59b2a68ae19029de1759c' (2023-11-11)
  → 'github:nix-community/fenix/5ade7808d45671b545f3516adf61bc9a604a6246' (2023-11-23)
• Updated input 'fenix/nixpkgs':
    'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
  → 'github:nixos/nixpkgs/e4ad989506ec7d71f7302cc3067abd82730a4beb' (2023-11-19)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/11a87c917943dac5a568579f799c2d7458324103' (2023-11-10)
  → 'github:rust-lang/rust-analyzer/7ceefc7ee981f7dd9de4cfdd070696e48b4ab43e' (2023-11-22)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/9afdd61adeaf413afbe853dbc5fdf6853c8bde21' (2023-11-11)
  → 'github:hyprwm/Hyprland/e55c5a916ab942e641339471bc80b6d2efbc2044' (2023-11-22)
• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/8aff4ca3dee60d1422489fe8d52c2f837b3ad113' (2023-11-12)
  → 'github:nix-community/nix-index-database/27920146e671a0d565aaa7452907383be14d8d82' (2023-11-19)
• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/08cea2d8b6b32b5dd3976d369863d4b22a22f2b4' (2023-10-22)
  → 'github:tpwrules/nixos-apple-silicon/14b327ca47703c376ebb82ba16dc42ca2baa57d8' (2023-11-19)
• Updated input 'nixvim':
    'github:nix-community/nixvim/796e7391cec5134fd36951d275e7a0809e2107c8' (2023-11-22)
  → 'github:nix-community/nixvim/a88b9550206ee3758314e7231c8b56784bd2d078' (2023-11-23)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06)
  → 'github:cachix/pre-commit-hooks.nix/e558068cba67b23b4fbc5537173dbb43748a17e8' (2023-11-15)
• Updated input 'stylix':
    'github:danth/stylix/5c6f7fd709be441505998fc51a25b645a44d359e' (2023-11-08)
  → 'github:danth/stylix/a15c3196c1d620c18cbee8229092598384a89fef' (2023-11-18)
2023-11-23 00:35:39 -08:00
common Updates nixpkgs, adds nix-tree, fixes stylix on darwin 2023-11-23 00:34:17 -08:00
home Updates nixpkgs, adds nix-tree, fixes stylix on darwin 2023-11-23 00:34:17 -08:00
nixos Updates nixpkgs, adds nix-tree, fixes stylix on darwin 2023-11-23 00:34:17 -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.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).