deadnix is a package to find unused nix code, we can add it to enforce that we don't leave let bindings/inputs/etc. around when they are not needed
+17
.tangled/workflows/deadnix.yml
+17
.tangled/workflows/deadnix.yml
···
···
1
+
# SPDX-FileCopyrightText: 2025 FreshlyBakedCake
2
+
#
3
+
# SPDX-License-Identifier: MIT
4
+
5
+
when:
6
+
- event: ["push", "pull_request"]
7
+
branch: ["main"]
8
+
9
+
engine: nixery
10
+
11
+
dependencies:
12
+
nixpkgs:
13
+
- deadnix
14
+
15
+
steps:
16
+
- name: Check for unused nix bindings
17
+
command: deadnix --exclude **/npins --fail
+1
packetmix/nilla.nix
+1
packetmix/nilla.nix
···
134
config.inputs.nilla-home.result.packages.nilla-home.result.${system}
135
config.inputs.nilla-nixos.result.packages.nilla-nixos.result.${system}
136
config.inputs.nixos-unstable.result.${system}.quickshell
137
config.packages.nilla-fmt.result.${system}
138
config.packages.treefmt.result.${system}
139
(config.inputs.npins.result { inherit pkgs system; })
···
134
config.inputs.nilla-home.result.packages.nilla-home.result.${system}
135
config.inputs.nilla-nixos.result.packages.nilla-nixos.result.${system}
136
config.inputs.nixos-unstable.result.${system}.quickshell
137
+
config.inputs.nixpkgs.result.${system}.deadnix
138
config.packages.nilla-fmt.result.${system}
139
config.packages.treefmt.result.${system}
140
(config.inputs.npins.result { inherit pkgs system; })