Files
guz.one/flake.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
];
};
});
};
}