diff options
author | Anirudh Oppiliappan <x@icyphox.sh> | 2024-06-16 23:32:49 +0300 |
---|---|---|
committer | Anirudh Oppiliappan <x@icyphox.sh> | 2024-06-16 23:32:49 +0300 |
commit | 7e3307efe8a1af7b0da6a3ccfcee40ef5f5d98d8 (patch) | |
tree | bb5dbc7a2907f9f8cdebb04ded050c82432298e9 /flake.nix | |
parent | readme: misc updates (diff) | |
download | legitrx-7e3307efe8a1af7b0da6a3ccfcee40ef5f5d98d8.tar.gz legitrx-7e3307efe8a1af7b0da6a3ccfcee40ef5f5d98d8.tar.zst legitrx-7e3307efe8a1af7b0da6a3ccfcee40ef5f5d98d8.zip |
nix: init flake
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..7c9a79e --- /dev/null +++ b/flake.nix @@ -0,0 +1,62 @@ +{ + description = "web frontend for git"; + + inputs.nixpkgs.url = "github:nixos/nixpkgs"; + + outputs = + { self + , nixpkgs + , + }: + let + supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); + in + { + packages = forAllSystems (system: + let + pkgs = nixpkgsFor.${system}; + legit = self.packages.${system}.legit; + files = pkgs.lib.fileset.toSource { + root = ./.; + fileset = pkgs.lib.fileset.unions [ + ./config.yaml + ./static + ./templates + ]; + }; + in + { + legit = pkgs.buildGoModule { + name = "legit"; + rev = "master"; + src = ./.; + + vendorHash = "sha256-EBVD/RzVpxNcwyVHP1c4aKpgNm4zjCz/99LvfA0Oc/Q="; + }; + docker = pkgs.dockerTools.buildLayeredImage { + name = "foo:5000/legit"; + tag = "latest"; + contents = [ files ]; + config = { + Cmd = "${legit}/bin/legit"; + ExposedPorts = { "5555/tcp" = { }; }; + }; + }; + }); + + defaultPackage = forAllSystems (system: self.packages.${system}.legit); + devShells = forAllSystems (system: + let + pkgs = nixpkgsFor.${system}; + in + { + default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + go + ]; + }; + }); + }; +} |