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
+2
-2
packetmix/ci.nix
+2
-2
packetmix/ci.nix
+1
-1
packetmix/homes/catppuccin/catppuccin.nix
+1
-1
packetmix/homes/catppuccin/catppuccin.nix
-1
packetmix/homes/coded/catppuccin.nix
-1
packetmix/homes/coded/catppuccin.nix
-1
packetmix/homes/common/gtk.nix
-1
packetmix/homes/common/gtk.nix
-1
packetmix/homes/common/helix.nix
-1
packetmix/homes/common/helix.nix
-3
packetmix/homes/default.nix
-3
packetmix/homes/default.nix
-2
packetmix/homes/development/helix.nix
-2
packetmix/homes/development/helix.nix
-1
packetmix/homes/development/tmux.nix
-1
packetmix/homes/development/tmux.nix
+4
-1
packetmix/homes/espanso/espanso.nix
+4
-1
packetmix/homes/espanso/espanso.nix
-2
packetmix/homes/maya/niri.nix
-2
packetmix/homes/maya/niri.nix
-3
packetmix/homes/minion/niri.nix
-3
packetmix/homes/minion/niri.nix
-2
packetmix/homes/niri/niri.nix
-2
packetmix/homes/niri/niri.nix
-1
packetmix/modules/nilla-home/home.nix
-1
packetmix/modules/nilla-home/home.nix
+1
-2
packetmix/modules/nilla-home/nixos.nix
+1
-2
packetmix/modules/nilla-home/nixos.nix
···
30
30
31
31
config.modules =
32
32
let
33
-
system = submodule.config.pkgs.system;
34
33
warn' = builtins.warn or builtins.trace; # builtins.warn doesn't exist on some versions of nix/lix
35
34
warnIf =
36
35
condition: message: value:
···
52
51
{
53
52
home,
54
53
homeName,
55
-
username,
54
+
...
56
55
}@identity:
57
56
warnIf (home.home-manager != homeManager)
58
57
"The home \"${homeName}\" isn't using the same home-manager input as the NixOS system \"${name}\". This may work, but is not officially supported by the Nilla Home or Nilla NixOS maintainers. Please fix this before reporting any bugs you may find."
+123
-6
packetmix/nilla.nix
+123
-6
packetmix/nilla.nix
···
6
6
pins = import ./npins;
7
7
8
8
nilla = import pins.nilla;
9
-
10
-
settings = {
11
-
nixpkgs.configuration.allowUnfree = true;
12
-
"nixos-24.11" = settings.nixpkgs;
13
-
nixos-unstable = settings.nixpkgs;
14
-
};
15
9
in
16
10
nilla.create (
17
11
{ config, lib }:
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
config.inputs.nilla-home.result.packages.nilla-home.result.${system}
129
+
config.inputs.nilla-nixos.result.packages.nilla-nixos.result.${system}
130
+
config.inputs.nixos-unstable.result.${system}.quickshell
131
+
config.inputs.nixpkgs.result.${system}.deadnix
132
+
config.packages.nilla-fmt.result.${system}
133
+
config.packages.treefmt.result.${system}
134
+
(config.inputs.npins.result { inherit pkgs system; })
+2
-4
packetmix/packages/bluesky-pds/default.nix
+2
-4
packetmix/packages/bluesky-pds/default.nix
···
9
9
systems = [ "x86_64-linux" ];
10
10
package =
11
11
{
12
-
system,
13
12
stdenv,
14
13
nodejs,
15
14
pnpm_9,
16
-
lib,
17
15
srcOnly,
18
16
python3,
19
17
...
···
83
81
system,
84
82
...
85
83
}:
86
-
config.inputs.nixos-unstable.result.${system}.bluesky-pds.overrideAttrs (prevAttrs: {
84
+
config.inputs.nixos-unstable.result.${system}.bluesky-pds.overrideAttrs {
87
85
postBuild = ''
88
86
rm -r node_modules/.pnpm/@atproto+pds@0.4.169
89
87
mkdir -p node_modules/.pnpm/@atproto+pds@0.4.169
···
91
89
config.packages.bluesky-atproto-pds.result.${system}
92
90
}/lib node_modules/.pnpm/@atproto+pds@0.4.169/node_modules
93
91
'';
94
-
});
92
+
};
95
93
};
96
94
}
+4
-1
packetmix/systems/common/fonts.nix
+4
-1
packetmix/systems/common/fonts.nix
-1
packetmix/systems/common/inputs.nix
-1
packetmix/systems/common/inputs.nix
+4
-1
packetmix/systems/default.nix
+4
-1
packetmix/systems/default.nix
-1
packetmix/systems/emden/hardware-configuration.nix
-1
packetmix/systems/emden/hardware-configuration.nix
-1
packetmix/systems/emden/steam.nix
-1
packetmix/systems/emden/steam.nix
+1
-1
packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride.nix
+1
-1
packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride.nix
-1
packetmix/systems/gaming/steam.nix
-1
packetmix/systems/gaming/steam.nix
-1
packetmix/systems/marbled/hardware-configuration.nix
-1
packetmix/systems/marbled/hardware-configuration.nix
-1
packetmix/systems/niri/niri.nix
-1
packetmix/systems/niri/niri.nix
-1
packetmix/systems/personal/configuration.nix
-1
packetmix/systems/personal/configuration.nix
-1
packetmix/systems/redhead/hardware-configuration.nix
-1
packetmix/systems/redhead/hardware-configuration.nix
-4
packetmix/systems/redhead/remoteBuilds.nix
-4
packetmix/systems/redhead/remoteBuilds.nix
+1
-2
packetmix/systems/teal/pds.nix
+1
-2
packetmix/systems/teal/pds.nix
-1
packetmix/systems/teal/stalwart.nix
-1
packetmix/systems/teal/stalwart.nix
-2
packetmix/systems/teal/vaultwarden.nix
-2
packetmix/systems/teal/vaultwarden.nix
+21
.tangled/workflows/deadnix.yml
+21
.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
+
- ansifilter
14
+
- deadnix
15
+
16
+
steps:
17
+
- name: Check for unused nix bindings
18
+
command: |
19
+
set -eo pipefail
20
+
21
+
deadnix --exclude **/npins --no-underscore --fail | ansifilter
History
5 rounds
0 comments
a.starrysky.fyi
submitted
#4
expand 0 comments
pull request successfully merged
a.starrysky.fyi
submitted
#3
expand 0 comments
a.starrysky.fyi
submitted
#2
expand 0 comments
a.starrysky.fyi
submitted
#1
1 commit
expand
collapse
ci(treewide): add deadnix
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
expand 0 comments
a.starrysky.fyi
submitted
#0
1 commit
expand
collapse
ci: add deadnix
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