commit 24a58b81d73f151c7ba7236890a6e13aea9f0c78 from: ale date: Fri Jul 31 03:16:06 2026 UTC add nix flake devshell and build Sets up a reproducible dev environment (go, tectonic, ghostscript, imagemagick) and a buildGoModule package output, so the fork can be built and tested without a system-wide Go toolchain, ahead of adding LaTeX/image/bibliography support. commit - 92af1ef1f33a75bd51db9842a760bd228f3b1a61 commit + 24a58b81d73f151c7ba7236890a6e13aea9f0c78 blob - 74c69e206dc9bbc0ee6070b505d36387d8c53c07 blob + 831bfad5f935135afedacb20444085599ba04f44 --- .gitignore +++ .gitignore @@ -2,3 +2,7 @@ .idea slides_ed25519 slides_ed25519.pub + +# Nix +/result +/result-* blob - /dev/null blob + 414b47485cd1dd7b5abd7ed0dd81a78047a21d56 (mode 644) --- /dev/null +++ flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1785318670, + "narHash": "sha256-dN6Ou5x/+23FZLEpYP3IffO+NyJFzUlGumt1uu3MMaY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} blob - /dev/null blob + dcd4bd8e62ea96f342caf48af330a34494b40503 (mode 644) --- /dev/null +++ flake.nix @@ -0,0 +1,57 @@ +{ + description = "slides (fork adaptado: LaTeX, imágenes e imágenes con pie de foto, bibliografía)"; + + 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 = import nixpkgs { inherit system; }; + in + { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ + go + gopls + gotools + go-tools # staticcheck + delve + + # LaTeX -> PNG pipeline + tectonic + ghostscript + imagemagick + + # comodidad + git + ]; + + shellHook = '' + export GOFLAGS="-mod=mod" + ''; + }; + + packages.default = pkgs.buildGoModule { + pname = "slides"; + version = "dev"; + src = self; + + vendorHash = "sha256-ULF6zzg1fY0xW4eUOC452XlnG3/Pxm+H9thyZO2OtDc="; + + # Los tests que ejecutan procesos externos (tectonic, gs) se + # excluyen del build sandboxeado de Nix. + checkFlags = [ "-short" ]; + + meta = { + description = "Terminal slides, fork personal con soporte de LaTeX/imágenes/bibliografía"; + mainProgram = "slides"; + }; + }; + } + ); +}