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.
|
||||
|
||||
|
@ -20,6 +20,7 @@ Additionally using a lot of other software you can find in the configuration fil
|
|||
| [hosts](hosts/) | Host-specific |
|
||||
| [lib](lib/) | Helper functions |
|
||||
| [modules](modules/) | NixOS modules |
|
||||
| [pkgs](pkgs/) | Custom packages |
|
||||
| [system](system/) | NixOS configuration |
|
||||
|
||||
My configuration is structured based on the following principles:
|
||||
|
|
395
flake.lock
395
flake.lock
|
@ -1,9 +1,32 @@
|
|||
{
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728326430,
|
||||
|
@ -60,6 +83,48 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
|
@ -69,11 +134,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1729491205,
|
||||
"narHash": "sha256-luvUK8ZTRTdsVao7VqnxvGEvA3rjEmfiwakDyHxQhx8=",
|
||||
"lastModified": 1730865784,
|
||||
"narHash": "sha256-6kJYNjVCyf1tYgpqm7QOYcMkkD/RsaSfrsC2+ojmFAI=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "9764579885c84ba5d4bcd9d3061409a527ff805c",
|
||||
"rev": "b8d22442e09a02eb8b830d41726ac371be21b7cd",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
@ -115,6 +180,22 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
|
@ -159,11 +240,11 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"lastModified": 1730504689,
|
||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -207,7 +288,7 @@
|
|||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -225,7 +306,7 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -243,14 +324,14 @@
|
|||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -318,15 +399,36 @@
|
|||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729459288,
|
||||
"narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=",
|
||||
"lastModified": 1703113217,
|
||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||
"owner": "nix-community",
|
||||
"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"
|
||||
},
|
||||
"original": {
|
||||
|
@ -338,7 +440,7 @@
|
|||
"lanzaboote": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
|
@ -447,17 +549,17 @@
|
|||
"flake-parts": "flake-parts_3",
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729499378,
|
||||
"narHash": "sha256-gslhStBw58+LAbcver/2/Q6zjPq9xNZQ/IcoIh7OBck=",
|
||||
"lastModified": 1730875971,
|
||||
"narHash": "sha256-VpTY0Urm0tebIndEP3qCsfAEjh8IB0d9j7XRZkNLRrw=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "2e46e95f0e5be7cea740163d87edf628e755cc3e",
|
||||
"rev": "563b10c27839d0b08353d4cd3563e0f9beb3468d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -486,11 +588,11 @@
|
|||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1729444736,
|
||||
"narHash": "sha256-/Q1yf6f9nUBFVqI/t89xfTPmQipaug63LP8TeENg4CA=",
|
||||
"lastModified": 1730871742,
|
||||
"narHash": "sha256-wK7UD90LxLr8oELIYPhUS6+IPU32JGESaHd/tny5/ig=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "289ae3604d705cebc82cbcd23ee4534ded16d3af",
|
||||
"rev": "8867a4f84c4bd07235abd37828b0d724321facbe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -506,11 +608,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729394935,
|
||||
"narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=",
|
||||
"lastModified": 1730604744,
|
||||
"narHash": "sha256-/MK6QU4iOozJ4oHTfZipGtOgaT/uy/Jm4foCqHQeYR4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "04f8a11f247ba00263b060fbcdc95484fd046104",
|
||||
"rev": "cc2ddbf2df8ef7cc933543b1b42b845ee4772318",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -521,11 +623,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1729509737,
|
||||
"narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=",
|
||||
"lastModified": 1730886862,
|
||||
"narHash": "sha256-wCZtRGM1NGxq6VG4+TMzfsa4cuG2VJVtowtYuWW5W3g=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037",
|
||||
"rev": "90642a0deae927fa911d49d4f7c5616257105141",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -564,14 +666,14 @@
|
|||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1727825735,
|
||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||
"lastModified": 1730504152,
|
||||
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"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": {
|
||||
|
@ -604,11 +706,11 @@
|
|||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1729307008,
|
||||
"narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=",
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -636,27 +738,27 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1729256560,
|
||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
||||
"lastModified": 1702272962,
|
||||
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
||||
"rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1729256560,
|
||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
||||
"lastModified": 1730785428,
|
||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -667,6 +769,22 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1726871744,
|
||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||
|
@ -682,7 +800,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1656753965,
|
||||
"narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
|
||||
|
@ -698,7 +816,23 @@
|
|||
"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": {
|
||||
"lastModified": 1726871744,
|
||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||
|
@ -736,7 +870,7 @@
|
|||
"flake-utils": "flake-utils_3",
|
||||
"mnw": "mnw",
|
||||
"nil": "nil",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nmd": "nmd",
|
||||
"plugin-alpha-nvim": "plugin-alpha-nvim",
|
||||
"plugin-bufdelete-nvim": "plugin-bufdelete-nvim",
|
||||
|
@ -840,14 +974,14 @@
|
|||
"plugin-vim-vsnip": "plugin-vim-vsnip",
|
||||
"plugin-which-key": "plugin-which-key",
|
||||
"rnix-lsp": "rnix-lsp",
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728378979,
|
||||
"narHash": "sha256-CW/5Cs9m8HupL+6iRMpdHE88OmK9MXH2h3BcXCQw440=",
|
||||
"lastModified": 1730289819,
|
||||
"narHash": "sha256-GYEgdCLzNODbMNEeYbMa5EWgEwTEMxdSSPTz8uEwZdQ=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "0947ab38c0bc79780eec599161306157b8de74a3",
|
||||
"rev": "8ff50562d7203a2b87bc6409e806f13b115d6b48",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -866,11 +1000,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729372184,
|
||||
"narHash": "sha256-Tb2/jJ74pt0nmfprkOW1g5zZphJTNbzLnyDENM+c5+I=",
|
||||
"lastModified": 1730635861,
|
||||
"narHash": "sha256-Npp3pl9aeAiq+wZPDbw2ZxybNuZWyuN7AY6fik56DCo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "9390dadadc58ffda8e494b31ef66a4ae041f6dd1",
|
||||
"rev": "293668587937daae1df085ee36d2b2d0792b7a0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -2496,6 +2630,24 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
|
@ -2526,8 +2678,8 @@
|
|||
"rnix-lsp": {
|
||||
"inputs": {
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"utils": "utils"
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1669555118,
|
||||
|
@ -2545,18 +2697,21 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"ags": "ags",
|
||||
"basix": "basix",
|
||||
"deploy-rs": "deploy-rs",
|
||||
"firefox-addons": "firefox-addons",
|
||||
"home-manager": "home-manager",
|
||||
"home-manager": "home-manager_2",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"niri": "niri",
|
||||
"nix-index-db": "nix-index-db",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nvf": "nvf",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"systems": "systems_5",
|
||||
"portfolio": "portfolio",
|
||||
"systems": "systems_7",
|
||||
"treefmt-nix": "treefmt-nix",
|
||||
"wezterm": "wezterm"
|
||||
}
|
||||
|
@ -2621,11 +2776,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726280639,
|
||||
"narHash": "sha256-YfLRPlFZWrT2oRLNAoqf7G3+NnUTDdlIJk6tmBU7kXM=",
|
||||
"lastModified": 1729477859,
|
||||
"narHash": "sha256-r0VyeJxy4O4CgTB/PNtfQft9fPfN1VuGvnZiCxDArvg=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "e9f8641c92f26fd1e076e705edb12147c384171d",
|
||||
"rev": "ada8266712449c4c0e6ee6fcbc442b3c217c79e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -2635,21 +2790,6 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -2664,6 +2804,21 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -2696,16 +2851,16 @@
|
|||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -2724,16 +2879,46 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729242555,
|
||||
"narHash": "sha256-6jWSWxv2crIXmYSEb3LEVsFkCkyVHNllk61X4uhqfCs=",
|
||||
"lastModified": 1730321837,
|
||||
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "d986489c1c757f6921a48c1439f19bfb9b8ecab5",
|
||||
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -2743,6 +2928,24 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
|
@ -2771,11 +2974,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "nix",
|
||||
"lastModified": 1729006311,
|
||||
"narHash": "sha256-1xtKJHu6CFnOhp4snof+WSTwcdPgwIaD6mBODP/cv3w=",
|
||||
"lastModified": 1730734444,
|
||||
"narHash": "sha256-lNgCAphrq3/bYGjgDxEl2rVcer6GnmfWXDhxc+kdYOk=",
|
||||
"owner": "wez",
|
||||
"repo": "wezterm",
|
||||
"rev": "9ddca7bde92090792dbcdc65c1e9897c362196d7",
|
||||
"rev": "51c794ac500a2033b9dc570c71810518bfa667a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -2789,16 +2992,16 @@
|
|||
"xwayland-satellite-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1718165778,
|
||||
"narHash": "sha256-dwF9nI54a6Fo9XU5s4qmvMXSgCid3YQVGxch00qEMvI=",
|
||||
"lastModified": 1730166465,
|
||||
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "b6d281967cb0b7bf1dfdb8d0f597b517dc4aa5c5",
|
||||
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Supreeeme",
|
||||
"ref": "v0.4",
|
||||
"ref": "v0.5",
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -2806,11 +3009,11 @@
|
|||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1729139001,
|
||||
"narHash": "sha256-BADKw4fQma8tUNBRfmS9YLXTRXK4nYyXIxQdhGuEV0s=",
|
||||
"lastModified": 1730258684,
|
||||
"narHash": "sha256-E+69sdxUhPSNI8+JlTL6KKbNv5qVD3L1y8hdVO37A44=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "ab2d09962c425670a4a7ca6ef5d92a0f06632499",
|
||||
"rev": "b0ee6db9fa9901c675b3c7e952c2a8ce987a0f58",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
21
flake.nix
21
flake.nix
|
@ -5,6 +5,8 @@
|
|||
self,
|
||||
nixpkgs,
|
||||
systems,
|
||||
agenix,
|
||||
deploy-rs,
|
||||
treefmt-nix,
|
||||
...
|
||||
} @ inputs: let
|
||||
|
@ -16,12 +18,19 @@
|
|||
packages = [
|
||||
pkgs.alejandra
|
||||
pkgs.git
|
||||
deploy-rs.packages.${pkgs.system}.default
|
||||
agenix.packages.${pkgs.system}.default
|
||||
];
|
||||
};
|
||||
});
|
||||
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
|
||||
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 = {
|
||||
# nix related
|
||||
|
@ -42,14 +51,22 @@
|
|||
};
|
||||
|
||||
# other
|
||||
agenix = {
|
||||
url = "github:ryantm/agenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
ags.url = "github:Aylur/ags";
|
||||
basix.url = "github:notashelf/basix";
|
||||
deploy-rs.url = "github:serokell/deploy-rs";
|
||||
firefox-addons = {
|
||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
niri = {url = "github:sodiboo/niri-flake";};
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
nvf.url = "github:notashelf/nvf";
|
||||
|
||||
portfolio.url = "github:nezia1/portfolio";
|
||||
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
in {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||
extraPolicies = {
|
||||
DisableTelemetry = true;
|
||||
DisablePocket = true;
|
||||
DisableFeedbackCommands = true;
|
||||
|
@ -20,9 +21,9 @@ in {
|
|||
OfferToSaveLogins = false;
|
||||
OffertosaveloginsDefault = false;
|
||||
PasswordManagerEnabled = false;
|
||||
SearchSuggestEnabled = true;
|
||||
|
||||
# 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 = {
|
||||
"addon@darkreader.org" = {
|
||||
permissions = ["internal:privateBrowsingAllowed"];
|
||||
|
@ -52,6 +53,40 @@ in {
|
|||
uiTheme = "dark";
|
||||
advancedUserEnabled = 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
|
||||
violentmonkey
|
||||
];
|
||||
|
||||
# https://git.jacekpoz.pl/poz/niksos/src/commit/a48647a1c5bc6877a1100a65f4dc169b2fc11ed7/hosts/hape/firefox.nix
|
||||
search = {
|
||||
default = "SearxNG";
|
||||
|
@ -81,7 +115,7 @@ in {
|
|||
urls = [
|
||||
{
|
||||
rels = ["results"];
|
||||
template = "https://searx.tiekoetter.com/search";
|
||||
template = "https://search.nezia.dev/search";
|
||||
params = [
|
||||
{
|
||||
name = "q";
|
||||
|
@ -91,7 +125,7 @@ in {
|
|||
}
|
||||
{
|
||||
rels = ["suggestions"];
|
||||
template = "https://searx.tiekoetter.com/autocompleter";
|
||||
template = "https://search.nezia.dev/autocompleter";
|
||||
params = [
|
||||
{
|
||||
name = "q";
|
||||
|
@ -101,7 +135,7 @@ in {
|
|||
"type" = "application/x-suggestions+json";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://searx.tiekoetter.com/favicon.ico";
|
||||
iconUpdateURL = "https://search.nezia.dev/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000;
|
||||
definedAliases = ["@s"];
|
||||
};
|
||||
|
|
|
@ -35,5 +35,9 @@
|
|||
nautilus
|
||||
simple-scan
|
||||
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,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) getExe;
|
||||
in {
|
||||
}: {
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -60,6 +60,10 @@
|
|||
|
||||
git.enable = true;
|
||||
|
||||
utility = {
|
||||
vim-wakatime.enable = true;
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
lspSignature.enable = true;
|
||||
|
|
|
@ -1,15 +1,21 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
bottles
|
||||
lutris
|
||||
mangohud
|
||||
path-of-building
|
||||
protonplus
|
||||
r2modman
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
home.packages = [
|
||||
pkgs.bottles
|
||||
pkgs.lutris
|
||||
pkgs.mangohud
|
||||
pkgs.path-of-building
|
||||
pkgs.protonplus
|
||||
pkgs.r2modman
|
||||
|
||||
# steamtinkerlaunch dependencies
|
||||
xdotool
|
||||
xorg.xwininfo
|
||||
yad
|
||||
pkgs.xdotool
|
||||
pkgs.xorg.xwininfo
|
||||
pkgs.yad
|
||||
|
||||
inputs.self.packages.${pkgs.system}.bolt-launcher
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
_: {
|
||||
{
|
||||
services.udiskie.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
{
|
||||
programs.wezterm = {
|
||||
enable = true;
|
||||
# package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
{
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
{
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
name = "fzf";
|
||||
inherit (pkgs.fishPlugins.fzf) src;
|
||||
}
|
||||
{
|
||||
name = "autopair";
|
||||
inherit (pkgs.fishPlugins.autopair) src;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableTransience = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
_: {
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
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,
|
||||
lib',
|
||||
...
|
||||
}: let
|
||||
inherit (inputs.nixpkgs.lib) nixosSystem;
|
||||
specialArgs = {
|
||||
inherit inputs self;
|
||||
};
|
||||
inherit (lib') mkSystem;
|
||||
in {
|
||||
vamos = nixosSystem {
|
||||
vamos = mkSystem {
|
||||
system = "x86_64-linux";
|
||||
inherit specialArgs;
|
||||
modules = [
|
||||
./vamos
|
||||
|
||||
self.nixosModules.theme
|
||||
inputs.self.nixosModules.theme
|
||||
|
||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||
];
|
||||
};
|
||||
|
||||
solaire = nixosSystem {
|
||||
solaire = mkSystem {
|
||||
system = "x86_64-linux";
|
||||
inherit specialArgs;
|
||||
modules = [
|
||||
./solaire
|
||||
self.nixosModules.theme
|
||||
inputs.self.nixosModules.theme
|
||||
];
|
||||
};
|
||||
|
||||
anastacia = mkSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./anastacia
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,28 +1,25 @@
|
|||
{
|
||||
self,
|
||||
specialArgs,
|
||||
...
|
||||
}: let
|
||||
mod = "${self}/system";
|
||||
{specialArgs, ...}: let
|
||||
system = ../../system;
|
||||
home = ../../home;
|
||||
in {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./modules
|
||||
|
||||
"${mod}"
|
||||
"${mod}/hardware/uni-sync.nix"
|
||||
system
|
||||
"${system}/hardware/uni-sync.nix"
|
||||
|
||||
"${mod}/programs/gnome.nix"
|
||||
"${mod}/programs/games.nix"
|
||||
"${mod}/hardware/nvidia.nix"
|
||||
"${system}/programs/gnome.nix"
|
||||
"${system}/programs/games.nix"
|
||||
"${system}/hardware/nvidia.nix"
|
||||
];
|
||||
|
||||
home-manager = {
|
||||
users.nezia.imports = [
|
||||
"${self}/home"
|
||||
"${self}/home/programs/games"
|
||||
home
|
||||
"${home}/programs/games"
|
||||
|
||||
"${self}/home/terminal/emulators/foot.nix"
|
||||
"${home}/terminal/emulators/foot.nix"
|
||||
];
|
||||
extraSpecialArgs = specialArgs;
|
||||
};
|
||||
|
|
|
@ -15,10 +15,10 @@ in {
|
|||
"${mod}/hardware/fprintd.nix"
|
||||
"${mod}/services/power.nix"
|
||||
"${mod}/services/brightness.nix"
|
||||
"${mod}/services/keyd.nix"
|
||||
|
||||
"${mod}/services/logind.nix"
|
||||
"${mod}/services/greetd.nix"
|
||||
"${mod}/services/kanata.nix"
|
||||
|
||||
"${mod}/programs/niri"
|
||||
"${mod}/services/gnome.nix"
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
lib',
|
||||
...
|
||||
}: let
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
# convert rrggbb hex to rgba(r, g, b, a)
|
||||
rgba = c: let
|
||||
r = toString (hexToDec (builtins.substring 0 2 c));
|
||||
|
@ -86,8 +87,25 @@
|
|||
];
|
||||
|
||||
# Create a KDE konsole color scheme from base16 colors
|
||||
mkKonsoleColorScheme = scheme:
|
||||
mkKonsoleColorScheme = pkgs: 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
|
||||
./security.nix
|
||||
./networking.nix
|
||||
../nix
|
||||
];
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"audio"
|
||||
"video"
|
||||
"wheel"
|
||||
"plugdev"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./core
|
||||
./nix
|
||||
|
||||
./hardware/printing.nix
|
||||
./hardware/fwupd.nix
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
(_: prev: {
|
||||
lib =
|
||||
prev.lib
|
||||
// import ../../lib {
|
||||
inherit (prev) lib pkgs;
|
||||
};
|
||||
})
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [
|
||||
"cinny-4.2.2"
|
||||
"cinny-unwrapped-4.2.2"
|
||||
"segger-jlink-qt4-796s"
|
||||
];
|
||||
config.permittedInsecurePackages = ["cinny-4.2.2" "cinny-unwrapped-4.2.2"];
|
||||
segger-jlink.acceptLicense = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
noto-fonts-extra
|
||||
(nerdfonts.override {fonts = ["IntelOneMono"];})
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
programs = {
|
||||
steam.enable = true;
|
||||
gamemode.enable = true;
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
{
|
||||
imports = [./docker.nix ./gnupg.nix ./pipewire.nix ./kmscon.nix];
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./docker.nix
|
||||
./gnupg.nix
|
||||
./pipewire.nix
|
||||
./kmscon.nix
|
||||
];
|
||||
services.udev.packages = [pkgs.segger-jlink];
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
_: {
|
||||
virtualisation.docker = {
|
||||
{pkgs, ...}: {
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
dockerCompat = 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;
|
||||
# rtkit is optional but recommended
|
||||
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