Compare commits

..

No commits in common. "3d3ae9c9b542e4a24a06ebddbe17123cae36ffa3" and "5d7ab7c4146c02dcaf3f8373b4b71d09d6ef09ac" have entirely different histories.

30 changed files with 564 additions and 3692 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,63 +0,0 @@
# 2025-06-03 01:43:42.121312
+no
# 2025-06-03 01:44:27.240992
+turn home-manager/shared/wayland into a proper nix module with an enable option
# 2025-06-03 01:44:36.865575
+/models
# 2025-06-03 01:47:42.074524
+0528
# 2025-06-03 01:47:50.370737
+/models 0528
# 2025-06-03 01:47:54.475226
+/models deepseek
# 2025-06-03 01:48:14.194735
+/models free
# 2025-06-03 01:48:25.146871
+/model openrouter/deepseek/deepseek-r1:free
# 2025-06-03 01:48:29.778686
+turn home-manager/shared/wayland into a proper nix module with an enable option
# 2025-06-03 01:49:15.946800
+turn home-manager/shared/wayland/alacritty/default.nix into a proper nix module with an enable option
# 2025-06-03 01:49:18.378542
+Y
# 2025-06-03 01:51:09.747592
+how would i integrate that module in home-manager/t14/home.nix?
# 2025-06-03 01:51:11.250817
+y
# 2025-06-03 02:02:23.802624
+create a nix module for home-manager/shared/programs/shell/git.nix, home-manager/shared/programs/shell/llm.nix, and home-manager/shared/programs/shell/tmux.nix, and home-manager/shared/programs/shell/fish/default.nix, including an enable option. then, import them in home-manager/t14/home.nix and enable them
# 2025-06-03 02:02:25.881078
+A
# 2025-06-03 02:04:06.643518
+y
# 2025-06-03 02:06:18.967080
+can you update home-manager/shared/programs/shell.nix and the imported files to use lib.mkEnableOption for each module? i.e i want git.enable = true, not programs.shell.git.enable
# 2025-06-03 02:08:58.825429
+can you update the /programs/ files to use lib.mkEnableOption for each module? similar to how home-manager/shared/wayland/alacritty/default.nix is setup i.e i want git.enable = true, not programs.shell.git.enable
# 2025-06-03 02:09:00.961212
+Y
# 2025-06-03 02:11:05.315129
+y
# 2025-06-03 02:12:57.508779
+n

Binary file not shown.

View file

@ -2,11 +2,9 @@
keys:
- &t14 age14e2d2y8e2avzfrsyxg9dudxd36svm24t7skw6e969n0c42znlp3shffdtg
- &consensus age16pdhm238k63uye3rf4cwwe7ddyzds6xj9jv4wpsfggkghyarjqtsjzkxna
- &oracle age12tz2r7clep9e450qhr5a6ctnx29ywmu0llq8uk9kcwhpp82zsa0sk9la9h
creation_rules:
- path_regex: secrets/[^/]+\.yaml$
key_groups:
- age:
- *t14
- *consensus
- *oracle

563
flake.lock generated
View file

