chore: initial project scaffolding

Add project configuration, documentation and development tooling:
- flake.nix dev shell with Go, golangci-lint, turbojpeg
- .envrc sourcing sops-encrypted .secrets.env
- golangci-lint v2 config
- opencode.json MCP + LSP wiring
- AGENTS.md development guidelines
This commit is contained in:
2026-09-18 18:36:19 +01:00
commit b8b2ba8da1
10 changed files with 753 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
{
description = "TeleportFling Development Environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells.default = pkgs.mkShell {
inputsFrom = [];
nativeBuildInputs = with pkgs; [
go
golangci-lint
pkg-config
gopls
nixd
nodejs
gitea-mcp-server
];
buildInputs = with pkgs; [
git
direnv
nix-direnv
libjpeg_turbo
pipewire
xdg-desktop-portal
];
# Make turbojpeg resolve via pkg-config for cgo builds.
PKG_CONFIG_PATH = "${pkgs.libjpeg_turbo.dev}/lib/pkgconfig";
LD_LIBRARY_PATH = "${pkgs.libjpeg_turbo.out}/lib";
shellHook = ''
echo "TeleportFling dev shell ready!"
'';
};
});
}