chore: add CLAUDE.md and configure nix dev shell
Add CLAUDE.md with project guidance for Claude Code including architecture overview, build commands, and testing procedures. Update flake.nix with proper Go development shell (go, gopls, gotools, golangci-lint, govulncheck, delve) and buildGoModule package definition. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
46
flake.nix
46
flake.nix
@@ -1,15 +1,49 @@
|
||||
{
|
||||
description = "A very basic flake";
|
||||
description = "Message-based NixOS deployment system using NATS";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs }: {
|
||||
outputs = { self, nixpkgs }:
|
||||
let
|
||||
supportedSystems = [ "x86_64-linux" "aarch64-linux" ];
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
pkgsFor = system: nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = pkgsFor system;
|
||||
in
|
||||
{
|
||||
homelab-deploy = pkgs.buildGoModule {
|
||||
pname = "homelab-deploy";
|
||||
version = "0.1.0";
|
||||
src = ./.;
|
||||
vendorHash = null; # Update after adding dependencies
|
||||
};
|
||||
default = self.packages.${system}.homelab-deploy;
|
||||
});
|
||||
|
||||
packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
|
||||
devShells = forAllSystems (system:
|
||||
let
|
||||
pkgs = pkgsFor system;
|
||||
in
|
||||
{
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
go
|
||||
gopls
|
||||
gotools
|
||||
golangci-lint
|
||||
govulncheck
|
||||
delve
|
||||
];
|
||||
};
|
||||
});
|
||||
|
||||
packages.x86_64-linux.default = self.packages.x86_64-linux.hello;
|
||||
|
||||
};
|
||||
nixosModules.default = import ./nixos/module.nix;
|
||||
nixosModules.homelab-deploy = self.nixosModules.default;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user