@ -1,21 +1,5 @@
{
"nodes": {
"dart": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1758080529,
"narHash": "sha256-Sup4+HacL6Xe6mTk23N6sD4uXoU9dcoqRgc9Mu0oQ5E=",
"path": "/home/e/dev/dart.nvim",
"type": "path"
},
"original": {
"path": "/home/e/dev/dart.nvim",
"type": "path"
}
},
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat",
@ -25,10 +9,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1756719547,
"lastModified": 1727447169,
"narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "125ae9e3ecf62fb2c0fd4f2d894eb971f1ecaed2",
"rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76",
"type": "github"
},
"original": {
@ -50,12 +35,12 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1757699119,
"narHash": "sha256-iOOoVdrkcyk95Xg68TuPeAwpz+v80mgZCqil0jpPZuY=",
"rev": "1e16c8f8a44573bb0648c76b6c98352436f5171e",
"revCount": 304,
"lastModified": 1748911895,
"narHash": "sha256-xXeDMMKuv8A/wlHgq6+4E6fcYJm/Munr764E0wyFEOs=",
"rev": "0bfc40897a765936318cad1076c915308bf33855",
"revCount": 246,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.11.2/01993f0b-1215-7072-ac1a-f2b27b566115/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.6.2/01973348-6edf-7091-8b18-54f942b2bf2f/source.tar.gz"
},
"original": {
"type": "tarball",
@ -65,47 +50,47 @@
"determinate-nixd-aarch64-darwin": {
"flake": false,
"locked": {
"narHash": "sha256-q1tqDvmfjDgLk/wbYf4pRhyHDS94iY85Q79FPBtcv7g=",
"narHash": "sha256-qh0zj1z3zc6wd3vuQIZkfisxDIIQE/oC1l3zpEWoWx0=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/macOS"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.6.2/macOS"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/macOS"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.6.2/macOS"
}
},
"determinate-nixd-aarch64-linux": {
"flake": false,
"locked": {
"narHash": "sha256-E1vGfcQ5dqtRG9EDP6eOQWCnCIRB2XFkFBp2C4FgQ8c=",
"narHash": "sha256-PVdj96Pxn9pDP0WrYVlJWsymCXNDBAjzyk/b0qMtRRs=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/aarch64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.6.2/aarch64-linux"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/aarch64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.6.2/aarch64-linux"
}
},
"determinate-nixd-x86_64-linux": {
"flake": false,
"locked": {
"narHash": "sha256-GtxtkI0cOC2A30Xw6gCDTN7JxN1zJGh7/eIXr6AlTSA=",
"narHash": "sha256-X3gcLv4dHU3bkDgNN5GaY0sfsWrSqIHoKjVNP8+uHHQ=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/x86_64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.6.2/x86_64-linux"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/x86_64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.6.2/x86_64-linux"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -117,11 +102,11 @@
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@ -149,11 +134,11 @@
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -197,11 +182,11 @@
"flake-compat_7": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -213,11 +198,11 @@
"flake-compat_8": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -235,16 +220,17 @@
]
},
"locked": {
"lastModified": 1748821116,
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"revCount": 377,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.377%2Brev-49f0870db23e8c1ca0b5259734a02cd9e1e371a1/01972f28-554a-73f8-91f4-d488cc502f08/source.tar.gz"
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1"
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
@ -255,11 +241,11 @@
]
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"lastModified": 1748821116,
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"type": "github"
},
"original": {
@ -269,6 +255,27 @@
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"neovim-nightly-overlay",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
@ -286,7 +293,7 @@
"type": "github"
}
},
"flake-parts_4": {
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"nvim",
@ -295,11 +302,11 @@
]
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
@ -308,7 +315,7 @@
"type": "github"
}
},
"flake-parts_5": {
"flake-parts_6": {
"inputs": {
"nixpkgs-lib": [
"nvim",
@ -318,11 +325,11 @@
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
@ -348,44 +355,9 @@
"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",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gen-luarc": {
"inputs": {
"flake-parts": "flake-parts_3",
"flake-parts": "flake-parts_4",
"git-hooks": "git-hooks_2",
"luvit-meta": "luvit-meta",
"nixpkgs": [
@ -394,11 +366,11 @@
]
},
"locked": {
"lastModified": 1755304025,
"narHash": "sha256-xVKfjFwc0zMbLMjLTiHz+0llggkjs93SmHkhaa9S3M4=",
"lastModified": 1724097937,
"narHash": "sha256-Q4tgm8ZHAQUdvsNft86MqIbHQAm7OF7RT/wwYWXqSdY=",
"owner": "mrcjkb",
"repo": "nix-gen-luarc-json",
"rev": "1865b0ebb753ae5324d7381b1fa8c98c04ec7509",
"rev": "b36b69c4ded9f31b079523bc452e23458734cf00",
"type": "github"
},
"original": {
@ -417,11 +389,11 @@
]
},
"locked": {
"lastModified": 1758108966,
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
@ -441,19 +413,25 @@
"determinate",
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"determinate",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"revCount": 1026,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/cachix/git-hooks.nix/0.1.1026%2Brev-80479b6ec16fefd9c1db3ea13aeb038c60530f46/0196d79a-1b35-7b8e-a021-c894fb62163d/source.tar.gz"
"lastModified": 1734279981,
"narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785",
"type": "github"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941"
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks_2": {
@ -492,11 +470,11 @@
]
},
"locked": {
"lastModified": 1755960406,
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
@ -596,21 +574,18 @@
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": [
"neovim-nightly-overlay",
"flake-parts"
],
"flake-parts": "flake-parts_3",
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1758022363,
"narHash": "sha256-ENUhCRWgSX4ni751HieNuQoq06dJvApV/Nm89kh+/A0=",
"lastModified": 1748000383,
"narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "1a3667d33e247ad35ca250698d63f49a5453d824",
"rev": "231726642197817d20310b9d39dd4afb9e899489",
"type": "github"
},
"original": {
@ -621,7 +596,7 @@
},
"hercules-ci-effects_2": {
"inputs": {
"flake-parts": "flake-parts_5",
"flake-parts": "flake-parts_6",
"nixpkgs": [
"nvim",
"neovim-nightly-overlay",
@ -629,11 +604,11 @@
]
},
"locked": {
"lastModified": 1755233722,
"narHash": "sha256-AavrbMltJKcC2Fx0lfJoZfmy7g87ebXU0ddVenhajLA=",
"lastModified": 1747284884,
"narHash": "sha256-lTSKhRrassMcJ1ZsuUVunyl/F04vvCKY80HB/4rvvm4=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "99e03e72e3f7e13506f80ef9ebaedccb929d84d0",
"rev": "7168f6002a6b48a9b6151e1e97e974a0722ecfdc",
"type": "github"
},
"original": {
@ -649,10 +624,11 @@
]
},
"locked": {
"lastModified": 1758593331,
"lastModified": 1748830238,
"narHash": "sha256-EB+LzYHK0D5aqxZiYoPeoZoOzSAs8eqBDxm3R+6wMKU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9a2dc0efbc569ce9352a6ffb8e8ec8dbc098e142",
"rev": "c7fdb7e90bff1a51b79c1eed458fb39e6649a82a",
"type": "github"
},
"original": {
@ -662,27 +638,6 @@
"type": "github"
}
},
"jj": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1758574386,
"owner": "jj-vcs",
"repo": "jj",
"rev": "86bbe5a3cb5ea3bf79c97f907dc476c79fdc4aa3",
"type": "github"
},
"original": {
"owner": "jj-vcs",
"repo": "jj",
"type": "github"
}
},
"luvit-meta": {
"flake": false,
"locked": {
@ -699,6 +654,22 @@
"type": "github"
}
},
"mini-nvim": {
"flake": false,
"locked": {
"lastModified": 1747734615,
"narHash": "sha256-Nym+lyfEkAdnEmUT6s8ejd+hTIMvC6tMUzJyZLmp6cg=",
"owner": "echasnovski",
"repo": "mini.nvim",
"rev": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.nvim",
"type": "github"
}
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat_3",
@ -710,10 +681,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1758585901,
"lastModified": 1748838808,
"narHash": "sha256-mSAJD41472sC55IW+lUQGAjn9gsh7w/ClNvfukMvHEc=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "095a690e04f89107ba15c3b7ebd1954e0802adfe",
"rev": "4fb826468dd110892a4784a0106ef6f3a34f0907",
"type": "github"
},
"original": {
@ -725,19 +697,19 @@
"neovim-nightly-overlay_2": {
"inputs": {
"flake-compat": "flake-compat_6",
"flake-parts": "flake-parts_4",
"flake-parts": "flake-parts_5",
"git-hooks": "git-hooks_3",
"hercules-ci-effects": "hercules-ci-effects_2",
"neovim-src": "neovim-src_2",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_5",
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1756771594,
"narHash": "sha256-Ln3i7qWzBThCgsetcPgotG1TK7TCZPzPudwKzGKtmPc=",
"lastModified": 1747786187,
"narHash": "sha256-9SSsln1nd3SnECH7I466UzLZ2luJS1phTOYG0ehRAxQ=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "68c0096bd5d0ff8b9c436cf5338f1fb24957d980",
"rev": "1709adcc65a1779b6513db3470dad257de7c24ae",
"type": "github"
},
"original": {
@ -749,11 +721,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1758583287,
"narHash": "sha256-Sg1Ge7rBC3jL9kg/xlkdr9rbvJILIUu6jkMnV28zMEE=",
"lastModified": 1748816622,
"narHash": "sha256-KWkPOptegP3DP+Y8tPM9KvtZ20pVusfinMM/brTwIIo=",
"owner": "neovim",
"repo": "neovim",
"rev": "78371610769f980cd0a629853628de5fe9127cee",
"rev": "52991d8728c876366cd28f75be29ee579a0a8605",
"type": "github"
},
"original": {
@ -765,11 +737,11 @@
"neovim-src_2": {
"flake": false,
"locked": {
"lastModified": 1756770793,
"narHash": "sha256-qlgoWy70c9Qcr/jpru16XwSQlkq0tFbFOZcyfmQRPu4=",
"lastModified": 1747760768,
"narHash": "sha256-5oDiP8Yn93692CUEH81LJbZxPIprIozLHdkFt5N9Np4=",
"owner": "neovim",
"repo": "neovim",
"rev": "4f374bf938283b2d8c842bddb4583337aba0555d",
"rev": "cd9d8469b22cedeb5ccad3def6e3cfee2877577f",
"type": "github"
},
"original": {
@ -787,12 +759,12 @@
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1757694985,
"narHash": "sha256-3Ia+y7Hbwnzcuf1hyuVnFtbnSR6ErQeFjemHdVxjCNE=",
"rev": "766f43aa6acb1b3578db488c19fbbedf04ed9f24",
"revCount": 22340,
"lastModified": 1748909153,
"narHash": "sha256-A/yjYc+vdkjvw3xI7qgfYRI+jzyiW9Ay6JPhGu1gFyo=",
"rev": "a18fd9b131eb713eba11a746beb3d79628016936",
"revCount": 20936,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.11.2/01993ee9-f8e7-7b80-80df-ec0a20a32514/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.6.2/01973342-bafd-782a-bbcf-6606879c0df6/source.tar.gz"
},
"original": {
"type": "tarball",
@ -806,10 +778,11 @@
]
},
"locked": {
"lastModified": 1758427679,
"lastModified": 1748751003,
"narHash": "sha256-i4GZdKAK97S0ZMU3w4fqgEJr0cVywzqjugt2qZPrScs=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85",
"rev": "2860bee699248d828c2ed9097a1cd82c2f991b43",
"type": "github"
},
"original": {
@ -820,10 +793,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1757943327,
"lastModified": 1748634340,
"narHash": "sha256-pZH4bqbOd8S+si6UcfjHovWDiWKiIGRNRMpmRWaDIms=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
"rev": "daa628a725ab4948e0e2b795e8fb6f4c3e289a7a",
"type": "github"
},
"original": {
@ -834,16 +808,18 @@
},
"nixpkgs": {
"locked": {
"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.2505.808723%2Brev-b1b3291469652d5a2edb0becc4ef0246fff97a7c/0198daf7-011a-7703-95d7-57146e794342/source.tar.gz"
"lastModified": 1747179050,
"narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e",
"type": "github"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505"
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-23-11": {
@ -906,14 +882,30 @@
"type": "github"
}
},
"nixpkgs-uns": {
"locked": {
"lastModified": 1747744144,
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1757034884,
"narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=",
"rev": "ca77296380960cd497a765102eeb1356eb80fed0",
"revCount": 856744,
"lastModified": 1748217807,
"narHash": "sha256-P3u2PXxMlo49PutQLnk2PhI/imC69hFl1yY4aT5Nax8=",
"rev": "3108eaa516ae22c2360928589731a4f1581526ef",
"revCount": 806109,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.856744%2Brev-ca77296380960cd497a765102eeb1356eb80fed0/01992cf9-9347-761a-8963-9cbe43abe2fa/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.806109%2Brev-3108eaa516ae22c2360928589731a4f1581526ef/01971040-062f-7e68-83d1-5cd2af08d87e/source.tar.gz"
},
"original": {
"type": "tarball",
@ -922,11 +914,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1758446476,
"narHash": "sha256-5rdAi7CTvM/kSs6fHe1bREIva5W3TbImsto+dxG4mBo=",
"lastModified": 1748662220,
"narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0",
"rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643",
"type": "github"
},
"original": {
@ -938,10 +930,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1758277210,
"lastModified": 1748693115,
"narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
"rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc",
"type": "github"
},
"original": {
@ -953,26 +946,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1755660401,
"lastModified": 1747728033,
"narHash": "sha256-NnXFQu7g4LnvPIPfJmBuZF7LFy/fey2g2+LCzjQhTUk=",
"owner": "NixOS",
"repo": "nixpkgs",
"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",
"rev": "2f9173bde1d3fbf1ad26ff6d52f952f9e9da52ea",
"type": "github"
},
"original": {
@ -982,74 +960,28 @@
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1756785263,
"narHash": "sha256-EPOPPfDnxKZna6Qt1Pl2OsECN8SMLVw7QKeRntWJUa4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "10bee29e15dab2dd3f406aebbdf79ea4af52ceeb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim": {
"inputs": {
"dart": "dart",
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils",
"gen-luarc": "gen-luarc",
"mini-nvim": "mini-nvim",
"neovim-nightly-overlay": "neovim-nightly-overlay_2",
"nixpkgs": "nixpkgs_7",
"nvim-treesitter": "nvim-treesitter",
"nvim-treesitter-textobjects": "nvim-treesitter-textobjects"
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-uns": "nixpkgs-uns"
},
"locked": {
"lastModified": 1758080920,
"narHash": "sha256-0songGRyfBLDBIHqQKMi0JL9I1fjCT8c3wYEnxDvr3o=",
"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",
"lastModified": 1748846777,
"narHash": "sha256-tx/SXqbRL6E5pSSBWZgh1e9m85P/lveKTYkb583IEOQ=",
"owner": "iofq",
"repo": "nvim.nix",
"rev": "ee647f4338a07d5837479050a6b98b170a283dde",
"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",
"owner": "iofq",
"repo": "nvim.nix",
"type": "github"
}
},
@ -1062,10 +994,11 @@
]
},
"locked": {
"lastModified": 1758108966,
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
@ -1079,7 +1012,6 @@
"deploy-rs": "deploy-rs",
"determinate": "determinate",
"home-manager": "home-manager",
"jj": "jj",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nix-index-database": "nix-index-database",
"nixos-hardware": "nixos-hardware",
@ -1087,31 +1019,10 @@
"nvim": "nvim",
"pre-commit-hooks": "pre-commit-hooks",
"sops-nix": "sops-nix",
"systems": "systems_5",
"systems": "systems_3",
"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": [
@ -1119,10 +1030,11 @@
]
},
"locked": {
"lastModified": 1758425756,
"lastModified": 1747603214,
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762",
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
"type": "github"
},
"original": {
@ -1171,38 +1083,8 @@
"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,
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
"id": "systems",
"type": "indirect"
}
},
"treefmt-nix": {
@ -1213,11 +1095,11 @@
]
},
"locked": {
"lastModified": 1758206697,
"narHash": "sha256-/DbPkh6PZOgfueCbs3uzlk4ASU2nPPsiVWhpMCNkAd0=",
"lastModified": 1748243702,
"narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "128222dc911b8e2e18939537bed1762b7f3a04aa",
"rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007",
"type": "github"
},
"original": {
@ -1235,11 +1117,11 @@
]
},
"locked": {
"lastModified": 1756662192,
"narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=",
"lastModified": 1747469671,
"narHash": "sha256-bo1ptiFoNqm6m1B2iAhJmWCBmqveLVvxom6xKmtuzjg=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4",
"rev": "ab0378b61b0d85e73a8ab05d5c6029b5bd58c9fb",
"type": "github"
},
"original": {
@ -1255,10 +1137,11 @@
]
},
"locked": {
"lastModified": 1758206697,
"lastModified": 1748243702,
"narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "128222dc911b8e2e18939537bed1762b7f3a04aa",
"rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007",
"type": "github"
},
"original": {
@ -1272,11 +1155,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {

View file

@ -23,32 +23,23 @@
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
# nvim = {
# url = "github:iofq/nvim.nix";
# };
nvim = {
url = "path:/home/e/dev/nvim.nix";
url = "github:iofq/nvim.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
deploy-rs = {
url = "github:serokell/deploy-rs";
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/*";
systems.url = "github:nix-systems/default";
};
outputs =
{
outputs = {
self,
nixpkgs,
systems,
...
}@inputs:
let
} @ inputs: let
attrs = {
username = "e";
};
@ -57,30 +48,18 @@
inherit system;
config.allowUnfree = true;
overlays = [
inputs.neovim-nightly-overlay.overlays.default
inputs.nvim.overlays.default
(old: new: {
jujutsu = inputs.jj.packages.${system}.jujutsu;
})
(import ./pkgs/overlay.nix)
inputs.neovim-nightly-overlay.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; };
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;
src = ./.;
hooks = {
treefmt.enable = true;
treefmt.package = treefmtEval.${system}.config.build.wrapper;
@ -97,20 +76,12 @@
path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.consensus;
};
};
oracle = {
hostname = "oracle";
sshUser = "root";
remoteBuild = false;
profiles.system = {
user = "root";
path = inputs.deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.oracle;
};
};
};
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
devShells.${system}.default = pkgs.mkShell {
inherit (self.checks.pre-commit-check) shellHook;
buildInputs = [
pkgs.nix
pkgs.home-manager
pkgs.git
pkgs.ssh-to-age

View file

@ -4,11 +4,11 @@
attrs,
...
}: {
inputs.home-manager.useGlobalPkgs = true;
"e" = inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs attrs;
useGlobalPkgs = true;
host = {
hostName = "t14";
inherit (attrs) username;
@ -20,10 +20,10 @@
];
};
"minimal" = inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs attrs;
targets.genericLinux.enable = true;
useGlobalPkgs = true;
host = {
hostName = "e";
inherit (attrs) username;

View file

@ -1,5 +1,12 @@
{attrs, ...}: {
{
inputs,
attrs,
...
}: {
programs.home-manager.enable = true;
nix = {
registry.nixpkgs.flake = inputs.nixpkgs;
};
home = {
inherit (attrs) username;
stateVersion = "22.11";

View file

@ -5,7 +5,7 @@
gnumake
jq
tree
jjui
jujutsu
emacs-nox
#devops
@ -21,8 +21,5 @@
#c
gcc
#llm
aider-chat
];
}

View file

@ -1,5 +1,7 @@
{ pkgs, ... }:
{
pkgs,
...
}: {
imports = [
./tmux.nix
./git.nix
@ -18,7 +20,7 @@
programs.bash = {
enable = true;
enableCompletion = true;
historyControl = [ "ignorespace" ];
historyControl = ["ignorespace"];
historyIgnore = [
":q"
"exit"
@ -71,7 +73,7 @@
};
programs.fzf = {
enable = true;
historyWidgetOptions = [ "--height 60% --preview ''" ];
historyWidgetOptions = ["--height 60% --preview ''"];
fileWidgetCommand = "command find -L . -mindepth 1 -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' -prune";
};
programs.direnv = {
@ -86,20 +88,17 @@
pinentry-mode = "loopback";
};
};
programs.zoxide = {
enable = true;
enableFishIntegration = true;
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
pinentry.package = pkgs.pinentry-rofi;
extraConfig = ''
allow-loopback-pinentry
'';
};
programs.nix-index = {
programs = {
nix-index = {
enableBashIntegration = false;
enableFishIntegration = true;
};
};
}

View file

@ -1,4 +1,4 @@
{pkgs, ...}: {
{pkgs, host, ...}: {
programs.fish = {
enable = true;
interactiveShellInit = ''
@ -6,21 +6,17 @@
set show_startup_tips false
'';
shellInit = "
fish_add_path /usr/local/go/bin
fish_add_path ~/go/bin
fish_add_path ~/.local/bin
set -gx MANPAGER 'nvim +Man!'
set -gx EDITOR 'nvim'
set -gx NH_FLAKE '/home/e/dev/nix'
set -gx _JAVA_AWT_WM_NONREPARENTING 1
set -gx NIX_FLAKE '/home/e/dev/nix'
";
plugins = [
{
name = "fzf";
inherit (pkgs.fishPlugins.fzf-fish) src;
}
{
name = "puffer";
inherit (pkgs.fishPlugins.puffer) src;
}
{name = "fzf"; inherit (pkgs.fishPlugins.fzf-fish) src;}
{name = "puffer"; inherit (pkgs.fishPlugins.puffer) src;}
];
functions = import ./functions.nix;
shellAbbrs = {
@ -29,11 +25,14 @@
};
shellAliases = {
":q" = "exit";
hms = "home-manager switch --flake $NIX_FLAKE#${host.username}";
rbs = "sudo nixos-rebuild switch --flake $NIX_FLAKE#${host.hostName}";
mpv = "mpv --no-keepaspect-window";
cat = "bat -pp";
tcd = "cd $(mktemp -d)";
docker = "nerdctl";
vimdiff = "nvim -d";
ls = "eza";
};
};
}

View file

@ -16,29 +16,19 @@
end
'';
};
nix-prefetch-hash = {
body = ''
nix-hash --type sha256 --to-base64 (nix-prefetch-url $argv)
'';
};
fish_jj_prompt = {
body = ''
if not command -sq jj
return 1
end
if not command -sq timeout
return 1
end
if set -q FISH_JJ
return 0
end
if not jj workspace root --ignore-working-copy &>/dev/null
if not jj root &>/dev/null
return 1
end
# Generate prompt
set -l info "$(
timeout 5 jj log --ignore-working-copy --no-graph --color=always --revisions=@ --template "
jj log --ignore-working-copy --no-graph --color=always --revisions=@ --template "
separate(
' ',
self.change_id().shortest(),

View file

@ -1,5 +1,4 @@
{ pkgs, config, ... }:
{
{pkgs, ...}: {
programs.git = {
enable = true;
userEmail = "cjriddz@protonmail.com";
@ -25,12 +24,9 @@
programs.jujutsu = {
enable = true;
settings = {
# core = {
# fsmonitor = "watchman";
# watchman = {
# register-snapshot-trigger = true;
# };
# };
core = {
fsmonitor = "watchman";
};
user = {
email = "cjriddz@protonmail.com";
name = "iofq";
@ -39,16 +35,16 @@
username = "iofq";
};
signing = {
behavior = "drop";
behavior = "own";
backend = "gpg";
key = "cjriddz@protonmail.com";
};
ui = {
default-command = [ "log" ];
default-command = ["log"];
conflict-marker-style = "git";
merge-editor = "vimdiff";
diff-editor = "diffview";
diff-formatter = ":git";
diff.format = "git";
paginate = "never";
movement = {
edit = true;
@ -77,48 +73,12 @@
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";
};
revsets = {
anc = "ancestors(@,10) | trunk()";
};
aliases = {
tug = [
"bookmark"
"move"
"--from"
"heads(::@- & bookmarks())"
"--to"
"@"
];
};
fix = {
tools = {
treefmt = {
command = [ "treefmt" ];
patterns = [ "glob:**/*.nix" ];
};
};
tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@"];
};
};
};

