forked from aylac.top/nixcfg
this repo has no description

added knot

Changed files
+224 -6
hosts
modules
flake
home
programs
chromium
nixos
profiles
backups
snippets
aylac-top
+180 -4
flake.lock
···
"type": "github"
}
},
+
"flake-utils": {
+
"inputs": {
+
"systems": "systems_2"
+
},
+
"locked": {
+
"lastModified": 1694529238,
+
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
+
"owner": "numtide",
+
"repo": "flake-utils",
+
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
+
"type": "github"
+
},
+
"original": {
+
"owner": "numtide",
+
"repo": "flake-utils",
+
"type": "github"
+
}
+
},
"fontix": {
"inputs": {
"actions-nix": "actions-nix_2",
···
"type": "github"
}
},
+
"gomod2nix": {
+
"inputs": {
+
"flake-utils": "flake-utils",
+
"nixpkgs": [
+
"tangled-core",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1754078208,
+
"narHash": "sha256-YVoIFDCDpYuU3riaDEJ3xiGdPOtsx4sR5eTzHTytPV8=",
+
"owner": "nix-community",
+
"repo": "gomod2nix",
+
"rev": "7f963246a71626c7fc70b431a315c4388a0c95cf",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-community",
+
"repo": "gomod2nix",
+
"type": "github"
+
}
+
},
"home-manager": {
"inputs": {
"nixpkgs": [
···
"type": "github"
}
},
+
"htmx-src": {
+
"flake": false,
+
"locked": {
+
"narHash": "sha256-nm6avZuEBg67SSyyZUhjpXVNstHHgUxrtBHqJgowU08=",
+
"type": "file",
+
"url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js"
+
},
+
"original": {
+
"type": "file",
+
"url": "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js"
+
}
+
},
+
"htmx-ws-src": {
+
"flake": false,
+
"locked": {
+
"narHash": "sha256-2fg6KyEJoO24q0fQqbz9RMaYNPQrMwpZh29tkSqdqGY=",
+
"type": "file",
+
"url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2"
+
},
+
"original": {
+
"type": "file",
+
"url": "https://cdn.jsdelivr.net/npm/htmx-ext-ws@2.0.2"
+
}
+
},
+
"ibm-plex-mono-src": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1731402384,
+
"narHash": "sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1+EMrGsYEq+6g=",
+
"type": "tarball",
+
"url": "https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip"
+
},
+
"original": {
+
"type": "tarball",
+
"url": "https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip"
+
}
+
},
+
"indigo": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1753693716,
+
"narHash": "sha256-DMIKnCJRODQXEHUxA+7mLzRALmnZhkkbHlFT2rCQYrE=",
+
"owner": "oppiliappan",
+
"repo": "indigo",
+
"rev": "5f170569da9360f57add450a278d73538092d8ca",
+
"type": "github"
+
},
+
"original": {
+
"owner": "oppiliappan",
+
"repo": "indigo",
+
"type": "github"
+
}
+
},
+
"inter-fonts-src": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1731687360,
+
"narHash": "sha256-5vdKKvHAeZi6igrfpbOdhZlDX2/5+UvzlnCQV6DdqoQ=",
+
"type": "tarball",
+
"url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip"
+
},
+
"original": {
+
"type": "tarball",
+
"url": "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip"
+
}
+
},
"lanzaboote": {
"inputs": {
"crane": "crane",
···
"ref": "v0.4.2",
"repo": "lanzaboote",
"type": "github"
+
}
+
},
+
"lucide-src": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1754044466,
+
"narHash": "sha256-+exBR2OToB1iv7ZQI2S4B0lXA/QRvC9n6U99UxGpJGs=",
+
"type": "tarball",
+
"url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip"
+
},
+
"original": {
+
"type": "tarball",
+
"url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip"
}
},
"nix-darwin": {
···
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur",
-
"secrets": "secrets"
+
"secrets": "secrets",
+
"tangled-core": "tangled-core"
}
},
"rust-overlay": {
···
"secrets": {
"flake": false,
"locked": {
-
"lastModified": 1755310472,
-
"narHash": "sha256-5+pJ8MaRuL4zl/HDtTkzZeoEDjeUC7UXa25gwGu2850=",
+
"lastModified": 1755335838,
+
"narHash": "sha256-KaUVYpZKZlgh/MnH5hyedBo7hFJgCJkOz5VSNfITsNw=",
"owner": "ayla6",
"repo": "secrets",
-
"rev": "2758e4878df0dfb6fc8ad5aefc21f95881e2e7e0",
+
"rev": "70c60e8345db2f9a35b33309ef1bc7177330bb00",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"sqlite-lib-src": {
+
"flake": false,
+
"locked": {
+
"lastModified": 1706631843,
+
"narHash": "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=",
+
"type": "tarball",
+
"url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"
+
},
+
"original": {
+
"type": "tarball",
+
"url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"
+
}
+
},
"systems": {
"locked": {
"lastModified": 1681028828,
···
"owner": "nix-systems",
"repo": "default",
"type": "github"
+
}
+
},
+
"systems_2": {
+
"locked": {
+
"lastModified": 1681028828,
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+
"owner": "nix-systems",
+
"repo": "default",
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-systems",
+
"repo": "default",
+
"type": "github"
+
}
+
},
+
"tangled-core": {
+
"inputs": {
+
"gomod2nix": "gomod2nix",
+
"htmx-src": "htmx-src",
+
"htmx-ws-src": "htmx-ws-src",
+
"ibm-plex-mono-src": "ibm-plex-mono-src",
+
"indigo": "indigo",
+
"inter-fonts-src": "inter-fonts-src",
+
"lucide-src": "lucide-src",
+
"nixpkgs": [
+
"nixpkgs"
+
],
+
"sqlite-lib-src": "sqlite-lib-src"
+
},
+
"locked": {
+
"lastModified": 1755330292,
+
"narHash": "sha256-Dh3t2ugmuJxtxxCEg8MlxekUWZwjKiH0wHBLgfT5lbA=",
+
"ref": "refs/heads/master",
+
"rev": "ea1263475985aade8f1f1ecd59d8e8cbc3f6d9b3",
+
"revCount": 1152,
+
"type": "git",
+
"url": "https://tangled.sh/@tangled.sh/core"
+
},
+
"original": {
+
"type": "git",
+
"url": "https://tangled.sh/@tangled.sh/core"
}
},
"treefmt-nix": {
+5
flake.nix
···
url = "github:ayla6/secrets";
flake = false;
};
+
+
tangled-core = {
+
url = "git+https://tangled.sh/@tangled.sh/core";
+
inputs.nixpkgs.follows = "nixpkgs";
+
};
};
nixConfig = {
+1
hosts/nanpi/secrets.nix
···
syncthingKey.file = "${self.inputs.secrets}/ayla/syncthing/nanpi/key.age";
resticPassword.file = "${self.inputs.secrets}/restic-passwd.age";
vaultwarden.file = "${self.inputs.secrets}/vaultwarden.age";
+
tangled-knot.file = "${self.inputs.secrets}/tangled-knot.age";
};
}
+15 -1
hosts/nanpi/services.nix
···
{config, ...}: let
-
dataDirectory = "/home/Data";
+
dataDirectory = "/var/lib";
in {
services = {
pds = {
···
ingress = {
"${config.mySnippets.aylac-top.networkMap.pds.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.pds.hostName}:${toString config.mySnippets.aylac-top.networkMap.pds.port}";
"${config.mySnippets.aylac-top.networkMap.vaultwarden.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.vaultwarden.hostName}:${toString config.mySnippets.aylac-top.networkMap.vaultwarden.port}";
+
"${config.mySnippets.aylac-top.networkMap.tangled-knot.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.tangled-knot.hostName}:${toString config.mySnippets.aylac-top.networkMap.tangled-knot.port}";
};
};
};
···
enable = true;
openFirewall = true;
dataDir = "${dataDirectory}/jellyfin";
+
};
+
+
# because of the lack of forwarding the ssh because of the tunnel, repo origins have to be added like this
+
# git@nanpi:did\:plc\:3c6vkaq7xf5kz3va3muptjh5/nixcfg
+
# as opposed to git@knot.aylac.top:aylac.top/nixcfg
+
tangled-knot = {
+
enable = true;
+
openFirewall = false;
+
server = {
+
hostname = config.mySnippets.aylac-top.networkMap.tangled-knot.vHost;
+
listenAddr = "0.0.0.0:${toString config.mySnippets.aylac-top.networkMap.tangled-knot.port}";
+
secretFile = config.age.secrets.tangled-knot.path;
+
};
};
};
}
+1
modules/flake/nixos.nix
···
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
inputs.lanzaboote.nixosModules.lanzaboote
+
inputs.tangled-core.nixosModules.knot
modules.hardware
modules.nixos
modules.snippets
+6 -1
modules/home/programs/chromium/default.nix
···
package =
if pkgs.stdenv.isDarwin
then (pkgs.runCommand "chromium-0.0.0" {} "mkdir $out")
-
else pkgs.ungoogled-chromium;
+
else pkgs.chromium;
+
+
commandLineArgs = lib.mkIf pkgs.stdenv.isLinux [
+
"--enable-features=TouchpadOverscrollHistoryNavigation"
+
"--gtk-version=4"
+
];
};
};
}
+10
modules/nixos/profiles/backups/default.nix
···
repository = mkRepoA "passwords";
}
);
+
+
tangled-knot = lib.mkIf config.services.tangled-knot.enable (
+
config.mySnippets.restic
+
// {
+
backupCleanupCommand = start "knot";
+
backupPrepareCommand = stop "knot";
+
paths = [config.services.tangled-knot.stateDir];
+
repository = mkRepoA "tangled-knot";
+
}
+
);
};
};
}
+6
modules/snippets/aylac-top/default.nix
···
port = 8222;
vHost = "vault.aylac.top";
};
+
+
tangled-knot = {
+
hostName = "nanpi";
+
port = 5555;
+
vHost = "knot.aylac.top";
+
};
};
};
}