nix all the things
1{
2 inputs,
3 config,
4 pkgs,
5 ...
6}:
7{
8 nix = {
9 package = pkgs.lix;
10
11 registry.nixpkgs.flake = inputs.nixpkgs;
12 registry.self.flake = inputs.self;
13 channel.enable = false;
14
15 settings = {
16 auto-optimise-store = true;
17 builders-use-substitutes = true;
18 allowed-users = [ "@wheel" ];
19 trusted-users = [ "@wheel" ];
20 commit-lockfile-summary = "chore: Update flake.lock";
21 accept-flake-config = true;
22 keep-derivations = true;
23 keep-outputs = true;
24 warn-dirty = false;
25
26 sandbox = true;
27 max-jobs = "auto";
28 keep-going = true;
29 log-lines = 20;
30 extra-experimental-features = [
31 "flakes"
32 "nix-command"
33 ];
34 };
35 };
36
37 environment.etc."nix/inputs/nixpkgs".source = "${inputs.nixpkgs}";
38
39 nixpkgs = {
40 config = {
41 allowUnfree = true;
42 input-fonts.acceptLicense = true;
43 };
44 overlays = [
45 inputs.self.overlays.default
46 inputs.niri.overlays.niri
47 inputs.ghostty.overlays.default
48 inputs.knixpkgs.overlays.default
49 ];
50 };
51
52 programs.nh = {
53 enable = true;
54 flake = "/home/${config.my.username}/dotfiles";
55 };
56}