97 lines
1.8 KiB
Nix
97 lines
1.8 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
};
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
...
|
|
}: let
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
forAllSystems = f:
|
|
nixpkgs.lib.genAttrs systems (system: let
|
|
pkgs = import nixpkgs {inherit system;};
|
|
in
|
|
f {
|
|
inherit pkgs;
|
|
inherit (pkgs) lib;
|
|
});
|
|
in {
|
|
packages = forAllSystems ({
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
guzone = pkgs.buildGoModule {
|
|
name = "guz.one";
|
|
pname = "guz.one";
|
|
|
|
env = {
|
|
GOWORK = "off";
|
|
};
|
|
|
|
version = "v0.1.0";
|
|
|
|
src = lib.cleanSource ./.;
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.tailwindcss_4
|
|
];
|
|
|
|
vendorHash = "sha256-qw60GsRSZcevR4tvxsoQi3RWbZU291s6ZB8YJnaoh0Q=";
|
|
|
|
preBuild = ''
|
|
tailwindcss \
|
|
-i ./assets/tailwind.css \
|
|
-o ./assets/out.css
|
|
ls -a ./assets
|
|
'';
|
|
|
|
meta = {
|
|
mainProgram = "guz.one";
|
|
};
|
|
};
|
|
default = self.packages.${pkgs.stdenv.hostPlatform.system}.guzone;
|
|
});
|
|
devShells = forAllSystems ({pkgs, ...}: {
|
|
default = pkgs.mkShell {
|
|
CGO_ENABLED = "1";
|
|
hardeningDisable = ["fortify"];
|
|
|
|
GOPRIVATE = "code.capytal.cc/*";
|
|
|
|
shellHook = ''
|
|
set -a
|
|
source .env
|
|
set +a
|
|
'';
|
|
|
|
buildInputs = with pkgs; [
|
|
# Go tools
|
|
go
|
|
golangci-lint
|
|
gofumpt
|
|
gotools
|
|
delve
|
|
|
|
# TailwindCSS
|
|
tailwindcss_4
|
|
|
|
# Sqlite tools
|
|
sqlite
|
|
lazysql
|
|
litecli
|
|
|
|
# S3
|
|
awscli
|
|
];
|
|
};
|
|
});
|
|
};
|
|
}
|