chore: flake update and fix messages

This commit is contained in:
Patrick 2024-03-02 16:09:11 +01:00
parent 64c214ae4e
commit 7e8ab230e8
Signed by: patrick
GPG key ID: 451F95EFB8BECD0F
28 changed files with 180 additions and 421 deletions

View file

@ -12,11 +12,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1703433843, "lastModified": 1707830867,
"narHash": "sha256-nmtA4KqFboWxxoOAA6Y1okHbZh+HsXaMPFkYHsoDRDw=", "narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "417caa847f9383e111d1397039c9d4337d024bf0", "rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -37,11 +37,11 @@
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1705278709, "lastModified": 1708966623,
"narHash": "sha256-CNJSc6tp12UZKAprviztJ509yAblteK4GiWwKewWEPQ=", "narHash": "sha256-ClfhWvju5sJpt2l9FKCcHtyNnVtLBRjMNie066GLgyM=",
"owner": "oddlama", "owner": "oddlama",
"repo": "agenix-rekey", "repo": "agenix-rekey",
"rev": "e02a57e08224422934974f19853d4d70ed7eaaaa", "rev": "ac73aac46bc4a9474496ce3e68ed05f0c2a340ce",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -55,11 +55,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1689633990, "lastModified": 1708890466,
"narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=", "narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "dddf2e1c04845d43c89a8e9e37d574519649a404", "rev": "665b3c6748534eb766c777298721cece9453fdae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -282,11 +282,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1705332421, "lastModified": 1708939976,
"narHash": "sha256-USpGLPme1IuqG78JNqSaRabilwkCyHmVWY0M9vYyqEA=", "narHash": "sha256-O5+nFozxz2Vubpdl1YZtPrilcIXPcRAjqNdNE8oCRoA=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "83cb93d6d063ad290beee669f4badf9914cc16ec", "rev": "5ddecd67edbd568ebe0a55905273e56cc82aabe3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -324,11 +324,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1707385478, "lastModified": 1709286488,
"narHash": "sha256-xwKXoBeiwfp+jqQxt3O0mUxrBXsNfdBn15teMMWbw0U=", "narHash": "sha256-RDpTZ72zLu05djvXRzK76Ysqp9zSdh84ax/edEaJucs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "15b52c3c8a718253e66f1b92f595dc47873fdfea", "rev": "bde7dd352c07d43bd5b8245e6c39074a391fdd46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -401,19 +401,17 @@
} }
}, },
"flake-compat_5": { "flake-compat_5": {
"flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "revCount": 57,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
}, },
"original": { "original": {
"owner": "edolstra", "type": "tarball",
"repo": "flake-compat", "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
"type": "github"
} }
}, },
"flake-compat_6": { "flake-compat_6": {
@ -433,6 +431,22 @@
} }
}, },
"flake-compat_7": { "flake-compat_7": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_8": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1673956053,
@ -517,11 +531,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1704982712, "lastModified": 1706830856,
"narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "07f6395285469419cf9d078f59b5b49993198c00", "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -555,11 +569,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1709126324,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -609,11 +623,11 @@
"systems": "systems_7" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1709126324,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -663,11 +677,11 @@
"systems": "systems_11" "systems": "systems_11"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1705309234,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401", "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -825,11 +839,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1707175763, "lastModified": 1709204054,
"narHash": "sha256-0MKHC6tQ4KEuM5rui6DjKZ/VNiSANB4E+DJ/+wPS1PU=", "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f99eace7c167b8a6a0871849493b1c613d0f1b80", "rev": "2f3367769a93b226c467551315e9e270c3f78b15",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -846,11 +860,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706955260, "lastModified": 1708988456,
"narHash": "sha256-W3y0j77IDVbmbajudHoUr46RpswujUCl+D5Vru53UsI=", "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "880d9bc2110f7cae59698f715b8ca42cdc53670c", "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -882,11 +896,11 @@
}, },
"impermanence": { "impermanence": {
"locked": { "locked": {
"lastModified": 1706639736, "lastModified": 1708968331,
"narHash": "sha256-CaG4j9+UwBDfinxxvJMo6yOonSmSo0ZgnbD7aj2Put0=", "narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "cd13c2917eaa68e4c49fea0ff9cada45440d7045", "rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -928,11 +942,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1707048513, "lastModified": 1709208631,
"narHash": "sha256-gZh1mHkjtOmXrlgWWdl6G27NlKuNuruz1lOnhgmg1Nk=", "narHash": "sha256-n+SCii/GQR3zjaZzjhGAjrQQlF+xjaGEjWdpDb4wJ3U=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "83a014ca34f5cf6ef441b760e12d503856f20b35", "rev": "1f03ac8dc3a54f68f55d36b5e7fc65afc302a3d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -965,11 +979,11 @@
"spectrum": "spectrum" "spectrum": "spectrum"
}, },
"locked": { "locked": {
"lastModified": 1707406707, "lastModified": 1709297667,
"narHash": "sha256-xbdwGi9cGcWX9l11RZPwPUb36QLmYWu/NqMg35aBkf4=", "narHash": "sha256-5JUaHyRFKDPqyeTlbMFS6VixAWRkO5uCRTS8asEjiyo=",
"owner": "astro", "owner": "astro",
"repo": "microvm.nix", "repo": "microvm.nix",
"rev": "f0d8f6d5b4aa876ad76875a58c12e085780539b3", "rev": "7f93206b22131aac8fa46d787696ea58460aecab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1006,11 +1020,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706833576, "lastModified": 1709001452,
"narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", "narHash": "sha256-FnZ54wkil54hKvr1irdKic1TE27lHQI9dKQmOJRrtlU=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", "rev": "6c06334f0843c7300d1678726bb607ce526f6b36",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1069,11 +1083,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1707016097, "lastModified": 1708830466,
"narHash": "sha256-V4lHr6hFQ3rK650dh64Xffxsf4kse9vUYWsM+ldjkco=", "narHash": "sha256-nGKe3Y1/jkLR2eh1aRSVBtKadMBNv8kOnB52UXqRy6A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "3e3dad2808379c522138e2e8b0eb73500721a237", "rev": "f070c7eeec3bde8c8c8baa9c02b6d3d5e114d73b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1084,11 +1098,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1693701915, "lastModified": 1708821942,
"narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=", "narHash": "sha256-jd+E1SD59qty65pwqad2mftzkT6vW5nNFWVuvayh4Zw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25", "rev": "479831ed8b3c9c7b80533999f880c7d0bf6a491b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1108,11 +1122,11 @@
"pre-commit-hooks": "pre-commit-hooks_2" "pre-commit-hooks": "pre-commit-hooks_2"
}, },
"locked": { "locked": {
"lastModified": 1705582795, "lastModified": 1709384560,
"narHash": "sha256-hfP3TcXu76XHtwkIoTQSQLAe00yHrS1/Vt+pMZdsNRg=", "narHash": "sha256-VZpbetW5npjZ1FWcFII81tcDBH03irTboyMVOWzdfF8=",
"owner": "oddlama", "owner": "oddlama",
"repo": "nixos-extra-modules", "repo": "nixos-extra-modules",
"rev": "dca8158b4f4354d7898439f4d449d0bfc4f6ebac", "rev": "34ba92f0576a3998133310f070381563448e2b1a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1129,11 +1143,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1707405218, "lastModified": 1709226763,
"narHash": "sha256-ZQ366Oo8WJbCqXAZET7N0Sz6RQ3G2IbqVtxQRSa3SXc=", "narHash": "sha256-GlJ7g2srrtx6s5P2uswZ6Zcpy2u90tomIx+Gstlk97s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "843e2f04c716092797ffa4ce14c446adce2f09ef", "rev": "2c9562e7624fa1b50983fc18d504bf86202bef49",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1144,11 +1158,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1707211557, "lastModified": 1709147990,
"narHash": "sha256-LTKTzZ6fM5j8XWXf51IMBzDaOaJg9kYWLUZxoIhzRN8=", "narHash": "sha256-vpXMWoaCtMYJ7lisJedCRhQG9BSsInEyZnnG5GfY9tQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "6e5cc385fc8cf5ca6495d70243074ccdea9f64c7", "rev": "33a97b5814d36ddd65ad678ad07ce43b1a67f159",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1159,11 +1173,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1707268954, "lastModified": 1709237383,
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1175,11 +1189,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1707007541, "lastModified": 1708821942,
"narHash": "sha256-fuFppCuZO4wJAfodUkiWhtSxTb+pkBW+lJP2S51jRNU=", "narHash": "sha256-jd+E1SD59qty65pwqad2mftzkT6vW5nNFWVuvayh4Zw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "948ff77600f9fff8c904d1e1ffb87a60773991af", "rev": "479831ed8b3c9c7b80533999f880c7d0bf6a491b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1191,11 +1205,11 @@
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
"lastModified": 1703961334, "lastModified": 1706550542,
"narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1280,11 +1294,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1707426873, "lastModified": 1709382297,
"narHash": "sha256-m16EEzZk+G6HAAql7KHR3qwADFK4OKE+5Vb4zeD5jGY=", "narHash": "sha256-BN13D32lFRKMFVGwTDPo2d5Z8xQkbiXLtsZ3UdQVpeA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-wayland", "repo": "nixpkgs-wayland",
"rev": "d32ca992474cf9cd2ed528c2f5f522775e28b69a", "rev": "405a09242dfff6a32466411d3e3c9861dd566e59",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1343,11 +1357,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1681358109, "lastModified": 1706487304,
"narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1359,6 +1373,7 @@
}, },
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
@ -1368,11 +1383,11 @@
"pre-commit-hooks": "pre-commit-hooks_3" "pre-commit-hooks": "pre-commit-hooks_3"
}, },
"locked": { "locked": {
"lastModified": 1707344886, "lastModified": 1709383745,
"narHash": "sha256-icqj994+jxpkNMP8r6csF3MoEwYzme4CM0rPF4044oM=", "narHash": "sha256-o9BfJjVeyANmRfLjZxVMeDxhbGHhQDrMeq4TRy8An5o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "ec07263b1693ebbd74080b1e21d9b88ae7b74d18", "rev": "d8432ef9c1ced362aeb0a0bfd62f9855977f93ad",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1470,7 +1485,7 @@
}, },
"pre-commit-hooks_3": { "pre-commit-hooks_3": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_6",
"flake-utils": "flake-utils_6", "flake-utils": "flake-utils_6",
"gitignore": "gitignore_4", "gitignore": "gitignore_4",
"nixpkgs": [ "nixpkgs": [
@ -1483,11 +1498,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706424699, "lastModified": 1708018599,
"narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1498,7 +1513,7 @@
}, },
"pre-commit-hooks_4": { "pre-commit-hooks_4": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_6", "flake-compat": "flake-compat_7",
"flake-utils": [ "flake-utils": [
"flake-utils" "flake-utils"
], ],
@ -1509,11 +1524,11 @@
"nixpkgs-stable": "nixpkgs-stable_4" "nixpkgs-stable": "nixpkgs-stable_4"
}, },
"locked": { "locked": {
"lastModified": 1707297608, "lastModified": 1708018599,
"narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "0db2e67ee49910adfa13010e7f012149660af7f0", "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1579,11 +1594,11 @@
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1705112162, "lastModified": 1708740535,
"narHash": "sha256-IAM0+Uijh/fwlfoeDrOwau9MxcZW3zeDoUHc6Z3xfqM=", "narHash": "sha256-NCTw235XwSDbeTAtAwg/hOeNOgwYhVq7JjDdbkOgBeA=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "9e0af26ffe52bf955ad5575888f093e41fba0104", "rev": "9b24383d77f598716fa0cbb8b48c97249f5ee1af",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1595,11 +1610,11 @@
"spectrum": { "spectrum": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1703273931, "lastModified": 1708358594,
"narHash": "sha256-CJ1Crdi5fXHkCiemovsp20/RC4vpDaZl1R6V273FecI=", "narHash": "sha256-e71YOotu2FYA67HoC/voJDTFsiPpZNRwmiQb4f94OxQ=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "97e2f3429ee61dc37664b4d096b2fec48a57b691", "rev": "6d0e73864d28794cdbd26ab7b37259ab0e1e044c",
"revCount": 597, "revCount": 614,
"type": "git", "type": "git",
"url": "https://spectrum-os.org/git/spectrum" "url": "https://spectrum-os.org/git/spectrum"
}, },
@ -1638,17 +1653,17 @@
"base16-kitty": "base16-kitty", "base16-kitty": "base16-kitty",
"base16-tmux": "base16-tmux", "base16-tmux": "base16-tmux",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"flake-compat": "flake-compat_7", "flake-compat": "flake-compat_8",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1707414210, "lastModified": 1708896938,
"narHash": "sha256-MJ4deL9tTzowkGpW9Iq+k3cSKo2gnvyIkIuFctNz/dQ=", "narHash": "sha256-oMjkMjeNhDUEpKIofo9+9RdUnmmZ4h0sm+kf6XKdy6k=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "f3b302dd9bb66fcdd1ed3f185068a5f1000eb863", "rev": "fcff15ac5ffbe81f1c66e352f3167c270d79cdab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1853,11 +1868,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1706214060, "lastModified": 1709189262,
"narHash": "sha256-P2AyxPfn8+nfFB3xKUikd6fTN8jVl5/ZLV1gsz5eiT0=", "narHash": "sha256-2R2kyALSgZYi2r9Kk3Bn5ToW3mRClK8y4tDKRrniuyk=",
"owner": "Toqozz", "owner": "Toqozz",
"repo": "wired-notify", "repo": "wired-notify",
"rev": "d65f227779061299842b4e1891954c4843ee2750", "rev": "6bf4ed31cb87b0f4564c1c8858fd3bff64b2aaf9",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -6,10 +6,6 @@ system = "x86_64-linux"
type = "nixos" type = "nixos"
system = "x86_64-linux" system = "x86_64-linux"
[testienix]
type = "nixos"
system = "x86_64-linux"
[gojo] [gojo]
type = "nixos" type = "nixos"
system = "x86_64-linux" system = "x86_64-linux"

View file

@ -36,9 +36,9 @@
applications = 10; applications = 10;
desktop = 10; desktop = 10;
}; };
services.xserver = { services.xserver.xkb = {
layout = "de"; layout = "de";
xkbVariant = "bone"; variant = "bone";
}; };
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;

