diff options
29 files changed, 274 insertions, 238 deletions
diff --git a/_sources/generated.json b/_sources/generated.json index dcbde8b1..3f08cb6a 100644 --- a/_sources/generated.json +++ b/_sources/generated.json | |||
@@ -1,6 +1,7 @@ | |||
1 | { | 1 | { |
2 | "afew": { | 2 | "afew": { |
3 | "cargoLocks": null, | 3 | "cargoLocks": null, |
4 | "date": "2021-05-30", | ||
4 | "extract": null, | 5 | "extract": null, |
5 | "name": "afew", | 6 | "name": "afew", |
6 | "passthru": null, | 7 | "passthru": null, |
@@ -20,6 +21,7 @@ | |||
20 | }, | 21 | }, |
21 | "emacs-scratch_el": { | 22 | "emacs-scratch_el": { |
22 | "cargoLocks": null, | 23 | "cargoLocks": null, |
24 | "date": "2015-09-10", | ||
23 | "extract": null, | 25 | "extract": null, |
24 | "name": "emacs-scratch_el", | 26 | "name": "emacs-scratch_el", |
25 | "passthru": null, | 27 | "passthru": null, |
@@ -37,27 +39,9 @@ | |||
37 | }, | 39 | }, |
38 | "version": "0077334cc299aa7885f804d88f52cdb1b35caf71" | 40 | "version": "0077334cc299aa7885f804d88f52cdb1b35caf71" |
39 | }, | 41 | }, |
40 | "fast-cli": { | ||
41 | "cargoLocks": null, | ||
42 | "extract": null, | ||
43 | "name": "fast-cli", | ||
44 | "passthru": null, | ||
45 | "pinned": false, | ||
46 | "src": { | ||
47 | "deepClone": false, | ||
48 | "fetchSubmodules": false, | ||
49 | "leaveDotGit": false, | ||
50 | "name": null, | ||
51 | "owner": "gesquive", | ||
52 | "repo": "fast-cli", | ||
53 | "rev": "v0.2.10", | ||
54 | "sha256": "sha256-j7/3Llc3jTeJGpOH3Aexm9qcNscuk0mbi4ZCCyzC3+s=", | ||
55 | "type": "github" | ||
56 | }, | ||
57 | "version": "v0.2.10" | ||
58 | }, | ||
59 | "lesspipe": { | 42 | "lesspipe": { |
60 | "cargoLocks": null, | 43 | "cargoLocks": null, |
44 | "date": null, | ||
61 | "extract": null, | 45 | "extract": null, |
62 | "name": "lesspipe", | 46 | "name": "lesspipe", |
63 | "passthru": null, | 47 | "passthru": null, |
@@ -72,6 +56,7 @@ | |||
72 | }, | 56 | }, |
73 | "mpv-autosave": { | 57 | "mpv-autosave": { |
74 | "cargoLocks": null, | 58 | "cargoLocks": null, |
59 | "date": "2020-10-22", | ||
75 | "extract": null, | 60 | "extract": null, |
76 | "name": "mpv-autosave", | 61 | "name": "mpv-autosave", |
77 | "passthru": null, | 62 | "passthru": null, |
@@ -90,6 +75,7 @@ | |||
90 | }, | 75 | }, |
91 | "mpv-chapterskip": { | 76 | "mpv-chapterskip": { |
92 | "cargoLocks": null, | 77 | "cargoLocks": null, |
78 | "date": "2022-09-08", | ||
93 | "extract": null, | 79 | "extract": null, |
94 | "name": "mpv-chapterskip", | 80 | "name": "mpv-chapterskip", |
95 | "passthru": null, | 81 | "passthru": null, |
@@ -109,6 +95,7 @@ | |||
109 | }, | 95 | }, |
110 | "mpv-createchapter": { | 96 | "mpv-createchapter": { |
111 | "cargoLocks": null, | 97 | "cargoLocks": null, |
98 | "date": "2020-09-05", | ||
112 | "extract": null, | 99 | "extract": null, |
113 | "name": "mpv-createchapter", | 100 | "name": "mpv-createchapter", |
114 | "passthru": null, | 101 | "passthru": null, |
@@ -128,6 +115,7 @@ | |||
128 | }, | 115 | }, |
129 | "mpv-mpris": { | 116 | "mpv-mpris": { |
130 | "cargoLocks": null, | 117 | "cargoLocks": null, |
118 | "date": null, | ||
131 | "extract": null, | 119 | "extract": null, |
132 | "name": "mpv-mpris", | 120 | "name": "mpv-mpris", |
133 | "passthru": null, | 121 | "passthru": null, |
@@ -147,6 +135,7 @@ | |||
147 | }, | 135 | }, |
148 | "mpv-reload": { | 136 | "mpv-reload": { |
149 | "cargoLocks": null, | 137 | "cargoLocks": null, |
138 | "date": "2022-01-27", | ||
150 | "extract": null, | 139 | "extract": null, |
151 | "name": "mpv-reload", | 140 | "name": "mpv-reload", |
152 | "passthru": null, | 141 | "passthru": null, |
@@ -166,6 +155,7 @@ | |||
166 | }, | 155 | }, |
167 | "postfix-mta-sts-resolver": { | 156 | "postfix-mta-sts-resolver": { |
168 | "cargoLocks": null, | 157 | "cargoLocks": null, |
158 | "date": null, | ||
169 | "extract": null, | 159 | "extract": null, |
170 | "name": "postfix-mta-sts-resolver", | 160 | "name": "postfix-mta-sts-resolver", |
171 | "passthru": null, | 161 | "passthru": null, |
@@ -180,6 +170,7 @@ | |||
180 | }, | 170 | }, |
181 | "postfwd": { | 171 | "postfwd": { |
182 | "cargoLocks": null, | 172 | "cargoLocks": null, |
173 | "date": null, | ||
183 | "extract": null, | 174 | "extract": null, |
184 | "name": "postfwd", | 175 | "name": "postfwd", |
185 | "passthru": null, | 176 | "passthru": null, |
@@ -194,6 +185,7 @@ | |||
194 | }, | 185 | }, |
195 | "psql-versioning": { | 186 | "psql-versioning": { |
196 | "cargoLocks": null, | 187 | "cargoLocks": null, |
188 | "date": "2020-02-18", | ||
197 | "extract": null, | 189 | "extract": null, |
198 | "name": "psql-versioning", | 190 | "name": "psql-versioning", |
199 | "passthru": null, | 191 | "passthru": null, |
@@ -212,20 +204,22 @@ | |||
212 | }, | 204 | }, |
213 | "smartprom": { | 205 | "smartprom": { |
214 | "cargoLocks": null, | 206 | "cargoLocks": null, |
207 | "date": null, | ||
215 | "extract": null, | 208 | "extract": null, |
216 | "name": "smartprom", | 209 | "name": "smartprom", |
217 | "passthru": null, | 210 | "passthru": null, |
218 | "pinned": false, | 211 | "pinned": false, |
219 | "src": { | 212 | "src": { |
220 | "name": null, | 213 | "name": null, |
221 | "sha256": "sha256-VbpFvDBygJswUfmufVjo/xXxDDmXLq/0D9ln8u+139E=", | 214 | "sha256": "sha256-l2Mg/WQZ34a6SEcftIroZglgMS6faNFTRnhPgyZNt+I=", |
222 | "type": "url", | 215 | "type": "url", |
223 | "url": "https://github.com/matusnovak/prometheus-smartctl/archive/refs/tags/v2.1.0.tar.gz" | 216 | "url": "https://github.com/matusnovak/prometheus-smartctl/archive/refs/tags/v2.2.0.tar.gz" |
224 | }, | 217 | }, |
225 | "version": "2.1.0" | 218 | "version": "2.2.0" |
226 | }, | 219 | }, |
227 | "uhk-agent": { | 220 | "uhk-agent": { |
228 | "cargoLocks": null, | 221 | "cargoLocks": null, |
222 | "date": null, | ||
229 | "extract": null, | 223 | "extract": null, |
230 | "name": "uhk-agent", | 224 | "name": "uhk-agent", |
231 | "passthru": null, | 225 | "passthru": null, |
@@ -240,6 +234,7 @@ | |||
240 | }, | 234 | }, |
241 | "v4l2loopback": { | 235 | "v4l2loopback": { |
242 | "cargoLocks": null, | 236 | "cargoLocks": null, |
237 | "date": "2022-08-05", | ||
243 | "extract": null, | 238 | "extract": null, |
244 | "name": "v4l2loopback", | 239 | "name": "v4l2loopback", |
245 | "passthru": null, | 240 | "passthru": null, |
@@ -259,6 +254,7 @@ | |||
259 | }, | 254 | }, |
260 | "xcompose": { | 255 | "xcompose": { |
261 | "cargoLocks": null, | 256 | "cargoLocks": null, |
257 | "date": "2022-09-14", | ||
262 | "extract": null, | 258 | "extract": null, |
263 | "name": "xcompose", | 259 | "name": "xcompose", |
264 | "passthru": null, | 260 | "passthru": null, |
@@ -270,10 +266,10 @@ | |||
270 | "name": null, | 266 | "name": null, |
271 | "owner": "kragen", | 267 | "owner": "kragen", |
272 | "repo": "xcompose", | 268 | "repo": "xcompose", |
273 | "rev": "150c47fabb9f45e81138f71347dc75f69b5dd987", | 269 | "rev": "cd8d3e622f547ec9f83d7f64f51d4a27ee812681", |
274 | "sha256": "sha256-XQ0ZuXGvDLz9fJ0yGHtgL4wl9Jx3SG30cGBM2b947iY=", | 270 | "sha256": "sha256-fkl2lDv/DdrqPjVsEUKSRD3BNGwTjTsA0ovI8akFI6U=", |
275 | "type": "github" | 271 | "type": "github" |
276 | }, | 272 | }, |
277 | "version": "150c47fabb9f45e81138f71347dc75f69b5dd987" | 273 | "version": "cd8d3e622f547ec9f83d7f64f51d4a27ee812681" |
278 | } | 274 | } |
279 | } \ No newline at end of file | 275 | } \ No newline at end of file |
diff --git a/_sources/generated.nix b/_sources/generated.nix index a77cb5d8..e472a8e8 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix | |||
@@ -13,6 +13,7 @@ | |||
13 | leaveDotGit = true; | 13 | leaveDotGit = true; |
14 | sha256 = "sha256-Ipt/EvksMFihSo6t2aoQkjuxAEYdY6P4f1fhLJuGl3g="; | 14 | sha256 = "sha256-Ipt/EvksMFihSo6t2aoQkjuxAEYdY6P4f1fhLJuGl3g="; |
15 | }); | 15 | }); |
16 | date = "2021-05-30"; | ||
16 | }; | 17 | }; |
17 | emacs-scratch_el = { | 18 | emacs-scratch_el = { |
18 | pname = "emacs-scratch_el"; | 19 | pname = "emacs-scratch_el"; |
@@ -24,17 +25,7 @@ | |||
24 | fetchSubmodules = false; | 25 | fetchSubmodules = false; |
25 | sha256 = "sha256-FUkKJ+1COGzgllzzv51yUIjMZI6slOFVExdwWl2ZEBA="; | 26 | sha256 = "sha256-FUkKJ+1COGzgllzzv51yUIjMZI6slOFVExdwWl2ZEBA="; |
26 | }); | 27 | }); |
27 | }; | 28 | date = "2015-09-10"; |
28 | fast-cli = { | ||
29 | pname = "fast-cli"; | ||
30 | version = "v0.2.10"; | ||
31 | src = fetchFromGitHub ({ | ||
32 | owner = "gesquive"; | ||
33 | repo = "fast-cli"; | ||
34 | rev = "v0.2.10"; | ||
35 | fetchSubmodules = false; | ||
36 | sha256 = "sha256-j7/3Llc3jTeJGpOH3Aexm9qcNscuk0mbi4ZCCyzC3+s="; | ||
37 | }); | ||
38 | }; | 29 | }; |
39 | lesspipe = { | 30 | lesspipe = { |
40 | pname = "lesspipe"; | 31 | pname = "lesspipe"; |
@@ -55,6 +46,7 @@ | |||
55 | leaveDotGit = false; | 46 | leaveDotGit = false; |
56 | sha256 = "sha256-yxA8wgzdS7SyKLoNTWN87ShsBfPKUflbOu4Y0jS2G3I="; | 47 | sha256 = "sha256-yxA8wgzdS7SyKLoNTWN87ShsBfPKUflbOu4Y0jS2G3I="; |
57 | }; | 48 | }; |
49 | date = "2020-10-22"; | ||
58 | }; | 50 | }; |
59 | mpv-chapterskip = { | 51 | mpv-chapterskip = { |
60 | pname = "mpv-chapterskip"; | 52 | pname = "mpv-chapterskip"; |
@@ -66,6 +58,7 @@ | |||
66 | fetchSubmodules = false; | 58 | fetchSubmodules = false; |
67 | sha256 = "sha256-OTrLQE3rYvPQamEX23D6HttNjx3vafWdTMxTiWpDy90="; | 59 | sha256 = "sha256-OTrLQE3rYvPQamEX23D6HttNjx3vafWdTMxTiWpDy90="; |
68 | }); | 60 | }); |
61 | date = "2022-09-08"; | ||
69 | }; | 62 | }; |
70 | mpv-createchapter = { | 63 | mpv-createchapter = { |
71 | pname = "mpv-createchapter"; | 64 | pname = "mpv-createchapter"; |
@@ -77,6 +70,7 @@ | |||
77 | fetchSubmodules = false; | 70 | fetchSubmodules = false; |
78 | sha256 = "sha256-rPtG7mgf7tOY8Ih4Bz1tpd4MwXOxJmngjY+s70zWX+g="; | 71 | sha256 = "sha256-rPtG7mgf7tOY8Ih4Bz1tpd4MwXOxJmngjY+s70zWX+g="; |
79 | }); | 72 | }); |
73 | date = "2020-09-05"; | ||
80 | }; | 74 | }; |
81 | mpv-mpris = { | 75 | mpv-mpris = { |
82 | pname = "mpv-mpris"; | 76 | pname = "mpv-mpris"; |
@@ -99,6 +93,7 @@ | |||
99 | fetchSubmodules = false; | 93 | fetchSubmodules = false; |
100 | sha256 = "sha256-+DoKPIulQA3VSeXo8DjoxnPwDfcuCO5YHpXmB+M7EWk="; | 94 | sha256 = "sha256-+DoKPIulQA3VSeXo8DjoxnPwDfcuCO5YHpXmB+M7EWk="; |
101 | }); | 95 | }); |
96 | date = "2022-01-27"; | ||
102 | }; | 97 | }; |
103 | postfix-mta-sts-resolver = { | 98 | postfix-mta-sts-resolver = { |
104 | pname = "postfix-mta-sts-resolver"; | 99 | pname = "postfix-mta-sts-resolver"; |
@@ -127,13 +122,14 @@ | |||
127 | leaveDotGit = false; | 122 | leaveDotGit = false; |
128 | sha256 = "sha256-j+njRssJHTdNV3FbcA3MdUmzCaJxuYBrC0qwtK3HoyY="; | 123 | sha256 = "sha256-j+njRssJHTdNV3FbcA3MdUmzCaJxuYBrC0qwtK3HoyY="; |
129 | }; | 124 | }; |
125 | date = "2020-02-18"; | ||
130 | }; | 126 | }; |
131 | smartprom = { | 127 | smartprom = { |
132 | pname = "smartprom"; | 128 | pname = "smartprom"; |
133 | version = "2.1.0"; | 129 | version = "2.2.0"; |
134 | src = fetchurl { | 130 | src = fetchurl { |
135 | url = "https://github.com/matusnovak/prometheus-smartctl/archive/refs/tags/v2.1.0.tar.gz"; | 131 | url = "https://github.com/matusnovak/prometheus-smartctl/archive/refs/tags/v2.2.0.tar.gz"; |
136 | sha256 = "sha256-VbpFvDBygJswUfmufVjo/xXxDDmXLq/0D9ln8u+139E="; | 132 | sha256 = "sha256-l2Mg/WQZ34a6SEcftIroZglgMS6faNFTRnhPgyZNt+I="; |
137 | }; | 133 | }; |
138 | }; | 134 | }; |
139 | uhk-agent = { | 135 | uhk-agent = { |
@@ -154,16 +150,18 @@ | |||
154 | fetchSubmodules = true; | 150 | fetchSubmodules = true; |
155 | sha256 = "sha256-c6g63jW+a+v/TxLD9NnQGn/aUgivwVkxzP+hZ65w2/o="; | 151 | sha256 = "sha256-c6g63jW+a+v/TxLD9NnQGn/aUgivwVkxzP+hZ65w2/o="; |
156 | }); | 152 | }); |
153 | date = "2022-08-05"; | ||
157 | }; | 154 | }; |
158 | xcompose = { | 155 | xcompose = { |
159 | pname = "xcompose"; | 156 | pname = "xcompose"; |
160 | version = "150c47fabb9f45e81138f71347dc75f69b5dd987"; | 157 | version = "cd8d3e622f547ec9f83d7f64f51d4a27ee812681"; |
161 | src = fetchFromGitHub ({ | 158 | src = fetchFromGitHub ({ |
162 | owner = "kragen"; | 159 | owner = "kragen"; |
163 | repo = "xcompose"; | 160 | repo = "xcompose"; |
164 | rev = "150c47fabb9f45e81138f71347dc75f69b5dd987"; | 161 | rev = "cd8d3e622f547ec9f83d7f64f51d4a27ee812681"; |
165 | fetchSubmodules = false; | 162 | fetchSubmodules = false; |
166 | sha256 = "sha256-XQ0ZuXGvDLz9fJ0yGHtgL4wl9Jx3SG30cGBM2b947iY="; | 163 | sha256 = "sha256-fkl2lDv/DdrqPjVsEUKSRD3BNGwTjTsA0ovI8akFI6U="; |
167 | }); | 164 | }); |
165 | date = "2022-09-14"; | ||
168 | }; | 166 | }; |
169 | } | 167 | } |
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index 819c1ff6..2fba0404 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix | |||
@@ -48,7 +48,7 @@ in { | |||
48 | Type = "oneshot"; | 48 | Type = "oneshot"; |
49 | WorkingDirectory = "~"; | 49 | WorkingDirectory = "~"; |
50 | ExecStart = toString (pkgs.writers.writePython3 "sync-keepass" { | 50 | ExecStart = toString (pkgs.writers.writePython3 "sync-keepass" { |
51 | libraries = with pkgs.python3Packages; [ dateutil ]; | 51 | libraries = with pkgs.python3Packages; [ python-dateutil ]; |
52 | } '' | 52 | } '' |
53 | import json | 53 | import json |
54 | import subprocess | 54 | import subprocess |
@@ -59,11 +59,11 @@ | |||
59 | }, | 59 | }, |
60 | "flake-utils_2": { | 60 | "flake-utils_2": { |
61 | "locked": { | 61 | "locked": { |
62 | "lastModified": 1649676176, | 62 | "lastModified": 1659877975, |
63 | "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", | 63 | "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", |
64 | "owner": "numtide", | 64 | "owner": "numtide", |
65 | "repo": "flake-utils", | 65 | "repo": "flake-utils", |
66 | "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", | 66 | "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", |
67 | "type": "github" | 67 | "type": "github" |
68 | }, | 68 | }, |
69 | "original": { | 69 | "original": { |
@@ -80,11 +80,11 @@ | |||
80 | "utils": "utils_2" | 80 | "utils": "utils_2" |
81 | }, | 81 | }, |
82 | "locked": { | 82 | "locked": { |
83 | "lastModified": 1662759269, | 83 | "lastModified": 1664573442, |
84 | "narHash": "sha256-lt8bAfEZudCQb+MxoNKmenhMTXhu3RCCyLYxU9t5FFk=", | 84 | "narHash": "sha256-AovlSIuJfMf8n9QLNUVtsCul+NVHIoen7APH2fLls3k=", |
85 | "owner": "nix-community", | 85 | "owner": "nix-community", |
86 | "repo": "home-manager", | 86 | "repo": "home-manager", |
87 | "rev": "9f7fe353b613d0e45d7a5cdbd1f13c96c15803dd", | 87 | "rev": "a7f0cc2d7b271b4a5df9b9e351d556c172f7e903", |
88 | "type": "github" | 88 | "type": "github" |
89 | }, | 89 | }, |
90 | "original": { | 90 | "original": { |
@@ -121,11 +121,11 @@ | |||
121 | }, | 121 | }, |
122 | "nixpkgs": { | 122 | "nixpkgs": { |
123 | "locked": { | 123 | "locked": { |
124 | "lastModified": 1663071011, | 124 | "lastModified": 1664729105, |
125 | "narHash": "sha256-HjPb5iEwKwyNpnkn4Wo2hptAU5TAmfXd30mxemXPBtg=", | 125 | "narHash": "sha256-jriM5XldII1rs3v4EWPqHYZdmyRxqE6pRUlINxNwVE8=", |
126 | "owner": "NixOS", | 126 | "owner": "NixOS", |
127 | "repo": "nixpkgs", | 127 | "repo": "nixpkgs", |
128 | "rev": "0caf7675ec9b90ab9ad309d7a993a13798eeaa26", | 128 | "rev": "15ffd20e8c26a23e95293d15dcb25237aa44cb1c", |
129 | "type": "github" | 129 | "type": "github" |
130 | }, | 130 | }, |
131 | "original": { | 131 | "original": { |
@@ -137,11 +137,11 @@ | |||
137 | }, | 137 | }, |
138 | "nixpkgs-22_05": { | 138 | "nixpkgs-22_05": { |
139 | "locked": { | 139 | "locked": { |
140 | "lastModified": 1662864125, | 140 | "lastModified": 1664201777, |
141 | "narHash": "sha256-AtjyEFK7Zp9+hOOUNO1/YZRADV/wC94R3yeKN8saUK4=", | 141 | "narHash": "sha256-cUW9DqELUNi1jNMwVSbfq4yl5YGyOfeu+UHUUImbby0=", |
142 | "owner": "NixOS", | 142 | "owner": "NixOS", |
143 | "repo": "nixpkgs", | 143 | "repo": "nixpkgs", |
144 | "rev": "e6f053b6079c16e7df97531e3e0524ace1304d4d", | 144 | "rev": "00f877f4927b6f7d7b75731b5a1e2ae7324eaf14", |
145 | "type": "github" | 145 | "type": "github" |
146 | }, | 146 | }, |
147 | "original": { | 147 | "original": { |
@@ -162,11 +162,11 @@ | |||
162 | ] | 162 | ] |
163 | }, | 163 | }, |
164 | "locked": { | 164 | "locked": { |
165 | "lastModified": 1654975372, | 165 | "lastModified": 1664550666, |
166 | "narHash": "sha256-wkNZ16akgKViuZzE/IM+bux4uaJ04KIwUeexH8gBjgw=", | 166 | "narHash": "sha256-eXfMRd9uItEp3PsYI31FSVGPG9dVC6yF++65ZrGwW8A=", |
167 | "owner": "berberman", | 167 | "owner": "berberman", |
168 | "repo": "nvfetcher", | 168 | "repo": "nvfetcher", |
169 | "rev": "d4b237c10f14f72f8266b0f658faad822e491e55", | 169 | "rev": "9763ad40d59a044e90726653d9253efaeeb053b2", |
170 | "type": "github" | 170 | "type": "github" |
171 | }, | 171 | }, |
172 | "original": { | 172 | "original": { |
@@ -179,11 +179,11 @@ | |||
179 | "pypi-deps-db": { | 179 | "pypi-deps-db": { |
180 | "flake": false, | 180 | "flake": false, |
181 | "locked": { | 181 | "locked": { |
182 | "lastModified": 1663059297, | 182 | "lastModified": 1664698977, |
183 | "narHash": "sha256-JaD4mhUOLJRNaepE50fOUfaSYRNwMhobyj8HGIxosiQ=", | 183 | "narHash": "sha256-Jqeg42mhfge4CJ/cHJTEpxY7RWAaVoxG7tgc9LTeVsQ=", |
184 | "owner": "DavHau", | 184 | "owner": "DavHau", |
185 | "repo": "pypi-deps-db", | 185 | "repo": "pypi-deps-db", |
186 | "rev": "8aa6ec60bf7ed12c1e1705a2f28be63d8eee4386", | 186 | "rev": "b4f1bfd3534e076a9a790df2c88226abc5bc8278", |
187 | "type": "github" | 187 | "type": "github" |
188 | }, | 188 | }, |
189 | "original": { | 189 | "original": { |
@@ -212,11 +212,11 @@ | |||
212 | "nixpkgs-22_05": "nixpkgs-22_05" | 212 | "nixpkgs-22_05": "nixpkgs-22_05" |
213 | }, | 213 | }, |
214 | "locked": { | 214 | "locked": { |
215 | "lastModified": 1662870301, | 215 | "lastModified": 1664204020, |
216 | "narHash": "sha256-O+ABD+WzEBLVH6FwxKCIpps0hsR6b5dpYe6fB3e3Ju8=", | 216 | "narHash": "sha256-LAey3hr8b9EAt3n304Wt9Vm4uQFd8pSRtLX8leuYFDs=", |
217 | "owner": "Mic92", | 217 | "owner": "Mic92", |
218 | "repo": "sops-nix", | 218 | "repo": "sops-nix", |
219 | "rev": "20929e1c5722a6db2f2dbe4cd36d4af0de0a9df0", | 219 | "rev": "912f9ff41fd9353dec1f783170793699789fe9aa", |
220 | "type": "github" | 220 | "type": "github" |
221 | }, | 221 | }, |
222 | "original": { | 222 | "original": { |
@@ -243,11 +243,11 @@ | |||
243 | }, | 243 | }, |
244 | "utils_2": { | 244 | "utils_2": { |
245 | "locked": { | 245 | "locked": { |
246 | "lastModified": 1653893745, | 246 | "lastModified": 1659877975, |
247 | "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", | 247 | "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", |
248 | "owner": "numtide", | 248 | "owner": "numtide", |
249 | "repo": "flake-utils", | 249 | "repo": "flake-utils", |
250 | "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", | 250 | "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", |
251 | "type": "github" | 251 | "type": "github" |
252 | }, | 252 | }, |
253 | "original": { | 253 | "original": { |
@@ -157,7 +157,10 @@ | |||
157 | 157 | ||
158 | # systemsSelector = "x86_64-linux"; | 158 | # systemsSelector = "x86_64-linux"; |
159 | # systems = filter (system: !(isNull (builtins.match systemsSelector system))) nixpkgs.lib.systems.flakeExposed; | 159 | # systems = filter (system: !(isNull (builtins.match systemsSelector system))) nixpkgs.lib.systems.flakeExposed; |
160 | systems = nixpkgs.lib.systems.flakeExposed; | 160 | systems = |
161 | let | ||
162 | disallowedSystems = ["armv5tel-linux"]; | ||
163 | in filter (system: !(elem system disallowedSystems)) nixpkgs.lib.systems.flakeExposed; | ||
161 | nixpkgsPackages = localSystem: (makeOverridable (import (nixpkgs.outPath + "/pkgs/top-level"))) { inherit localSystem; }; | 164 | nixpkgsPackages = localSystem: (makeOverridable (import (nixpkgs.outPath + "/pkgs/top-level"))) { inherit localSystem; }; |
162 | forAllSystems = f: mapAttrs f (genAttrs systems nixpkgsPackages); | 165 | forAllSystems = f: mapAttrs f (genAttrs systems nixpkgsPackages); |
163 | forAllUsers = genAttrs (unique (map accountUserName (attrNames self.nixosModules.accounts))); | 166 | forAllUsers = genAttrs (unique (map accountUserName (attrNames self.nixosModules.accounts))); |
@@ -167,20 +170,18 @@ | |||
167 | 170 | ||
168 | overlayPaths = nixImport rec { dir = ./overlays; _import = (path: _name: dir + "/${path}"); }; | 171 | overlayPaths = nixImport rec { dir = ./overlays; _import = (path: _name: dir + "/${path}"); }; |
169 | 172 | ||
170 | installerProfiles = system: | 173 | installerProfiles = nixImport rec { |
171 | let nixpkgs-path = nixpkgs.outPath; | 174 | dir = ./installer-profiles; |
172 | in mapAttrs (name: {path, output}: { profile = mkSystemProfile nixpkgs-path path "installer-${name}"; inherit output; }) | 175 | _import = path: name: mkSystemProfile dir path "installer-${name}"; |
173 | { cd-dvd = { path = "nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"; output = out: out.config.system.build.isoImage; }; | 176 | }; |
174 | netboot = { path = "nixos/modules/installer/netboot/netboot-minimal.nix"; output = out: (self.legacyPackages.${system}.symlinkJoin { name = "netboot"; paths = with out.config.system.build; [ netbootRamdisk kernel netbootIpxeScript ]; preferLocalBuild = true; }); }; | ||
175 | }; | ||
176 | 177 | ||
177 | installerConfig = if pathExists ./installer.nix then "installer.nix" else (if pathExists ./installer then "installer" else null); | 178 | installerConfig = if pathExists ./installer.nix then "installer.nix" else (if pathExists ./installer then "installer" else null); |
178 | mkInstallerForSystem = system: (lib.systems.elaborate system).isLinux; | 179 | mkInstallerForSystem = system: (lib.systems.elaborate system).isLinux; |
179 | installers = | 180 | installers = |
180 | let mkInstallers = system: mapAttrs (mkInstaller system) (installerProfiles system); | 181 | let mkInstallers = system: mapAttrs (mkInstaller system) installerProfiles; |
181 | mkInstaller = system: name: {profile, output}: let mkOutput = output; in rec { config = mkNixosConfiguration [profile { config = { nixpkgs.system = system; }; }] ./. installerConfig "installer"; output = mkOutput config; }; | 182 | mkInstaller = system: name: profile: mkNixosConfiguration [profile { config = { nixpkgs.system = system; }; }] ./. installerConfig "installer"; |
182 | in forAllSystems (system: _systemPkgs: optionalAttrs (!(isNull installerConfig) && mkInstallerForSystem system) (mkInstallers system)); | 183 | in forAllSystems (system: _systemPkgs: optionalAttrs (!(isNull installerConfig) && mkInstallerForSystem system) (mkInstallers system)); |
183 | installerNixosConfigurations = listToAttrs (concatLists (mapAttrsToList (system: mapAttrsToList (profile: { config, ... }: nameValuePair ("installer-${system}-${profile}") config)) installers)); | 184 | installerNixosConfigurations = listToAttrs (concatLists (mapAttrsToList (system: mapAttrsToList (profile: config: nameValuePair ("installer-${system}-${profile}") config)) installers)); |
184 | 185 | ||
185 | # packages = forAllSystems (system: systemPkgs: composeManyExtensions (attrValues self.overlays) self.legacyPackages.${system} systemPkgs); | 186 | # packages = forAllSystems (system: systemPkgs: composeManyExtensions (attrValues self.overlays) self.legacyPackages.${system} systemPkgs); |
186 | 187 | ||
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index b4713736..b38a387c 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix | |||
@@ -290,7 +290,7 @@ in { | |||
290 | 290 | ||
291 | services = { | 291 | services = { |
292 | udev.packages = with pkgs; [ uhk-agent ]; | 292 | udev.packages = with pkgs; [ uhk-agent ]; |
293 | 293 | ||
294 | # tinc.yggdrasil.enable = true; | 294 | # tinc.yggdrasil.enable = true; |
295 | 295 | ||
296 | uucp = { | 296 | uucp = { |
@@ -313,9 +313,9 @@ in { | |||
313 | fprintd.enable = true; | 313 | fprintd.enable = true; |
314 | 314 | ||
315 | blueman.enable = true; | 315 | blueman.enable = true; |
316 | 316 | ||
317 | colord.enable = true; | 317 | colord.enable = true; |
318 | 318 | ||
319 | vnstat.enable = true; | 319 | vnstat.enable = true; |
320 | 320 | ||
321 | upower.enable = true; | 321 | upower.enable = true; |
@@ -468,8 +468,8 @@ in { | |||
468 | 468 | ||
469 | hardware = { | 469 | hardware = { |
470 | bluetooth = { | 470 | bluetooth = { |
471 | enable = true; | 471 | enable = true; |
472 | package = pkgs.bluezFull; | 472 | package = pkgs.bluez; |
473 | settings = { | 473 | settings = { |
474 | General = { | 474 | General = { |
475 | Enable = "Source,Sink,Media,Socket"; | 475 | Enable = "Source,Sink,Media,Socket"; |
@@ -510,12 +510,14 @@ in { | |||
510 | daemonCPUSchedPolicy = "idle"; | 510 | daemonCPUSchedPolicy = "idle"; |
511 | daemonIOSchedClass = "idle"; | 511 | daemonIOSchedClass = "idle"; |
512 | 512 | ||
513 | buildServers.vidhar = { | 513 | buildServers.vidhar = let |
514 | vidhar = flake.nixosConfigurations.vidhar; | ||
515 | in { | ||
514 | address = "vidhar.yggdrasil"; | 516 | address = "vidhar.yggdrasil"; |
515 | systems = ["x86_64-linux" "i686-linux"]; | 517 | systems = [vidhar.config.nixpkgs.system] ++ vidhar.config.nix.settings.extra-platforms; |
518 | supportedFeatures = vidhar.config.nix.settings.system-features; | ||
516 | maxJobs = 12; | 519 | maxJobs = 12; |
517 | speedFactor = 4; | 520 | speedFactor = 4; |
518 | supportedFeatures = ["nixos-test" "benchmark" "big-parallel" "kvm"]; | ||
519 | }; | 521 | }; |
520 | }; | 522 | }; |
521 | 523 | ||
diff --git a/hosts/surtr/vpn/default.nix b/hosts/surtr/vpn/default.nix index cad3b5b4..7f3065f7 100644 --- a/hosts/surtr/vpn/default.nix +++ b/hosts/surtr/vpn/default.nix | |||
@@ -143,9 +143,9 @@ in { | |||
143 | serviceConfig = { | 143 | serviceConfig = { |
144 | Type = "oneshot"; | 144 | Type = "oneshot"; |
145 | RemainAfterExit = true; | 145 | RemainAfterExit = true; |
146 | ExecStop = "${pkgs.iproute}/bin/ip netns exec vpn ip link delete upstream"; | 146 | ExecStop = "${pkgs.iproute2}/bin/ip netns exec vpn ip link delete upstream"; |
147 | }; | 147 | }; |
148 | path = with pkgs; [ iproute procps ]; | 148 | path = with pkgs; [ iproute2 procps ]; |
149 | script = '' | 149 | script = '' |
150 | ip netns exec vpn sysctl \ | 150 | ip netns exec vpn sysctl \ |
151 | net.ipv6.conf.all.forwarding=1 \ | 151 | net.ipv6.conf.all.forwarding=1 \ |
diff --git a/hosts/vidhar/borg/default.nix b/hosts/vidhar/borg/default.nix index 650c91ee..79c75c4d 100644 --- a/hosts/vidhar/borg/default.nix +++ b/hosts/vidhar/borg/default.nix | |||
@@ -57,7 +57,7 @@ let | |||
57 | 57 | ||
58 | buildInputs = with pkgs; [makeWrapper]; | 58 | buildInputs = with pkgs; [makeWrapper]; |
59 | 59 | ||
60 | python = inpPython.withPackages (ps: with ps; [humanize tqdm dateutil xdg python-unshare pyprctl halo]); | 60 | python = inpPython.withPackages (ps: with ps; [humanize tqdm python-dateutil xdg python-unshare pyprctl halo]); |
61 | 61 | ||
62 | buildPhase = '' | 62 | buildPhase = '' |
63 | substitute $src copy \ | 63 | substitute $src copy \ |
@@ -74,7 +74,7 @@ let | |||
74 | copy | 74 | copy |
75 | 75 | ||
76 | wrapProgram $out/bin/copy \ | 76 | wrapProgram $out/bin/copy \ |
77 | --prefix PATH : ${makeBinPath (with pkgs; [utillinux borgbackup])}:${config.security.wrapperDir} | 77 | --prefix PATH : ${makeBinPath (with pkgs; [util-linux borgbackup])}:${config.security.wrapperDir} |
78 | ''; | 78 | ''; |
79 | }); | 79 | }); |
80 | 80 | ||
@@ -93,7 +93,7 @@ let | |||
93 | ''; | 93 | ''; |
94 | postInstall = '' | 94 | postInstall = '' |
95 | wrapProgram $out/bin/borgsnap \ | 95 | wrapProgram $out/bin/borgsnap \ |
96 | --prefix PATH : ${makeBinPath (with pkgs; [utillinux borgbackup])}:${config.security.wrapperDir} | 96 | --prefix PATH : ${makeBinPath (with pkgs; [util-linux borgbackup])}:${config.security.wrapperDir} |
97 | ''; | 97 | ''; |
98 | 98 | ||
99 | providers.python-unshare = "nixpkgs"; | 99 | providers.python-unshare = "nixpkgs"; |
diff --git a/hosts/vidhar/network/dhcp/default.nix b/hosts/vidhar/network/dhcp/default.nix index 067dc6d6..e14b15ac 100644 --- a/hosts/vidhar/network/dhcp/default.nix +++ b/hosts/vidhar/network/dhcp/default.nix | |||
@@ -1,4 +1,7 @@ | |||
1 | { flake, config, pkgs, lib, ... }: | 1 | { flake, config, pkgs, lib, ... }: |
2 | |||
3 | with lib; | ||
4 | |||
2 | { | 5 | { |
3 | config = { | 6 | config = { |
4 | services.kea = { | 7 | services.kea = { |
@@ -23,7 +26,7 @@ | |||
23 | { name = "ipxe"; | 26 | { name = "ipxe"; |
24 | test = "option[77].hex == 'iPXE'"; | 27 | test = "option[77].hex == 'iPXE'"; |
25 | next-server = "10.141.0.1"; | 28 | next-server = "10.141.0.1"; |
26 | boot-file-name = "netboot.ipxe"; | 29 | boot-file-name = "installer-x86_64-linux/netboot.ipxe"; |
27 | only-if-required = true; | 30 | only-if-required = true; |
28 | } | 31 | } |
29 | { name = "uefi-64"; | 32 | { name = "uefi-64"; |
@@ -146,7 +149,7 @@ | |||
146 | pools = [ { pool = "10.141.2.128 - 10.141.2.254"; } ]; | 149 | pools = [ { pool = "10.141.2.128 - 10.141.2.254"; } ]; |
147 | reservations = []; | 150 | reservations = []; |
148 | } | 151 | } |
149 | ]; | 152 | ]; |
150 | }; | 153 | }; |
151 | }; | 154 | }; |
152 | # dhcp6 = { | 155 | # dhcp6 = { |
@@ -195,16 +198,16 @@ | |||
195 | }; | 198 | }; |
196 | 199 | ||
197 | systemd.services.kea-dhcp-ddns-server = { | 200 | systemd.services.kea-dhcp-ddns-server = { |
198 | preStart = let | 201 | preStart = let |
199 | configLines = [ | 202 | configLines = [ |
200 | "<?include \"\${CREDENTIALS_DIRECTORY}/knot-tsig.json.frag\"?>" | 203 | "<?include \"\${CREDENTIALS_DIRECTORY}/knot-tsig.json.frag\"?>" |
201 | ] ++ lib.mapAttrsToList (k: v: | 204 | ] ++ mapAttrsToList (k: v: |
202 | "\"${k}\": ${builtins.toJSON v}" | 205 | "\"${k}\": ${builtins.toJSON v}" |
203 | ) config.services.kea.dhcp-ddns.settings; | 206 | ) config.services.kea.dhcp-ddns.settings; |
204 | 207 | ||
205 | config-template = pkgs.writeText "dhcp-ddns.conf" '' | 208 | config-template = pkgs.writeText "dhcp-ddns.conf" '' |
206 | {"DhcpDdns": { | 209 | {"DhcpDdns": { |
207 | ${lib.concatStringsSep ",\n " configLines} | 210 | ${concatStringsSep ",\n " configLines} |
208 | }} | 211 | }} |
209 | ''; | 212 | ''; |
210 | in '' | 213 | in '' |
@@ -212,8 +215,8 @@ | |||
212 | ''; | 215 | ''; |
213 | 216 | ||
214 | serviceConfig = { | 217 | serviceConfig = { |
215 | ExecStart = lib.mkForce '' | 218 | ExecStart = mkForce '' |
216 | ${pkgs.kea}/bin/kea-dhcp-ddns -c "''${RUNTIME_DIRECTORY}/dhcp-ddns.conf" ${lib.escapeShellArgs config.services.kea.dhcp-ddns.extraArgs} | 219 | ${pkgs.kea}/bin/kea-dhcp-ddns -c "''${RUNTIME_DIRECTORY}/dhcp-ddns.conf" ${escapeShellArgs config.services.kea.dhcp-ddns.extraArgs} |
217 | ''; | 220 | ''; |
218 | LoadCredential = [ | 221 | LoadCredential = [ |
219 | "knot-tsig.json.frag:${config.sops.secrets."kea-knot-tsig.json.frag".path}" | 222 | "knot-tsig.json.frag:${config.sops.secrets."kea-knot-tsig.json.frag".path}" |
@@ -226,26 +229,53 @@ | |||
226 | sopsFile = ./knot-tsig.json.frag; | 229 | sopsFile = ./knot-tsig.json.frag; |
227 | }; | 230 | }; |
228 | 231 | ||
229 | systemd.services."installer-atftpd" = { | 232 | systemd.services."pxe-atftpd" = { |
230 | description = "TFTP Server for PXE Booting NixOS Installer"; | 233 | description = "TFTP Server for PXE Booting"; |
231 | after = [ "network.target" ]; | 234 | after = [ "network.target" ]; |
232 | wantedBy = [ "multi-user.target" ]; | 235 | wantedBy = [ "multi-user.target" ]; |
233 | serviceConfig.ExecStart = let | 236 | serviceConfig.ExecStart = let |
234 | installerBuild = flake.nixosConfigurations.installer-x86_64-linux-netboot.config.system.build; | ||
235 | ipxe = pkgs.ipxe.override { | 237 | ipxe = pkgs.ipxe.override { |
236 | additionalTargets = { | 238 | additionalTargets = { |
237 | "bin-i386-efi/ipxe.efi" = "i386-ipxe.efi"; | 239 | "bin-i386-efi/ipxe.efi" = "i386-ipxe.efi"; |
238 | }; | 240 | }; |
239 | }; | 241 | }; |
240 | tftpRoot = pkgs.runCommandLocal "installer-netboot" {} '' | 242 | tftpRoot = pkgs.runCommandLocal "netboot" {} '' |
241 | mkdir -p $out | 243 | mkdir -p $out |
242 | install -m 0444 -t $out \ | 244 | install -m 0444 -t $out \ |
243 | ${installerBuild.netbootRamdisk}/initrd \ | ||
244 | ${installerBuild.kernel}/bzImage \ | ||
245 | ${installerBuild.netbootIpxeScript}/netboot.ipxe \ | ||
246 | ${ipxe}/ipxe.efi ${ipxe}/i386-ipxe.efi ${ipxe}/undionly.kpxe | 245 | ${ipxe}/ipxe.efi ${ipxe}/i386-ipxe.efi ${ipxe}/undionly.kpxe |
246 | |||
247 | ${concatMapStringsSep "\n" (system: | ||
248 | let | ||
249 | installerBuild = (flake.nixosConfigurations.${"installer-${system}-nfsroot"}.extendModules { | ||
250 | modules = [ | ||
251 | ({ ... }: { config.nfsroot.storeDevice = "vidhar:nix-store"; }) | ||
252 | ]; | ||
253 | }).config.system.build; | ||
254 | in '' | ||
255 | mkdir -p $out/installer-${system} | ||
256 | install -m 0444 -t $out/installer-${system} \ | ||
257 | ${installerBuild.initialRamdisk}/initrd \ | ||
258 | ${installerBuild.kernel}/bzImage \ | ||
259 | ${installerBuild.netbootIpxeScript}/netboot.ipxe | ||
260 | '' | ||
261 | ) ["x86_64-linux"]} | ||
247 | ''; | 262 | ''; |
248 | in "${pkgs.atftp}/sbin/atftpd --daemon --no-fork --bind-address=10.141.0.1 ${tftpRoot}"; | 263 | in "${pkgs.atftp}/sbin/atftpd --daemon --no-fork --bind-address=10.141.0.1 ${tftpRoot}"; |
249 | }; | 264 | }; |
265 | |||
266 | services.nfs.server = { | ||
267 | enable = true; | ||
268 | createMountPoints = true; | ||
269 | exports = '' | ||
270 | /export/nix-root 10.141.0.0/24(ro) | ||
271 | ''; | ||
272 | }; | ||
273 | |||
274 | fileSystems = { | ||
275 | "/export/nix-root" = { | ||
276 | device = "/nix/store"; | ||
277 | options = [ "bind" ]; | ||
278 | }; | ||
279 | }; | ||
250 | }; | 280 | }; |
251 | } | 281 | } |
diff --git a/hosts/vidhar/network/dsl.nix b/hosts/vidhar/network/dsl.nix index a5f4daf2..461e74d2 100644 --- a/hosts/vidhar/network/dsl.nix +++ b/hosts/vidhar/network/dsl.nix | |||
@@ -11,7 +11,7 @@ in { | |||
11 | default = "dsl"; | 11 | default = "dsl"; |
12 | }; | 12 | }; |
13 | }; | 13 | }; |
14 | 14 | ||
15 | config = { | 15 | config = { |
16 | networking.vlans = { | 16 | networking.vlans = { |
17 | telekom = { | 17 | telekom = { |
@@ -19,7 +19,7 @@ in { | |||
19 | interface = "eno2"; | 19 | interface = "eno2"; |
20 | }; | 20 | }; |
21 | }; | 21 | }; |
22 | 22 | ||
23 | services.pppd = { | 23 | services.pppd = { |
24 | enable = true; | 24 | enable = true; |
25 | peers.telekom.config = '' | 25 | peers.telekom.config = '' |
@@ -40,7 +40,7 @@ in { | |||
40 | }; | 40 | }; |
41 | systemd.services."pppd-telekom" = { | 41 | systemd.services."pppd-telekom" = { |
42 | stopIfChanged = true; | 42 | stopIfChanged = true; |
43 | 43 | ||
44 | serviceConfig = lib.mkForce { | 44 | serviceConfig = lib.mkForce { |
45 | Type = "notify"; | 45 | Type = "notify"; |
46 | PIDFile = "/run/pppd/${pppInterface}.pid"; | 46 | PIDFile = "/run/pppd/${pppInterface}.pid"; |
@@ -62,7 +62,7 @@ in { | |||
62 | "ppp/ip-up" = { | 62 | "ppp/ip-up" = { |
63 | text = '' | 63 | text = '' |
64 | #!${pkgs.runtimeShell} | 64 | #!${pkgs.runtimeShell} |
65 | ${pkgs.iproute}/bin/ip route add default via "$5" dev "${pppInterface}" metric 512 | 65 | ${pkgs.iproute2}/bin/ip route add default via "$5" dev "${pppInterface}" metric 512 |
66 | ''; | 66 | ''; |
67 | mode = "0555"; | 67 | mode = "0555"; |
68 | }; | 68 | }; |
diff --git a/hosts/vidhar/prometheus/default.nix b/hosts/vidhar/prometheus/default.nix index 7ac86c30..8e5ff0ea 100644 --- a/hosts/vidhar/prometheus/default.nix +++ b/hosts/vidhar/prometheus/default.nix | |||
@@ -61,9 +61,12 @@ in { | |||
61 | }; | 61 | }; |
62 | apcupsd.enable = true; | 62 | apcupsd.enable = true; |
63 | systemd = { | 63 | systemd = { |
64 | enable = true; | 64 | enable = false; # TODO |
65 | extraFlags = [ | 65 | extraFlags = [ |
66 | "--collector.unit-whitelist=(dhcpcd-dsl|pppd-telekom|corerad|ndppd)\.service" | 66 | "--systemd.collector.unit-include=(dhcpcd-dsl|pppd-telekom|corerad|ndppd)\.service" |
67 | "--systemd.collector.enable-restart-count" | ||
68 | "--systemd.collector.enable-file-descriptor-size" | ||
69 | "--systemd.collector.enable-ip-accounting" | ||
67 | ]; | 70 | ]; |
68 | }; | 71 | }; |
69 | blackbox = { | 72 | blackbox = { |
diff --git a/installer-profiles/cd-dvd.nix b/installer-profiles/cd-dvd.nix new file mode 100644 index 00000000..45291bad --- /dev/null +++ b/installer-profiles/cd-dvd.nix | |||
@@ -0,0 +1,7 @@ | |||
1 | { flakeInputs, ... }: | ||
2 | |||
3 | { | ||
4 | imports = [ | ||
5 | "${flakeInputs.nixpkgs.outPath}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" | ||
6 | ]; | ||
7 | } | ||
diff --git a/installer-profiles/netboot.nix b/installer-profiles/netboot.nix new file mode 100644 index 00000000..28e8084d --- /dev/null +++ b/installer-profiles/netboot.nix | |||
@@ -0,0 +1,7 @@ | |||
1 | { flakeInputs, ... }: | ||
2 | |||
3 | { | ||
4 | imports = [ | ||
5 | "${flakeInputs.nixpkgs.outPath}/nixos/modules/installer/netboot/netboot-minimal.nix" | ||
6 | ]; | ||
7 | } | ||
diff --git a/installer-profiles/nfsroot.nix b/installer-profiles/nfsroot.nix new file mode 100644 index 00000000..9db415a8 --- /dev/null +++ b/installer-profiles/nfsroot.nix | |||
@@ -0,0 +1,95 @@ | |||
1 | { config, pkgs, lib, flakeInputs, ... }: | ||
2 | |||
3 | with lib; | ||
4 | |||
5 | let | ||
6 | cfg = config.nfsroot; | ||
7 | in { | ||
8 | imports = [ | ||
9 | "${flakeInputs.nixpkgs.outPath}/nixos/modules/profiles/minimal.nix" | ||
10 | "${flakeInputs.nixpkgs.outPath}/nixos/modules/profiles/all-hardware.nix" | ||
11 | "${flakeInputs.nixpkgs.outPath}/nixos/modules/profiles/base.nix" | ||
12 | "${flakeInputs.nixpkgs.outPath}/nixos/modules/profiles/installation-device.nix" | ||
13 | ]; | ||
14 | |||
15 | options = { | ||
16 | nfsroot = { | ||
17 | storeDevice = mkOption { | ||
18 | type = types.str; | ||
19 | }; | ||
20 | }; | ||
21 | }; | ||
22 | |||
23 | config = { | ||
24 | # Don't build the GRUB menu builder script, since we don't need it | ||
25 | # here and it causes a cyclic dependency. | ||
26 | boot.loader.grub.enable = false; | ||
27 | |||
28 | # !!! Hack - attributes expected by other modules. | ||
29 | environment.systemPackages = [ pkgs.grub2_efi ] | ||
30 | ++ (if pkgs.stdenv.hostPlatform.system == "aarch64-linux" | ||
31 | then [] | ||
32 | else [ pkgs.grub2 pkgs.syslinux ]); | ||
33 | |||
34 | fileSystems."/" = mkImageMediaOverride | ||
35 | { fsType = "tmpfs"; | ||
36 | options = [ "mode=0755" ]; | ||
37 | }; | ||
38 | |||
39 | # In stage 1, mount a tmpfs on top of /nix/store (the squashfs | ||
40 | # image) to make this a live CD. | ||
41 | fileSystems."/nix/.ro-store" = mkImageMediaOverride | ||
42 | { fsType = "nfs4"; | ||
43 | device = cfg.storeDevice; | ||
44 | options = [ "ro" ]; | ||
45 | neededForBoot = true; | ||
46 | }; | ||
47 | |||
48 | fileSystems."/nix/.rw-store" = mkImageMediaOverride | ||
49 | { fsType = "tmpfs"; | ||
50 | options = [ "mode=0755" ]; | ||
51 | neededForBoot = true; | ||
52 | }; | ||
53 | |||
54 | fileSystems."/nix/store" = mkImageMediaOverride | ||
55 | { fsType = "overlay"; | ||
56 | device = "overlay"; | ||
57 | options = [ | ||
58 | "lowerdir=/nix/.ro-store" | ||
59 | "upperdir=/nix/.rw-store/store" | ||
60 | "workdir=/nix/.rw-store/work" | ||
61 | ]; | ||
62 | |||
63 | depends = [ | ||
64 | "/nix/.ro-store" | ||
65 | "/nix/.rw-store/store" | ||
66 | "/nix/.rw-store/work" | ||
67 | ]; | ||
68 | }; | ||
69 | |||
70 | boot.initrd.availableKernelModules = [ "nfs" "nfsv4" "overlay" ]; | ||
71 | boot.initrd.supportedFilesystems = [ "nfs" "nfsv4" "overlay" ]; | ||
72 | |||
73 | boot.initrd.network.enable = true; | ||
74 | boot.initrd.network.flushBeforeStage2 = false; # otherwise nfs dosen't work | ||
75 | networking.useDHCP = true; | ||
76 | |||
77 | |||
78 | system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" '' | ||
79 | #!ipxe | ||
80 | # Use the cmdline variable to allow the user to specify custom kernel params | ||
81 | # when chainloading this script from other iPXE scripts like netboot.xyz | ||
82 | kernel ${pkgs.stdenv.hostPlatform.linux-kernel.target} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} ''${cmdline} | ||
83 | initrd initrd | ||
84 | boot | ||
85 | ''; | ||
86 | |||
87 | boot.postBootCommands = | ||
88 | '' | ||
89 | # nixos-rebuild also requires a "system" profile and an | ||
90 | # /etc/NIXOS tag. | ||
91 | touch /etc/NIXOS | ||
92 | ${config.nix.package}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system | ||
93 | ''; | ||
94 | }; | ||
95 | } | ||
diff --git a/installer/default.nix b/installer/default.nix index d77266ca..f882b22d 100644 --- a/installer/default.nix +++ b/installer/default.nix | |||
@@ -11,7 +11,7 @@ | |||
11 | rulesetFile = ./ruleset.nft; | 11 | rulesetFile = ./ruleset.nft; |
12 | }; | 12 | }; |
13 | }; | 13 | }; |
14 | 14 | ||
15 | services.openssh = { | 15 | services.openssh = { |
16 | enable = true; | 16 | enable = true; |
17 | staticHostKeys = false; | 17 | staticHostKeys = false; |
diff --git a/modules/netns.nix b/modules/netns.nix index d4f07feb..dca3c0db 100644 --- a/modules/netns.nix +++ b/modules/netns.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { pkgs, config, lib, ... }: | 1 | { pkgs, config, lib, ... }: |
2 | 2 | ||
3 | with lib; | 3 | with lib; |
4 | 4 | ||
5 | let | 5 | let |
6 | cfg = config.networking.namespaces; | 6 | cfg = config.networking.namespaces; |
@@ -56,12 +56,12 @@ let | |||
56 | wants = ["network.target"]; | 56 | wants = ["network.target"]; |
57 | conflicts = ["shutdown.target"]; | 57 | conflicts = ["shutdown.target"]; |
58 | 58 | ||
59 | path = with pkgs; [ iproute config.systemd.package ]; | 59 | path = with pkgs; [ iproute2 config.systemd.package ]; |
60 | 60 | ||
61 | serviceConfig = { | 61 | serviceConfig = { |
62 | SyslogIdentifier = "netns container ${containerName}"; | 62 | SyslogIdentifier = "netns container ${containerName}"; |
63 | Type = "notify"; | 63 | Type = "notify"; |
64 | 64 | ||
65 | RestartForceExitStatus = "133"; | 65 | RestartForceExitStatus = "133"; |
66 | SuccessExitStatus = "133"; | 66 | SuccessExitStatus = "133"; |
67 | 67 | ||
@@ -114,7 +114,7 @@ let | |||
114 | --capability=CAP_SYS_TTY_CONFIG,CAP_NET_ADMIN,CAP_NET_RAW,CAP_SYS_ADMIN \ | 114 | --capability=CAP_SYS_TTY_CONFIG,CAP_NET_ADMIN,CAP_NET_RAW,CAP_SYS_ADMIN \ |
115 | --ephemeral \ | 115 | --ephemeral \ |
116 | --network-namespace-path=/run/netns/${containerCfg.netns} \ | 116 | --network-namespace-path=/run/netns/${containerCfg.netns} \ |
117 | ${containerInit} "${containerCfg.config.system.build.toplevel}/init" | 117 | ${containerInit} "${containerCfg.config.system.build.toplevel}/init" |
118 | ''; | 118 | ''; |
119 | }; | 119 | }; |
120 | in { | 120 | in { |
@@ -133,13 +133,13 @@ in { | |||
133 | assertions = [ | 133 | assertions = [ |
134 | { assertion = cfg.containers != {} -> cfg.enable; message = "netns containers require netns@ service template"; } | 134 | { assertion = cfg.containers != {} -> cfg.enable; message = "netns containers require netns@ service template"; } |
135 | ]; | 135 | ]; |
136 | 136 | ||
137 | systemd.services = { | 137 | systemd.services = { |
138 | "netns@" = mkIf cfg.enable { | 138 | "netns@" = mkIf cfg.enable { |
139 | description = "%I network namspace"; | 139 | description = "%I network namspace"; |
140 | before = [ "network-pre.target" ]; | 140 | before = [ "network-pre.target" ]; |
141 | wants = [ "network-pre.target" ]; | 141 | wants = [ "network-pre.target" ]; |
142 | path = with pkgs; [ iproute utillinux ]; | 142 | path = with pkgs; [ iproute2 util-linux ]; |
143 | serviceConfig = { | 143 | serviceConfig = { |
144 | Type = "oneshot"; | 144 | Type = "oneshot"; |
145 | RemainAfterExit = true; | 145 | RemainAfterExit = true; |
@@ -149,7 +149,7 @@ in { | |||
149 | umount /var/run/netns/"$1" | 149 | umount /var/run/netns/"$1" |
150 | mount --bind /proc/self/ns/net /var/run/netns/"$1" | 150 | mount --bind /proc/self/ns/net /var/run/netns/"$1" |
151 | ''} %I"; | 151 | ''} %I"; |
152 | ExecStop = "${pkgs.iproute}/bin/ip netns del %I"; | 152 | ExecStop = "${pkgs.iproute2}/bin/ip netns del %I"; |
153 | }; | 153 | }; |
154 | }; | 154 | }; |
155 | } // mapAttrs' mkContainerService cfg.containers; | 155 | } // mapAttrs' mkContainerService cfg.containers; |
diff --git a/modules/zfssnap/default.nix b/modules/zfssnap/default.nix index f3e2f9c2..42cdf46f 100644 --- a/modules/zfssnap/default.nix +++ b/modules/zfssnap/default.nix | |||
@@ -11,7 +11,7 @@ let | |||
11 | 11 | ||
12 | buildInputs = with pkgs; [makeWrapper]; | 12 | buildInputs = with pkgs; [makeWrapper]; |
13 | 13 | ||
14 | python = pkgs.python39.withPackages (ps: with ps; [pyxdg pytimeparse dateutil]); | 14 | python = pkgs.python39.withPackages (ps: with ps; [pyxdg pytimeparse python-dateutil]); |
15 | 15 | ||
16 | buildPhase = '' | 16 | buildPhase = '' |
17 | substitute $src zfssnap \ | 17 | substitute $src zfssnap \ |
diff --git a/nvfetcher.toml b/nvfetcher.toml index cb460076..ccdd78dd 100644 --- a/nvfetcher.toml +++ b/nvfetcher.toml | |||
@@ -34,10 +34,6 @@ src.git = "https://github.com/umlaeute/v4l2loopback" | |||
34 | fetch.github = "umlaeute/v4l2loopback" | 34 | fetch.github = "umlaeute/v4l2loopback" |
35 | git.fetchSubmodules = true | 35 | git.fetchSubmodules = true |
36 | 36 | ||
37 | [fast-cli] | ||
38 | src.github = "gesquive/fast-cli" | ||
39 | fetch.github = "gesquive/fast-cli" | ||
40 | |||
41 | [xcompose] | 37 | [xcompose] |
42 | src.git = "https://github.com/kragen/xcompose" | 38 | src.git = "https://github.com/kragen/xcompose" |
43 | fetch.github = "kragen/xcompose" | 39 | fetch.github = "kragen/xcompose" |
diff --git a/overlays/fast-cli.nix b/overlays/fast-cli.nix deleted file mode 100644 index a318eada..00000000 --- a/overlays/fast-cli.nix +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | { prev, sources, ... }: { | ||
2 | fast-cli = prev.buildGoModule rec { | ||
3 | pname = "fast-cli"; | ||
4 | |||
5 | inherit (sources.fast-cli) version src; | ||
6 | vendorSha256 = "sha256-XM/5kUau0JBMxN0UpX6QNI31i8/+HNFvgFUFtlJsBh0="; | ||
7 | |||
8 | preBuild = let | ||
9 | goMod = prev.writeText "go.mod" '' | ||
10 | module github.com/gesquive/fast-cli | ||
11 | |||
12 | go 1.17 | ||
13 | |||
14 | require ( | ||
15 | github.com/dustin/go-humanize v0.0.0-20170228161531-259d2a102b87 | ||
16 | github.com/fatih/color v1.4.1 | ||
17 | github.com/gesquive/cli v0.2.0 | ||
18 | github.com/inconshreveable/mousetrap v1.0.0 | ||
19 | github.com/mattn/go-colorable v0.0.8-0.20170210172801-5411d3eea597 | ||
20 | github.com/mattn/go-isatty v0.0.2-0.20170307163044-57fdcb988a5c | ||
21 | github.com/spf13/cobra v0.0.0-20170531045452-8d4ce3549a0b | ||
22 | github.com/spf13/pflag v1.0.0 | ||
23 | golang.org/x/sys v0.0.0-20170213225739-e24f485414ae | ||
24 | ) | ||
25 | ''; | ||
26 | in '' | ||
27 | install -v -m 0644 ${goMod} ./go.mod | ||
28 | ''; | ||
29 | |||
30 | ldflags = [ | ||
31 | "-X main.version=${prev.lib.removePrefix "v" version}" | ||
32 | ]; | ||
33 | }; | ||
34 | } | ||
diff --git a/overlays/postfix-mta-sts-resolver.nix b/overlays/postfix-mta-sts-resolver.nix index a06dace5..d8b1ff00 100644 --- a/overlays/postfix-mta-sts-resolver.nix +++ b/overlays/postfix-mta-sts-resolver.nix | |||
@@ -24,5 +24,6 @@ | |||
24 | ]; | 24 | ]; |
25 | 25 | ||
26 | _.pyparsing.buildInputs.add = with final.python310Packages; [ flit-core ]; | 26 | _.pyparsing.buildInputs.add = with final.python310Packages; [ flit-core ]; |
27 | _.idna.buildInputs.add = with final.python310Packages; [ flit-core ]; | ||
27 | }; | 28 | }; |
28 | } | 29 | } |
diff --git a/overlays/urxvt/52-osc.pl b/overlays/urxvt/52-osc.pl deleted file mode 100644 index 3292e8c4..00000000 --- a/overlays/urxvt/52-osc.pl +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | #! perl | ||
2 | |||
3 | =head1 NAME | ||
4 | |||
5 | 52-osc - Implement OSC 32 ; Interact with X11 clipboard | ||
6 | |||
7 | =head1 SYNOPSIS | ||
8 | |||
9 | urxvt -pe 52-osc | ||
10 | |||
11 | =head1 DESCRIPTION | ||
12 | |||
13 | This extension implements OSC 52 for interacting with system clipboard | ||
14 | |||
15 | Most code stolen from: | ||
16 | http://ailin.tucana.uberspace.de/static/nei/*/Code/urxvt/ | ||
17 | |||
18 | =cut | ||
19 | |||
20 | use MIME::Base64; | ||
21 | use Encode; | ||
22 | |||
23 | sub on_osc_seq { | ||
24 | my ($term, $op, $args) = @_; | ||
25 | return () unless $op eq 52; | ||
26 | |||
27 | my ($clip, $data) = split ';', $args, 2; | ||
28 | if ($data eq '?') { | ||
29 | # my $data_free = $term->selection(); | ||
30 | # Encode::_utf8_off($data_free); # XXX | ||
31 | # $term->tt_write("\e]52;$clip;".encode_base64($data_free, '')."\a"); | ||
32 | } | ||
33 | else { | ||
34 | my $data_decoded = decode_base64($data); | ||
35 | Encode::_utf8_on($data_decoded); # XXX | ||
36 | $term->selection($data_decoded, $clip =~ /c|^$/); | ||
37 | $term->selection_grab(urxvt::CurrentTime, $clip =~ /c|^$/); | ||
38 | } | ||
39 | |||
40 | () | ||
41 | } | ||
diff --git a/overlays/urxvt/default.nix b/overlays/urxvt/default.nix deleted file mode 100644 index 77a2c51f..00000000 --- a/overlays/urxvt/default.nix +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | { final, prev, ... }: { | ||
2 | rxvt_unicode-with-plugins = prev.rxvt-unicode.override { | ||
3 | configure = { availablePlugins, ... }: { | ||
4 | plugins = [ final.urxvt_osc_52 ] ++ builtins.attrValues availablePlugins; | ||
5 | }; | ||
6 | }; | ||
7 | urxvt_osc_52 = prev.stdenv.mkDerivation { | ||
8 | name = "rxvt_unicode-osc_52-0"; | ||
9 | src = ./52-osc.pl; | ||
10 | unpackPhase = '' | ||
11 | cp $src 52-osc | ||
12 | ''; | ||
13 | buildPhase = '' | ||
14 | sed -i 's|#! perl|#! ${final.perl}/bin/perl|g' 52-osc | ||
15 | ''; | ||
16 | installPhase = '' | ||
17 | mkdir -p $out/lib/urxvt/perl | ||
18 | cp 52-osc $out/lib/urxvt/perl | ||
19 | ''; | ||
20 | }; | ||
21 | } | ||
diff --git a/overlays/worktime/default.nix b/overlays/worktime/default.nix index a8ee15e3..20c0b90f 100644 --- a/overlays/worktime/default.nix +++ b/overlays/worktime/default.nix | |||
@@ -5,7 +5,7 @@ | |||
5 | 5 | ||
6 | phases = [ "buildPhase" "checkPhase" "installPhase" ]; | 6 | phases = [ "buildPhase" "checkPhase" "installPhase" ]; |
7 | 7 | ||
8 | python = prev.python39.withPackages (ps: with ps; [pyxdg dateutil uritools requests configparser tabulate]); | 8 | python = prev.python39.withPackages (ps: with ps; [pyxdg python-dateutil uritools requests configparser tabulate]); |
9 | buildInputs = [ python ]; | 9 | buildInputs = [ python ]; |
10 | 10 | ||
11 | buildPhase = '' | 11 | buildPhase = '' |
@@ -1,21 +1,11 @@ | |||
1 | { pkgs ? import <nixpkgs> {}, deploy-rs, nvfetcher }: | 1 | { pkgs ? import <nixpkgs> {}, deploy-rs, nvfetcher }: |
2 | let | 2 | let |
3 | nixWithFlakes = pkgs.symlinkJoin { | ||
4 | name = "nix-with-flakes"; | ||
5 | paths = [ pkgs.nixFlakes ]; | ||
6 | buildInputs = [ pkgs.makeWrapper ]; | ||
7 | postBuild = '' | ||
8 | wrapProgram $out/bin/nix --add-flags '--option experimental-features "nix-command flakes"' | ||
9 | ''; | ||
10 | }; | ||
11 | |||
12 | tai64dec = pkgs.writeShellScriptBin "tai64dec" '' | 3 | tai64dec = pkgs.writeShellScriptBin "tai64dec" '' |
13 | echo $((16#$(${pkgs.daemontools}/bin/tai64n <<<"" | ${pkgs.coreutils}/bin/tail -c +2 | ${pkgs.coreutils}/bin/head -c 16))) | 4 | echo $((16#$(${pkgs.daemontools}/bin/tai64n <<<"" | ${pkgs.coreutils}/bin/tail -c +2 | ${pkgs.coreutils}/bin/head -c 16))) |
14 | ''; | 5 | ''; |
15 | in pkgs.mkShell { | 6 | in pkgs.mkShell { |
16 | name = "nixos"; | 7 | name = "nixos"; |
17 | nativeBuildInputs = with pkgs; [ | 8 | nativeBuildInputs = with pkgs; [ |
18 | nixWithFlakes | ||
19 | sops | 9 | sops |
20 | wireguard-tools | 10 | wireguard-tools |
21 | gup | 11 | gup |
diff --git a/system-profiles/build-server/default.nix b/system-profiles/build-server/default.nix index 20b23a31..ee99e02f 100644 --- a/system-profiles/build-server/default.nix +++ b/system-profiles/build-server/default.nix | |||
@@ -1,8 +1,12 @@ | |||
1 | { customUtils, flake, config, lib, ... }: | 1 | { customUtils, flake, config, lib, pkgs, ... }: |
2 | 2 | ||
3 | { | 3 | with lib; |
4 | |||
5 | let | ||
6 | disallowedSystems = ["armv5tel-linux" config.nixpkgs.system] ++ optional (systems.elaborate config.nixpkgs.system).isx86_64 "i686-linux"; | ||
7 | in { | ||
4 | imports = with flake.nixosModules.systemProfiles; [ openssh ]; | 8 | imports = with flake.nixosModules.systemProfiles; [ openssh ]; |
5 | 9 | ||
6 | config = { | 10 | config = { |
7 | users.groups.nix-ssh-builder = {}; | 11 | users.groups.nix-ssh-builder = {}; |
8 | users.users.nix-ssh-builder = { | 12 | users.users.nix-ssh-builder = { |
@@ -30,8 +34,10 @@ | |||
30 | 34 | ||
31 | users.users.nix-ssh-builder.openssh.authorizedKeys.keys = | 35 | users.users.nix-ssh-builder.openssh.authorizedKeys.keys = |
32 | let | 36 | let |
33 | importKeys = dir: lib.attrValues (customUtils.mapFilterAttrs (_: v: v != null) (n: v: lib.nameValuePair n (if v == "directory" then importKeys' dir n else null)) (builtins.readDir dir)); | 37 | importKeys = dir: attrValues (customUtils.mapFilterAttrs (_: v: v != null) (n: v: nameValuePair n (if v == "directory" then importKeys' dir n else null)) (builtins.readDir dir)); |
34 | importKeys' = dir: host: builtins.readFile (dir + "/${host}/public"); | 38 | importKeys' = dir: host: builtins.readFile (dir + "/${host}/public"); |
35 | in importKeys ./clients; | 39 | in importKeys ./clients; |
40 | |||
41 | boot.binfmt.emulatedSystems = mkDefault (filter (system: (systems.elaborate system).emulatorAvailable pkgs && !(elem system disallowedSystems)) systems.flakeExposed); | ||
36 | }; | 42 | }; |
37 | } | 43 | } |
diff --git a/system-profiles/openssh/default.nix b/system-profiles/openssh/default.nix index 47908682..3d04d9b5 100644 --- a/system-profiles/openssh/default.nix +++ b/system-profiles/openssh/default.nix | |||
@@ -88,7 +88,7 @@ in { | |||
88 | }; | 88 | }; |
89 | 89 | ||
90 | environment.systemPackages = mkIf cfg.enable (with pkgs; [ | 90 | environment.systemPackages = mkIf cfg.enable (with pkgs; [ |
91 | rxvt_unicode.terminfo alacritty.terminfo | 91 | alacritty.terminfo |
92 | ]); | 92 | ]); |
93 | }; | 93 | }; |
94 | } | 94 | } |
diff --git a/user-profiles/feeds/module.nix b/user-profiles/feeds/module.nix index 9b1ef594..63e827eb 100644 --- a/user-profiles/feeds/module.nix +++ b/user-profiles/feeds/module.nix | |||
@@ -75,7 +75,7 @@ let | |||
75 | 75 | ||
76 | phases = [ "buildPhase" "checkPhase" "installPhase" "fixupPhase" ]; | 76 | phases = [ "buildPhase" "checkPhase" "installPhase" "fixupPhase" ]; |
77 | 77 | ||
78 | python = pkgs.python39.withPackages (ps: with ps; [ configparser dateutil html2text ]); | 78 | python = pkgs.python39.withPackages (ps: with ps; [ configparser python-dateutil html2text ]); |
79 | 79 | ||
80 | nativeBuildInputs = with pkgs; [ makeWrapper ]; | 80 | nativeBuildInputs = with pkgs; [ makeWrapper ]; |
81 | 81 | ||
diff --git a/user-profiles/mpv/default.nix b/user-profiles/mpv/default.nix index 33b0ffaf..0c87b6e7 100644 --- a/user-profiles/mpv/default.nix +++ b/user-profiles/mpv/default.nix | |||
@@ -53,7 +53,7 @@ | |||
53 | install -m 0644 mpris.so $out/share/mpv/scripts/${passthru.scriptName} | 53 | install -m 0644 mpris.so $out/share/mpv/scripts/${passthru.scriptName} |
54 | ''; | 54 | ''; |
55 | 55 | ||
56 | nativeBuildInputs = with pkgs; [ pkgconfig glib mpv ]; | 56 | nativeBuildInputs = with pkgs; [ pkg-config glib mpv ]; |
57 | 57 | ||
58 | passthru.scriptName = "mpris.so"; | 58 | passthru.scriptName = "mpris.so"; |
59 | })) | 59 | })) |
diff --git a/user-profiles/utils.nix b/user-profiles/utils.nix index c5042d41..41fb312b 100644 --- a/user-profiles/utils.nix +++ b/user-profiles/utils.nix | |||
@@ -21,7 +21,7 @@ | |||
21 | home.packages = with pkgs; [ | 21 | home.packages = with pkgs; [ |
22 | autossh usbutils pciutils exa silver-searcher pwgen unzip | 22 | autossh usbutils pciutils exa silver-searcher pwgen unzip |
23 | magic-wormhole qrencode tty-clock dnsutils openssl sshfs psmisc | 23 | magic-wormhole qrencode tty-clock dnsutils openssl sshfs psmisc |
24 | mosh tree vnstat file pv bc fast-cli zip nmap aspell | 24 | mosh tree vnstat file pv bc zip nmap aspell |
25 | aspellDicts.de aspellDicts.en borgbackup man-pages rsync socat | 25 | aspellDicts.de aspellDicts.en borgbackup man-pages rsync socat |
26 | inetutils yq cached-nix-shell persistent-nix-shell rage | 26 | inetutils yq cached-nix-shell persistent-nix-shell rage |
27 | smartmontools hdparm | 27 | smartmontools hdparm |