{ description = "Web dev + Go"; 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; config.allowUnfree = true; }; creamlinux = import (builtins.fetchTarball { url = "https://github.com/Novattz/creamlinux-installer/archive/main.tar.gz"; sha256 = "sha256:1n0iqrqw63c3m6gidkq7rf9d5yqm9gqsmal4wbgr370pkndbfpdi"; # See above }) { inherit pkgs; }; in { devShells.default = pkgs.mkShell { # In the dev shell, you get more tools than just what's needed to build packages = with pkgs; [ go gopls gotools air sqlite sqlitebrowser gcc creamlinux ]; # Variables CGO_ENABLED = "1"; shellHook = '' echo "Go loaded" echo "air -> Hot reload" echo "sqlite3 app.db -> Inspect the DataBase" export PORT="8080" ''; }; }); }