View file

@ -5,28 +5,26 @@
}: { }: {
disko.devices = { disko.devices = {
disk = { disk = {
m2-ssd = { m2-ssd = rec {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.m2-ssd}"; device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.m2-ssd}";
content = with lib.disko.gpt; { content = with lib.disko.gpt; {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [ boot = (partEfi "0%" "2GiB") // {device = "${device}-part1";};
(partEfi "boot" "0%" "2GiB")
#(partSwap "swap" "2GiB" "18GiB") #(partSwap "swap" "2GiB" "18GiB")
(partLuksZfs "m2-ssd" "rpool" "18GiB" "100%") "rpool_m2-ssd" = (partLuksZfs "m2-ssd" "rpool" "18GiB" "100%") // {device = "${device}-part3";};
];
}; };
}; };
sata-hdd = { };
sata-hdd = rec {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.sata-hdd}"; device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.sata-hdd}";
content = with lib.disko.gpt; { content = with lib.disko.gpt; {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [ "panzer_sata-hdd" = (partLuksZfs "sata-hdd" "panzer" "0%" "100%") // {device = "${device}-part1";};
(partLuksZfs "sata-hdd" "panzer" "0%" "100%") };
];
}; };
}; };
}; };
@ -44,4 +42,5 @@
fileSystems."/persist".neededForBoot = true; fileSystems."/persist".neededForBoot = true;
fileSystems."/panzer/state".neededForBoot = true; fileSystems."/panzer/state".neededForBoot = true;
boot.initrd.systemd.services."zfs-import-panzer".after = ["cryptsetup.target"]; boot.initrd.systemd.services."zfs-import-panzer".after = ["cryptsetup.target"];
boot.initrd.systemd.services."zfs-import-rpool".after = ["cryptsetup.target"];
} }

