sept rice v2

This commit is contained in:
iofq 2025-09-20 13:06:30 -05:00
parent 66ba28aaf3
commit 33fe28a76b
9 changed files with 245 additions and 162 deletions

195
flake.lock generated
View file

@ -6,8 +6,8 @@
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1756785063, "lastModified": 1758080529,
"narHash": "sha256-1FFTyq3/evKrFi/0U/e5b93BxyYm5gcv7Hr3H9hd/HU=", "narHash": "sha256-Sup4+HacL6Xe6mTk23N6sD4uXoU9dcoqRgc9Mu0oQ5E=",
"path": "/home/e/dev/dart.nvim", "path": "/home/e/dev/dart.nvim",
"type": "path" "type": "path"
}, },
@ -26,7 +26,6 @@
}, },
"locked": { "locked": {
"lastModified": 1756719547, "lastModified": 1756719547,
"narHash": "sha256-N9gBKUmjwRKPxAafXEk1EGadfk2qDZPBQp4vXWPHINQ=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "125ae9e3ecf62fb2c0fd4f2d894eb971f1ecaed2", "rev": "125ae9e3ecf62fb2c0fd4f2d894eb971f1ecaed2",
@ -51,12 +50,12 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1757033802, "lastModified": 1757699119,
"narHash": "sha256-BLUHtWWoHFR6UJJJwkmivSv7RTjo92wlT0Y7kbCd2MY=", "narHash": "sha256-iOOoVdrkcyk95Xg68TuPeAwpz+v80mgZCqil0jpPZuY=",
"rev": "e154f8433851f8f2509490f33680e3285d553df4", "rev": "1e16c8f8a44573bb0648c76b6c98352436f5171e",
"revCount": 301, "revCount": 304,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.11.1/01991762-b4e5-7a3b-8bfc-5d0f1ed4965e/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.11.2/01993f0b-1215-7072-ac1a-f2b27b566115/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -66,37 +65,37 @@
"determinate-nixd-aarch64-darwin": { "determinate-nixd-aarch64-darwin": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-Dym4kTLMTxAxNyZcrHRKRVMBINQPA7qgr+7dHozNrps=", "narHash": "sha256-q1tqDvmfjDgLk/wbYf4pRhyHDS94iY85Q79FPBtcv7g=",
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/macOS" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/macOS"
}, },
"original": { "original": {
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/macOS" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/macOS"
} }
}, },
"determinate-nixd-aarch64-linux": { "determinate-nixd-aarch64-linux": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-eYVSpk+ly2YRSYvgT47ABmFRwG0DliNO/8ntBkoRmjI=", "narHash": "sha256-E1vGfcQ5dqtRG9EDP6eOQWCnCIRB2XFkFBp2C4FgQ8c=",
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/aarch64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/aarch64-linux"
}, },
"original": { "original": {
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/aarch64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/aarch64-linux"
} }
}, },
"determinate-nixd-x86_64-linux": { "determinate-nixd-x86_64-linux": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-ZvRoKG/v0WS2XrDgkV+/hq3ARGokGisyelncKwlefvk=", "narHash": "sha256-GtxtkI0cOC2A30Xw6gCDTN7JxN1zJGh7/eIXr6AlTSA=",
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/x86_64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/x86_64-linux"
}, },
"original": { "original": {
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/x86_64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/x86_64-linux"
} }
}, },
"flake-compat": { "flake-compat": {
@ -270,27 +269,6 @@
} }
}, },
"flake-parts_3": { "flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"neovim-nightly-overlay",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_4": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
@ -308,7 +286,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_5": { "flake-parts_4": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nvim", "nvim",
@ -330,7 +308,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_6": { "flake-parts_5": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nvim", "nvim",
@ -407,7 +385,7 @@
}, },
"gen-luarc": { "gen-luarc": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_3",
"git-hooks": "git-hooks_2", "git-hooks": "git-hooks_2",
"luvit-meta": "luvit-meta", "luvit-meta": "luvit-meta",
"nixpkgs": [ "nixpkgs": [
@ -439,11 +417,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757239681, "lastModified": 1758108966,
"narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -618,18 +596,21 @@
}, },
"hercules-ci-effects": { "hercules-ci-effects": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3", "flake-parts": [
"neovim-nightly-overlay",
"flake-parts"
],
"nixpkgs": [ "nixpkgs": [
"neovim-nightly-overlay", "neovim-nightly-overlay",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1755233722, "lastModified": 1758022363,
"narHash": "sha256-AavrbMltJKcC2Fx0lfJoZfmy7g87ebXU0ddVenhajLA=", "narHash": "sha256-ENUhCRWgSX4ni751HieNuQoq06dJvApV/Nm89kh+/A0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "hercules-ci-effects", "repo": "hercules-ci-effects",
"rev": "99e03e72e3f7e13506f80ef9ebaedccb929d84d0", "rev": "1a3667d33e247ad35ca250698d63f49a5453d824",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -640,7 +621,7 @@
}, },
"hercules-ci-effects_2": { "hercules-ci-effects_2": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_6", "flake-parts": "flake-parts_5",
"nixpkgs": [ "nixpkgs": [
"nvim", "nvim",
"neovim-nightly-overlay", "neovim-nightly-overlay",
@ -668,11 +649,10 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757529548, "lastModified": 1758593331,
"narHash": "sha256-If5AT3dPXH0BM+q+pwyZvtWLTmlqJmGW6IDZ2MqlGRU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e0154ae41614e32a443c43ee51eee9eed3ad9a48", "rev": "9a2dc0efbc569ce9352a6ffb8e8ec8dbc098e142",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -691,11 +671,10 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1757497639, "lastModified": 1758574386,
"narHash": "sha256-VPauACTdeoMi8DyyRbSBSbaWOmHuAl7D1jv49DC/Shk=",
"owner": "jj-vcs", "owner": "jj-vcs",
"repo": "jj", "repo": "jj",
"rev": "5f6f938a243385071ca2b22cf66b86f55efdcf43", "rev": "86bbe5a3cb5ea3bf79c97f907dc476c79fdc4aa3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -731,11 +710,10 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1757549103, "lastModified": 1758585901,
"narHash": "sha256-g9yeQvHbdZhudGCm8tpLACcRIm+mGG6kqqwzCI1y4eY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "c6159f587252f3269c462d25db23b3432f53c410", "rev": "095a690e04f89107ba15c3b7ebd1954e0802adfe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -747,7 +725,7 @@
"neovim-nightly-overlay_2": { "neovim-nightly-overlay_2": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_6", "flake-compat": "flake-compat_6",
"flake-parts": "flake-parts_5", "flake-parts": "flake-parts_4",
"git-hooks": "git-hooks_3", "git-hooks": "git-hooks_3",
"hercules-ci-effects": "hercules-ci-effects_2", "hercules-ci-effects": "hercules-ci-effects_2",
"neovim-src": "neovim-src_2", "neovim-src": "neovim-src_2",
@ -771,11 +749,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1757544943, "lastModified": 1758583287,
"narHash": "sha256-zcbqe73qpBAW6jHqObRXXXInVHf80EST3DbX1w3iBHg=", "narHash": "sha256-Sg1Ge7rBC3jL9kg/xlkdr9rbvJILIUu6jkMnV28zMEE=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "9076fdc1238c4d9720efa89c72b44154be729a2c", "rev": "78371610769f980cd0a629853628de5fe9127cee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -800,26 +778,6 @@
"type": "github" "type": "github"
} }
}, },
"nh": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1757505144,
"narHash": "sha256-ZYlFuJO0gOeWGgClBfAI7quhfmpksQspoOp66gEhdPc=",
"owner": "nix-community",
"repo": "nh",
"rev": "a7d8a3ff279d52236632f8fab33017f74cc3a9dd",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nh",
"type": "github"
}
},
"nix": { "nix": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
@ -829,12 +787,12 @@
"nixpkgs-regression": "nixpkgs-regression" "nixpkgs-regression": "nixpkgs-regression"
}, },
"locked": { "locked": {
"lastModified": 1757029043, "lastModified": 1757694985,
"narHash": "sha256-/XtKs/hpYXJPeT3WppFVFZH1WvPDmeTt11hMWt/Bwas=", "narHash": "sha256-3Ia+y7Hbwnzcuf1hyuVnFtbnSR6ErQeFjemHdVxjCNE=",
"rev": "7143558a0989008c8e08cc27c3cb6a031f30b356", "rev": "766f43aa6acb1b3578db488c19fbbedf04ed9f24",
"revCount": 22309, "revCount": 22340,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.11.1/01991737-661d-7932-b7c9-d3a0499b4c3f/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.11.2/01993ee9-f8e7-7b80-80df-ec0a20a32514/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -848,11 +806,10 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757218147, "lastModified": 1758427679,
"narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", "rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -863,11 +820,10 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1757103352, "lastModified": 1757943327,
"narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "11b2a10c7be726321bb854403fdeec391e798bf0", "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -952,12 +908,12 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1756696532, "lastModified": 1757034884,
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=", "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=",
"rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f", "rev": "ca77296380960cd497a765102eeb1356eb80fed0",
"revCount": 854745, "revCount": 856744,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.854745%2Brev-58dcbf1ec551914c3756c267b8b9c8c86baa1b2f/019908ed-e731-796e-b7c5-ea173f5d3b8d/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.856744%2Brev-ca77296380960cd497a765102eeb1356eb80fed0/01992cf9-9347-761a-8963-9cbe43abe2fa/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -966,11 +922,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1757034884, "lastModified": 1758446476,
"narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", "narHash": "sha256-5rdAi7CTvM/kSs6fHe1bREIva5W3TbImsto+dxG4mBo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ca77296380960cd497a765102eeb1356eb80fed0", "rev": "a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -982,11 +938,10 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1757347588, "lastModified": 1758277210,
"narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b599843bad24621dcaa5ab60dac98f9b0eb1cabe", "rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1054,8 +1009,8 @@
"nvim-treesitter-textobjects": "nvim-treesitter-textobjects" "nvim-treesitter-textobjects": "nvim-treesitter-textobjects"
}, },
"locked": { "locked": {
"lastModified": 1756787950, "lastModified": 1758080920,
"narHash": "sha256-QBC/2h8Da1yq3Cd9Erhgk7icwWouDcMAoBoDJVxB0sA=", "narHash": "sha256-0songGRyfBLDBIHqQKMi0JL9I1fjCT8c3wYEnxDvr3o=",
"path": "/home/e/dev/nvim.nix", "path": "/home/e/dev/nvim.nix",
"type": "path" "type": "path"
}, },
@ -1107,11 +1062,10 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757239681, "lastModified": 1758108966,
"narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1127,7 +1081,6 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"jj": "jj", "jj": "jj",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nh": "nh",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
@ -1166,11 +1119,10 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757503115, "lastModified": 1758425756,
"narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1242,15 +1194,15 @@
"systems_5": { "systems_5": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "systems", "owner": "nix-systems",
"type": "indirect" "repo": "default",
"type": "github"
} }
}, },
"treefmt-nix": { "treefmt-nix": {
@ -1261,11 +1213,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756662192, "lastModified": 1758206697,
"narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", "narHash": "sha256-/DbPkh6PZOgfueCbs3uzlk4ASU2nPPsiVWhpMCNkAd0=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", "rev": "128222dc911b8e2e18939537bed1762b7f3a04aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1303,11 +1255,10 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756662192, "lastModified": 1758206697,
"narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", "rev": "128222dc911b8e2e18939537bed1762b7f3a04aa",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -33,16 +33,13 @@
url = "github:serokell/deploy-rs"; url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nh = {
url = "github:nix-community/nh";
inputs.nixpkgs.follows = "nixpkgs";
};
jj = { jj = {
url = "github:jj-vcs/jj"; url = "github:jj-vcs/jj";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*"; determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*";
systems.url = "github:nix-systems/default";
}; };
outputs = outputs =
{ {
@ -62,10 +59,10 @@
overlays = [ overlays = [
inputs.neovim-nightly-overlay.overlays.default inputs.neovim-nightly-overlay.overlays.default
inputs.nvim.overlays.default inputs.nvim.overlays.default
inputs.nh.overlays.default
(old: new: { (old: new: {
jujutsu = inputs.jj.packages.${system}.jujutsu; jujutsu = inputs.jj.packages.${system}.jujutsu;
}) })
(import ./pkgs/overlay.nix)
]; ];
}; };
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
@ -93,13 +90,22 @@
deploy.nodes = { deploy.nodes = {
consensus = { consensus = {
hostname = "consensus"; hostname = "consensus";
sshUser = "e"; sshUser = "root";
remoteBuild = true; remoteBuild = true;
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.consensus; path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.consensus;
}; };
}; };
oracle = {
hostname = "129.213.119.29";
sshUser = "root";
remoteBuild = true;
profiles.system = {
user = "root";
path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.oracle;
};
};
}; };
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
devShells.${system}.default = pkgs.mkShell { devShells.${system}.default = pkgs.mkShell {

View file

@ -2,8 +2,7 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: {
{
imports = [ imports = [
../shared/programs/default.nix ../shared/programs/default.nix
../shared/wayland/default.nix ../shared/wayland/default.nix
@ -14,6 +13,7 @@
prismlauncher prismlauncher
runelite runelite
jdk21 jdk21
august-rsps
# comms # comms
signal-desktop signal-desktop
@ -33,7 +33,6 @@
appimage-run appimage-run
wireguard-tools wireguard-tools
android-tools android-tools
nh
]; ];
sessionVariables = { sessionVariables = {
MOZ_ENABLE_WAYLAND = 1; MOZ_ENABLE_WAYLAND = 1;

View file

@ -24,13 +24,14 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
nvim-pkg vim
docker-compose docker-compose
tmux tmux
]; ];
services = { services = {
# zfs.autoScrub.enable = true; # zfs.autoScrub.enable = true;
# zfs.autoSnapshot.enable = true; # zfs.autoSnapshot.enable = true;
fstrim.enable = true;
tailscale.enable = true; tailscale.enable = true;
k3s = { k3s = {
enable = true; enable = true;
@ -46,6 +47,7 @@
ignoreIP = [ ignoreIP = [
"172.16.0.0/12" "172.16.0.0/12"
"192.168.0.0/16" "192.168.0.0/16"
"10.0.0.0/8"
"tailc353f.ts.net" "tailc353f.ts.net"
]; ];
@ -93,10 +95,9 @@
}; };
nginx = { nginx = {
enable = false; enable = false;
virtualHosts."img.consensus.tailc353f.ts.net" = { virtualHosts."img.10110110.xyz" = {
# forceSSL = true; forceSSL = true;
# sslCertificate = "/etc/nginx/certs/consensus.tailc353f.ts.net.crt"; useACMEHost = "10110110.xyz";
# sslCertificateKey = "/etc/nginx/certs/consensus.tailc353f.ts.net.key";
locations."/" = { locations."/" = {
proxyPass = "http://localhost:${toString config.services.immich.port}"; proxyPass = "http://localhost:${toString config.services.immich.port}";
proxyWebsockets = true; proxyWebsockets = true;
@ -122,7 +123,7 @@
swapDevices = [ swapDevices = [
{ {
device = "/swapfile"; device = "/swapfile";
size = 8 * 1024; size = 16 * 1024;
} }
]; ];
virtualisation.docker.enable = true; virtualisation.docker.enable = true;

View file

@ -4,14 +4,16 @@
attrs, attrs,
system, system,
... ...
}: let }:
let
defaultModules = [ defaultModules = [
./configuration.nix ./configuration.nix
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.nix-index-database.nixosModules.nix-index inputs.nix-index-database.nixosModules.nix-index
inputs.determinate.nixosModules.default inputs.determinate.nixosModules.default
]; ];
in { in
{
t14 = inputs.nixpkgs.lib.nixosSystem { t14 = inputs.nixpkgs.lib.nixosSystem {
inherit pkgs; inherit pkgs;
specialArgs = { specialArgs = {
@ -21,9 +23,7 @@ in {
inherit (attrs) username; inherit (attrs) username;
}; };
}; };
modules = modules = defaultModules ++ [
defaultModules
++ [
./t14/configuration.nix ./t14/configuration.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1
]; ];
@ -37,10 +37,21 @@ in {
inherit (attrs) username; inherit (attrs) username;
}; };
}; };
modules = modules = defaultModules ++ [
defaultModules
++ [
./consensus/configuration.nix ./consensus/configuration.nix
]; ];
}; };
oracle = inputs.nixpkgs.lib.nixosSystem {
inherit pkgs;
specialArgs = {
inherit inputs system attrs;
host = {
hostName = "oracle1";
inherit (attrs) username;
};
};
modules = defaultModules ++ [
./oracle/configuration.nix
];
};
} }

View file

@ -0,0 +1,44 @@
{ ... }:
{
imports = [
./hardware-configuration.nix
];
boot.tmp.cleanOnBoot = true;
zramSwap.enable = true;
swapDevices = [
{
device = "/swapfile";
size = 16 * 1024;
}
];
services = {
fail2ban.enable = true;
fail2ban.maxretry = 5;
fail2ban.bantime = "1h";
fail2ban.ignoreIP = [
"172.16.0.0/12"
"192.168.0.0/16"
"10.0.0.0/8"
"tailc353f.ts.net"
];
fail2ban.bantime-increment = {
enable = true;
multipliers = "1 2 4 8 16 32 64 128 256";
maxtime = "24h";
overalljails = true;
};
tailscale.enable = true;
openssh.enable = true;
};
networking = {
domain = "";
hostId = "81238132";
hostName = "iofq-oracle-x840";
};
users.users.root.openssh.authorizedKeys.keys = [
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDcL53Gdrj5V9YDwKlCBIcgqiS+zHtOQpJlnOHTevJCJ e@t14''
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM4Zr0PFN7QdOG2aJ+nuzRCK6caulrpY6bphA1Ppl8Y e@t14''
];
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,25 @@
{ lib, modulesPath, ... }:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;
device = "nodev";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/DC8B-AC35";
fsType = "vfat";
};
boot.initrd.availableKernelModules = [
"ata_piix"
"uhci_hcd"
"xen_blkfront"
"vmw_pvscsi"
];
boot.initrd.kernelModules = [ "nvme" ];
fileSystems."/" = {
device = "/dev/sda1";
fsType = "ext4";
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -2,12 +2,10 @@
pkgs, pkgs,
attrs, attrs,
... ...
}: }: let
let
# Horrid workaround for https://github.com/nix-community/home-manager/issues/1011 # 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"; homeManagerSessionVars = "/etc/profiles/per-user/${attrs.username}/etc/profile.d/hm-session-vars.sh";
in in {
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./backups.nix ./backups.nix
@ -26,7 +24,7 @@ in
loader.systemd-boot.enable = true; loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true; loader.efi.canTouchEfiVariables = true;
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
blacklistedKernelModules = [ "bluetooth" ]; blacklistedKernelModules = ["bluetooth"];
}; };
# Networking # Networking
networking = { networking = {
@ -41,9 +39,9 @@ in
}; };
firewall = { firewall = {
enable = true; enable = true;
allowedTCPPorts = [ 11111 ]; allowedTCPPorts = [11111];
allowedUDPPorts = [ ]; allowedUDPPorts = [];
trustedInterfaces = [ "tailscale0" ]; trustedInterfaces = ["tailscale0"];
logRefusedConnections = true; logRefusedConnections = true;
}; };
}; };
@ -55,11 +53,11 @@ in
}; };
}; };
security.pam.services.swaylock = { }; security.pam.services.swaylock = {};
xdg.portal = { xdg.portal = {
enable = true; enable = true;
xdgOpenUsePortal = false; xdgOpenUsePortal = false;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; extraPortals = [pkgs.xdg-desktop-portal-gtk];
}; };
programs = { programs = {
light.enable = true; light.enable = true;
@ -70,6 +68,7 @@ in
steam.enable = true; steam.enable = true;
adb.enable = true; adb.enable = true;
fish.enable = true; # enable vendor completions fish.enable = true; # enable vendor completions
nh.enable = true;
}; };
# workaround for wait-online killing nixos build # workaround for wait-online killing nixos build
@ -136,7 +135,7 @@ in
enable = true; enable = true;
keyboards = { keyboards = {
default = { default = {
ids = [ "*" ]; ids = ["*"];
settings = { settings = {
main = { main = {
pause = "timeout(esc, 150, space)"; pause = "timeout(esc, 150, space)";
@ -161,7 +160,7 @@ in
nerd-fonts.ubuntu-mono nerd-fonts.ubuntu-mono
spleen spleen
]; ];
fontconfig.defaultFonts.monospace = [ "UbuntuMono" ]; fontconfig.defaultFonts.monospace = ["UbuntuMono"];
}; };
system.stateVersion = "22.11"; system.stateVersion = "22.11";
} }

47
pkgs/overlay.nix Normal file
View file

@ -0,0 +1,47 @@
final: prev: {
august-rsps = prev.stdenv.mkDerivation rec {
pname = "august-rsps";
version = "0.0.1";
jar = prev.fetchurl {
url = "https://cdn.discordapp.com/attachments/1223340813317308580/1291311940165046302/AugustRSPS_Launcher.jar?ex=68cfb375&is=68ce61f5&hm=33c31fbfe089624dc8aced1ddf1e663dc5c6eccec3072e36b458d38bbca2edc8&";
hash = "sha256-RY191f/LjNaJiobwoSMNm1yWEBSV7dFRfqru/BNNhv4=";
};
jogl = prev.fetchurl {
url = "https://repo.runelite.net/net/runelite/jogl/jogl-all/2.4.0-rc-20200429/jogl-all-2.4.0-rc-20200429-natives-linux-amd64.jar";
hash = "sha512-OmJIbk5pKtvf1n1I5UHu6iaOKNrPgmaJTPhqC8yMjaRh/Hso1vV/+Eu+zKu7d5UiVggVUzJxqDKatmEnqFrzbg==";
};
gluegen = prev.fetchurl {
url = "https://repo.runelite.net/net/runelite/gluegen/gluegen-rt/2.4.0-rc-20220318/gluegen-rt-2.4.0-rc-20220318-natives-linux-amd64.jar";
hash = "sha512-kF+RdDzYEhBuZOJ6ZwMhaEVcjYLxiwR8tYAm08FXDML45iP4HBEfmqHOLJpIakK06aQFj99/296vx810eDFX5A==";
};
dontUnpack = true;
nativeBuildInputs = [
prev.makeWrapper
prev.unzip
];
installPhase = ''
mkdir -p $out/share/august-rsps
mkdir -p $out/natives
unzip ${jogl} 'natives/*' -d $out
unzip ${gluegen} 'natives/*' -d $out
ln -s ${jar} $out/share/august-rsps/AugustRSPS_Launcher.jar
makeWrapper ${prev.jre}/bin/java $out/bin/august-rsps \
--chdir "$out" \
--prefix LD_LIBRARY_PATH : "${prev.xorg.libXxf86vm}/lib" \
--prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib:/run/opengl-driver-32/lib" \
--add-flags "-jar $out/share/august-rsps/AugustRSPS_Launcher.jar"
'';
meta = with prev.lib; {
description = "August RSPS Launcher";
maintainers = with maintainers; [iofq];
platforms = ["x86_64-linux"];
};
};
}