aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nix/poetry.lock174
-rw-r--r--nix/pyproject.toml12
-rw-r--r--nix/sources.json12
-rw-r--r--shell.nix8
4 files changed, 160 insertions, 46 deletions
diff --git a/nix/poetry.lock b/nix/poetry.lock
index 74d6e7dd5..1a1aefe21 100644
--- a/nix/poetry.lock
+++ b/nix/poetry.lock
@@ -8,7 +8,7 @@ python-versions = "*"
8 8
9[[package]] 9[[package]]
10name = "argcomplete" 10name = "argcomplete"
11version = "1.12.2" 11version = "1.12.3"
12description = "Bash tab completion for argparse" 12description = "Bash tab completion for argparse"
13category = "main" 13category = "main"
14optional = false 14optional = false
@@ -19,17 +19,17 @@ test = ["coverage", "flake8", "pexpect", "wheel"]
19 19
20[[package]] 20[[package]]
21name = "attrs" 21name = "attrs"
22version = "20.3.0" 22version = "21.2.0"
23description = "Classes Without Boilerplate" 23description = "Classes Without Boilerplate"
24category = "main" 24category = "main"
25optional = false 25optional = false
26python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 26python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
27 27
28[package.extras] 28[package.extras]
29dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] 29dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"]
30docs = ["furo", "sphinx", "zope.interface"] 30docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
31tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] 31tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"]
32tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] 32tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"]
33 33
34[[package]] 34[[package]]
35name = "colorama" 35name = "colorama"
@@ -43,7 +43,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
43name = "coverage" 43name = "coverage"
44version = "5.5" 44version = "5.5"
45description = "Code coverage measurement for Python" 45description = "Code coverage measurement for Python"
46category = "dev" 46category = "main"
47optional = false 47optional = false
48python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" 48python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
49 49
@@ -63,9 +63,9 @@ setuptools_scm = "*"
63 63
64[[package]] 64[[package]]
65name = "flake8" 65name = "flake8"
66version = "3.9.0" 66version = "3.9.2"
67description = "the modular source code checker: pep8 pyflakes and co" 67description = "the modular source code checker: pep8 pyflakes and co"
68category = "dev" 68category = "main"
69optional = false 69optional = false
70python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" 70python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
71 71
@@ -86,6 +86,32 @@ python-versions = "*"
86flake8 = "*" 86flake8 = "*"
87 87
88[[package]] 88[[package]]
89name = "halo"
90version = "0.0.31"
91description = "Beautiful terminal spinners in Python"
92category = "main"
93optional = false
94python-versions = ">=3.4"
95
96[package.dependencies]
97colorama = ">=0.3.9"
98log-symbols = ">=0.0.14"
99six = ">=1.12.0"
100spinners = ">=0.0.24"
101termcolor = ">=1.1.0"
102
103[package.extras]
104ipython = ["IPython (==5.7.0)", "ipywidgets (==7.1.0)"]
105
106[[package]]
107name = "hid"
108version = "1.0.4"
109description = "ctypes bindings for hidapi"
110category = "main"
111optional = false
112python-versions = "*"
113
114[[package]]
89name = "hjson" 115name = "hjson"
90version = "3.0.2" 116version = "3.0.2"
91description = "Hjson, a user interface for JSON." 117description = "Hjson, a user interface for JSON."
@@ -111,16 +137,27 @@ format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors
111format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"] 137format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
112 138
113[[package]] 139[[package]]
140name = "log-symbols"
141version = "0.0.14"
142description = "Colored symbols for various log levels for Python"
143category = "main"
144optional = false
145python-versions = "*"
146
147[package.dependencies]
148colorama = ">=0.3.9"
149
150[[package]]
114name = "mccabe" 151name = "mccabe"
115version = "0.6.1" 152version = "0.6.1"
116description = "McCabe checker, plugin for flake8" 153description = "McCabe checker, plugin for flake8"
117category = "dev" 154category = "main"
118optional = false 155optional = false
119python-versions = "*" 156python-versions = "*"
120 157
121[[package]] 158[[package]]
122name = "milc" 159name = "milc"
123version = "1.3.0" 160version = "1.4.2"
124description = "Opinionated Batteries-Included Python 3 CLI Framework." 161description = "Opinionated Batteries-Included Python 3 CLI Framework."
125category = "main" 162category = "main"
126optional = false 163optional = false
@@ -130,12 +167,14 @@ python-versions = "*"
130appdirs = "*" 167appdirs = "*"
131argcomplete = "*" 168argcomplete = "*"
132colorama = "*" 169colorama = "*"
170halo = "*"
171spinners = "*"
133 172
134[[package]] 173[[package]]
135name = "nose2" 174name = "nose2"
136version = "0.10.0" 175version = "0.10.0"
137description = "unittest2 with plugins, the succesor to nose" 176description = "unittest2 with plugins, the succesor to nose"
138category = "dev" 177category = "main"
139optional = false 178optional = false
140python-versions = "*" 179python-versions = "*"
141 180
@@ -162,7 +201,7 @@ flake8-polyfill = ">=1.0.2,<2"
162name = "pycodestyle" 201name = "pycodestyle"
163version = "2.7.0" 202version = "2.7.0"
164description = "Python style guide checker" 203description = "Python style guide checker"
165category = "dev" 204category = "main"
166optional = false 205optional = false
167python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 206python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
168 207
@@ -170,13 +209,13 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
170name = "pyflakes" 209name = "pyflakes"
171version = "2.3.1" 210version = "2.3.1"
172description = "passive checker of Python programs" 211description = "passive checker of Python programs"
173category = "dev" 212category = "main"
174optional = false 213optional = false
175python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 214python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
176 215
177[[package]] 216[[package]]
178name = "pygments" 217name = "pygments"
179version = "2.8.1" 218version = "2.9.0"
180description = "Pygments is a syntax highlighting package written in Python." 219description = "Pygments is a syntax highlighting package written in Python."
181category = "main" 220category = "main"
182optional = false 221optional = false
@@ -191,6 +230,34 @@ optional = false
191python-versions = ">=3.5" 230python-versions = ">=3.5"
192 231
193[[package]] 232[[package]]
233name = "pyusb"
234version = "1.1.1"
235description = "Python USB access module"
236category = "main"
237optional = false
238python-versions = "*"
239
240[[package]]
241name = "qmk"
242version = "0.0.51"
243description = "A program to help users work with QMK Firmware."
244category = "main"
245optional = false
246python-versions = ">=3.7"
247
248[package.dependencies]
249dotty-dict = "*"
250flake8 = "*"
251hid = "*"
252hjson = "*"
253jsonschema = ">=3"
254milc = ">=1.4.0"
255nose2 = "*"
256pygments = "*"
257pyusb = "*"
258yapf = "*"
259
260[[package]]
194name = "setuptools-scm" 261name = "setuptools-scm"
195version = "6.0.1" 262version = "6.0.1"
196description = "the blessed package to manage your versions by scm tags" 263description = "the blessed package to manage your versions by scm tags"
@@ -203,17 +270,25 @@ toml = ["toml"]
203 270
204[[package]] 271[[package]]
205name = "six" 272name = "six"
206version = "1.15.0" 273version = "1.16.0"
207description = "Python 2 and 3 compatibility utilities" 274description = "Python 2 and 3 compatibility utilities"
208category = "main" 275category = "main"
209optional = false 276optional = false
210python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" 277python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
211 278
212[[package]] 279[[package]]
213name = "wave" 280name = "spinners"
214version = "0.0.2" 281version = "0.0.24"
215description = "Whole Architecture Verification" 282description = "Spinners for terminals"
216category = "dev" 283category = "main"
284optional = false
285python-versions = "*"
286
287[[package]]
288name = "termcolor"
289version = "1.1.0"
290description = "ANSII Color formatting for output in terminal."
291category = "main"
217optional = false 292optional = false
218python-versions = "*" 293python-versions = "*"
219 294
@@ -221,14 +296,14 @@ python-versions = "*"
221name = "yapf" 296name = "yapf"
222version = "0.30.0" 297version = "0.30.0"
223description = "A formatter for Python code." 298description = "A formatter for Python code."
224category = "dev" 299category = "main"
225optional = false 300optional = false
226python-versions = "*" 301python-versions = "*"
227 302
228[metadata] 303[metadata]
229lock-version = "1.1" 304lock-version = "1.1"
230python-versions = "^3.8" 305python-versions = "^3.8"
231content-hash = "6adb87c61d9eacf55e4e80bc6c73325e4e4854a792e3881ff448b6ee1cb75091" 306content-hash = "5e181d51536240d08c74ba6a46bd0988ee4ca72ac3d5b388965ca8023e9b9a99"
232 307
233[metadata.files] 308[metadata.files]
234appdirs = [ 309appdirs = [
@@ -236,12 +311,12 @@ appdirs = [
236 {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, 311 {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
237] 312]
238argcomplete = [ 313argcomplete = [
239 {file = "argcomplete-1.12.2-py2.py3-none-any.whl", hash = "sha256:17f01a9b9b9ece3e6b07058eae737ad6e10de8b4e149105f84614783913aba71"}, 314 {file = "argcomplete-1.12.3-py2.py3-none-any.whl", hash = "sha256:291f0beca7fd49ce285d2f10e4c1c77e9460cf823eef2de54df0c0fec88b0d81"},
240 {file = "argcomplete-1.12.2.tar.gz", hash = "sha256:de0e1282330940d52ea92a80fea2e4b9e0da1932aaa570f84d268939d1897b04"}, 315 {file = "argcomplete-1.12.3.tar.gz", hash = "sha256:2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445"},
241] 316]
242attrs = [ 317attrs = [
243 {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"}, 318 {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"},
244 {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"}, 319 {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"},
245] 320]
246colorama = [ 321colorama = [
247 {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, 322 {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
@@ -305,13 +380,21 @@ dotty-dict = [
305 {file = "dotty_dict-1.3.0.tar.gz", hash = "sha256:eb0035a3629ecd84397a68f1f42f1e94abd1c34577a19cd3eacad331ee7cbaf0"}, 380 {file = "dotty_dict-1.3.0.tar.gz", hash = "sha256:eb0035a3629ecd84397a68f1f42f1e94abd1c34577a19cd3eacad331ee7cbaf0"},
306] 381]
307flake8 = [ 382flake8 = [
308 {file = "flake8-3.9.0-py2.py3-none-any.whl", hash = "sha256:12d05ab02614b6aee8df7c36b97d1a3b2372761222b19b58621355e82acddcff"}, 383 {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"},
309 {file = "flake8-3.9.0.tar.gz", hash = "sha256:78873e372b12b093da7b5e5ed302e8ad9e988b38b063b61ad937f26ca58fc5f0"}, 384 {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"},
310] 385]
311flake8-polyfill = [ 386flake8-polyfill = [
312 {file = "flake8-polyfill-1.0.2.tar.gz", hash = "sha256:e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda"}, 387 {file = "flake8-polyfill-1.0.2.tar.gz", hash = "sha256:e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda"},
313 {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"}, 388 {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"},
314] 389]
390halo = [
391 {file = "halo-0.0.31-py2-none-any.whl", hash = "sha256:5350488fb7d2aa7c31a1344120cee67a872901ce8858f60da7946cef96c208ab"},
392 {file = "halo-0.0.31.tar.gz", hash = "sha256:7b67a3521ee91d53b7152d4ee3452811e1d2a6321975137762eb3d70063cc9d6"},
393]
394hid = [
395 {file = "hid-1.0.4-py2-none-any.whl", hash = "sha256:fba9913f07030b01059b822b24c83b370ca3f444e9e6443bd662f9f1aa3f0780"},
396 {file = "hid-1.0.4.tar.gz", hash = "sha256:f61b0382f37a334bc8ba8604bc84b94875ee4f594fbbaf82b2c3b3e827883fc1"},
397]
315hjson = [ 398hjson = [
316 {file = "hjson-3.0.2-py3-none-any.whl", hash = "sha256:5546438bf4e1b52bc964c6a47c4ed10fa5fba8a1b264e22efa893e333baad2db"}, 399 {file = "hjson-3.0.2-py3-none-any.whl", hash = "sha256:5546438bf4e1b52bc964c6a47c4ed10fa5fba8a1b264e22efa893e333baad2db"},
317 {file = "hjson-3.0.2.tar.gz", hash = "sha256:2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5"}, 400 {file = "hjson-3.0.2.tar.gz", hash = "sha256:2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5"},
@@ -320,13 +403,17 @@ jsonschema = [
320 {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, 403 {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"},
321 {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, 404 {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"},
322] 405]
406log-symbols = [
407 {file = "log_symbols-0.0.14-py3-none-any.whl", hash = "sha256:4952106ff8b605ab7d5081dd2c7e6ca7374584eff7086f499c06edd1ce56dcca"},
408 {file = "log_symbols-0.0.14.tar.gz", hash = "sha256:cf0bbc6fe1a8e53f0d174a716bc625c4f87043cc21eb55dd8a740cfe22680556"},
409]
323mccabe = [ 410mccabe = [
324 {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, 411 {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
325 {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, 412 {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
326] 413]
327milc = [ 414milc = [
328 {file = "milc-1.3.0-py2.py3-none-any.whl", hash = "sha256:a4dd8ce77f1d4ac5e08311eecc6954c349d4032d7ed4e0335822e09740514f22"}, 415 {file = "milc-1.4.2-py2.py3-none-any.whl", hash = "sha256:65ee004caa769b1ee144b15be7908d1f623920ab6f356e5c5c95be9457aa15d8"},
329 {file = "milc-1.3.0.tar.gz", hash = "sha256:a9d0299aaaef7a3f00010589c3c0d0669798467e397580620a68e9290b36cdda"}, 416 {file = "milc-1.4.2.tar.gz", hash = "sha256:c6b2f19e3196b00a0060f8c883533e356f2054a9f81692b7b97ccee0d01626fd"},
330] 417]
331nose2 = [ 418nose2 = [
332 {file = "nose2-0.10.0-py2.py3-none-any.whl", hash = "sha256:aa620e759f2c5018d9ba041340391913e282ecebd3c392027f1575847b093ec6"}, 419 {file = "nose2-0.10.0-py2.py3-none-any.whl", hash = "sha256:aa620e759f2c5018d9ba041340391913e282ecebd3c392027f1575847b093ec6"},
@@ -345,23 +432,34 @@ pyflakes = [
345 {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, 432 {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"},
346] 433]
347pygments = [ 434pygments = [
348 {file = "Pygments-2.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"}, 435 {file = "Pygments-2.9.0-py3-none-any.whl", hash = "sha256:d66e804411278594d764fc69ec36ec13d9ae9147193a1740cd34d272ca383b8e"},
349 {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"}, 436 {file = "Pygments-2.9.0.tar.gz", hash = "sha256:a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"},
350] 437]
351pyrsistent = [ 438pyrsistent = [
352 {file = "pyrsistent-0.17.3.tar.gz", hash = "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e"}, 439 {file = "pyrsistent-0.17.3.tar.gz", hash = "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e"},
353] 440]
441pyusb = [
442 {file = "pyusb-1.1.1-py3-none-any.whl", hash = "sha256:f18eb813d3a1439918071234589162c2f209a19adbeffeb1377ce078a4aebc70"},
443 {file = "pyusb-1.1.1.tar.gz", hash = "sha256:7d449ad916ce58aff60b89aae0b65ac130f289c24d6a5b7b317742eccffafc38"},
444]
445qmk = [
446 {file = "qmk-0.0.51-py2.py3-none-any.whl", hash = "sha256:5f676f389b2450b0956d7eb8e7e378d2e6690d5859a887c91876da0a5faf75ed"},
447 {file = "qmk-0.0.51.tar.gz", hash = "sha256:efeef209cde1df92b9823db686d9684962cd00aae9f45ba5e3d494aa5b3c6b9a"},
448]
354setuptools-scm = [ 449setuptools-scm = [
355 {file = "setuptools_scm-6.0.1-py3-none-any.whl", hash = "sha256:c3bd5f701c8def44a5c0bfe8d407bef3f80342217ef3492b951f3777bd2d915c"}, 450 {file = "setuptools_scm-6.0.1-py3-none-any.whl", hash = "sha256:c3bd5f701c8def44a5c0bfe8d407bef3f80342217ef3492b951f3777bd2d915c"},
356 {file = "setuptools_scm-6.0.1.tar.gz", hash = "sha256:d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92"}, 451 {file = "setuptools_scm-6.0.1.tar.gz", hash = "sha256:d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92"},
357] 452]
358six = [ 453six = [
359 {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, 454 {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
360 {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, 455 {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
456]
457spinners = [
458 {file = "spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98"},
459 {file = "spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f"},
361] 460]
362wave = [ 461termcolor = [
363 {file = "Wave-0.0.2.tar.gz", hash = "sha256:5a895bb85e04e38c82dba90d66a5ae8f488b50c58f3fc4df868a5bcdcabb8632"}, 462 {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"},
364 {file = "Wave-0.0.2.zip", hash = "sha256:5187f49497287d218cc83d4cd1e5299dc31485ab3ed32abbaa9e95d8f73c4095"},
365] 463]
366yapf = [ 464yapf = [
367 {file = "yapf-0.30.0-py2.py3-none-any.whl", hash = "sha256:3abf61ba67cf603069710d30acbc88cfe565d907e16ad81429ae90ce9651e0c9"}, 465 {file = "yapf-0.30.0-py2.py3-none-any.whl", hash = "sha256:3abf61ba67cf603069710d30acbc88cfe565d907e16ad81429ae90ce9651e0c9"},
diff --git a/nix/pyproject.toml b/nix/pyproject.toml
index 62d49fad5..a81336189 100644
--- a/nix/pyproject.toml
+++ b/nix/pyproject.toml
@@ -2,7 +2,7 @@
2# It is particularly required by the Nix environment (see shell.nix). To update versions, 2# It is particularly required by the Nix environment (see shell.nix). To update versions,
3# normally one would run "poetry update --lock" 3# normally one would run "poetry update --lock"
4[tool.poetry] 4[tool.poetry]
5name = "qmk" 5name = "qmk_firmware"
6version = "0.1.0" 6version = "0.1.0"
7description = "" 7description = ""
8authors = [] 8authors = []
@@ -12,18 +12,20 @@ python = "^3.8"
12appdirs = "^1.4.4" 12appdirs = "^1.4.4"
13argcomplete = "^1.12.2" 13argcomplete = "^1.12.2"
14colorama = "^0.4.4" 14colorama = "^0.4.4"
15hjson = "^3.0.2"
16milc = "^1.1.0"
17Pygments = "^2.8.0"
18dotty-dict = "^1.3.0" 15dotty-dict = "^1.3.0"
16hjson = "^3.0.2"
19jsonschema = "^3.2.0" 17jsonschema = "^3.2.0"
18milc = "^1.3.0"
19Pygments = "^2.8.0"
20qmk = "*"
20 21
21[tool.poetry.dev-dependencies] 22[tool.poetry.dev-dependencies]
22nose2 = "^0.10.0" 23nose2 = "^0.10.0"
23flake8 = "^3.8.4" 24flake8 = "^3.8.4"
25hid = "^1.0.4"
24pep8-naming = "^0.11.1" 26pep8-naming = "^0.11.1"
27pyusb = "^1.1.1"
25yapf = "^0.30.0" 28yapf = "^0.30.0"
26Wave = "^0.0.2"
27 29
28[build-system] 30[build-system]
29requires = ["poetry-core>=1.0.0"] 31requires = ["poetry-core>=1.0.0"]
diff --git a/nix/sources.json b/nix/sources.json
index 7afca3707..caf5cb7d2 100644
--- a/nix/sources.json
+++ b/nix/sources.json
@@ -22,5 +22,17 @@
22 "type": "tarball", 22 "type": "tarball",
23 "url": "https://github.com/NixOS/nixpkgs/archive/c0e881852006b132236cbf0301bd1939bb50867e.tar.gz", 23 "url": "https://github.com/NixOS/nixpkgs/archive/c0e881852006b132236cbf0301bd1939bb50867e.tar.gz",
24 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" 24 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
25 },
26 "poetry2nix": {
27 "branch": "master",
28 "description": "Convert poetry projects to nix automagically [maintainer=@adisbladis] ",
29 "homepage": "",
30 "owner": "nix-community",
31 "repo": "poetry2nix",
32 "rev": "2d27d44397242b28c3f0081e0432e4f6c951f3a1",
33 "sha256": "06syfg150r59m4kksj5547b5kwxjxjaif5hiljcq966kb9hxsvmv",
34 "type": "tarball",
35 "url": "https://github.com/nix-community/poetry2nix/archive/2d27d44397242b28c3f0081e0432e4f6c951f3a1.tar.gz",
36 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
25 } 37 }
26} 38}
diff --git a/shell.nix b/shell.nix
index e82436ae1..a04e251b5 100644
--- a/shell.nix
+++ b/shell.nix
@@ -1,14 +1,16 @@
1{ avr ? true, arm ? true, teensy ? true }: 1{ avr ? true, arm ? true, teensy ? true }:
2let 2let
3 # We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example. 3 # We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example.
4 sources = import ./nix/sources.nix {}; 4 sources = import ./nix/sources.nix { };
5 pkgs = import sources.nixpkgs {}; 5 pkgs = import sources.nixpkgs { };
6
7 poetry2nix = pkgs.callPackage (import sources.poetry2nix) { };
6 8
7 # Builds the python env based on nix/pyproject.toml and 9 # Builds the python env based on nix/pyproject.toml and
8 # nix/poetry.lock Use the "poetry update --lock", "poetry add 10 # nix/poetry.lock Use the "poetry update --lock", "poetry add
9 # --lock" etc. in the nix folder to adjust the contents of those 11 # --lock" etc. in the nix folder to adjust the contents of those
10 # files if the requirements*.txt files change 12 # files if the requirements*.txt files change
11 pythonEnv = pkgs.poetry2nix.mkPoetryEnv { 13 pythonEnv = poetry2nix.mkPoetryEnv {
12 projectDir = ./nix; 14 projectDir = ./nix;
13 }; 15 };
14in 16in