Compare commits
28 commits
add-server
...
main
Author | SHA1 | Date | |
---|---|---|---|
39297e9fbb | |||
80035c8826 | |||
c37edb347c | |||
0e46a1e15d | |||
84a77fdc97 | |||
645c8cfbf0 | |||
4c06bbd772 | |||
a9b8cc60e0 | |||
1a61ae4ac4 | |||
23fc7f2f45 | |||
22d75b8f7b | |||
fd85d604ab | |||
901b51531a | |||
c0f25e3097 | |||
32a219dcf8 | |||
d033f9affb | |||
0e220a0587 | |||
2e29a5cec7 | |||
5650e76a4b | |||
44f5ce1f29 | |||
88e2b06ae4 | |||
7bf11e55b6 | |||
1745932cd8 | |||
0c52f88386 | |||
1d468d43f7 | |||
90ca463731 | |||
61537d4722 | |||
96f9c0c180 |
44 changed files with 1162 additions and 215 deletions
|
@ -1,4 +1,4 @@
|
||||||
# ❄️ nix
|
# ❄️ flocon
|
||||||
|
|
||||||
My NixOS configurations, using flakes.
|
My NixOS configurations, using flakes.
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ Additionally using a lot of other software you can find in the configuration fil
|
||||||
| [hosts](hosts/) | Host-specific |
|
| [hosts](hosts/) | Host-specific |
|
||||||
| [lib](lib/) | Helper functions |
|
| [lib](lib/) | Helper functions |
|
||||||
| [modules](modules/) | NixOS modules |
|
| [modules](modules/) | NixOS modules |
|
||||||
|
| [pkgs](pkgs/) | Custom packages |
|
||||||
| [system](system/) | NixOS configuration |
|
| [system](system/) | NixOS configuration |
|
||||||
|
|
||||||
My configuration is structured based on the following principles:
|
My configuration is structured based on the following principles:
|
||||||
|
|
395
flake.lock
395
flake.lock
|
@ -1,9 +1,32 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"agenix": {
|
||||||
|
"inputs": {
|
||||||
|
"darwin": "darwin",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723293904,
|
||||||
|
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ags": {
|
"ags": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728326430,
|
"lastModified": 1728326430,
|
||||||
|
@ -60,6 +83,48 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1700795494,
|
||||||
|
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deploy-rs": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"utils": "utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1727447169,
|
||||||
|
"narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=",
|
||||||
|
"owner": "serokell",
|
||||||
|
"repo": "deploy-rs",
|
||||||
|
"rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "serokell",
|
||||||
|
"repo": "deploy-rs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"firefox-addons": {
|
"firefox-addons": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
|
@ -69,11 +134,11 @@
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1729491205,
|
"lastModified": 1730865784,
|
||||||
"narHash": "sha256-luvUK8ZTRTdsVao7VqnxvGEvA3rjEmfiwakDyHxQhx8=",
|
"narHash": "sha256-6kJYNjVCyf1tYgpqm7QOYcMkkD/RsaSfrsC2+ojmFAI=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "9764579885c84ba5d4bcd9d3061409a527ff805c",
|
"rev": "b8d22442e09a02eb8b830d41726ac371be21b7cd",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -115,6 +180,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_3": {
|
||||||
|
"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-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
@ -159,11 +240,11 @@
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727826117,
|
"lastModified": 1730504689,
|
||||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -207,7 +288,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -225,7 +306,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -243,14 +324,14 @@
|
||||||
},
|
},
|
||||||
"flake-utils_4": {
|
"flake-utils_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_6"
|
"systems": "systems_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1726560853,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -318,15 +399,36 @@
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729459288,
|
"lastModified": 1703113217,
|
||||||
"narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=",
|
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e",
|
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730837930,
|
||||||
|
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -338,7 +440,7 @@
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -447,17 +549,17 @@
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
"niri-unstable": "niri-unstable",
|
"niri-unstable": "niri-unstable",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729499378,
|
"lastModified": 1730875971,
|
||||||
"narHash": "sha256-gslhStBw58+LAbcver/2/Q6zjPq9xNZQ/IcoIh7OBck=",
|
"narHash": "sha256-VpTY0Urm0tebIndEP3qCsfAEjh8IB0d9j7XRZkNLRrw=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "2e46e95f0e5be7cea740163d87edf628e755cc3e",
|
"rev": "563b10c27839d0b08353d4cd3563e0f9beb3468d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -486,11 +588,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729444736,
|
"lastModified": 1730871742,
|
||||||
"narHash": "sha256-/Q1yf6f9nUBFVqI/t89xfTPmQipaug63LP8TeENg4CA=",
|
"narHash": "sha256-wK7UD90LxLr8oELIYPhUS6+IPU32JGESaHd/tny5/ig=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "289ae3604d705cebc82cbcd23ee4534ded16d3af",
|
"rev": "8867a4f84c4bd07235abd37828b0d724321facbe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -506,11 +608,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729394935,
|
"lastModified": 1730604744,
|
||||||
"narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=",
|
"narHash": "sha256-/MK6QU4iOozJ4oHTfZipGtOgaT/uy/Jm4foCqHQeYR4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "04f8a11f247ba00263b060fbcdc95484fd046104",
|
"rev": "cc2ddbf2df8ef7cc933543b1b42b845ee4772318",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -521,11 +623,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729509737,
|
"lastModified": 1730886862,
|
||||||
"narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=",
|
"narHash": "sha256-wCZtRGM1NGxq6VG4+TMzfsa4cuG2VJVtowtYuWW5W3g=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037",
|
"rev": "90642a0deae927fa911d49d4f7c5616257105141",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -564,14 +666,14 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-lib_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727825735,
|
"lastModified": 1730504152,
|
||||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_3": {
|
"nixpkgs-lib_3": {
|
||||||
|
@ -604,11 +706,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729307008,
|
"lastModified": 1730741070,
|
||||||
"narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=",
|
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3",
|
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -636,27 +738,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1702272962,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1730785428,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -667,6 +769,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730785428,
|
||||||
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726871744,
|
"lastModified": 1726871744,
|
||||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||||
|
@ -682,7 +800,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1656753965,
|
"lastModified": 1656753965,
|
||||||
"narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
|
"narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
|
||||||
|
@ -698,7 +816,23 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_8": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1711404521,
|
||||||
|
"narHash": "sha256-cYhDZ3RYLiXAi4LQDGuQjjDDbtP00Wd/Vjal/jWyTuA=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "07518c851b0f12351d7709274bbbd4ecc1f089c7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "07518c851b0f12351d7709274bbbd4ecc1f089c7",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_9": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726871744,
|
"lastModified": 1726871744,
|
||||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||||
|
@ -736,7 +870,7 @@
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"mnw": "mnw",
|
"mnw": "mnw",
|
||||||
"nil": "nil",
|
"nil": "nil",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nmd": "nmd",
|
"nmd": "nmd",
|
||||||
"plugin-alpha-nvim": "plugin-alpha-nvim",
|
"plugin-alpha-nvim": "plugin-alpha-nvim",
|
||||||
"plugin-bufdelete-nvim": "plugin-bufdelete-nvim",
|
"plugin-bufdelete-nvim": "plugin-bufdelete-nvim",
|
||||||
|
@ -840,14 +974,14 @@
|
||||||
"plugin-vim-vsnip": "plugin-vim-vsnip",
|
"plugin-vim-vsnip": "plugin-vim-vsnip",
|
||||||
"plugin-which-key": "plugin-which-key",
|
"plugin-which-key": "plugin-which-key",
|
||||||
"rnix-lsp": "rnix-lsp",
|
"rnix-lsp": "rnix-lsp",
|
||||||
"systems": "systems_4"
|
"systems": "systems_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728378979,
|
"lastModified": 1730289819,
|
||||||
"narHash": "sha256-CW/5Cs9m8HupL+6iRMpdHE88OmK9MXH2h3BcXCQw440=",
|
"narHash": "sha256-GYEgdCLzNODbMNEeYbMa5EWgEwTEMxdSSPTz8uEwZdQ=",
|
||||||
"owner": "notashelf",
|
"owner": "notashelf",
|
||||||
"repo": "nvf",
|
"repo": "nvf",
|
||||||
"rev": "0947ab38c0bc79780eec599161306157b8de74a3",
|
"rev": "8ff50562d7203a2b87bc6409e806f13b115d6b48",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -866,11 +1000,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729372184,
|
"lastModified": 1730635861,
|
||||||
"narHash": "sha256-Tb2/jJ74pt0nmfprkOW1g5zZphJTNbzLnyDENM+c5+I=",
|
"narHash": "sha256-Npp3pl9aeAiq+wZPDbw2ZxybNuZWyuN7AY6fik56DCo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "9390dadadc58ffda8e494b31ef66a4ae041f6dd1",
|
"rev": "293668587937daae1df085ee36d2b2d0792b7a0f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2496,6 +2630,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"portfolio": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_8"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730891412,
|
||||||
|
"narHash": "sha256-EEXp1jQMoA7off1ioqB5aJM1a5ZfGS6KQVsYSZ/ub78=",
|
||||||
|
"owner": "nezia1",
|
||||||
|
"repo": "portfolio",
|
||||||
|
"rev": "082cc68c67deead967bf177d048995c6a27ef84e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nezia1",
|
||||||
|
"repo": "portfolio",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pre-commit-hooks-nix": {
|
"pre-commit-hooks-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
|
@ -2526,8 +2678,8 @@
|
||||||
"rnix-lsp": {
|
"rnix-lsp": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"utils": "utils"
|
"utils": "utils_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1669555118,
|
"lastModified": 1669555118,
|
||||||
|
@ -2545,18 +2697,21 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"agenix": "agenix",
|
||||||
"ags": "ags",
|
"ags": "ags",
|
||||||
"basix": "basix",
|
"basix": "basix",
|
||||||
|
"deploy-rs": "deploy-rs",
|
||||||
"firefox-addons": "firefox-addons",
|
"firefox-addons": "firefox-addons",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager_2",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-index-db": "nix-index-db",
|
"nix-index-db": "nix-index-db",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nvf": "nvf",
|
"nvf": "nvf",
|
||||||
"plasma-manager": "plasma-manager",
|
"plasma-manager": "plasma-manager",
|
||||||
"systems": "systems_5",
|
"portfolio": "portfolio",
|
||||||
|
"systems": "systems_7",
|
||||||
"treefmt-nix": "treefmt-nix",
|
"treefmt-nix": "treefmt-nix",
|
||||||
"wezterm": "wezterm"
|
"wezterm": "wezterm"
|
||||||
}
|
}
|
||||||
|
@ -2621,11 +2776,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726280639,
|
"lastModified": 1729477859,
|
||||||
"narHash": "sha256-YfLRPlFZWrT2oRLNAoqf7G3+NnUTDdlIJk6tmBU7kXM=",
|
"narHash": "sha256-r0VyeJxy4O4CgTB/PNtfQft9fPfN1VuGvnZiCxDArvg=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "e9f8641c92f26fd1e076e705edb12147c384171d",
|
"rev": "ada8266712449c4c0e6ee6fcbc442b3c217c79e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2635,21 +2790,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
@ -2664,6 +2804,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"systems_3": {
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -2696,16 +2851,16 @@
|
||||||
},
|
},
|
||||||
"systems_5": {
|
"systems_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2724,16 +2879,46 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_8": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_9"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729242555,
|
"lastModified": 1730321837,
|
||||||
"narHash": "sha256-6jWSWxv2crIXmYSEb3LEVsFkCkyVHNllk61X4uhqfCs=",
|
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "d986489c1c757f6921a48c1439f19bfb9b8ecab5",
|
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2743,6 +2928,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701680307,
|
||||||
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"utils_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1656928814,
|
"lastModified": 1656928814,
|
||||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||||
|
@ -2771,11 +2974,11 @@
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "nix",
|
"dir": "nix",
|
||||||
"lastModified": 1729006311,
|
"lastModified": 1730734444,
|
||||||
"narHash": "sha256-1xtKJHu6CFnOhp4snof+WSTwcdPgwIaD6mBODP/cv3w=",
|
"narHash": "sha256-lNgCAphrq3/bYGjgDxEl2rVcer6GnmfWXDhxc+kdYOk=",
|
||||||
"owner": "wez",
|
"owner": "wez",
|
||||||
"repo": "wezterm",
|
"repo": "wezterm",
|
||||||
"rev": "9ddca7bde92090792dbcdc65c1e9897c362196d7",
|
"rev": "51c794ac500a2033b9dc570c71810518bfa667a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2789,16 +2992,16 @@
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718165778,
|
"lastModified": 1730166465,
|
||||||
"narHash": "sha256-dwF9nI54a6Fo9XU5s4qmvMXSgCid3YQVGxch00qEMvI=",
|
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "b6d281967cb0b7bf1dfdb8d0f597b517dc4aa5c5",
|
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"ref": "v0.4",
|
"ref": "v0.5",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -2806,11 +3009,11 @@
|
||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729139001,
|
"lastModified": 1730258684,
|
||||||
"narHash": "sha256-BADKw4fQma8tUNBRfmS9YLXTRXK4nYyXIxQdhGuEV0s=",
|
"narHash": "sha256-E+69sdxUhPSNI8+JlTL6KKbNv5qVD3L1y8hdVO37A44=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "ab2d09962c425670a4a7ca6ef5d92a0f06632499",
|
"rev": "b0ee6db9fa9901c675b3c7e952c2a8ce987a0f58",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
21
flake.nix
21
flake.nix
|
@ -5,6 +5,8 @@
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
systems,
|
systems,
|
||||||
|
agenix,
|
||||||
|
deploy-rs,
|
||||||
treefmt-nix,
|
treefmt-nix,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
|
@ -16,12 +18,19 @@
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.alejandra
|
pkgs.alejandra
|
||||||
pkgs.git
|
pkgs.git
|
||||||
|
deploy-rs.packages.${pkgs.system}.default
|
||||||
|
agenix.packages.${pkgs.system}.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
|
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
|
||||||
nixosModules = import ./modules;
|
nixosModules = import ./modules;
|
||||||
nixosConfigurations = import ./hosts {inherit self inputs;};
|
nixosConfigurations = let
|
||||||
|
lib' = import ./lib {inherit inputs lib';};
|
||||||
|
in
|
||||||
|
import ./hosts {inherit inputs lib';};
|
||||||
|
packages = eachSystem (pkgs: import ./pkgs {inherit inputs pkgs;});
|
||||||
|
deploy.nodes = import ./nodes {inherit self inputs;};
|
||||||
};
|
};
|
||||||
inputs = {
|
inputs = {
|
||||||
# nix related
|
# nix related
|
||||||
|
@ -42,14 +51,22 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# other
|
# other
|
||||||
|
agenix = {
|
||||||
|
url = "github:ryantm/agenix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
ags.url = "github:Aylur/ags";
|
ags.url = "github:Aylur/ags";
|
||||||
basix.url = "github:notashelf/basix";
|
basix.url = "github:notashelf/basix";
|
||||||
|
deploy-rs.url = "github:serokell/deploy-rs";
|
||||||
firefox-addons = {
|
firefox-addons = {
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
niri = {url = "github:sodiboo/niri-flake";};
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
nvf.url = "github:notashelf/nvf";
|
nvf.url = "github:notashelf/nvf";
|
||||||
|
|
||||||
|
portfolio.url = "github:nezia1/portfolio";
|
||||||
|
|
||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
url = "github:nix-community/plasma-manager";
|
url = "github:nix-community/plasma-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
in {
|
in {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
policies = {
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
extraPolicies = {
|
||||||
DisableTelemetry = true;
|
DisableTelemetry = true;
|
||||||
DisablePocket = true;
|
DisablePocket = true;
|
||||||
DisableFeedbackCommands = true;
|
DisableFeedbackCommands = true;
|
||||||
|
@ -20,9 +21,9 @@ in {
|
||||||
OfferToSaveLogins = false;
|
OfferToSaveLogins = false;
|
||||||
OffertosaveloginsDefault = false;
|
OffertosaveloginsDefault = false;
|
||||||
PasswordManagerEnabled = false;
|
PasswordManagerEnabled = false;
|
||||||
|
SearchSuggestEnabled = true;
|
||||||
|
|
||||||
# https://github.com/Sly-Harvey/NixOS/blob/f9da2691ea46565256ad757959cfc26ec6cee10d/modules/programs/browser/firefox/default.nix#L58-L163
|
# https://github.com/Sly-Harvey/NixOS/blob/f9da2691ea46565256ad757959cfc26ec6cee10d/modules/programs/browser/firefox/default.nix#L58-L163
|
||||||
# TODO: declare which block lists are needed
|
|
||||||
"3rdparty".Extensions = {
|
"3rdparty".Extensions = {
|
||||||
"addon@darkreader.org" = {
|
"addon@darkreader.org" = {
|
||||||
permissions = ["internal:privateBrowsingAllowed"];
|
permissions = ["internal:privateBrowsingAllowed"];
|
||||||
|
@ -52,6 +53,40 @@ in {
|
||||||
uiTheme = "dark";
|
uiTheme = "dark";
|
||||||
advancedUserEnabled = true;
|
advancedUserEnabled = true;
|
||||||
userFiltersTrusted = true;
|
userFiltersTrusted = true;
|
||||||
|
importedLists = [
|
||||||
|
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
|
||||||
|
];
|
||||||
|
selectedFilterLists = [
|
||||||
|
"FRA-0"
|
||||||
|
"adguard-cookies"
|
||||||
|
"adguard-mobile-app-banners"
|
||||||
|
"adguard-other-annoyances"
|
||||||
|
"adguard-popup-overlays"
|
||||||
|
"adguard-social"
|
||||||
|
"adguard-spyware-url"
|
||||||
|
"adguard-widgets"
|
||||||
|
"easylist"
|
||||||
|
"easylist-annoyances"
|
||||||
|
"easylist-chat"
|
||||||
|
"easylist-newsletters"
|
||||||
|
"easylist-notifications"
|
||||||
|
"easyprivacy"
|
||||||
|
"fanboy-cookiemonster"
|
||||||
|
"https://filters.adtidy.org/extension/ublock/filters/3.txt"
|
||||||
|
"https://github.com/DandelionSprout/adfilt/raw/master/LegitimateURLShortener.txt"
|
||||||
|
"plowe-0"
|
||||||
|
"ublock-annoyances"
|
||||||
|
"ublock-badware"
|
||||||
|
"ublock-cookies-adguard"
|
||||||
|
"ublock-cookies-easylist"
|
||||||
|
"ublock-filters"
|
||||||
|
"ublock-privacy"
|
||||||
|
"ublock-quick-fixes"
|
||||||
|
"ublock-unbreak"
|
||||||
|
"urlhaus-1"
|
||||||
|
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -72,7 +107,6 @@ in {
|
||||||
ublock-origin
|
ublock-origin
|
||||||
violentmonkey
|
violentmonkey
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://git.jacekpoz.pl/poz/niksos/src/commit/a48647a1c5bc6877a1100a65f4dc169b2fc11ed7/hosts/hape/firefox.nix
|
# https://git.jacekpoz.pl/poz/niksos/src/commit/a48647a1c5bc6877a1100a65f4dc169b2fc11ed7/hosts/hape/firefox.nix
|
||||||
search = {
|
search = {
|
||||||
default = "SearxNG";
|
default = "SearxNG";
|
||||||
|
@ -81,7 +115,7 @@ in {
|
||||||
urls = [
|
urls = [
|
||||||
{
|
{
|
||||||
rels = ["results"];
|
rels = ["results"];
|
||||||
template = "https://searx.tiekoetter.com/search";
|
template = "https://search.nezia.dev/search";
|
||||||
params = [
|
params = [
|
||||||
{
|
{
|
||||||
name = "q";
|
name = "q";
|
||||||
|
@ -91,7 +125,7 @@ in {
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
rels = ["suggestions"];
|
rels = ["suggestions"];
|
||||||
template = "https://searx.tiekoetter.com/autocompleter";
|
template = "https://search.nezia.dev/autocompleter";
|
||||||
params = [
|
params = [
|
||||||
{
|
{
|
||||||
name = "q";
|
name = "q";
|
||||||
|
@ -101,7 +135,7 @@ in {
|
||||||
"type" = "application/x-suggestions+json";
|
"type" = "application/x-suggestions+json";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
iconUpdateURL = "https://searx.tiekoetter.com/favicon.ico";
|
iconUpdateURL = "https://search.nezia.dev/favicon.ico";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = ["@s"];
|
definedAliases = ["@s"];
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,5 +35,9 @@
|
||||||
nautilus
|
nautilus
|
||||||
simple-scan
|
simple-scan
|
||||||
entr
|
entr
|
||||||
|
# inputs.self.packages.${pkgs.system}.mcuxpresso.ide
|
||||||
|
# dfu-util
|
||||||
|
# segger-jlink
|
||||||
|
# inputs.self.packages.${pkgs.system}.mcuxpresso.config-tools
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (lib) getExe;
|
|
||||||
in {
|
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -60,6 +60,10 @@
|
||||||
|
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
|
|
||||||
|
utility = {
|
||||||
|
vim-wakatime.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
lsp = {
|
lsp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lspSignature.enable = true;
|
lspSignature.enable = true;
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
home.packages = with pkgs; [
|
pkgs,
|
||||||
bottles
|
inputs,
|
||||||
lutris
|
...
|
||||||
mangohud
|
}: {
|
||||||
path-of-building
|
home.packages = [
|
||||||
protonplus
|
pkgs.bottles
|
||||||
r2modman
|
pkgs.lutris
|
||||||
|
pkgs.mangohud
|
||||||
|
pkgs.path-of-building
|
||||||
|
pkgs.protonplus
|
||||||
|
pkgs.r2modman
|
||||||
|
|
||||||
# steamtinkerlaunch dependencies
|
# steamtinkerlaunch dependencies
|
||||||
xdotool
|
pkgs.xdotool
|
||||||
xorg.xwininfo
|
pkgs.xorg.xwininfo
|
||||||
yad
|
pkgs.yad
|
||||||
|
|
||||||
|
inputs.self.packages.${pkgs.system}.bolt-launcher
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{
|
||||||
services.udiskie.enable = true;
|
services.udiskie.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{
|
||||||
lib,
|
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = inputs.wezterm.packages.${pkgs.system}.default;
|
# package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{
|
||||||
programs = {
|
programs = {
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{
|
||||||
programs.zellij = {
|
programs.zellij = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
name = "fzf";
|
name = "fzf";
|
||||||
inherit (pkgs.fishPlugins.fzf) src;
|
inherit (pkgs.fishPlugins.fzf) src;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "autopair";
|
||||||
|
inherit (pkgs.fishPlugins.autopair) src;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableTransience = true;
|
enableTransience = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = false;
|
enableBashIntegration = false;
|
||||||
|
|
29
hosts/anastacia/default.nix
Normal file
29
hosts/anastacia/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
mod = "${self}/system";
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./networking.nix # generated at runtime by nixos-infect
|
||||||
|
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
|
||||||
|
"${mod}/services/forgejo.nix"
|
||||||
|
"${mod}/services/searx.nix"
|
||||||
|
"${mod}/services/portfolio.nix"
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
zramSwap.enable = true;
|
||||||
|
networking.hostName = "anastacia";
|
||||||
|
networking.domain = "";
|
||||||
|
services.openssh.enable = true;
|
||||||
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEzs7SQH0Vjt9JHoXXmWy9fPU1I3rrRWV5magZFrI5al"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHKEPlN/GU9nJZPleA77HH5NA+6vyhhM84fTSjEwnEgq"
|
||||||
|
];
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
}
|
12
hosts/anastacia/hardware-configuration.nix
Normal file
12
hosts/anastacia/hardware-configuration.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{modulesPath, ...}: {
|
||||||
|
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
||||||
|
boot = {
|
||||||
|
loader.grub.device = "/dev/sda";
|
||||||
|
initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
|
||||||
|
initrd.kernelModules = ["nvme"];
|
||||||
|
};
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/sda1";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
}
|
52
hosts/anastacia/networking.nix
Normal file
52
hosts/anastacia/networking.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
# This file was populated at runtime with the networking
|
||||||
|
# details gathered from the active system.
|
||||||
|
networking = {
|
||||||
|
nameservers = [
|
||||||
|
"8.8.8.8"
|
||||||
|
];
|
||||||
|
defaultGateway = "172.31.1.1";
|
||||||
|
defaultGateway6 = {
|
||||||
|
address = "fe80::1";
|
||||||
|
interface = "eth0";
|
||||||
|
};
|
||||||
|
dhcpcd.enable = false;
|
||||||
|
usePredictableInterfaceNames = lib.mkForce false;
|
||||||
|
interfaces = {
|
||||||
|
eth0 = {
|
||||||
|
ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "78.47.146.254";
|
||||||
|
prefixLength = 32;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv6.addresses = [
|
||||||
|
{
|
||||||
|
address = "2a01:4f8:1c1c:8495::1";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
address = "fe80::9400:3ff:fecb:6deb";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv4.routes = [
|
||||||
|
{
|
||||||
|
address = "172.31.1.1";
|
||||||
|
prefixLength = 32;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ipv6.routes = [
|
||||||
|
{
|
||||||
|
address = "fe80::1";
|
||||||
|
prefixLength = 128;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
ATTR{address}=="96:00:03:cb:6d:eb", NAME="eth0"
|
||||||
|
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,31 +1,33 @@
|
||||||
{
|
{
|
||||||
self,
|
|
||||||
inputs,
|
inputs,
|
||||||
|
lib',
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (inputs.nixpkgs.lib) nixosSystem;
|
inherit (lib') mkSystem;
|
||||||
specialArgs = {
|
|
||||||
inherit inputs self;
|
|
||||||
};
|
|
||||||
in {
|
in {
|
||||||
vamos = nixosSystem {
|
vamos = mkSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
modules = [
|
||||||
./vamos
|
./vamos
|
||||||
|
|
||||||
self.nixosModules.theme
|
inputs.self.nixosModules.theme
|
||||||
|
|
||||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
solaire = nixosSystem {
|
solaire = mkSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
inherit specialArgs;
|
|
||||||
modules = [
|
modules = [
|
||||||
./solaire
|
./solaire
|
||||||
self.nixosModules.theme
|
inputs.self.nixosModules.theme
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
anastacia = mkSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./anastacia
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +1,25 @@
|
||||||
{
|
{specialArgs, ...}: let
|
||||||
self,
|
system = ../../system;
|
||||||
specialArgs,
|
home = ../../home;
|
||||||
...
|
|
||||||
}: let
|
|
||||||
mod = "${self}/system";
|
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./modules
|
./modules
|
||||||
|
|
||||||
"${mod}"
|
system
|
||||||
"${mod}/hardware/uni-sync.nix"
|
"${system}/hardware/uni-sync.nix"
|
||||||
|
|
||||||
"${mod}/programs/gnome.nix"
|
"${system}/programs/gnome.nix"
|
||||||
"${mod}/programs/games.nix"
|
"${system}/programs/games.nix"
|
||||||
"${mod}/hardware/nvidia.nix"
|
"${system}/hardware/nvidia.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users.nezia.imports = [
|
users.nezia.imports = [
|
||||||
"${self}/home"
|
home
|
||||||
"${self}/home/programs/games"
|
"${home}/programs/games"
|
||||||
|
|
||||||
"${self}/home/terminal/emulators/foot.nix"
|
"${home}/terminal/emulators/foot.nix"
|
||||||
];
|
];
|
||||||
extraSpecialArgs = specialArgs;
|
extraSpecialArgs = specialArgs;
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,10 +15,10 @@ in {
|
||||||
"${mod}/hardware/fprintd.nix"
|
"${mod}/hardware/fprintd.nix"
|
||||||
"${mod}/services/power.nix"
|
"${mod}/services/power.nix"
|
||||||
"${mod}/services/brightness.nix"
|
"${mod}/services/brightness.nix"
|
||||||
"${mod}/services/keyd.nix"
|
|
||||||
|
|
||||||
"${mod}/services/logind.nix"
|
"${mod}/services/logind.nix"
|
||||||
"${mod}/services/greetd.nix"
|
"${mod}/services/greetd.nix"
|
||||||
|
"${mod}/services/kanata.nix"
|
||||||
|
|
||||||
"${mod}/programs/niri"
|
"${mod}/programs/niri"
|
||||||
"${mod}/services/gnome.nix"
|
"${mod}/services/gnome.nix"
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
inputs,
|
||||||
lib,
|
lib',
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
inherit (inputs.nixpkgs) lib;
|
||||||
# convert rrggbb hex to rgba(r, g, b, a)
|
# convert rrggbb hex to rgba(r, g, b, a)
|
||||||
rgba = c: let
|
rgba = c: let
|
||||||
r = toString (hexToDec (builtins.substring 0 2 c));
|
r = toString (hexToDec (builtins.substring 0 2 c));
|
||||||
|
@ -86,8 +87,25 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
# Create a KDE konsole color scheme from base16 colors
|
# Create a KDE konsole color scheme from base16 colors
|
||||||
mkKonsoleColorScheme = scheme:
|
mkKonsoleColorScheme = pkgs: scheme:
|
||||||
pkgs.writeText "${scheme.name}.colorscheme" (schemeToKonsole scheme);
|
pkgs.writeText "${scheme.name}.colorscheme" (schemeToKonsole scheme);
|
||||||
in {
|
|
||||||
inherit mkKonsoleColorScheme rgba;
|
# https://github.com/diniamo/niqs/blob/caf396bb470619fa06936a379eec6e283c3c3d95/lib/default.nix#L13-L35C7
|
||||||
|
mkSystem = {system, ...} @ args:
|
||||||
|
lib.nixosSystem {
|
||||||
|
system = null;
|
||||||
|
specialArgs = {inherit inputs;};
|
||||||
|
modules =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
_module.args = {
|
||||||
|
inherit system lib';
|
||||||
|
};
|
||||||
|
nixpkgs = {inherit system;};
|
||||||
|
}
|
||||||
|
]
|
||||||
|
++ args.modules or [];
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
inherit mkKonsoleColorScheme rgba mkSystem;
|
||||||
}
|
}
|
||||||
|
|
14
nodes/default.nix
Normal file
14
nodes/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
anastacia = {
|
||||||
|
hostname = "2a01:4f8:1c1c:8495::1";
|
||||||
|
profiles.system = {
|
||||||
|
sshUser = "root";
|
||||||
|
user = "root";
|
||||||
|
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.anastacia;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
208
pkgs/bolt-launcher.nix
Normal file
208
pkgs/bolt-launcher.nix
Normal file
|
@ -0,0 +1,208 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
makeWrapper,
|
||||||
|
cmake,
|
||||||
|
ninja,
|
||||||
|
libarchive,
|
||||||
|
libz,
|
||||||
|
jdk17,
|
||||||
|
libcef,
|
||||||
|
luajit,
|
||||||
|
xorg,
|
||||||
|
mesa,
|
||||||
|
glib,
|
||||||
|
nss,
|
||||||
|
nspr,
|
||||||
|
atk,
|
||||||
|
at-spi2-atk,
|
||||||
|
libdrm,
|
||||||
|
expat,
|
||||||
|
libxkbcommon,
|
||||||
|
gtk3,
|
||||||
|
pango,
|
||||||
|
cairo,
|
||||||
|
alsa-lib,
|
||||||
|
dbus,
|
||||||
|
at-spi2-core,
|
||||||
|
cups,
|
||||||
|
systemd,
|
||||||
|
buildFHSEnv,
|
||||||
|
copyDesktopItems,
|
||||||
|
makeDesktopItem,
|
||||||
|
}: let
|
||||||
|
cef = libcef.overrideAttrs (_: {
|
||||||
|
installPhase = let
|
||||||
|
gl_rpath = lib.makeLibraryPath [
|
||||||
|
stdenv.cc.cc.lib
|
||||||
|
];
|
||||||
|
rpath = lib.makeLibraryPath [
|
||||||
|
glib
|
||||||
|
nss
|
||||||
|
nspr
|
||||||
|
atk
|
||||||
|
at-spi2-atk
|
||||||
|
libdrm
|
||||||
|
expat
|
||||||
|
xorg.libxcb
|
||||||
|
libxkbcommon
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXcomposite
|
||||||
|
xorg.libXdamage
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXrandr
|
||||||
|
mesa
|
||||||
|
gtk3
|
||||||
|
pango
|
||||||
|
cairo
|
||||||
|
alsa-lib
|
||||||
|
dbus
|
||||||
|
at-spi2-core
|
||||||
|
cups
|
||||||
|
xorg.libxshmfence
|
||||||
|
systemd
|
||||||
|
];
|
||||||
|
in ''
|
||||||
|
mkdir -p $out/lib/ $out/share/cef/
|
||||||
|
cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
|
||||||
|
cp -r ../Resources/* $out/lib/
|
||||||
|
cp -r ../Release/* $out/lib/
|
||||||
|
patchelf --set-rpath "${rpath}" $out/lib/libcef.so
|
||||||
|
patchelf --set-rpath "${gl_rpath}" $out/lib/libEGL.so
|
||||||
|
patchelf --set-rpath "${gl_rpath}" $out/lib/libGLESv2.so
|
||||||
|
cp ../Release/*.bin $out/share/cef/
|
||||||
|
cp -r ../Resources/* $out/share/cef/
|
||||||
|
cp -r ../include $out
|
||||||
|
cp -r ../libcef_dll $out
|
||||||
|
cp -r ../cmake $out
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
bolt = stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "bolt-launcher";
|
||||||
|
version = "0.10.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "AdamCake";
|
||||||
|
repo = "bolt";
|
||||||
|
rev = finalAttrs.version;
|
||||||
|
fetchSubmodules = true;
|
||||||
|
hash = "sha256-2IoFzD+yhQv1Y7D+abeNUT23BC4P1xZTALF8Y+Zsg44=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
luajit
|
||||||
|
makeWrapper
|
||||||
|
copyDesktopItems
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
mesa
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libxcb
|
||||||
|
libarchive
|
||||||
|
libz
|
||||||
|
cef
|
||||||
|
jdk17
|
||||||
|
];
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
inherit (bolt) name;
|
||||||
|
desktopName = "Bolt Launcher";
|
||||||
|
keywords = [
|
||||||
|
"Game"
|
||||||
|
];
|
||||||
|
exec = "${bolt.name}";
|
||||||
|
terminal = false;
|
||||||
|
categories = ["Game"];
|
||||||
|
icon = "bolt-launcher";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-D CMAKE_BUILD_TYPE=Release"
|
||||||
|
"-D BOLT_LUAJIT_INCLUDE_DIR=${luajit}/include"
|
||||||
|
"-G Ninja"
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
ls -al
|
||||||
|
mkdir -p cef/dist/Release cef/dist/Resources cef/dist/include
|
||||||
|
|
||||||
|
ln -s ${cef}/lib/* cef/dist/Release
|
||||||
|
|
||||||
|
ln -s ${cef}/share/cef/*.pak cef/dist/Resources
|
||||||
|
ln -s ${cef}/share/cef/icudtl.dat cef/dist/Resources
|
||||||
|
ln -s ${cef}/share/cef/locales cef/dist/Resources
|
||||||
|
|
||||||
|
ln -s ${cef}/include/* cef/dist/include
|
||||||
|
ln -s ${cef}/libcef_dll cef/dist/libcef_dll
|
||||||
|
|
||||||
|
ln -s ${cef}/cmake cef/dist/cmake
|
||||||
|
ln -s ${cef}/CMakeLists.txt cef/dist
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
for size in 16 32 64 128 256; do
|
||||||
|
size_dir="''${size}x''${size}"
|
||||||
|
ls -al $src/icon
|
||||||
|
mkdir -p $out/share/icons/hicolor/''${size_dir}/apps
|
||||||
|
cp $src/icon/$size.png $out/share/icons/hicolor/''${size_dir}/apps/bolt-launcher.png
|
||||||
|
done
|
||||||
|
mkdir -p $out/share/icons/hicolor/scalable/apps/
|
||||||
|
cp $src/icon/bolt.svg $out/share/icons/hicolor/scalable/apps/bolt-launcher.svg
|
||||||
|
'';
|
||||||
|
postFixup = ''
|
||||||
|
makeWrapper "$out/opt/bolt-launcher/bolt" "$out/bin/${finalAttrs.pname}-${finalAttrs.version}" \
|
||||||
|
--set JAVA_HOME "${jdk17}"
|
||||||
|
ls -al $out/bin
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp $out/usr/local/lib/libbolt-plugin.so $out/lib
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
|
buildFHSEnv {
|
||||||
|
inherit (bolt) name version;
|
||||||
|
|
||||||
|
targetPkgs = pkgs:
|
||||||
|
[bolt]
|
||||||
|
++ (with pkgs; [
|
||||||
|
xorg.libSM
|
||||||
|
xorg.libXxf86vm
|
||||||
|
xorg.libX11
|
||||||
|
glib
|
||||||
|
pango
|
||||||
|
cairo
|
||||||
|
gdk-pixbuf
|
||||||
|
gtk2-x11
|
||||||
|
libz
|
||||||
|
libcap
|
||||||
|
libsecret
|
||||||
|
openssl_1_1
|
||||||
|
SDL2
|
||||||
|
libGL
|
||||||
|
]);
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mkdir -p $out/share/applications $out/share/icons
|
||||||
|
ln -s ${bolt}/share/applications/*.desktop \
|
||||||
|
$out/share/applications/
|
||||||
|
ln -s ${bolt}/share/icons/hicolor \
|
||||||
|
$out/share/icons/hicolor
|
||||||
|
'';
|
||||||
|
|
||||||
|
runScript = "${bolt.name}";
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/Adamcake/Bolt";
|
||||||
|
description = "An alternative launcher for RuneScape";
|
||||||
|
license = lib.licenses.agpl3Plus;
|
||||||
|
maintainers = with lib.maintainers; [nezia];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "${bolt.name}";
|
||||||
|
};
|
||||||
|
}
|
15
pkgs/default.nix
Normal file
15
pkgs/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
mcuxpresso = import ./mcuxpresso pkgs;
|
||||||
|
# this is unfortunately needed since bolt-launcher makes use of openssl-1.1.1w, and since it is not part of hosts, we have to add it this way
|
||||||
|
bolt-launcher =
|
||||||
|
(import inputs.nixpkgs {
|
||||||
|
inherit (pkgs) system;
|
||||||
|
config.permittedInsecurePackages = ["openssl-1.1.1w"];
|
||||||
|
})
|
||||||
|
.callPackage
|
||||||
|
./bolt-launcher.nix {};
|
||||||
|
}
|
49
pkgs/mcuxpresso/config-tools.nix
Normal file
49
pkgs/mcuxpresso/config-tools.nix
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
eclipses,
|
||||||
|
stdenv,
|
||||||
|
requireFile,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
name = "mcuxpressotools";
|
||||||
|
version = "v16-1";
|
||||||
|
description = "MCUXpresso Config Tools";
|
||||||
|
filename = "mcuxpresso-config-tools-${version}_amd64.deb";
|
||||||
|
|
||||||
|
src = stdenv.mkDerivation {
|
||||||
|
inherit version description;
|
||||||
|
name = "${name}-src";
|
||||||
|
src = requireFile {
|
||||||
|
url = "https://www.nxp.com/design/software/development-software/mcuxpresso-config-tools-pins-clocks-and-peripherals:MCUXpresso-Config-Tools";
|
||||||
|
name = "${filename}.bin";
|
||||||
|
sha256 = "sha256-BbEwxm1urV2IrgUiTiMBEAPvonQGwdL4fpqFftGgRxI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
# Unpack tarball.
|
||||||
|
mkdir -p deb
|
||||||
|
sh $src --target deb || true
|
||||||
|
ar -xv deb/${filename}
|
||||||
|
tar xfvz data.tar.gz -C .
|
||||||
|
|
||||||
|
mkdir -p ./final/eclipse
|
||||||
|
mv ./opt/nxp/MCUX_CFG_v13/bin/.* final/eclipse
|
||||||
|
mv ./usr final/
|
||||||
|
mv final/eclipse/tools final/eclipse/eclipse
|
||||||
|
mv final/eclipse/tools.ini final/eclipse/eclipse.ini
|
||||||
|
|
||||||
|
# Create custom .eclipseproduct file
|
||||||
|
echo "name=${name}
|
||||||
|
id=com.nxp.${name}
|
||||||
|
version=${version}
|
||||||
|
" > final/eclipse/.eclipseproduct
|
||||||
|
|
||||||
|
# Additional files
|
||||||
|
mkdir -p final/usr/share/mime
|
||||||
|
mv ./opt/nxp/MCUX_CFG_v13/mcu_data final/mcu_data
|
||||||
|
|
||||||
|
cd ./final
|
||||||
|
tar -czf $out ./
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
eclipses.buildEclipse {inherit description name src;}
|
3
pkgs/mcuxpresso/default.nix
Normal file
3
pkgs/mcuxpresso/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
pkgs: {
|
||||||
|
ide = pkgs.callPackage ./ide.nix {};
|
||||||
|
}
|
100
pkgs/mcuxpresso/ide.nix
Normal file
100
pkgs/mcuxpresso/ide.nix
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
# https://github.com/KoviRobi/nixos-config/blob/3ab3f8372d1fd021a235de4d314ef7147846513e/overlays/mcuxpresso.nix
|
||||||
|
{pkgs, ...}: let
|
||||||
|
name = "mcuxpressoide";
|
||||||
|
version = "24.9.25";
|
||||||
|
description = "MCUXpresso IDE";
|
||||||
|
filename = "${name}-${version}.x86_64.deb";
|
||||||
|
mcuxpressoideSrc = pkgs.stdenv.mkDerivation {
|
||||||
|
inherit version description;
|
||||||
|
name = "${name}-src";
|
||||||
|
src = pkgs.requireFile {
|
||||||
|
url = "https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE";
|
||||||
|
name = "${filename}.bin";
|
||||||
|
hash = "sha256-e3g7rzZQ1WFLcUakkjaufpHMtw3qkw5lwxJuCKs6L+k=";
|
||||||
|
};
|
||||||
|
buildCommand = ''
|
||||||
|
# Unpack tarball.
|
||||||
|
mkdir -p deb
|
||||||
|
sh $src --target deb || true
|
||||||
|
ar -xv deb/${filename}
|
||||||
|
tar xfvz data.tar.gz -C .
|
||||||
|
mkdir -p ./final/eclipse
|
||||||
|
mv ./usr/local/${name}-${version}/ide/* ./usr/local/${name}-${version}/ide/.* final/eclipse
|
||||||
|
mv final/eclipse/mcuxpressoide final/eclipse/eclipse
|
||||||
|
mv final/eclipse/mcuxpressoide.ini final/eclipse/eclipse.ini
|
||||||
|
# Create custom .eclipseproduct file
|
||||||
|
rm final/eclipse/.eclipseproduct
|
||||||
|
echo "name=${name}
|
||||||
|
id=com.nxp.${name}
|
||||||
|
version=${version}
|
||||||
|
" > final/eclipse/.eclipseproduct
|
||||||
|
# Install udev rules
|
||||||
|
mkdir -p final/lib/udev/rules.d
|
||||||
|
mv ./lib/udev/rules.d/56-pemicro.rules ./lib/udev/rules.d/85-mcuxpresso.rules final/lib/udev/rules.d/
|
||||||
|
# Additional files
|
||||||
|
mv ./usr/local/${name}-${version}/mcu_data final/mcu_data
|
||||||
|
cd ./final
|
||||||
|
tar -czf $out ./
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
mcuxpressoide = pkgs.eclipses.buildEclipse {
|
||||||
|
name = "mcuxpresso-eclipse";
|
||||||
|
inherit description;
|
||||||
|
src = mcuxpressoideSrc;
|
||||||
|
};
|
||||||
|
|
||||||
|
# needed because of the integrated toolchain
|
||||||
|
mcuxpressoFhsEnv = pkgs.buildFHSEnv {
|
||||||
|
name = "mcuxpresso-env";
|
||||||
|
targetPkgs = pkgs: [
|
||||||
|
pkgs.stdenv.cc.cc.lib
|
||||||
|
pkgs.gcc
|
||||||
|
pkgs.libgcc
|
||||||
|
pkgs.libstdcxx5
|
||||||
|
pkgs.xorg.libXext
|
||||||
|
pkgs.xorg.libX11
|
||||||
|
pkgs.xorg.libXrender
|
||||||
|
pkgs.xorg.libXtst
|
||||||
|
pkgs.xorg.libXi
|
||||||
|
pkgs.freetype
|
||||||
|
pkgs.alsa-lib
|
||||||
|
pkgs.ncurses
|
||||||
|
pkgs.ncurses5
|
||||||
|
pkgs.libusb1
|
||||||
|
pkgs.readline
|
||||||
|
pkgs.libffi
|
||||||
|
pkgs.zlib
|
||||||
|
pkgs.tcl
|
||||||
|
pkgs.libxcrypt
|
||||||
|
pkgs.libxcrypt-legacy
|
||||||
|
pkgs.libusb-compat-0_1
|
||||||
|
];
|
||||||
|
|
||||||
|
runScript = "${mcuxpressoide}/bin/eclipse";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
# wrapper with desktop entry and udev rules
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
inherit name version description;
|
||||||
|
dontUnpack = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
dontBuild = true;
|
||||||
|
nativeBuildInputs = [pkgs.copyDesktopItems];
|
||||||
|
desktopItems = [
|
||||||
|
(pkgs.makeDesktopItem {
|
||||||
|
inherit name;
|
||||||
|
type = "Application";
|
||||||
|
desktopName = "MCUXpresso IDE";
|
||||||
|
exec = "mcuxpresso";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p $out/bin $out/lib/udev/rules.d $out/eclipse $out/mcu_data
|
||||||
|
|
||||||
|
cp ${mcuxpressoide}/lib/udev/rules.d/85-mcuxpresso.rules ${mcuxpressoide}/lib/udev/rules.d/56-pemicro.rules $out/lib/udev/rules.d/
|
||||||
|
|
||||||
|
ln -s ${mcuxpressoFhsEnv}/bin/mcuxpresso-env $out/bin/mcuxpresso
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
BIN
secrets/searx-env-file.age
Normal file
BIN
secrets/searx-env-file.age
Normal file
Binary file not shown.
5
secrets/secrets.nix
Normal file
5
secrets/secrets.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
let
|
||||||
|
anastacia = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEplguGeXCbdz++Ry5pwJylmtAMnwtf1+9JoJnCGfw3A root@anastacia";
|
||||||
|
in {
|
||||||
|
"searx-env-file.age".publicKeys = [anastacia];
|
||||||
|
}
|
|
@ -4,7 +4,6 @@
|
||||||
./users.nix
|
./users.nix
|
||||||
./security.nix
|
./security.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
../nix
|
|
||||||
];
|
];
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
"audio"
|
"audio"
|
||||||
"video"
|
"video"
|
||||||
"wheel"
|
"wheel"
|
||||||
|
"plugdev"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./core
|
./core
|
||||||
|
./nix
|
||||||
|
|
||||||
./hardware/printing.nix
|
./hardware/printing.nix
|
||||||
./hardware/fwupd.nix
|
./hardware/fwupd.nix
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config.allowUnfree = true;
|
config = {
|
||||||
overlays = [
|
allowUnfree = true;
|
||||||
(_: prev: {
|
permittedInsecurePackages = [
|
||||||
lib =
|
"cinny-4.2.2"
|
||||||
prev.lib
|
"cinny-unwrapped-4.2.2"
|
||||||
// import ../../lib {
|
"segger-jlink-qt4-796s"
|
||||||
inherit (prev) lib pkgs;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
config.permittedInsecurePackages = ["cinny-4.2.2" "cinny-unwrapped-4.2.2"];
|
segger-jlink.acceptLicense = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
noto-fonts-extra
|
noto-fonts-extra
|
||||||
(nerdfonts.override {fonts = ["IntelOneMono"];})
|
(nerdfonts.override {fonts = ["IntelOneMono"];})
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
programs = {
|
programs = {
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
gamemode.enable = true;
|
gamemode.enable = true;
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
imports = [./docker.nix ./gnupg.nix ./pipewire.nix ./kmscon.nix];
|
imports = [
|
||||||
|
./docker.nix
|
||||||
|
./gnupg.nix
|
||||||
|
./pipewire.nix
|
||||||
|
./kmscon.nix
|
||||||
|
];
|
||||||
|
services.udev.packages = [pkgs.segger-jlink];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
_: {
|
{pkgs, ...}: {
|
||||||
virtualisation.docker = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
rootless = {
|
dockerCompat = true;
|
||||||
enable = true;
|
|
||||||
setSocketVariable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [pkgs.distrobox];
|
||||||
}
|
}
|
||||||
|
|
54
system/services/forgejo.nix
Normal file
54
system/services/forgejo.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
srv = config.services.forgejo.settings.server;
|
||||||
|
in {
|
||||||
|
services = {
|
||||||
|
forgejo = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.forgejo;
|
||||||
|
lfs.enable = true;
|
||||||
|
database.type = "postgres";
|
||||||
|
dump = {
|
||||||
|
enable = true;
|
||||||
|
type = "tar.xz";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
DOMAIN = "git.nezia.dev";
|
||||||
|
HTTP_PORT = 1849;
|
||||||
|
ROOT_URL = "https://${srv.DOMAIN}/";
|
||||||
|
HTTP_ADDR = "localhost";
|
||||||
|
};
|
||||||
|
service = {
|
||||||
|
DISABLE_REGISTRATION = true;
|
||||||
|
};
|
||||||
|
federation = {
|
||||||
|
ENABLED = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
caddy = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts."git.nezia.dev".extraConfig = ''
|
||||||
|
reverse_proxy * localhost:${toString srv.HTTP_PORT}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [80 443];
|
||||||
|
|
||||||
|
# If you're using nftables (default in newer NixOS)
|
||||||
|
extraForwardRules = ''
|
||||||
|
ip6 saddr { ::/0 } accept
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Ensure IPv6 is enabled
|
||||||
|
networking.enableIPv6 = true;
|
||||||
|
}
|
33
system/services/kanata.nix
Normal file
33
system/services/kanata.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
services.kanata = {
|
||||||
|
enable = true;
|
||||||
|
keyboards.default = {
|
||||||
|
extraDefCfg = "process-unmapped-keys yes";
|
||||||
|
config = ''
|
||||||
|
(defsrc
|
||||||
|
caps a s d f j k l ;
|
||||||
|
)
|
||||||
|
(defvar
|
||||||
|
tap-time 150
|
||||||
|
hold-time 200
|
||||||
|
)
|
||||||
|
|
||||||
|
(defalias
|
||||||
|
escctrl (tap-hold 100 100 esc lctl)
|
||||||
|
a (tap-hold $tap-time $hold-time a lmet)
|
||||||
|
s (tap-hold $tap-time $hold-time s lalt)
|
||||||
|
d (tap-hold $tap-time $hold-time d lsft)
|
||||||
|
f (tap-hold $tap-time $hold-time f lctl)
|
||||||
|
j (tap-hold $tap-time $hold-time j rctl)
|
||||||
|
k (tap-hold $tap-time $hold-time k rsft)
|
||||||
|
l (tap-hold $tap-time $hold-time l ralt)
|
||||||
|
; (tap-hold $tap-time $hold-time ; rmet)
|
||||||
|
)
|
||||||
|
|
||||||
|
(deflayer base
|
||||||
|
@escctrl @a @s @d @f @j @k @l @;
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{
|
||||||
hardware.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
# rtkit is optional but recommended
|
# rtkit is optional but recommended
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
21
system/services/portfolio.nix
Normal file
21
system/services/portfolio.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.caddy.enable = true;
|
||||||
|
services.caddy.virtualHosts = {
|
||||||
|
"www.nezia.dev" = {
|
||||||
|
extraConfig = ''
|
||||||
|
redir https://nezia.dev{uri}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"nezia.dev" = {
|
||||||
|
extraConfig = ''
|
||||||
|
root * ${inputs.portfolio.packages.${pkgs.system}.default}
|
||||||
|
file_server
|
||||||
|
encode gzip
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
61
system/services/searx.nix
Normal file
61
system/services/searx.nix
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
age.secrets.searx-env-file.file = ../../secrets/searx-env-file.age;
|
||||||
|
services = {
|
||||||
|
searx = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.searxng;
|
||||||
|
environmentFile = config.age.secrets.searx-env-file.path;
|
||||||
|
settings = {
|
||||||
|
search = {
|
||||||
|
safe_search = 1; # 0 = None, 1 = Moderate, 2 = Strict
|
||||||
|
autocomplete = "google"; # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off by default
|
||||||
|
default_lang = "en";
|
||||||
|
};
|
||||||
|
server = {
|
||||||
|
secret_key = "@SEARX_SECRET_KEY@";
|
||||||
|
port = 8888; # Internal port
|
||||||
|
bind_address = "localhost"; # Only listen locally
|
||||||
|
base_url = "https://search.nezia.dev/";
|
||||||
|
image_proxy = true;
|
||||||
|
default_http_headers = {
|
||||||
|
X-Content-Type-Options = "nosniff";
|
||||||
|
X-XSS-Protection = "1; mode=block";
|
||||||
|
X-Download-Options = "noopen";
|
||||||
|
X-Robots-Tag = "noindex, nofollow";
|
||||||
|
Referrer-Policy = "no-referrer";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
engines = [
|
||||||
|
{
|
||||||
|
name = "qwant";
|
||||||
|
disabled = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
caddy = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts."search.nezia.dev" = {
|
||||||
|
extraConfig = ''
|
||||||
|
encode gzip
|
||||||
|
reverse_proxy localhost:8888 {
|
||||||
|
header_up Host {host}
|
||||||
|
header_up X-Real-IP {remote_addr}
|
||||||
|
header_up X-Forwarded-For {remote_addr}
|
||||||
|
header_up X-Forwarded-Proto {scheme}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Open required ports
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [80 443]; # For Caddy
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue