diff --git a/flake.lock b/flake.lock index 949c289..109b1f7 100755 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "dart": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1756785063, + "narHash": "sha256-1FFTyq3/evKrFi/0U/e5b93BxyYm5gcv7Hr3H9hd/HU=", + "path": "/home/e/dev/dart.nvim", + "type": "path" + }, + "original": { + "path": "/home/e/dev/dart.nvim", + "type": "path" + } + }, "deploy-rs": { "inputs": { "flake-compat": "flake-compat", @@ -9,10 +25,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1749105467, + "lastModified": 1756719547, + "narHash": "sha256-N9gBKUmjwRKPxAafXEk1EGadfk2qDZPBQp4vXWPHINQ=", "owner": "serokell", "repo": "deploy-rs", - "rev": "6bc76b872374845ba9d645a2f012b764fecd765f", + "rev": "125ae9e3ecf62fb2c0fd4f2d894eb971f1ecaed2", "type": "github" }, "original": { @@ -34,12 +51,12 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1753068796, - "narHash": "sha256-jq04XAgT5Rci907wxd69trNwZixpnBLz5tH02h6JcoA=", - "rev": "9919bed0779086df2ce22a77f9406b7a347e340d", - "revCount": 261, + "lastModified": 1757033802, + "narHash": "sha256-BLUHtWWoHFR6UJJJwkmivSv7RTjo92wlT0Y7kbCd2MY=", + "rev": "e154f8433851f8f2509490f33680e3285d553df4", + "revCount": 301, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.8.4/01982b0e-46ed-709c-973b-7096ceb2a596/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.11.1/01991762-b4e5-7a3b-8bfc-5d0f1ed4965e/source.tar.gz" }, "original": { "type": "tarball", @@ -49,37 +66,37 @@ "determinate-nixd-aarch64-darwin": { "flake": false, "locked": { - "narHash": "sha256-tEhYb3OWFIPFvWa/orkyBMvS2joRRrqKHpK2cSd20hU=", + "narHash": "sha256-Dym4kTLMTxAxNyZcrHRKRVMBINQPA7qgr+7dHozNrps=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.4/macOS" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/macOS" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.4/macOS" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/macOS" } }, "determinate-nixd-aarch64-linux": { "flake": false, "locked": { - "narHash": "sha256-BGDnwwbo30fdSAv26G2MFYKx2+qIQ8G40+muwKH9SPM=", + "narHash": "sha256-eYVSpk+ly2YRSYvgT47ABmFRwG0DliNO/8ntBkoRmjI=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.4/aarch64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/aarch64-linux" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.4/aarch64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/aarch64-linux" } }, "determinate-nixd-x86_64-linux": { "flake": false, "locked": { - "narHash": "sha256-P4EJCgSsapE5tggKXiLUeS56PNciGLgonWAm7F1xf6E=", + "narHash": "sha256-ZvRoKG/v0WS2XrDgkV+/hq3ARGokGisyelncKwlefvk=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.4/x86_64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/x86_64-linux" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.8.4/x86_64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/x86_64-linux" } }, "flake-compat": { @@ -133,11 +150,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -181,11 +198,11 @@ "flake-compat_7": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -197,11 +214,11 @@ "flake-compat_8": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -239,11 +256,11 @@ ] }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -261,11 +278,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -300,11 +317,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -323,11 +340,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -341,6 +358,42 @@ }, "locked": { "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", @@ -363,10 +416,11 @@ ] }, "locked": { - "lastModified": 1724097937, + "lastModified": 1755304025, + "narHash": "sha256-xVKfjFwc0zMbLMjLTiHz+0llggkjs93SmHkhaa9S3M4=", "owner": "mrcjkb", "repo": "nix-gen-luarc-json", - "rev": "b36b69c4ded9f31b079523bc452e23458734cf00", + "rev": "1865b0ebb753ae5324d7381b1fa8c98c04ec7509", "type": "github" }, "original": { @@ -385,11 +439,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "type": "github" }, "original": { @@ -460,11 +514,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1755960406, + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", "type": "github" }, "original": { @@ -571,11 +625,11 @@ ] }, "locked": { - "lastModified": 1752595130, - "narHash": "sha256-CNBgr4OZSuklGtNOa9CnTNo9+Xceqn/EDAC1Tc43fH8=", + "lastModified": 1755233722, + "narHash": "sha256-AavrbMltJKcC2Fx0lfJoZfmy7g87ebXU0ddVenhajLA=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "5f2e09654b2e70ba643e41609d9f9b6640f22113", + "rev": "99e03e72e3f7e13506f80ef9ebaedccb929d84d0", "type": "github" }, "original": { @@ -594,11 +648,11 @@ ] }, "locked": { - "lastModified": 1752595130, - "narHash": "sha256-CNBgr4OZSuklGtNOa9CnTNo9+Xceqn/EDAC1Tc43fH8=", + "lastModified": 1755233722, + "narHash": "sha256-AavrbMltJKcC2Fx0lfJoZfmy7g87ebXU0ddVenhajLA=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "5f2e09654b2e70ba643e41609d9f9b6640f22113", + "rev": "99e03e72e3f7e13506f80ef9ebaedccb929d84d0", "type": "github" }, "original": { @@ -614,10 +668,11 @@ ] }, "locked": { - "lastModified": 1753617834, + "lastModified": 1757529548, + "narHash": "sha256-If5AT3dPXH0BM+q+pwyZvtWLTmlqJmGW6IDZ2MqlGRU=", "owner": "nix-community", "repo": "home-manager", - "rev": "72cc1e3134a35005006f06640724319caa424737", + "rev": "e0154ae41614e32a443c43ee51eee9eed3ad9a48", "type": "github" }, "original": { @@ -627,6 +682,28 @@ "type": "github" } }, + "jj": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1757497639, + "narHash": "sha256-VPauACTdeoMi8DyyRbSBSbaWOmHuAl7D1jv49DC/Shk=", + "owner": "jj-vcs", + "repo": "jj", + "rev": "5f6f938a243385071ca2b22cf66b86f55efdcf43", + "type": "github" + }, + "original": { + "owner": "jj-vcs", + "repo": "jj", + "type": "github" + } + }, "luvit-meta": { "flake": false, "locked": { @@ -654,10 +731,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1753637925, + "lastModified": 1757549103, + "narHash": "sha256-g9yeQvHbdZhudGCm8tpLACcRIm+mGG6kqqwzCI1y4eY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "06556188ee8c7ddfbe7b39d652cf409d0f912705", + "rev": "c6159f587252f3269c462d25db23b3432f53c410", "type": "github" }, "original": { @@ -673,14 +751,15 @@ "git-hooks": "git-hooks_3", "hercules-ci-effects": "hercules-ci-effects_2", "neovim-src": "neovim-src_2", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1753116172, + "lastModified": 1756771594, + "narHash": "sha256-Ln3i7qWzBThCgsetcPgotG1TK7TCZPzPudwKzGKtmPc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e63079523e06e0b7d8d766d40573409d2c5ecc9d", + "rev": "68c0096bd5d0ff8b9c436cf5338f1fb24957d980", "type": "github" }, "original": { @@ -692,11 +771,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1753559931, - "narHash": "sha256-QIsckK2f4A1PG8hF3TboXYWrYEv3DtVtz+tTFs9V00w=", + "lastModified": 1757544943, + "narHash": "sha256-zcbqe73qpBAW6jHqObRXXXInVHf80EST3DbX1w3iBHg=", "owner": "neovim", "repo": "neovim", - "rev": "b4ba27c238ec342bcb01fa59ab1eaf6996a4c6ee", + "rev": "9076fdc1238c4d9720efa89c72b44154be729a2c", "type": "github" }, "original": { @@ -708,11 +787,11 @@ "neovim-src_2": { "flake": false, "locked": { - "lastModified": 1753055671, - "narHash": "sha256-VHCJ/E+3iI5pH20rW+aqq830erPrAzTfOT8Wndax2pI=", + "lastModified": 1756770793, + "narHash": "sha256-qlgoWy70c9Qcr/jpru16XwSQlkq0tFbFOZcyfmQRPu4=", "owner": "neovim", "repo": "neovim", - "rev": "8ee82da3cfd228d50816aeb5f5db22175f5a4ede", + "rev": "4f374bf938283b2d8c842bddb4583337aba0555d", "type": "github" }, "original": { @@ -728,10 +807,11 @@ ] }, "locked": { - "lastModified": 1753546142, + "lastModified": 1757505144, + "narHash": "sha256-ZYlFuJO0gOeWGgClBfAI7quhfmpksQspoOp66gEhdPc=", "owner": "nix-community", "repo": "nh", - "rev": "d9a869acec8dd35efa658234c158e6fc82e7064a", + "rev": "a7d8a3ff279d52236632f8fab33017f74cc3a9dd", "type": "github" }, "original": { @@ -749,12 +829,12 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1753066555, - "narHash": "sha256-/WmweOcc4DfQPfGkNxllsuEVgTwX3RVROOy3e/mAvr0=", - "rev": "47281531ec83e22a1bb0249db5a6e4d0d854f0a5", - "revCount": 21541, + "lastModified": 1757029043, + "narHash": "sha256-/XtKs/hpYXJPeT3WppFVFZH1WvPDmeTt11hMWt/Bwas=", + "rev": "7143558a0989008c8e08cc27c3cb6a031f30b356", + "revCount": 22309, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.8.4/01982aff-6f3f-7bcc-85c8-b0d4e0cb35d8/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.11.1/01991737-661d-7932-b7c9-d3a0499b4c3f/source.tar.gz" }, "original": { "type": "tarball", @@ -768,10 +848,11 @@ ] }, "locked": { - "lastModified": 1753589988, + "lastModified": 1757218147, + "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf", + "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", "type": "github" }, "original": { @@ -782,10 +863,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1753122741, + "lastModified": 1757103352, + "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", "type": "github" }, "original": { @@ -796,16 +878,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747179050, - "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", - "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", - "revCount": 799423, + "lastModified": 1755922037, + "narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=", + "rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c", + "revCount": 808723, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.799423%2Brev-adaa24fbf46737f3f1b5497bf64bae750f82942e/0196d1c3-1974-7bf1-bcf6-06620ac40c8c/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.808723%2Brev-b1b3291469652d5a2edb0becc4ef0246fff97a7c/0198daf7-011a-7703-95d7-57146e794342/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nixpkgs/%3D0.1.799423" + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505" } }, "nixpkgs-23-11": { @@ -870,12 +952,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1752077645, - "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", - "rev": "be9e214982e20b8310878ac2baa063a961c1bdf6", - "revCount": 827262, + "lastModified": 1756696532, + "narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=", + "rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f", + "revCount": 854745, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.827262%2Brev-be9e214982e20b8310878ac2baa063a961c1bdf6/01980c9a-3044-72c0-b718-a99e9076d3d6/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.854745%2Brev-58dcbf1ec551914c3756c267b8b9c8c86baa1b2f/019908ed-e731-796e-b7c5-ea173f5d3b8d/source.tar.gz" }, "original": { "type": "tarball", @@ -884,11 +966,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1753432016, - "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", + "lastModified": 1757034884, + "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", + "rev": "ca77296380960cd497a765102eeb1356eb80fed0", "type": "github" }, "original": { @@ -900,10 +982,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1753429684, + "lastModified": 1757347588, + "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "b599843bad24621dcaa5ab60dac98f9b0eb1cabe", "type": "github" }, "original": { @@ -915,11 +998,26 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1752900028, - "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", + "lastModified": 1755660401, "owner": "NixOS", "repo": "nixpkgs", - "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", + "rev": "5788de501b965d7413f2beaac10aeeb56f9a19a8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1756696532, + "narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f", "type": "github" }, "original": { @@ -929,25 +1027,74 @@ "type": "github" } }, - "nvim": { - "inputs": { - "flake-utils": "flake-utils", - "gen-luarc": "gen-luarc", - "neovim-nightly-overlay": "neovim-nightly-overlay_2", - "nixpkgs": [ - "nixpkgs" - ] - }, + "nixpkgs_7": { "locked": { - "lastModified": 1753255826, - "owner": "iofq", - "repo": "nvim.nix", - "rev": "d7ae87e67182f5fdd00cc08b61efa3436abf9a7b", + "lastModified": 1756785263, + "narHash": "sha256-EPOPPfDnxKZna6Qt1Pl2OsECN8SMLVw7QKeRntWJUa4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "10bee29e15dab2dd3f406aebbdf79ea4af52ceeb", "type": "github" }, "original": { - "owner": "iofq", - "repo": "nvim.nix", + "owner": "NixOS", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "nvim": { + "inputs": { + "dart": "dart", + "flake-utils": "flake-utils_3", + "gen-luarc": "gen-luarc", + "neovim-nightly-overlay": "neovim-nightly-overlay_2", + "nixpkgs": "nixpkgs_7", + "nvim-treesitter": "nvim-treesitter", + "nvim-treesitter-textobjects": "nvim-treesitter-textobjects" + }, + "locked": { + "lastModified": 1756787950, + "narHash": "sha256-QBC/2h8Da1yq3Cd9Erhgk7icwWouDcMAoBoDJVxB0sA=", + "path": "/home/e/dev/nvim.nix", + "type": "path" + }, + "original": { + "path": "/home/e/dev/nvim.nix", + "type": "path" + } + }, + "nvim-treesitter": { + "flake": false, + "locked": { + "lastModified": 1756620408, + "narHash": "sha256-UR9cj1pYXSZ5gYvY1tj+/8ZLsK2uzY2owxCOeqb08f4=", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter", + "rev": "802195d8f1980db25a7a39a55f9a25df21756c73", + "type": "github" + }, + "original": { + "owner": "nvim-treesitter", + "ref": "main", + "repo": "nvim-treesitter", + "type": "github" + } + }, + "nvim-treesitter-textobjects": { + "flake": false, + "locked": { + "lastModified": 1756368113, + "narHash": "sha256-+KmOpRi4JAqm6UqYdtk80jwFrJhLCs0lZM/Liofq0R4=", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-textobjects", + "rev": "1b2d85d3de6114c4bcea89ffb2cd1ce9e3a19931", + "type": "github" + }, + "original": { + "owner": "nvim-treesitter", + "ref": "main", + "repo": "nvim-treesitter-textobjects", "type": "github" } }, @@ -960,10 +1107,11 @@ ] }, "locked": { - "lastModified": 1750779888, + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "type": "github" }, "original": { @@ -977,6 +1125,7 @@ "deploy-rs": "deploy-rs", "determinate": "determinate", "home-manager": "home-manager", + "jj": "jj", "neovim-nightly-overlay": "neovim-nightly-overlay", "nh": "nh", "nix-index-database": "nix-index-database", @@ -985,10 +1134,31 @@ "nvim": "nvim", "pre-commit-hooks": "pre-commit-hooks", "sops-nix": "sops-nix", - "systems": "systems_3", + "systems": "systems_5", "treefmt-nix": "treefmt-nix_3" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "jj", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1755139244, + "narHash": "sha256-SN1BFA00m+siVAQiGLtTwjv9LV9TH5n8tQcSziV6Nv4=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "aeae248beb2a419e39d483dd9b7fec924aba8d4d", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -996,10 +1166,11 @@ ] }, "locked": { - "lastModified": 1752544651, + "lastModified": 1757503115, + "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2c8def626f54708a9c38a5861866660395bb3461", + "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", "type": "github" }, "original": { @@ -1041,6 +1212,37 @@ "systems_3": { "locked": { "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", "repo": "default", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", @@ -1059,11 +1261,11 @@ ] }, "locked": { - "lastModified": 1753439394, - "narHash": "sha256-Bv9h1AJegLI8uAhiJ1sZ4XAndYxhgf38tMgCQwiEpmc=", + "lastModified": 1756662192, + "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "2673921c03d6e75fdf4aa93e025772608d1482cf", + "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", "type": "github" }, "original": { @@ -1081,11 +1283,11 @@ ] }, "locked": { - "lastModified": 1753006367, - "narHash": "sha256-tzbhc4XttkyEhswByk5R38l+ztN9UDbnj0cTcP6Hp9A=", + "lastModified": 1756662192, + "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "421b56313c65a0815a52b424777f55acf0b56ddf", + "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", "type": "github" }, "original": { @@ -1101,10 +1303,11 @@ ] }, "locked": { - "lastModified": 1753439394, + "lastModified": 1756662192, + "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "2673921c03d6e75fdf4aa93e025772608d1482cf", + "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 5ed23af..8d24ce0 100755 --- a/flake.nix +++ b/flake.nix @@ -23,9 +23,11 @@ url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; + # nvim = { + # url = "github:iofq/nvim.nix"; + # }; nvim = { - url = "github:iofq/nvim.nix"; - inputs.nixpkgs.follows = "nixpkgs"; + url = "path:/home/e/dev/nvim.nix"; }; deploy-rs = { url = "github:serokell/deploy-rs"; @@ -35,65 +37,82 @@ url = "github:nix-community/nh"; inputs.nixpkgs.follows = "nixpkgs"; }; + jj = { + url = "github:jj-vcs/jj"; + inputs.nixpkgs.follows = "nixpkgs"; + }; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*"; }; - outputs = { - self, - nixpkgs, - systems, - ... - } @ inputs: let - attrs = { - username = "e"; - }; - system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - overlays = [ - inputs.neovim-nightly-overlay.overlays.default - inputs.nvim.overlays.default - inputs.nh.overlays.default - ]; - }; - eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); - treefmtEval = eachSystem (pkgs: inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix); - in { - nixosConfigurations = import ./nixos {inherit inputs pkgs attrs system;}; - homeConfigurations = import ./home-manager {inherit inputs pkgs attrs;}; - checks = { - pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { - src = inputs.self; - hooks = { - treefmt.enable = true; - treefmt.package = treefmtEval.${system}.config.build.wrapper; + outputs = + { + self, + nixpkgs, + systems, + ... + }@inputs: + let + attrs = { + username = "e"; + }; + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + overlays = [ + inputs.neovim-nightly-overlay.overlays.default + inputs.nvim.overlays.default + inputs.nh.overlays.default + (old: new: { + jujutsu = inputs.jj.packages.${system}.jujutsu; + }) + ]; + }; + eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); + treefmtEval = eachSystem (pkgs: inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix); + in + { + nixosConfigurations = import ./nixos { + inherit + inputs + pkgs + attrs + system + ; + }; + homeConfigurations = import ./home-manager { inherit inputs pkgs attrs; }; + checks = { + pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { + src = inputs.self; + hooks = { + treefmt.enable = true; + treefmt.package = treefmtEval.${system}.config.build.wrapper; + }; }; }; - }; - deploy.nodes = { - consensus = { - hostname = "consensus"; - sshUser = "root"; - remoteBuild = true; - profiles.system = { - user = "root"; - path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.consensus; + deploy.nodes = { + consensus = { + hostname = "consensus"; + sshUser = "e"; + remoteBuild = true; + profiles.system = { + user = "root"; + path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.consensus; + }; }; }; + formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); + devShells.${system}.default = pkgs.mkShell { + inherit (self.checks.pre-commit-check) shellHook; + buildInputs = [ + pkgs.home-manager + pkgs.git + pkgs.ssh-to-age + pkgs.sops + pkgs.age + pkgs.deploy-rs + treefmtEval.${system}.config.build.wrapper + ]; + }; }; - formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); - devShells.${system}.default = pkgs.mkShell { - inherit (self.checks.pre-commit-check) shellHook; - buildInputs = [ - pkgs.home-manager - pkgs.git - pkgs.ssh-to-age - pkgs.sops - pkgs.age - pkgs.deploy-rs - treefmtEval.${system}.config.build.wrapper - ]; - }; - }; } diff --git a/home-manager/shared/programs/shell/default.nix b/home-manager/shared/programs/shell/default.nix index 843ba75..53d1a9f 100755 --- a/home-manager/shared/programs/shell/default.nix +++ b/home-manager/shared/programs/shell/default.nix @@ -93,7 +93,7 @@ services.gpg-agent = { enable = true; enableSshSupport = true; - pinentry.package = pkgs.pinentry-curses; + pinentry.package = pkgs.pinentry-rofi; extraConfig = '' allow-loopback-pinentry ''; diff --git a/home-manager/shared/programs/shell/git.nix b/home-manager/shared/programs/shell/git.nix index 8269ba4..29c65be 100755 --- a/home-manager/shared/programs/shell/git.nix +++ b/home-manager/shared/programs/shell/git.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, config, ... }: { programs.git = { enable = true; @@ -77,6 +77,24 @@ git -C "$right" clean -q -df # remove untracked files '' ]; + diff-args = [ + "-c" + '' + set -eu + rm -f "$right/JJ-INSTRUCTIONS" + git -C "$left" init -q + git -C "$left" add -A + git -C "$left" commit -q -m baseline --allow-empty + mv "$left/.git" "$right" + git -C "$right" add --intent-to-add -A + (cd "$right"; nvim -c "lua vim.g.snacks_indent=false" -c "lua require('lazy').load({plugins = {'diffview.nvim'}})" -c DiffviewOpen) + git -C "$right" diff-index --quiet --cached HEAD && { echo "No changes done, aborting split."; exit 1; } + git -C "$right" commit -q -m split + git -C "$right" restore . # undo changes in modified files + git -C "$right" reset . # undo --intent-to-add + git -C "$right" clean -q -df # remove untracked files + '' + ]; }; snapshot = { max-new-file-size = "10MiB"; diff --git a/home-manager/shared/programs/shell/tmux.nix b/home-manager/shared/programs/shell/tmux.nix index 1cb9733..0a2eb12 100755 --- a/home-manager/shared/programs/shell/tmux.nix +++ b/home-manager/shared/programs/shell/tmux.nix @@ -1,6 +1,8 @@ -{config, ...}: { +{ config, pkgs, ... }: +{ programs.tmux = { enable = true; + terminal = "xterm-256color"; keyMode = "vi"; mouse = true; newSession = true; @@ -11,10 +13,13 @@ customPaneNavigationAndResize = true; extraConfig = '' bind-key -T copy-mode-vi 'v' send -X begin-selection - bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'xclip -sel clip -i' + bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel '${pkgs.wl-clipboard}/bin/wl-copy' set -g status-right "" - setw -g status-style 'bg=colour0 fg=colour7' + setw -g status-style 'bg=terminal fg=colour7' setw -g window-status-current-format '[#P:#W*] ' + set-option -g history-limit 50000 + bind-key C-a last-window + bind-key C-s run-shell 'export tmpfile=$(mktemp) && tmux capture-pane -pS -32768 > "$tmpfile" && tmux new-window "nvim $tmpfile"' ''; }; diff --git a/home-manager/shared/wayland/hyprland/default.nix b/home-manager/shared/wayland/hyprland/default.nix index ce1160f..28e7553 100644 --- a/home-manager/shared/wayland/hyprland/default.nix +++ b/home-manager/shared/wayland/hyprland/default.nix @@ -1,11 +1,12 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ wayland.windowManager.hyprland = { enable = true; systemd.enable = true; extraConfig = '' monitor=,preferred,auto,1 ''; - plugins = [pkgs.hyprlandPlugins.hyprexpo]; + plugins = [ pkgs.hyprlandPlugins.hyprexpo ]; settings = { "$mod" = "SUPER"; general = { @@ -49,6 +50,7 @@ accel_profile = "flat"; sensitivity = 0.4; touchpad = { + disable_while_typing = true; natural_scroll = true; tap_button_map = "lrm"; middle_button_emulation = false; @@ -68,65 +70,68 @@ "$mod ALT, j, resizeactive, 0 50" "$mod ALT, k, resizeactive, 0 -50" ]; - bind = - [ - "$mod, a, hyprexpo:expo, toggle" - "$mod, Return, exec, alacritty" - "$mod, x, killactive" - "$mod, f, fullscreen" - "$mod SHIFT, Escape, exit" - "$mod SHIFT, f, fullscreenstate, 0 3" - "$mod, Space, exec, ${pkgs.wofi}/bin/wofi --show run" - "$mod, Escape, exec, ${pkgs.wlogout}/bin/wlogout" - "$mod, t, togglefloating" - "$mod, g, togglegroup" - "$mod, b, exec, pkill -SIGUSR1 waybar" - "$mod, bracketleft, exec, grimshot --notify save area /tmp/scrot-$(date \"+%Y-%m-%d\"T\"%H:%M:%S\").png" - "$mod, bracketright, exec, grimshot --notify copy area" - "$mod SHIFT, q, exec, swaylock" - ",XF86MonBrightnessDown, exec, light -U 10" - ",XF86MonBrightnessUp, exec, light -A 10" - ",XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%" - ",XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%" - ",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle" + bind = [ + "$mod, a, hyprexpo:expo, toggle" + "$mod, Return, exec, alacritty" + "$mod, x, killactive" + "$mod, f, fullscreen" + "$mod SHIFT, Escape, exit" + "$mod SHIFT, f, fullscreenstate, 0 3" + "$mod, Space, exec, ${pkgs.wofi}/bin/wofi --show run" + "$mod, Escape, exec, ${pkgs.wlogout}/bin/wlogout" + "$mod, t, togglefloating" + "$mod, g, togglegroup" + "$mod, b, exec, pkill -SIGUSR1 waybar" + "$mod, bracketleft, exec, grimshot --notify save area /tmp/scrot-$(date \"+%Y-%m-%d\"T\"%H:%M:%S\").png" + "$mod, bracketright, exec, grimshot --notify copy area" + "$mod SHIFT, q, exec, swaylock" + ",XF86MonBrightnessDown, exec, light -U 10" + ",XF86MonBrightnessUp, exec, light -A 10" + ",XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%" + ",XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%" + ",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle" - ## Movement - "$mod, m, layoutmsg, swapwithmaster" - "$mod, e, layoutmsg, orientationnext" - "$mod, i, layoutmsg, addmaster" - "$mod, d, layoutmsg, removemaster" - "$mod, h, movefocus, l" - "$mod, l, movefocus, r" - "$mod, k, movefocus, u" - "$mod, j, movefocus, d" - "$mod, n, changegroupactive, f" - "$mod, p, changegroupactive, b" - "$mod SHIFT, h, movewindoworgroup, l" - "$mod SHIFT, l, movewindoworgroup, r" - "$mod SHIFT, k, movewindoworgroup, u" - "$mod SHIFT, j, movewindoworgroup, d" - "$mod, COMMA, focusmonitor, l" - "$mod, PERIOD, focusmonitor, r" - "$mod SHIFT, COMMA, movewindow, mon:l" - "$mod SHIFT, PERIOD, movewindow, mon:r" - "$mod, s, togglespecialworkspace" - ] - ++ ( - # workspaces - # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} - builtins.concatLists (builtins.genList ( - x: let - ws = let + ## Movement + "$mod, m, layoutmsg, swapwithmaster" + "$mod, e, layoutmsg, orientationnext" + "$mod, i, layoutmsg, addmaster" + "$mod, d, layoutmsg, removemaster" + "$mod, h, movefocus, l" + "$mod, l, movefocus, r" + "$mod, k, movefocus, u" + "$mod, j, movefocus, d" + "$mod, n, changegroupactive, f" + "$mod, p, changegroupactive, b" + "$mod SHIFT, h, movewindoworgroup, l" + "$mod SHIFT, l, movewindoworgroup, r" + "$mod SHIFT, k, movewindoworgroup, u" + "$mod SHIFT, j, movewindoworgroup, d" + "$mod, COMMA, focusmonitor, l" + "$mod, PERIOD, focusmonitor, r" + "$mod SHIFT, COMMA, movewindow, mon:l" + "$mod SHIFT, PERIOD, movewindow, mon:r" + "$mod, s, togglespecialworkspace" + ] + ++ ( + # workspaces + # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} + builtins.concatLists ( + builtins.genList ( + x: + let + ws = + let c = (x + 1) / 10; in - builtins.toString (x + 1 - (c * 10)); - in [ - "$mod, ${ws}, focusworkspaceoncurrentmonitor, ${toString (x + 1)}" - "$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" - ] - ) - 10) - ); + builtins.toString (x + 1 - (c * 10)); + in + [ + "$mod, ${ws}, focusworkspaceoncurrentmonitor, ${toString (x + 1)}" + "$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" + ] + ) 10 + ) + ); windowrulev2 = [ "workspace 9, class:^(Discord|discord)$" "workspace 9, class:^(Signal|signal)$" @@ -153,7 +158,7 @@ services.hyprpaper = { enable = true; settings = { - preload = ["/home/pape"]; + preload = [ "/home/pape" ]; wallpaper = ",/home/pape"; ipc = "off"; splash = false; diff --git a/home-manager/t14/home.nix b/home-manager/t14/home.nix index 36167e3..7f07a83 100755 --- a/home-manager/t14/home.nix +++ b/home-manager/t14/home.nix @@ -2,7 +2,8 @@ pkgs, lib, ... -}: { +}: +{ imports = [ ../shared/programs/default.nix ../shared/wayland/default.nix @@ -42,6 +43,7 @@ programs.librewolf.enable = true; programs.ssh = { enable = true; + enableDefaultConfig = false; matchBlocks = { "consensus" = { port = 2022; diff --git a/nixos/consensus/backups.nix b/nixos/consensus/backups.nix index d65e2dd..72c1f1e 100644 --- a/nixos/consensus/backups.nix +++ b/nixos/consensus/backups.nix @@ -1,10 +1,11 @@ -{config, ...}: { +{ config, ... }: +{ sops = { defaultSopsFile = ../../secrets/restic.yaml; secrets = { - "b2-immich/env" = {}; - "b2-immich/repo" = {}; - "b2-immich/password" = {}; + "b2-immich/env" = { }; + "b2-immich/repo" = { }; + "b2-immich/password" = { }; }; }; services.restic.backups = { @@ -15,7 +16,7 @@ passwordFile = config.sops.secrets."b2-immich/password".path; paths = [ - "/rice/immich" + "/srv/immich" ]; timerConfig = { OnCalendar = "06:00"; diff --git a/nixos/consensus/configuration.nix b/nixos/consensus/configuration.nix index a93edfb..c6c6532 100644 --- a/nixos/consensus/configuration.nix +++ b/nixos/consensus/configuration.nix @@ -3,14 +3,17 @@ pkgs, config, ... -}: { +}: +{ imports = [ ./hardware-configuration.nix ./backups.nix ]; sops = { secrets = { - "env" = {sopsFile = ../../secrets/cf-acme.yaml;}; + "env" = { + sopsFile = ../../secrets/cf-acme.yaml; + }; }; }; documentation = { @@ -55,7 +58,7 @@ }; openssh = { enable = true; - ports = [2022]; + ports = [ 2022 ]; settings = { PasswordAuthentication = false; PermitRootLogin = "prohibit-password"; @@ -81,19 +84,19 @@ ]; }; immich = { - # enable = true; enable = false; port = 2283; host = "localhost"; openFirewall = true; machine-learning.enable = true; - mediaLocation = "/rice/immich"; + mediaLocation = "/srv/immich"; }; nginx = { - enable = true; - virtualHosts."img.10110110.xyz" = { - useACMEHost = "10110110.xyz"; - forceSSL = true; + enable = false; + virtualHosts."img.consensus.tailc353f.ts.net" = { + # forceSSL = true; + # sslCertificate = "/etc/nginx/certs/consensus.tailc353f.ts.net.crt"; + # sslCertificateKey = "/etc/nginx/certs/consensus.tailc353f.ts.net.key"; locations."/" = { proxyPass = "http://localhost:${toString config.services.immich.port}"; proxyWebsockets = true; @@ -145,31 +148,33 @@ }; users.users = { root = { - openssh.authorizedKeys.keys = [''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM4Zr0PFN7QdOG2aJ+nuzRCK6caulrpY6bphA1Ppl8Y e@t14'']; + openssh.authorizedKeys.keys = [ + ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM4Zr0PFN7QdOG2aJ+nuzRCK6caulrpY6bphA1Ppl8Y e@t14'' + ]; }; e = { isNormalUser = true; - extraGroups = ["wheel"]; + extraGroups = [ "wheel" ]; home = "/home/e"; openssh.authorizedKeys.keys = [ ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM4Zr0PFN7QdOG2aJ+nuzRCK6caulrpY6bphA1Ppl8Y e@t14'' - ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAdo4PS8myKaKAdyIqSFj2VJ+oZ9DNRIp7PBz8IWKjjy'' + ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJou+k8HtIWdlztpWog7fVfJgxJnRIo7c5xVPUBhBxhi'' # phone ]; }; }; security.sudo-rs.wheelNeedsPassword = false; - security.acme = { - acceptTerms = true; - defaults.email = "acme@10110110.xyz"; - certs = { - "10110110.xyz" = { - domain = "*.10110110.xyz"; - group = config.services.nginx.group; - dnsProvider = "cloudflare"; - environmentFile = config.sops.secrets."env".path; - }; - }; - }; - nix.settings.trusted-users = ["e"]; + # security.acme = { + # acceptTerms = true; + # defaults.email = "acme@10110110.xyz"; + # certs = { + # "10110110.xyz" = { + # domain = "*.10110110.xyz"; + # group = config.services.nginx.group; + # dnsProvider = "cloudflare"; + # environmentFile = config.sops.secrets."env".path; + # }; + # }; + # }; + nix.settings.trusted-users = [ "e" ]; system.stateVersion = "23.11"; } diff --git a/nixos/consensus/hardware-configuration.nix b/nixos/consensus/hardware-configuration.nix index 5497d5f..20aabbb 100644 --- a/nixos/consensus/hardware-configuration.nix +++ b/nixos/consensus/hardware-configuration.nix @@ -2,11 +2,17 @@ lib, modulesPath, ... -}: { - imports = [(modulesPath + "/profiles/qemu-guest.nix")]; +}: +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; boot.loader.grub.device = "/dev/nvme0n1"; - boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"]; - boot.initrd.kernelModules = ["nvme"]; + boot.initrd.availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "xen_blkfront" + "vmw_pvscsi" + ]; + boot.initrd.kernelModules = [ "nvme" ]; fileSystems."/" = { device = "/dev/mapper/vg-root"; fsType = "btrfs"; @@ -15,5 +21,9 @@ device = "/dev/mapper/vg-var"; fsType = "btrfs"; }; + fileSystems."/srv" = { + device = "/dev/ext/srv"; + fsType = "ext4"; + }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } diff --git a/nixos/t14/backups.nix b/nixos/t14/backups.nix index d1f3182..82eed5c 100644 --- a/nixos/t14/backups.nix +++ b/nixos/t14/backups.nix @@ -1,11 +1,12 @@ -{config, ...}: { +{ config, ... }: +{ sops = { defaultSopsFile = ../../secrets/restic.yaml; age.keyFile = "/home/e/.config/sops/age/keys.txt"; secrets = { - "b2-home/env" = {}; - "b2-home/repo" = {}; - "b2-home/password" = {}; + "b2-home/env" = { }; + "b2-home/repo" = { }; + "b2-home/password" = { }; }; }; services.restic.backups = { @@ -21,6 +22,7 @@ "/home/e/.ssh" "/home/e/.librewolf" "/home/e/.runelite" + "/home/e/.local/share/PrismLauncher/instances" ]; timerConfig = { OnCalendar = "01:00"; diff --git a/nixos/t14/configuration.nix b/nixos/t14/configuration.nix index 8375f82..97b9761 100755 --- a/nixos/t14/configuration.nix +++ b/nixos/t14/configuration.nix @@ -2,10 +2,12 @@ pkgs, attrs, ... -}: let +}: +let # Horrid workaround for https://github.com/nix-community/home-manager/issues/1011 homeManagerSessionVars = "/etc/profiles/per-user/${attrs.username}/etc/profile.d/hm-session-vars.sh"; -in { +in +{ imports = [ ./hardware-configuration.nix ./backups.nix @@ -24,21 +26,24 @@ in { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; kernelPackages = pkgs.linuxPackages_latest; - blacklistedKernelModules = ["bluetooth"]; + blacklistedKernelModules = [ "bluetooth" ]; }; # Networking networking = { hostId = "1185c58e"; - nameservers = ["9.9.9.9" "1.1.1.1"]; + nameservers = [ + "9.9.9.9" + "1.1.1.1" + ]; networkmanager = { enable = true; dns = "systemd-resolved"; }; firewall = { enable = true; - allowedTCPPorts = [11111]; - allowedUDPPorts = []; - trustedInterfaces = ["tailscale0"]; + allowedTCPPorts = [ 11111 ]; + allowedUDPPorts = [ ]; + trustedInterfaces = [ "tailscale0" ]; logRefusedConnections = true; }; }; @@ -50,11 +55,11 @@ in { }; }; - security.pam.services.swaylock = {}; + security.pam.services.swaylock = { }; xdg.portal = { enable = true; xdgOpenUsePortal = false; - extraPortals = [pkgs.xdg-desktop-portal-gtk]; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; programs = { light.enable = true; @@ -64,13 +69,16 @@ in { }; steam.enable = true; adb.enable = true; - fish.enable = true; #enable vendor completions + fish.enable = true; # enable vendor completions }; # workaround for wait-online killing nixos build systemd.services.NetworkManager-wait-online = { serviceConfig = { - ExecStart = ["" "${pkgs.networkmanager}/bin/nm-online -q"]; + ExecStart = [ + "" + "${pkgs.networkmanager}/bin/nm-online -q" + ]; }; }; @@ -128,7 +136,7 @@ in { enable = true; keyboards = { default = { - ids = ["*"]; + ids = [ "*" ]; settings = { main = { pause = "timeout(esc, 150, space)"; @@ -145,6 +153,7 @@ in { trezord.enable = true; udisks2.enable = true; # kindle + ollama.enable = true; }; fonts = { # Set a sane system-wide default font @@ -152,7 +161,7 @@ in { nerd-fonts.ubuntu-mono spleen ]; - fontconfig.defaultFonts.monospace = ["UbuntuMono"]; + fontconfig.defaultFonts.monospace = [ "UbuntuMono" ]; }; system.stateVersion = "22.11"; }