View file

@ -5,16 +5,15 @@
}: { }: {
disko.devices = { disko.devices = {
disk = { disk = {
internal-ssd = { internal-ssd = rec {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.nvme}"; device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.nvme}";
content = with lib.disko.gpt; { content = with lib.disko.gpt; {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [ boot = (partEfi "0%" "1GiB") // {device = "${device}-part1";};
(partEfi "boot" "0%" "1GiB") "rpool_ssd" = (partLuksZfs "ssd" "rpool" "1GiB" "100%") // {device = "${device}-part2";};
(partLuksZfs "ssd" "rpool" "1GiB" "100%") };
];
}; };
}; };
"4TB-hdd-1" = { "4TB-hdd-1" = {

View file

@ -9,18 +9,16 @@
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.ssd}"; device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.ssd}";
content = with lib.disko.gpt; { content = with lib.disko.gpt; {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [ boot = partEfi "0%" "260MB";
(partEfi "boot" "0%" "260MB") rpool = {
{
name = "rpool";
content = { content = {
type = "zfs"; type = "zfs";
pool = "rpool"; pool = "rpool";
}; };
} };
]; };
}; };
}; };
}; };

View file

@ -5,18 +5,17 @@
}: { }: {
disko.devices = { disko.devices = {
disk = { disk = {
drive = { drive = rec {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.drive}"; device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.drive}";
content = with lib.disko.gpt; { content = with lib.disko.gpt; {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [ grub = (partGrub "0%" "1MiB") // {device = "${device}-part1";};
(partGrub "grub" "0%" "1MiB") bios = (partEfi "1MiB" "512MiB") // {device = "${device}-part2";};
(partEfi "bios" "1MiB" "512MiB") "rpool_rpool" = (partLuksZfs "rpool" "rpool" "512MiB" "100%") // {device = "${device}-part3";};
(partLuksZfs "rpool" "rpool" "512MiB" "100%")
#(lib.attrsets.recursiveUpdate (partLuksZfs "rpool" "rpool" "17GiB" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];}) #(lib.attrsets.recursiveUpdate (partLuksZfs "rpool" "rpool" "17GiB" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
]; };
}; };
}; };
}; };

View file

@ -5,17 +5,16 @@
}: { }: {
disko.devices = { disko.devices = {
disk = { disk = {
m2-ssd = { m2-ssd = rec {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.m2-ssd}"; device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.m2-ssd}";
content = with lib.disko.gpt; { content = with lib.disko.gpt; {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [ boot = (partEfi "0%" "1GiB") // {device = "${device}-part1";};
(partEfi "boot" "0%" "1GiB") swap = (partSwap "1GiB" "17GiB") // {device = "${device}-part2";};
(partSwap "swap" "1GiB" "17GiB") "rpool_rpool" = (partLuksZfs "rpool" "rpool" "17GiB" "100%") // {device = "${device}-part3";};
(partLuksZfs "rpool" "rpool" "17GiB" "100%") };
];
}; };
}; };
}; };

View file

@ -1,28 +0,0 @@
{
inputs,
lib,
minimal,
...
}: {
imports =
[
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
../../modules/config
../../modules/optional/initrd-ssh.nix
../../modules/hardware/physical.nix
../../modules/hardware/zfs.nix
./net.nix
./fs.nix
]
++ lib.lists.optionals (!minimal) [
];
services.xserver = {
layout = "de";
xkbVariant = "bone";
};
services.thermald.enable = lib.mkForce false;
}

View file

@ -1,124 +0,0 @@
{
config,
lib,
...
}: {
disko.devices = {
disk = {
internal-hdd = {
type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.internal-hdd}";
content = with lib.disko.gpt; {
type = "table";
format = "gpt";
partitions = [
(partEfi "boot" "0%" "1GiB")
(partSwap "swap" "1GiB" "17GiB")
(lib.attrsets.recursiveUpdate (partLuksZfs "rpool" "rpool" "17GiB" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
];
};
};
external-hdd-1 = {
type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.external-hdd-1}";
content = with lib.disko.gpt; {
type = "table";
format = "gpt";
partitions = [
(lib.attrsets.recursiveUpdate (partLuksZfs "panzer-1" "panzer" "0%" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
];
};
};
external-hdd-2 = {
type = "disk";
device = "/dev/disk/by-id/${config.secrets.secrets.local.disko.external-hdd-2}";
content = with lib.disko.gpt; {
type = "table";
format = "gpt";
partitions = [
(lib.attrsets.recursiveUpdate (partLuksZfs "panzer-2" "panzer" "0%" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
];
};
};
};
zpool = with lib.disko.zfs; {
rpool = mkZpool {datasets = impermanenceZfsDatasets;};
panzer =
mkZpool
{
datasets = {
"local" = unmountable;
"local/state" = filesystem "/panzer/state";
"safe" = unmountable;
"safe/persist" = filesystem "/panzer/persist";
};
};
};
};
services.zrepl = {
enable = true;
settings = {
global = {
logging = [
{
type = "syslog";
level = "info";
format = "human";
}
];
# TODO Monitoring
};
jobs = [
#{
# type = "push";
# name = "push-to-remote";
#}
{
type = "snap";
name = "mach-schnipp-schusss";
filesystems = {
"panzer/local/state<" = true;
"panzer/safe<" = true;
"rpool/local/state<" = true;
"rpool/safe<" = true;
};
snapshotting = {
type = "periodic";
prefix = "zrepl-";
interval = "10m";
timestamp_format = "iso-8601";
};
pruning = {
keep = [
{
type = "regex";
regex = "^zrepl-.*$";
negate = true;
}
{
type = "grid";
grid = lib.concatStringsSep " | " [
"1x1d(keep=all)"
"142x1h(keep=2)"
"90x1d(keep=2)"
"500x7d"
];
regex = "^zrepl-.*$";
}
];
};
}
];
};
};
fileSystems."/state".neededForBoot = true;
fileSystems."/persist".neededForBoot = true;
fileSystems."/panzer/state".neededForBoot = true;
fileSystems."/panzer/persist".neededForBoot = true;
boot.initrd.luks.devices.enc-rpool.allowDiscards = true;
boot.initrd.luks.devices.enc-panzer-1.allowDiscards = true;
boot.initrd.luks.devices.enc-panzer-2.allowDiscards = true;
}

View file

@ -1,41 +0,0 @@
{config, ...}: {
networking = {
inherit (config.secrets.secrets.local.networking) hostId;
};
systemd.network.networks = {
"lan01" = {
address = ["192.168.178.32/24"];
gateway = ["192.168.178.1"];
#matchConfig.MACAddress = config.secrets.secrets.local.networking.interfaces.lan01.mac;
matchConfig.Name = "mv-lan01";
dns = ["192.168.178.2"];
networkConfig = {
IPv6PrivacyExtensions = "yes";
MulticastDNS = true;
};
};
};
# To be able to ping containers from the host, it is necessary
# to create a macvlan on the host on the VLAN 1 network.
networking.macvlans.mv-lan01 = {
interface = "lan01";
mode = "bridge";
};
boot.initrd.systemd.network = {
enable = true;
networks = {
# redo the network cause the livesystem has macvlans
"lan01" = {
address = ["192.168.178.32/24"];
gateway = ["192.168.178.1"];
matchConfig.MACAddress = config.secrets.secrets.local.networking.interfaces.lan01.mac;
dns = ["192.168.178.2"];
networkConfig = {
IPv6PrivacyExtensions = "yes";
MulticastDNS = true;
};
};
};
};
}

View file

@ -1,16 +0,0 @@
age-encryption.org/v1
-> X25519 EiiaTspuYICo7sZE7Gs8ZheQk8eL5MtxpQjwtfwO+hE
XIhhJjY/U5xGl5H7PSI+yHwDZNx7avpvxcIaMZNc/c0
-> piv-p256 XTQkUA AvaKD53FQhtuc22ZV+Ie7AfFzACDCtObyNqbbr0N4Tx8
OJ3SntPlIU4AD628ecxRwcQ/hA/zI4mX9EDwdQjncZk
-> piv-p256 ZFgiIw AyZFt8rIp8Tlc/oSSiuB7RnlwqegOOUFUd8QzpW85ZRa
X426rvg1JlYcUgOWDOHccN7sh4QpgXCzaOTWaW2C880
-> piv-p256 5vmPtQ At2On21r9ZP/hBd+J1XdOYk7+mwKjXn5Qf7E0mBsX5fV
ebY+uWnfgTcs1GQXf24Sc2vpYZ+Ns1VYMWNV/kF5JUg
-> piv-p256 ZFgiIw Ax/HbDAorQF3etat7Z9OPMEXtqsl5+Z4OqQ06q4G7NIM
INZJZSfyJtr/ixZ8hrY+3337HXrDu+zku0RLJRI7grI
-> C-grease np6r#%p 3 2}hiMzg SC$uG
W0QvKa5oteDmCEZOhRc2vwij6kfSXUljy8qOqsO36y76D7D87hmFNK+/8FFlFHF5
hieGKJW9wR4/yXYsjZtG
--- 3Uh7zG2QD1KbYAZlzkl0VEThhzcuczwydlRQ+c9rcVk
…€Ã@ú >÷÷çJ.ëü Tlk_Ðr¼<07>¸ÏÇŸãJ;ÞgÐ f˜ád‡ÛñÖ|™„6h!A]D&çÑÙ@f”Pp2!:7j¾

View file

@ -1,16 +0,0 @@
age-encryption.org/v1
-> X25519 +i63saSU8RBHO56nE65z4pFN72weFIH0MO2B6kKFX1o
O03ucWspS7ERnPwqPVVDLpokcR+VDGfeema+7VCdUcE
-> piv-p256 XTQkUA A222BiQ7aVaSdbpTgH0zop6Yc7iD3o9p+DpBT/53cfsI
NiOx77wz7D8tIWOitsVynStIGjUlDaXfYdjAvjvpV68
-> piv-p256 ZFgiIw AgR85lUO7c+rwARcAkHBzoWONva7zDwCZ8hGNhP5FNXb
iIWz22A6YIzLlEbOhA6AwIVS5B4mOOLUMUvjel/QPPM
-> piv-p256 5vmPtQ Ao50NLd25O1sdk96G8a3acSjhOwfq+DbHiVl6q/E+2+3
4R9ScWJsjyLxUqVTaKfzmsMvbZQH8shiqPbIGshbNpA
-> piv-p256 ZFgiIw A90xpxtG8MMDmsQpgx5fRavYIrmlv0rkcjev3LZYKRnS
2Wc3c2LPcWcRfL5+yH/GNWwblkofSrY/Bj7AxuOPX8g
-> `tr=>/j-grease Fr#5$ANy D0UHo: aD
F8V7YAtFk4XQjKdsN/pwtYnH
--- wCUeLyGHUi/Qwc7INkFXilCQz/N5rRgVtZ3TQu6jfgU
Lnţ62ú6:©†F¬Ö•tW<74>őô†Rm®ŠÓňęĂň\ÂmbiÝ°ˇÁŞPśµç‡ĹWŽEd!ő™[/B
k«żÜ÷4`hC¨Lł˝řĚęS

View file

@ -1,16 +0,0 @@
age-encryption.org/v1
-> X25519 z96I+Nn8qe6tg/RKh3BKQ9/TPL336LMzJmalGjNDjzo
uDSblTLmTEMUO1Y6ZTJvA/62wT/HHueBmdL/XH2g+oc
-> piv-p256 XTQkUA AvRAFEutxbIbL2FUe1V8A2QNzLGeGonzh1a6Gc/YOxpB
a2CURyCBGqFqSXi1023fxCCDdiRgJtWN0XfWesqMB2M
-> piv-p256 ZFgiIw AysOIfBv8DcAL2kYkJd+hhlDL4wvfz1ffp1H8o8Q0oq+
ecKdYFlK7o1VKeBRT98Luve3LPsPPjXYHVz6uRmx0vw
-> piv-p256 5vmPtQ AgTg1s5F1ZO2BiYekocUdtmDAOHVNEZa1Fb70sF54jEb
QdhiumwEn949jOeP5x/g/BpOcOnJ7KoAzc7desZO2rU
-> piv-p256 ZFgiIw A+SlvzmK+ypk9oZfAf4wTxua0gxPXuJuy8J26pAvWnfh
VeMmI6yqh8spCYXwUpdKKRt6Q/Bv8ZMSATrubCwslII
-> 2{jZco:7-grease 9N19Ay)
LFLWPMPWN6sYwi5+fL792xvjztCKIahMyA
--- jDQZaA9hMtVeAmiFfAVQWS55di3rJ79zQJTuJAaEPuM
œß—’<tcWw«i#¶ÑÁ[
±vhF_‡“¬”W÷òˆ©d<04>Ä(û˜ôàù•†›¥‹&¼ß†k;k ]¶‡æ¬¶G%|{žW.¨“+

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBDV9PZqa4D+Qn+gyVXX79TRjxTxJ4zUkqSd3HwBBALl

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMCROFpRK7KqqBpbeGirNPXA5jzVuCFS+LtDiN4vaC+D

View file

@ -9,6 +9,9 @@
enable = true; enable = true;
emergencyAccess = config.secrets.secrets.global.users.root.passwordHash; emergencyAccess = config.secrets.secrets.global.users.root.passwordHash;
extraBin.ip = "${pkgs.iproute}/bin/ip"; extraBin.ip = "${pkgs.iproute}/bin/ip";
extraBin.cryptsetup = "${pkgs.cryptsetup}/bin/cryptsetup";
users.root.shell = "${pkgs.bashInteractive}/bin/bash";
storePaths = ["${pkgs.bashInteractive}/bin/bash"];
}; };
initrd.availableKernelModules = ["xhci_pci" "nvme" "r8169" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" "ahci" "uas" "tpm_crb"]; initrd.availableKernelModules = ["xhci_pci" "nvme" "r8169" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" "ahci" "uas" "tpm_crb"];

View file

@ -15,6 +15,8 @@
extraEncryptionPubkeys extraEncryptionPubkeys
; ;
storageMode = "derivation";
forceRekeyOnSystem = builtins.extraBuiltins.unsafeCurrentSystem; forceRekeyOnSystem = builtins.extraBuiltins.unsafeCurrentSystem;
hostPubkey = let hostPubkey = let
pubkeyPath = config.node.secretsDir + "/host.pub"; pubkeyPath = config.node.secretsDir + "/host.pub";

View file

@ -23,11 +23,7 @@ lib.optionalAttrs (!minimal) {
alsa.enable = true; alsa.enable = true;
jack.enable = true; jack.enable = true;
pulse.enable = true; pulse.enable = true;
}; extraConfig.pipewire."99-allowed-rates"."context.properties"."default.clock.allowed-rates" = [
environment.etc = {
# Allow pipewire to dynamically adjust the rate sent to the devices based on the playback stream
"pipewire/pipewire.conf.d/99-allowed-rates.conf".text = builtins.toJSON {
"context.properties"."default.clock.allowed-rates" = [
44100 44100
48000 48000
88200 88200
@ -36,7 +32,6 @@ lib.optionalAttrs (!minimal) {
192000 192000
]; ];
}; };
};
sound.enable = false; sound.enable = false;
} }

View file

@ -75,8 +75,10 @@
# Undo tree # Undo tree
undotree = { undotree = {
enable = true; enable = true;
settings = {
WindowLayout = 4;
focusOnToggle = true; focusOnToggle = true;
windowLayout = 4; };
}; };
# Quickfix menu # Quickfix menu

View file

@ -31,7 +31,7 @@
}; };
nvim-lightbulb = { nvim-lightbulb = {
enable = true; enable = true;
autocmd.enabled = true; settings.autocmd.enabled = true;
}; };
lsp = { lsp = {
enable = true; enable = true;

View file

@ -28,11 +28,6 @@
user = "root"; user = "root";
}; };
"testienix" = {
hostname = "testienix.local";
user = "root";
};
"maddy" = { "maddy" = {
hostname = config.userSecrets.hetzner_ip; hostname = config.userSecrets.hetzner_ip;
user = "root"; user = "root";