View file

@ -1,8 +1,6 @@
{ config, pkgs, ... }:
{
{config, ...}: {
programs.tmux = {
enable = true;
terminal = "xterm-256color";
keyMode = "vi";
mouse = true;
newSession = true;
@ -13,13 +11,10 @@
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 '${pkgs.wl-clipboard}/bin/wl-copy'
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'xclip -sel clip -i'
set -g status-right ""
setw -g status-style 'bg=terminal fg=colour7'
setw -g status-style 'bg=colour0 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"'
'';
};
@ -31,8 +26,7 @@
default_mode "locked"
keybinds {
tmux {
bind "Ctrl a" { SwitchToMode "Locked"; }
bind "Ctrl b" { Write 1; }
bind "Ctrl a" { Write 2; SwitchToMode "Locked"; }
bind "[" { SwitchToMode "Scroll"; }
bind "\"" { NewPane "Down"; SwitchToMode "Locked"; }
bind "%" { NewPane "Right"; SwitchToMode "Locked"; }
@ -66,9 +60,6 @@
bind "8" { GoToTab 8; SwitchToMode "Locked"; }
bind "9" { GoToTab 9; SwitchToMode "Locked"; }
}
locked {
unbind "Ctrl g"
}
shared_except "tmux" {
bind "Ctrl a" {
SwitchToMode "Tmux"

View file

@ -7,8 +7,8 @@
./alacritty
./hyprland
];
home = {
packages = with pkgs; [
home.packages = with pkgs; [
pulseaudio
pulsemixer
alsa-utils
@ -20,41 +20,10 @@
sway-contrib.grimshot
xdg-utils
];
sessionVariables = {
home.sessionVariables = {
MOZ_DBUS_REMOTE = 1;
};
file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/DMZ-Black";
};
services = {
gammastep = {
enable = true;
dawnTime = "6:00-8:00";
duskTime = "20:00-22:00";
latitude = 43.0;
longitude = -89.0;
temperature.day = 6000;
temperature.night = 3500;
};
swayidle = {
enable = true;
events = [
{
event = "before-sleep";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
};
mako.enable = true;
mako.settings = {
default-timeout = 5;
};
};
programs = {
wofi = {
programs.wofi = {
enable = true;
style = ''
window, #input, #entry, #scroll, #text, #inner-box {
@ -67,7 +36,16 @@
}
'';
};
swaylock = {
services.gammastep = {
enable = true;
dawnTime = "6:00-8:00";
duskTime = "20:00-22:00";
latitude = 43.0;
longitude = -89.0;
temperature.day = 6000;
temperature.night = 3500;
};
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
settings = {
@ -77,6 +55,18 @@
ignore-empty-password = true;
};
};
services.swayidle = {
enable = true;
events = [
{
event = "before-sleep";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
};
xdg = {
configFile."mimeapps.list".force = true;
@ -102,4 +92,6 @@
};
};
};
services.mako.enable = true;
home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/DMZ-Black";
}

View file

@ -1,12 +1,11 @@
{ 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 = {
@ -50,7 +49,6 @@
accel_profile = "flat";
sensitivity = 0.4;
touchpad = {
disable_while_typing = true;
natural_scroll = true;
tap_button_map = "lrm";
middle_button_emulation = false;
@ -70,7 +68,8 @@
"$mod ALT, j, resizeactive, 0 50"
"$mod ALT, k, resizeactive, 0 -50"
];
bind = [
bind =
[
"$mod, a, hyprexpo:expo, toggle"
"$mod, Return, exec, alacritty"
"$mod, x, killactive"
@ -80,8 +79,6 @@
"$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"
@ -92,7 +89,7 @@
",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
## Movement
"$mod, m, layoutmsg, swapwithmaster"
"$mod, p, layoutmsg, swapwithmaster"
"$mod, e, layoutmsg, orientationnext"
"$mod, i, layoutmsg, addmaster"
"$mod, d, layoutmsg, removemaster"
@ -100,12 +97,10 @@
"$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 SHIFT, h, movewindow, l"
"$mod SHIFT, l, movewindow, r"
"$mod SHIFT, k, movewindow, u"
"$mod SHIFT, j, movewindow, d"
"$mod, COMMA, focusmonitor, l"
"$mod, PERIOD, focusmonitor, r"
"$mod SHIFT, COMMA, movewindow, mon:l"
@ -115,22 +110,18 @@
++ (
# workspaces
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
builtins.concatLists (
builtins.genList (
x:
let
ws =
let
builtins.concatLists (builtins.genList (
x: let
ws = let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in
[
in [
"$mod, ${ws}, focusworkspaceoncurrentmonitor, ${toString (x + 1)}"
"$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}"
]
) 10
)
10)
);
windowrulev2 = [
"workspace 9, class:^(Discord|discord)$"
@ -158,7 +149,7 @@
services.hyprpaper = {
enable = true;
settings = {
preload = [ "/home/pape" ];
preload = ["/home/pape"];
wallpaper = ",/home/pape";
ipc = "off";
splash = false;

View file

@ -2,8 +2,7 @@
pkgs,
lib,
...
}:
{
}: {
imports = [
../shared/programs/default.nix
../shared/wayland/default.nix
@ -14,7 +13,6 @@
prismlauncher
runelite
jdk21
august-rsps
# comms
signal-desktop
@ -28,31 +26,20 @@
mpv
piper
calibre
yt-dlp
# sysutils
appimage-run
wireguard-tools
android-tools
];
sessionVariables = {
MOZ_ENABLE_WAYLAND = 1;
JAVA_AWT_WM_NONREPARENTING = 1;
};
};
programs.librewolf.enable = true;
programs.ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"consensus" = {
port = 2022;
hostname = "consensus.tailc353f.ts.net";
identityFile = "/home/e/.ssh/id_ed25519";
};
"oracle" = {
port = 2022;
hostname = "129.213.119.29";
hostname = "192.168.1.251";
identityFile = "/home/e/.ssh/id_ed25519";
};
"10110110.xyz" = {

View file

@ -1,9 +1,7 @@
{
inputs,
host,
...
}: {
# Create plugdev group
host,
...
}: { # Create plugdev group
networking.hostName = host.hostName;
time.timeZone = "America/Chicago";
users = {
@ -17,7 +15,6 @@
"plugdev"
"video"
"adbusers"
"network"
];
};
};
@ -31,7 +28,6 @@
# Enable flakes and unfree packages
nix = {
registry.nixpkgs.flake = inputs.nixpkgs;
settings = {
auto-optimise-store = true;
substituters = [
@ -44,15 +40,11 @@
];
trusted-users = [host.username];
experimental-features = ["nix-command" "flakes"];
lazy-trees = true;
};
channel.enable = false;
nixPath = ["nixpkgs=flake:nixpkgs"];
gc = {
automatic = true;
dates = "00:00";
options = "--delete-older-than 14d";
};
};
security.sudo-rs.enable = true;
}

View file

@ -1,11 +1,10 @@
{ 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 = {
@ -16,7 +15,7 @@
passwordFile = config.sops.secrets."b2-immich/password".path;
paths = [
"/srv/immich"
"/rice/immich"
];
timerConfig = {
OnCalendar = "06:00";

View file

@ -1,19 +1,11 @@
{
lib,
pkgs,
config,
...
}:
{
{lib, pkgs, config, ...}: {
imports = [
./hardware-configuration.nix
./backups.nix
];
sops = {
secrets = {
"env" = {
sopsFile = ../../secrets/cf-acme.yaml;
};
"env" = { sopsFile = ../../secrets/cf-acme.yaml; };
};
};
documentation = {
@ -24,14 +16,13 @@
};
environment.systemPackages = with pkgs; [
git
vim
nvim-pkg
docker-compose
tmux
];
services = {
# zfs.autoScrub.enable = true;
# zfs.autoSnapshot.enable = true;
fstrim.enable = true;
zfs.autoScrub.enable = true;
zfs.autoSnapshot.enable = true;
tailscale.enable = true;
k3s = {
enable = true;
@ -40,64 +31,27 @@
"--disable=traefik"
];
};
fail2ban = {
enable = true;
maxretry = 5;
bantime = "1h";
ignoreIP = [
"172.16.0.0/12"
"192.168.0.0/16"
"10.0.0.0/8"
"tailc353f.ts.net"
];
bantime-increment = {
enable = true;
multipliers = "1 2 4 8 16 32 64 128 256";
maxtime = "24h";
overalljails = true;
};
};
openssh = {
enable = true;
ports = [ 2022 ];
ports = [2022];
settings = {
PasswordAuthentication = false;
PermitRootLogin = "prohibit-password";
PermitEmptyPasswords = false;
PermitTunnel = false;
UseDns = false;
KbdInteractiveAuthentication = false;
X11Forwarding = false;
MaxAuthTries = 3;
MaxSessions = 2;
ClientAliveInterval = 300;
ClientAliveCountMax = 0;
TCPKeepAlive = false;
AllowTcpForwarding = false;
AllowAgentForwarding = false;
LogLevel = "VERBOSE";
};
hostKeys = [
{
path = "/etc/ssh/ssh_host_ed25519_key";
type = "ed25519";
}
];
};
immich = {
enable = false;
enable = true;
port = 2283;
host = "localhost";
openFirewall = true;
machine-learning.enable = true;
mediaLocation = "/srv/immich";
machine-learning.enable = false;
mediaLocation = "/rice/immich";
};
nginx = {
enable = false;
enable = true;
virtualHosts."img.10110110.xyz" = {
forceSSL = true;
useACMEHost = "10110110.xyz";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:${toString config.services.immich.port}";
proxyWebsockets = true;
@ -114,16 +68,16 @@
};
boot = {
tmp.cleanOnBoot = true;
# supportedFilesystems = ["zfs"];
# zfs.forceImportRoot = false;
# zfs.extraPools = ["rice"];
supportedFilesystems = ["zfs"];
zfs.forceImportRoot = false;
zfs.extraPools = ["rice"];
};
networking.hostId = "91238132";
zramSwap.enable = false;
swapDevices = [
{
device = "/swapfile";
size = 16 * 1024;
device = "/var/swapfile";
size = 4 * 1024;
}
];
virtualisation.docker.enable = true;
@ -149,33 +103,31 @@
};
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 AAAAC3NzaC1lZDI1NTE5AAAAIJou+k8HtIWdlztpWog7fVfJgxJnRIo7c5xVPUBhBxhi'' # phone
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAdo4PS8myKaKAdyIqSFj2VJ+oZ9DNRIp7PBz8IWKjjy''
];
};
};
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.sudo.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"];
system.stateVersion = "23.11";
}

View file

@ -1,29 +1,10 @@
{
lib,
modulesPath,
...
}:
{ lib, modulesPath, ... }:
{
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.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ];
boot.initrd.kernelModules = [ "nvme" ];
fileSystems."/" = {
device = "/dev/mapper/vg-root";
fsType = "btrfs";
};
fileSystems."/var" = {
device = "/dev/mapper/vg-var";
fsType = "btrfs";
};
fileSystems."/srv" = {
device = "/dev/ext/srv";
fsType = "ext4";
};
fileSystems."/" = { device = "/dev/mapper/vg-root"; fsType = "btrfs"; };
fileSystems."/var" = { device = "/dev/mapper/vg-var"; fsType = "btrfs"; };
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -4,16 +4,13 @@
attrs,
system,
...
}:
let
}: let
defaultModules = [
./configuration.nix
inputs.sops-nix.nixosModules.sops
inputs.nix-index-database.nixosModules.nix-index
inputs.determinate.nixosModules.default
];
in
{
in {
t14 = inputs.nixpkgs.lib.nixosSystem {
inherit pkgs;
specialArgs = {
@ -23,7 +20,10 @@ in
inherit (attrs) username;
};
};
modules = defaultModules ++ [
modules =
defaultModules
++ [
./configuration.nix
./t14/configuration.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1
];
@ -37,21 +37,11 @@ in
inherit (attrs) username;
};
};
modules = defaultModules ++ [
modules =
defaultModules
++ [
./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

@ -1,80 +0,0 @@
{ ... }:
{
imports = [
./hardware-configuration.nix
./forgejo.nix
];
boot.tmp.cleanOnBoot = true;
boot.kernel.sysctl = {
"net.ipv4.ip_forward" = 1;
"net.ipv6.conf.all.forwarding" = 1;
};
zramSwap.enable = true;
swapDevices = [
{
device = "/swapfile";
size = 2 * 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;
ports = [
2022
];
settings = {
PasswordAuthentication = false;
PermitRootLogin = "prohibit-password";
PermitEmptyPasswords = false;
UseDns = false;
KbdInteractiveAuthentication = false;
X11Forwarding = false;
AllowTcpForwarding = false;
AllowAgentForwarding = false;
};
hostKeys = [
{
path = "/etc/ssh/ssh_host_ed25519_key";
type = "ed25519";
}
];
};
};
networking = {
domain = "";
hostId = "81238132";
hostName = "oracle1";
firewall = {
enable = true;
allowedTCPPorts = [
22
2022
80
443
];
logRefusedConnections = true;
};
};
users.users.root.openssh.authorizedKeys.keys = [
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDcL53Gdrj5V9YDwKlCBIcgqiS+zHtOQpJlnOHTevJCJ e@t14''
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM4Zr0PFN7QdOG2aJ+nuzRCK6caulrpY6bphA1Ppl8Y e@t14''
];
system.stateVersion = "23.11";
}

View file

@ -1,56 +0,0 @@
{ config, ... }:
let
cfg = config.services.forgejo;
srv = cfg.settings.server;
in
{
sops = {
secrets = {
"env" = {
sopsFile = ../../secrets/cf-acme.yaml;
};
};
};
security.acme = {
acceptTerms = true;
defaults = {
email = "acme@10110110.xyz";
dnsProvider = "cloudflare";
environmentFile = config.sops.secrets."env".path;
};
};
services.nginx = {
enable = true;
virtualHosts.${cfg.settings.server.DOMAIN} = {
forceSSL = true;
enableACME = true;
acmeRoot = null; # use DNS
locations."/" = {
recommendedProxySettings = true;
proxyPass = "http://localhost:${toString srv.HTTP_PORT}";
extraConfig = ''
client_max_body_size 512M;
'';
};
};
};
services.forgejo = {
enable = true;
database.type = "sqlite3";
dump.enable = true;
settings = {
server = {
DOMAIN = "git.10110110.xyz";
# You need to specify this to remove the port from URLs in the web UI.
ROOT_URL = "https://${srv.DOMAIN}/";
HTTP_PORT = 3000;
};
service.DISABLE_REGISTRATION = true;
session.COOKIE_SECURE = true;
actions = {
ENABLED = true;
DEFAULT_ACTIONS_URL = "github";
};
};
};
}

View file

@ -1,25 +0,0 @@
{ 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

@ -1,12 +1,11 @@
{ 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 = {
@ -18,11 +17,9 @@
paths = [
"/home/e/backmeup"
"/home/e/orgfiles"
"/home/e/.ssh"
"/home/e/.librewolf"
"/home/e/.runelite"
"/home/e/.local/share/PrismLauncher/instances"
];
timerConfig = {
OnCalendar = "01:00";

View file

@ -1,7 +1,7 @@
{
pkgs,
attrs,
...
pkgs,
attrs,
...
}: 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";
@ -15,7 +15,6 @@ in {
cryptsetup
nfs-utils
nerdctl
(lib.hiPrio uutils-coreutils-noprefix)
];
extraInit = "[[ -f ${homeManagerSessionVars} ]] && source ${homeManagerSessionVars} && echo 'x' > /tmp/test";
};
@ -24,15 +23,11 @@ in {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
kernelPackages = pkgs.linuxPackages_latest;
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";
@ -67,17 +62,13 @@ in {
};
steam.enable = true;
adb.enable = true;
fish.enable = true; # enable vendor completions
nh.enable = true;
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"];
};
};
@ -92,7 +83,6 @@ in {
];
};
ledger.enable = true;
enableAllFirmware = true;
};
services = {
resolved = {
@ -112,8 +102,8 @@ in {
tlp = {
enable = true;
settings = {
START_CHARGE_THRESH_BAT0 = 60;
STOP_CHARGE_THRESH_BAT0 = 90;
START_CHARGE_THRESH_BAT0 = 40;
STOP_CHARGE_THRESH_BAT0 = 80;
CPU_BOOST_ON_AC = 1;
CPU_BOOST_ON_BAT = 0;
CPU_SCALING_GOVERNOR_ON_AC = "performance";
@ -122,29 +112,14 @@ in {
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
PLATFORM_PROFILE_ON_BAT = "low-power";
PLATFORM_PROFILE_ON_AC = "performance";
DEVICES_TO_DISABLE_ON_STARTUP = "bluetooth";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 40;
CPU_MAX_PERF_ON_BAT = 20;
};
};
ratbagd.enable = true; # Logitech
keyd = {
enable = true;
keyboards = {
default = {
ids = ["*"];
settings = {
main = {
pause = "timeout(esc, 150, space)";
scrolllock = "layer(shift)";
};
};
};
};
};
udev.packages = [
pkgs.ledger-udev-rules
pkgs.trezor-udev-rules
@ -152,7 +127,6 @@ in {
trezord.enable = true;
udisks2.enable = true; # kindle
ollama.enable = true;
};
fonts = {
# Set a sane system-wide default font

View file

@ -10,20 +10,15 @@
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
initrd.kernelModules = ["amdgpu"];
kernelModules = ["kvm-amd"];
extraModulePackages = [];
tmp = {
useTmpfs = true;
};
};
boot.initrd.availableKernelModules = ["nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/f56e8356-3915-4ff8-957c-de7f9a72b326";
fsType = "btrfs";
options = ["compress=lzo"];
};
fileSystems."/boot" = {

View file

@ -1,47 +0,0 @@
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"];
};
};
}

View file

@ -4,29 +4,20 @@ sops:
- recipient: age14e2d2y8e2avzfrsyxg9dudxd36svm24t7skw6e969n0c42znlp3shffdtg
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBITExOYlBkVlRKSHVpc2U2
L3BJNUV1UER0M0JldzNMTm9qam1nWGIwa2pnCnptZ2I3SU5rV3pwQTcvV3E4YWVI
LzlQa1NxWVVDcHJma1lmSWt6ZUZuV3MKLS0tIFlXK3UzR2JDOEFOUmJYZFpkLzE1
QVQ3MVpueENUTmdaNCtKcjhBVkRDUjAKSze6cNG0BfETuDylwUGZD02P/NL3O3O4
LBIhQAyShgzAqqmus/aCoYPfVChuuH9sEspZHWFSQV8aTJL1kFX0yw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3ei9idzZZTmtXSHB5bnhB
WjdOeDJBc3l0MjEvbHlHczRtTCt3cG05M0JzCnMvM05SWWJsU1h6VXFxOWVlN21x
MmJxcFpVbEpKaUliRmJBM2FhN1d6cm8KLS0tIElibU4xUTNScWM2cEI2YXdWRzdr
cjFKUzJENlVUVlpoQ3RNelFUV2h3WkkKIOHlJ72UWGnOxvO6mm6f1wnWZ5acWQCX
AmG5ATn3WYvUt9nthMUMFpX3ICFiLHp73eKz1vMsA6DloVpi58FAlg==
-----END AGE ENCRYPTED FILE-----
- recipient: age16pdhm238k63uye3rf4cwwe7ddyzds6xj9jv4wpsfggkghyarjqtsjzkxna
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOTUtpYzJYbU1oRDlTc295
YVQySmdvbjhwK2pBaU5XRlFsVDNJSHl5blE0Cjh1bjNrY0wrMUdvVExpMXJSVTc1
R1ZKRGpQSmE1N09nYzZNTXFHT1pqbmcKLS0tIDRYYys3WUhTQnJkS0hMT2lRS01o
bUt2RVdUZzdFZFVOTWNOOHBkSlZ4bmsK350/b+SL+0TT1ZJ6AIB9iDibf4L5ySpg
P9ZkCmiDd3Le7ehlxJRBP+ynQOq+B0+zsoAUrS2AAcCo7nSKLnfZ0A==
-----END AGE ENCRYPTED FILE-----
- recipient: age12tz2r7clep9e450qhr5a6ctnx29ywmu0llq8uk9kcwhpp82zsa0sk9la9h
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxSW5Fc3pUblI3dll6OEcx
NkVVcndybkZkOW93WmdjaE9zQnVFVGdHVkRBCnlZMWFLalloZ0xEOVVwVU9QTVd2
TS9aRnpSdU9uTzV3SlVxL0tkQ3R2aFEKLS0tIE1PSEV4UnBCSXc1S1BQb3VNeVlt
c0pldlQ5UFN5NWh3QWRwSnZCejZXcVUKY7vVyf567eOBhwZvy1E8MyDtLo3ljwST
5mgOLRaEU+G9bVOPGfClaBHK94sJMlHABa9M8bhd7Naws+OeUyKI4A==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4M2ZNcndhUFdkT2JmYWxw
Sk14Sk1OWUQ1MzZ3SDZLdnR6TW9xK3h1bGpvCmlVUkRxbnFWc1gzRGduZURTOWNI
WDdsakRRelhId1RKSEIvRWJpQUozYk0KLS0tIDlrY1E0NG5ydWRoT1QyMXZmVXpN
TzlHa0h2SFlUZnAvcjJ1NGdFL3ppWWsKm/aU+oAbTH7kC/k+VbGoxBGQzWxe8SRD
8Glhaq/ctBcr09dbkWl43GTXkNoEx8/wKA30HTvEq0yWEBworrSQ8w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-06-02T00:02:47Z"
mac: ENC[AES256_GCM,data:l3I8KNMoZGrUUS/RzY0fAr7DkvyhynOqPW/09IfI8sKYBP+gavdf3/OpW3uwhYzuS6pRWwCaUTa0F+HELu7rBG8FwpvyBpdeAgZb1hVFtKeBuaCjXDieuxKjj27IKLx3UbHx2iRm91oB7bIMZaXYMrlYVmrs/BkgoT8vHj5j7Rc=,iv:KaB9qaUTYbnS6ix297MjIHxl+LSazZnRW0Lu2bP/kmk=,tag:bbncBMsk/qOfz0LRmrqiUQ==,type:str]