Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/eb2b9b64238349bd351561e32e260cac15db6f9a' (2023-11-08) → 'github:lnl7/nix-darwin/c8f385766ba076a096caa794309c40f89894d88a' (2023-11-09) • Updated input 'emacs-overlay': 'github:nix-community/emacs-overlay/905fa7654037fc22b5d96f88bea5e4aab4c1f007' (2023-11-08) → 'github:nix-community/emacs-overlay/1a47948bbbe3eea50deaabf5f260d3b2a233aaa5' (2023-11-09) • Updated input 'fenix': 'github:nix-community/fenix/dfaf3a97fe595a18bf9d55cda3416c17fe906f0f' (2023-11-08) → 'github:nix-community/fenix/8eeef23f2c8d092227af40eff98afe5b41891e3b' (2023-11-09) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/3b7c7f97e4a7bb253a8d398ee4f8346f6cf2817b' (2023-11-07) → 'github:rust-lang/rust-analyzer/7059ae2fc2d55fa20d7e2671597b516431129445' (2023-11-08) • Updated input 'hyprland': 'github:hyprwm/Hyprland/c619e6976f8d7f9637b4bee098159935412c2e99' (2023-11-08) → 'github:hyprwm/Hyprland/14195835ef1dd25e10b0d873ec75c004b238ccba' (2023-11-09) |
||
---|---|---|
.github/workflows | ||
common | ||
flake | ||
home | ||
nixos | ||
packages | ||
.envrc | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.org |
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).