aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nixos/server/configuration.nix71
1 files changed, 71 insertions, 0 deletions
diff --git a/nixos/server/configuration.nix b/nixos/server/configuration.nix
new file mode 100644
index 0000000..6e14300
--- /dev/null
+++ b/nixos/server/configuration.nix
@@ -0,0 +1,71 @@
+{ pkgs, inputs, outputs, lib, config, ... }:
+
+{
+ nixpkgs = {
+ overlays = [
+ outputs.overlays.additions
+ outputs.overlays.modifications
+ outputs.overlays.unstable-packages
+ ];
+ config = {
+ allowUnfree = true;
+ };
+ };
+
+ nix = {
+ # This will add each flake input as a registry
+ # To make nix3 commands consistent with your flake
+ registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
+
+ # This will additionally add your inputs to the system's legacy channels
+ # Making legacy nix commands consistent as well, awesome!
+ nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
+
+ gc = {
+ automatic = true;
+ dates = "weekly";
+ };
+
+ settings = {
+ # Enable flakes and new 'nix' command
+ experimental-features = "nix-command flakes";
+ # Deduplicate and optimize nix store
+ auto-optimise-store = true;
+
+ trusted-users = [ "root" "@wheel" ];
+ };
+ };
+
+ virtualisation.docker.enable = true;
+
+ # services.nginx = {
+ # enable = true;
+ # virtualHosts."kcu.su" = {
+ # forceSSL = true;
+ # enableACME = true;
+ # locations."/xray" = {
+ # proxyPass = "http://127.0.0.1:42069";
+ # extraConfig = "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ # proxy_set_header X-Forwarded-Proto $scheme;
+ # proxy_set_header Host $http_host;
+ # proxy_set_header X-Real-IP $remote_addr;
+ # proxy_set_header Range $http_range;
+ # proxy_set_header If-Range $http_if_range;
+ # proxy_redirect off;";
+ # };
+ # };
+ # };
+
+ services.k3s = {
+ enable = true;
+ role = "server";
+ };
+
+ security.acme = {
+ acceptTerms = true;
+ defaults.email = "notspl3g@duck.com";
+ };
+
+ # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
+ system.stateVersion = "24.04";
+}