Things
All checks were successful
/ test (push) Successful in 18m47s

This commit is contained in:
Andrea Ciceri 2024-06-09 09:08:17 +02:00
parent f7302479b3
commit 9620ca8ca3
Signed by: aciceri
SSH key fingerprint: SHA256:/AagBweyV4Hlfg9u092n8hbHwD5fcB6A3qhDiDA65Rg
13 changed files with 546 additions and 209 deletions

418
flake.lock generated
View file

@ -21,17 +21,40 @@
"type": "github"
}
},
"arion": {
"inputs": {
"flake-parts": "flake-parts",
"haskell-flake": "haskell-flake",
"hercules-ci-effects": "hercules-ci-effects",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1717555938,
"narHash": "sha256-sVsJ48fKnIylxXbAIsdTJixkUxA8p2WvYRlyfo0KQos=",
"owner": "hercules-ci",
"repo": "arion",
"rev": "c24c185e67f093298a081900b49ca18716077dec",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "arion",
"type": "github"
}
},
"ccrEmacs": {
"inputs": {
"emacs-overlay": "emacs-overlay",
"extra-package-agenix-el": "extra-package-agenix-el",
"extra-package-combobulate": "extra-package-combobulate",
"extra-package-copilot": "extra-package-copilot",
"extra-package-gptel": "extra-package-gptel",
"extra-package-indent-bars": "extra-package-indent-bars",
"extra-package-meow-tree-sitter": "extra-package-meow-tree-sitter",
"extra-package-nix-ts-mode": "extra-package-nix-ts-mode",
"extra-package-notmuch-notify": "extra-package-notmuch-notify",
"flake-parts": "flake-parts",
"hercules-ci-effects": "hercules-ci-effects",
"flake-parts": "flake-parts_3",
"hercules-ci-effects": "hercules-ci-effects_2",
"nixpkgs": [
"ccrEmacs",
"emacs-overlay",
@ -39,11 +62,11 @@
]
},
"locked": {
"lastModified": 1717093617,
"narHash": "sha256-zpw6Ur5TqZYGYwBLOrte9iCrDVm5Pu4vGzKcUQEe9yA=",
"lastModified": 1717454527,
"narHash": "sha256-KGaaRoFqX1NqezntI9+UjXl5rxPAgo19yc0sShTaX44=",
"ref": "refs/heads/master",
"rev": "4995f3359120cc7dd03264d040a68077bc6923c2",
"revCount": 185,
"rev": "c31fac25cbff26580b5252cde7e96a5364c71b28",
"revCount": 187,
"type": "git",
"url": "https://git.aciceri.dev/aciceri/emacs.git"
},
@ -81,11 +104,11 @@
]
},
"locked": {
"lastModified": 1717032306,
"narHash": "sha256-s3Sis+M1qTSVIehHrEKBzHBpqprIFJli5V6WojkJnYE=",
"lastModified": 1717637172,
"narHash": "sha256-geTO9YL1V9zYGxupuZvKFWxh6II9sH2bjI1dmEVhVYQ=",
"owner": "nix-community",
"repo": "disko",
"rev": "8ea5bcccc03111bdedaeaae9380dfab61e9deb33",
"rev": "713aa3df481782719aed4d8c20ad31a9effe3564",
"type": "github"
},
"original": {
@ -96,16 +119,16 @@
},
"dream2nix": {
"inputs": {
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_5",
"purescript-overlay": "purescript-overlay",
"pyproject-nix": "pyproject-nix"
},
"locked": {
"lastModified": 1717007857,
"narHash": "sha256-t6xfbAYZThN0vfGCjc+LilP/ge3XGwcOv93Q/EUVtpk=",
"lastModified": 1717698889,
"narHash": "sha256-swGwCk6dYho//Dj/cwHRhRNmlA3AzDzvju9qQSKDD7E=",
"owner": "nix-community",
"repo": "dream2nix",
"rev": "d1b56f7a62f9a0719b24d385cbf1c424e56343dd",
"rev": "fe259847bc936ca53897313ee893847f5da1980c",
"type": "github"
},
"original": {
@ -117,7 +140,7 @@
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
@ -182,6 +205,22 @@
"type": "github"
}
},
"extra-package-gptel": {
"flake": false,
"locked": {
"lastModified": 1716768306,
"narHash": "sha256-7tgBSPZDxW0RDUqJpJn9849iS4yeQtchNPk7CSbblk0=",
"owner": "karthink",
"repo": "gptel",
"rev": "c0603cb973d160f3e450a0dec49dc5ae948f614c",
"type": "github"
},
"original": {
"owner": "karthink",
"repo": "gptel",
"type": "github"
}
},
"extra-package-indent-bars": {
"flake": false,
"locked": {
@ -198,6 +237,22 @@
"type": "github"
}
},
"extra-package-meow-tree-sitter": {
"flake": false,
"locked": {
"lastModified": 1717451530,
"narHash": "sha256-hke2CGOY8x43snrr6bDY+SnQjgRLSMcmWfA1oItXAeE=",
"owner": "skissue",
"repo": "meow-tree-sitter",
"rev": "c23a499abac797b64bc458f370237a1d6b140a2e",
"type": "github"
},
"original": {
"owner": "skissue",
"repo": "meow-tree-sitter",
"type": "github"
}
},
"extra-package-nix-ts-mode": {
"flake": false,
"locked": {
@ -264,6 +319,84 @@
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"arion",
"nixpkgs"
]
},
"locked": {
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_10": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_5"
},
"locked": {
"lastModified": 1714606777,
"narHash": "sha256-bMkNmAXLj8iyTvxaaD/StcLSadbj1chPcJOjtuVnLmA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4d34ce6412bc450b1d4208c953dc97c7fc764f1a",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_11": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_6"
},
"locked": {
"lastModified": 1678379998,
"narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c13d60b89adea3dc20704c045ec4d50dd964d447",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"arion",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
@ -281,7 +414,7 @@
"type": "github"
}
},
"flake-parts_2": {
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": [
"ccrEmacs",
@ -302,7 +435,7 @@
"type": "indirect"
}
},
"flake-parts_3": {
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"hercules-ci-agent",
@ -323,7 +456,7 @@
"type": "github"
}
},
"flake-parts_4": {
"flake-parts_6": {
"inputs": {
"nixpkgs-lib": [
"hercules-ci-effects",
@ -343,7 +476,7 @@
"type": "indirect"
}
},
"flake-parts_5": {
"flake-parts_7": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
@ -361,7 +494,7 @@
"type": "github"
}
},
"flake-parts_6": {
"flake-parts_8": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_4"
},
@ -379,7 +512,7 @@
"type": "github"
}
},
"flake-parts_7": {
"flake-parts_9": {
"inputs": {
"nixpkgs-lib": [
"nixThePlanet",
@ -400,42 +533,6 @@
"type": "indirect"
}
},
"flake-parts_8": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_5"
},
"locked": {
"lastModified": 1714606777,
"narHash": "sha256-bMkNmAXLj8iyTvxaaD/StcLSadbj1chPcJOjtuVnLmA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4d34ce6412bc450b1d4208c953dc97c7fc764f1a",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_9": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_6"
},
"locked": {
"lastModified": 1678379998,
"narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c13d60b89adea3dc20704c045ec4d50dd964d447",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-root": {
"locked": {
"lastModified": 1713493429,
@ -492,11 +589,11 @@
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1715865404,
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
@ -542,6 +639,22 @@
}
},
"haskell-flake": {
"locked": {
"lastModified": 1675296942,
"narHash": "sha256-u1X1sblozi5qYEcLp1hxcyo8FfDHnRUVX3dJ/tW19jY=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "c2cafce9d57bfca41794dc3b99c593155006c71e",
"type": "github"
},
"original": {
"owner": "srid",
"ref": "0.1.0",
"repo": "haskell-flake",
"type": "github"
}
},
"haskell-flake_2": {
"locked": {
"lastModified": 1684780604,
"narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=",
@ -559,9 +672,9 @@
},
"hercules-ci-agent": {
"inputs": {
"flake-parts": "flake-parts_3",
"haskell-flake": "haskell-flake",
"nixpkgs": "nixpkgs_5"
"flake-parts": "flake-parts_5",
"haskell-flake": "haskell-flake_2",
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1716205561,
@ -580,7 +693,10 @@
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_3"
"nixpkgs": [
"arion",
"nixpkgs"
]
},
"locked": {
"lastModified": 1713898448,
@ -599,7 +715,7 @@
"hercules-ci-effects_2": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_6"
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1713898448,
@ -617,8 +733,27 @@
},
"hercules-ci-effects_3": {
"inputs": {
"flake-parts": "flake-parts_7",
"nixpkgs": "nixpkgs_8"
"flake-parts": "flake-parts_6",
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1713898448,
"narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "c0302ec12d569532a6b6bd218f698bc402e93adc",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"hercules-ci-effects_4": {
"inputs": {
"flake-parts": "flake-parts_9",
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1701009247,
@ -683,11 +818,11 @@
]
},
"locked": {
"lastModified": 1717052710,
"narHash": "sha256-LRhOxzXmOza5SymhOgnEzA8EAQp+94kkeUYWKKpLJ/U=",
"lastModified": 1717525419,
"narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "29c69d9a466e41d46fd3a7a9d0591ef9c113c2ae",
"rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
"type": "github"
},
"original": {
@ -737,11 +872,11 @@
"lix": {
"flake": false,
"locked": {
"lastModified": 1717081103,
"narHash": "sha256-4hrY8lIK6boX0xe6LN+OFpsmOAITl0Iam17FC8Kjslk=",
"lastModified": 1717712512,
"narHash": "sha256-7FN+kCa3+nb3eLnbmw0Hp96zxzXkofb379OZxEA0pAE=",
"ref": "refs/heads/main",
"rev": "c161687b5fa6e7604e99ee5df2e73388952baafb",
"revCount": 15698,
"rev": "ec768df0046659e75974919f5923661a29ff52c9",
"revCount": 15735,
"type": "git",
"url": "https://git@git.lix.systems/lix-project/lix"
},
@ -762,11 +897,11 @@
]
},
"locked": {
"lastModified": 1717036776,
"narHash": "sha256-joKTxvywYlKspGGKOIXho6oRbggOPyayEqAyuZCavO0=",
"lastModified": 1717647344,
"narHash": "sha256-m8XYt8NU2T4gvkien7H7LFGXHhSA5z4tHOeuXQ3DJi4=",
"ref": "refs/heads/main",
"rev": "b4b38e6b5fe18da9464f291ae5fbf2ea9acb9ccb",
"revCount": 86,
"rev": "4e25f1ab68f2270f9cff59216056c21073db0164",
"revCount": 87,
"type": "git",
"url": "https://git.lix.systems/lix-project/nixos-module"
},
@ -793,7 +928,7 @@
},
"nix-fast-build": {
"inputs": {
"flake-parts": "flake-parts_5",
"flake-parts": "flake-parts_7",
"nixpkgs": [
"nixpkgsUnstable"
],
@ -840,7 +975,7 @@
"inputs": {
"home-manager": "home-manager_2",
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": "nixpkgs_7",
"nixpkgs": "nixpkgs_8",
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
@ -881,8 +1016,8 @@
},
"nixThePlanet": {
"inputs": {
"flake-parts": "flake-parts_6",
"hercules-ci-effects": "hercules-ci-effects_3",
"flake-parts": "flake-parts_8",
"hercules-ci-effects": "hercules-ci-effects_4",
"nixpkgs": [
"nixpkgsUnstable"
],
@ -905,16 +1040,16 @@
},
"nixd": {
"inputs": {
"flake-parts": "flake-parts_8",
"flake-parts": "flake-parts_10",
"flake-root": "flake-root",
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1716987714,
"narHash": "sha256-FglBDXCnvPihd3Uw1YNQKIcGasWPFwV26FrhMFfGc7o=",
"lastModified": 1717293270,
"narHash": "sha256-twDibXDWwmySk6C/hFUpeBewB5heSyCDDHWOAeRSp40=",
"owner": "nix-community",
"repo": "nixd",
"rev": "2d37fb2ce35e432d4b4a23f12d74ec7078eb32f4",
"rev": "be5ad5ec113595e2900e6391a08cf0e4784a9cfe",
"type": "github"
},
"original": {
@ -925,11 +1060,11 @@
},
"nixosHardware": {
"locked": {
"lastModified": 1716987116,
"narHash": "sha256-uuEkErFVsFdg2K0cKbNQ9JlFSAm/xYqPr4rbPLI91Y8=",
"lastModified": 1717574423,
"narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "8251761f93d6f5b91cee45ac09edb6e382641009",
"rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177",
"type": "github"
},
"original": {
@ -1022,14 +1157,14 @@
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1714640452,
"narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}
},
"nixpkgs-lib_3": {
@ -1116,11 +1251,11 @@
},
"nixpkgsStable": {
"locked": {
"lastModified": 1716633019,
"narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=",
"lastModified": 1717530100,
"narHash": "sha256-b4Dn+PnrZoVZ/BoR9JN2fTxXxplJrAsdSUIePf4Cacs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e",
"rev": "a2e1d0414259a144ebdc048408a807e69e0565af",
"type": "github"
},
"original": {
@ -1132,11 +1267,11 @@
},
"nixpkgsUnstable": {
"locked": {
"lastModified": 1716948383,
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
"lastModified": 1717602782,
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
"type": "github"
},
"original": {
@ -1163,6 +1298,22 @@
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1714562304,
"narHash": "sha256-Mr3U37Rh6tH0FbaDFu0aZDwk9mPAe7ASaqDOGgLqqLU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bcd44e224fd68ce7d269b4f44d24c2220fd821e7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1678470307,
"narHash": "sha256-OEeMUr3ueLIXyW/OaFUX5jUdimyQwMg/7e+/Q0gC/QE=",
@ -1179,6 +1330,22 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717196966,
"narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "57610d2f8f0937f39dbd72251e9614b1561942d8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
@ -1194,7 +1361,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1713714899,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
@ -1210,13 +1377,13 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1716914467,
"narHash": "sha256-KkT6YM/yNQqirtYj/frn6RRakliB8RDvGqVGGaNhdcU=",
"lastModified": 1717646450,
"narHash": "sha256-KE+UmfSVk5PG8jdKdclPVcMrUB8yVZHbsjo7ZT1Bm3c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4a3fc4cf736b7d2d288d7a8bf775ac8d4c0920b4",
"rev": "818dbe2f96df233d2041739d6079bb616d3e5597",
"type": "github"
},
"original": {
@ -1226,7 +1393,7 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_6": {
"locked": {
"lastModified": 1715534503,
"narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=",
@ -1242,7 +1409,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_7": {
"locked": {
"lastModified": 1713714899,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
@ -1258,7 +1425,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_8": {
"locked": {
"lastModified": 1708172716,
"narHash": "sha256-3M94oln0b61m3dUmLyECCA9hYAHXZEszM4saE3CmQO4=",
@ -1273,7 +1440,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1697723726,
"narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
@ -1289,22 +1456,6 @@
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1714562304,
"narHash": "sha256-Mr3U37Rh6tH0FbaDFu0aZDwk9mPAe7ASaqDOGgLqqLU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bcd44e224fd68ce7d269b4f44d24c2220fd821e7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nmd": {
"flake": false,
"locked": {
@ -1419,11 +1570,11 @@
]
},
"locked": {
"lastModified": 1716213921,
"narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"type": "github"
},
"original": {
@ -1474,9 +1625,9 @@
"rock5b": {
"inputs": {
"fan-control": "fan-control",
"flake-parts": "flake-parts_9",
"flake-parts": "flake-parts_11",
"kernel-src": "kernel-src",
"nixpkgs": "nixpkgs_10",
"nixpkgs": "nixpkgs_11",
"nixpkgs-kernel": "nixpkgs-kernel",
"panfork": "panfork",
"tow-boot": "tow-boot",
@ -1499,12 +1650,13 @@
"root": {
"inputs": {
"agenix": "agenix",
"arion": "arion",
"ccrEmacs": "ccrEmacs",
"disko": "disko",
"dream2nix": "dream2nix",
"flakeParts": "flakeParts",
"hercules-ci-agent": "hercules-ci-agent",
"hercules-ci-effects": "hercules-ci-effects_2",
"hercules-ci-effects": "hercules-ci-effects_3",
"homeManager": "homeManager",
"homeManagerGitWorkspace": "homeManagerGitWorkspace",
"lix": "lix",
@ -1674,11 +1826,11 @@
]
},
"locked": {
"lastModified": 1717078125,
"narHash": "sha256-V68CsekhPCF6Oz84t2FHY5jin4smKrmsS208Xw057zs=",
"lastModified": 1717278143,
"narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "52b66cade760e93276146eb057122b8011ab9057",
"rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706",
"type": "github"
},
"original": {

View file

@ -66,6 +66,7 @@
url = "github:NixOS/mobile-nixos";
flake = false;
};
arion.url = "github:hercules-ci/arion";
};
outputs = inputs @ {flakeParts, ...}:

View file

@ -26,8 +26,9 @@ in {
../waybar
../swayidle
../gammastep
../wezterm
# ../wezterm
../wayvnc
../swaync
../foot
];
@ -108,7 +109,7 @@ in {
windowrulev2 = float, title:^(floating)$
bind = $mod, b, exec, firefox
bind = $mod, t, exec, ${lib.getExe config.programs.wezterm.package}
bind = $mod, t, exec, foot
bind = $mod, RETURN, exec, emacsclient -c --eval "(ccr/start-eshell)"
bind = $mod, x, exec, emacsclient -c
bind = $mod SHIFT, n, exec, emacsclient --eval '(ccr/org-capture "n")' -c -F '((name . "floating"))'

View file

@ -0,0 +1,22 @@
{
pkgs,
lib,
...
}: {
home.packages = [pkgs.zmkBATx];
systemd.user.services.zmkBATx = {
Install.WantedBy = ["graphical-session.target"];
Unit = {
Description = "zmkBATx";
PartOf = ["graphical-session.target"];
};
Service = {
ExecStart = lib.getExe pkgs.zmkBATx;
Restart = "on-failure";
RestartSec = 3;
};
};
}

View file

@ -159,6 +159,7 @@
};
extraModules = with inputs; [
disko.nixosModules.disko
arion.nixosModules.arion
# lix-module.nixosModules.default
# inputs.hercules-ci-agent.nixosModules.agent-service;
# rock5b.nixosModules.default

View file

@ -32,6 +32,7 @@
"syncthing"
"mount-rock5b"
"adb"
"calibre"
]
++ [
./disko.nix

View file

@ -55,6 +55,7 @@
"helix"
"shell"
"element"
"zmkbatx"
"emacs"
"firefox"
"gpg"

View file

@ -28,6 +28,7 @@
# "matrix"
"forgejo"
# "jellyfin"
"immich"
]
++ [
./disko.nix

View file

@ -15,6 +15,7 @@
"matrix.aciceri.dev"
"syncv3.matrix.aciceri.dev"
"jellyfin.aciceri.dev"
"photos.aciceri.dev"
];
apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path;
};

View file

@ -4,8 +4,7 @@
...
}: {
virtualisation.podman.enable = true;
virtualisation.docker.enable = true;
users.users.${config.ccr.username}.extraGroups = ["docker"];
# virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
docker-compose
podman-compose

View file

@ -1,81 +1,221 @@
{
config,
fleetFlake,
pkgs,
lib,
...
}: let
typesenseApiKeyFile = pkgs.writeText "typesense-api-key" "12318551487654187654"; # api key not ime, stolen from upstram PR
pkgsImmich = fleetFlake.inputs.nixpkgsImmich.legacyPackages.${pkgs.system}.extend (final: prev: {
python = prev.python.override {
packageOverrides = final: prev: {
insightface = prev.insightface.overrideAttrs (_: {
pythonCatchConflictsPhase = "";
});
};
};
});
# { lib, pkgs, config, ... }:
# let
# immichRoot = "/mnt/hd/immich";
# immichData = "${immichRoot}/data";
# # immichVersion = "v1.105.1";
# immichVersion = "v1.105.1";
# sharedEnv = {
# # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# # The location where your uploaded files are stored
# UPLOAD_LOCATION="./library";
# DB_DATA_LOCATION="./postgres";
# IMMICH_VERSION=immichVersion;
# DB_PASSWORD="postgres";
# DB_USERNAME="postgres";
# DB_DATABASE_NAME="immich";
# DB_HOSTNAME="postgres";
# REDIS_HOSTNAME = "redis";
# };
# postgresRoot = "${immichRoot}/pgsql";
# machineLearning = "${immichRoot}/ml-cache";
# in {
# systemd.tmpfiles.rules = [
# "d ${immichRoot} 770 ccr wheel"
# "d ${immichData} 770 ccr wheel"
# "d ${postgresRoot} 770 ccr wheel"
# "d ${machineLearning} 770 ccr wheel"
# ];
# virtualisation.docker.enable = lib.mkForce false;
# virtualisation.podman.enable = lib.mkForce true;
# virtualisation.podman.dockerSocket.enable = lib.mkForce true;
# virtualisation.podman.defaultNetwork.settings.dns_enabled = lib.mkForce true;
# networking.firewall.interfaces."podman+".allowedUDPPorts = [53 5353];
# environment.systemPackages = [
# pkgs.arion
# ];
# virtualisation.arion = {
# backend = lib.mkForce "podman-socket";
# projects.immich = {
# serviceName = "immich";
# settings = {
# project.name = "immich";
# networks.default = {
# name = "immich";
# };
# services = {
# "server" = {
# service = {
# image = "ghcr.io/immich-app/immich-server:${immichVersion}";
# container_name = "server";
# command = ["start.sh" "immich"];
# environment = sharedEnv // {
# # NODE_ENV = "production";
# };
# ports = [
# "2283:3001"
# ];
# volumes = [
# "${immichData}:/usr/src/app/upload:rw"
# "/etc/localtime:/etc/localtime:ro"
# ];
# depends_on = ["redis" "postgres"];
# restart = "always";
# };
# };
# "microservices" = {
# service = {
# image = "ghcr.io/immich-app/immich-server:${immichVersion}";
# container_name = "microservices";
# command = ["start.sh" "microservices"];
# environment = sharedEnv;
# volumes = ["${immichData}:/usr/src/app/upload:rw"];
# depends_on = ["redis" "postgres"];
# restart = "always";
# };
# };
# "machine_learning" = {
# service = {
# image = "ghcr.io/immich-app/immich-machine-learning:${immichVersion}";
# container_name = "machine_learning";
# volumes = [
# "${machineLearning}:/cache"
# ];
# restart = "always";
# environment = sharedEnv // {
# # NODE_ENV = "production";
# };
# };
# };
# "redis" = {
# service = {
# image = "docker.io/redis:6.2-alpine";
# container_name = "redis";
# restart = "always";
# tmpfs = ["/data"];
# };
# };
# "postgres" = {
# service = {
# image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0";
# container_name = "postgres";
# volumes = [
# "${postgresRoot}:/var/lib/postgresql/data"
# ];
# restart = "always";
# environment = {
# POSTGRES_PASSWORD = sharedEnv.DB_PASSWORD;
# POSTGRES_USER = sharedEnv.DB_USERNAME;
# POSTGRES_DB = sharedEnv.DB_DATABASE_NAME;
# POSTGRES_INITDB_ARGS = "--data-checksums";
# };
# };
# };
# };
# };
# };
# };
# }
{config, ...}: let
immichHost = "immich.example.com"; # TODO: put your immich domain name here
immichRoot = "/mnt/hd/immich"; # TODO: Tweak these to your desired storage locations
immichPhotos = "${immichRoot}/photos";
immichAppdataRoot = "${immichRoot}/appdata";
immichVersion = "release";
# immichExternalVolume1 = "/tank/BackupData/Google Photos/someone@example.com"; # TODO: if external volumes are desired
postgresRoot = "${immichAppdataRoot}/pgsql";
postgresPassword = "immich"; # TODO: put a random password here
postgresUser = "immich";
postgresDb = "immich";
in {
imports = ["${fleetFlake.inputs.nixpkgsImmich}/nixos/modules/services/web-apps/immich.nix"];
# The primary source for this configuration is the recommended docker-compose installation of immich from
# https://immich.app/docs/install/docker-compose, which linkes to:
# - https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
# - https://github.com/immich-app/immich/releases/latest/download/example.env
# and has been transposed into nixos configuration here. Those upstream files should probably be checked
# for serious changes if there are any upgrade problems here.
#
# After initial deployment, these in-process configurations need to be done:
# - create an admin user by accessing the site
# - login with the admin user
# - set the "Machine Learning Settings" > "URL" to http://immich_machine_learning:3003
services.immich = {
package = pkgsImmich.immich;
enable = true;
server.mediaDir = "/mnt/hd/immich";
server.typesense.apiKeyFile = typesenseApiKeyFile;
virtualisation.oci-containers.containers.immich_server = {
image = "ghcr.io/immich-app/immich-server:${immichVersion}";
ports = ["127.0.0.1:2283:3001"];
extraOptions = [
"--pull=newer"
# Force DNS resolution to only be the podman dnsname name server; by default podman provides a resolv.conf
# that includes both this server and the upstream system server, causing resolutions of other pod names
# to be inconsistent.
"--dns=10.88.0.1"
];
cmd = ["start.sh" "immich"];
environment = {
IMMICH_VERSION = immichVersion;
DB_HOSTNAME = "immich_postgres";
DB_USERNAME = postgresUser;
DB_DATABASE_NAME = postgresDb;
DB_PASSWORD = postgresPassword;
REDIS_HOSTNAME = "immich_redis";
};
volumes = [
"${immichPhotos}:/usr/src/app/upload"
"/etc/localtime:/etc/localtime:ro"
# "${immichExternalVolume1}:${immichExternalVolume1}:ro"
];
};
services.typesense = {
enable = true;
# In a real setup you should generate an api key for immich
# and not use the admin key!
apiKeyFile = typesenseApiKeyFile;
settings.server.api-address = "127.0.0.1";
virtualisation.oci-containers.containers.immich_microservices = {
image = "ghcr.io/immich-app/immich-server:${immichVersion}";
extraOptions = [
"--pull=newer"
# Force DNS resolution to only be the podman dnsname name server; by default podman provides a resolv.conf
# that includes both this server and the upstream system server, causing resolutions of other pod names
# to be inconsistent.
"--dns=10.88.0.1"
];
cmd = ["start.sh" "microservices"];
environment = {
IMMICH_VERSION = immichVersion;
DB_HOSTNAME = "immich_postgres";
DB_USERNAME = postgresUser;
DB_DATABASE_NAME = postgresDb;
DB_PASSWORD = postgresPassword;
REDIS_HOSTNAME = "immich_redis";
};
volumes = [
"${immichPhotos}:/usr/src/app/upload"
"/etc/localtime:/etc/localtime:ro"
# "${immichExternalVolume}1:${immichExternalVolume1}:ro"
];
};
systemd.tmpfiles.rules = [
"d /mnt/hd/immich 770 immich immich"
];
virtualisation.oci-containers.containers.immich_machine_learning = {
image = "ghcr.io/immich-app/immich-machine-learning:${immichVersion}";
extraOptions = ["--pull=newer"];
environment = {
IMMICH_VERSION = immichVersion;
};
volumes = [
"${immichAppdataRoot}/model-cache:/cache"
];
};
# networking.firewall.allowedTCPPorts = [8080];
# virtualisation.oci-containers.containers.immich = {
# image = "ghcr.io/imagegenius/immich:latest";
# extraOptions = ["--network=host"];
# volumes = [
# "/mnt/immich/photos:/photos"
# "/mnt/immich/config:/config"
# ];
# environment = {
# PUID=builtins.toString config.users.users.ccr.uid;
# PGID=builtins.toString config.users.groups.wheel.gid;
# TZ="Europe/Rome";
# DB_HOSTNAME="localhost";
# DB_USERNAME="postgres";
# DB_PASSWORD="postgres";
# DB_DATABASE_NAME="immich";
# DB_PORT="54320";
# REDIS_HOSTNAME="localhost";
# DISABLE_MACHINE_LEARNING="false";
# DISABLE_TYPESENSE="false";
# };
# };
virtualisation.oci-containers.containers.immich_redis = {
image = "redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5";
};
# virtualisation.oci-containers.containers.immich-redis = {
# image = "redis";
# extraOptions = ["--network=host"];
# };
# virtualisation.oci-containers.containers.immich-postgres = {
# image = "postgres:14";
# extraOptions = ["--network=host"];
# environment = {
# POSTGRES_USER = "postgres";
# POSTGRES_PASSWORD = "postgres";
# POSTGRES_DB = "immich";
# PGPORT = "54320";
# };
# volumes = [
# "/mnt/immich/postgres:/var/lib/postgresql/data"
# ];
# };
virtualisation.oci-containers.containers.immich_postgres = {
image = "tensorchord/pgvecto-rs:pg14-v0.1.11";
environment = {
POSTGRES_PASSWORD = postgresPassword;
POSTGRES_USER = postgresUser;
POSTGRES_DB = postgresDb;
};
volumes = [
"${postgresRoot}:/var/lib/postgresql/data"
];
};
}

5
modules/immich/env Normal file
View file

@ -0,0 +1,5 @@
PUBLIC_LOGIN_PAGE_MESSAGE=
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003

View file

@ -35,6 +35,18 @@
proxyPass = "http://localhost:${builtins.toString config.services.invidious.port}";
};
};
"photos.aciceri.dev" = {
extraConfig = ''
client_max_body_size 50000M;
'';
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:2283";
proxyWebsockets = true;
};
};
# "jellyfin.aciceri.dev" = {
# forceSSL = true;
# enableACME = true;