diff options
| author | jamie <git@skilet.ro> | 2025-10-23 11:43:03 +0100 |
|---|---|---|
| committer | jamie <git@skilet.ro> | 2025-10-23 13:15:12 +0100 |
| commit | 3b76863b673e14bbb20d2fb81de727c72259b25e (patch) | |
| tree | 8d579704310153581c6a6029de9667906cf7de0f /flake.nix | |
| parent | 9cc4a262486332f42b228710f24dfe4dea3947e1 (diff) | |
refactor: neaten up source tree
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 80 |
1 files changed, 53 insertions, 27 deletions
@@ -5,8 +5,13 @@ haskell-flake.url = "github:srid/haskell-flake"; # https://community.flake.parts/haskell-flake treefmt-nix.url = "github:numtide/treefmt-nix"; }; - outputs = inputs @ {flake-parts, ...}: - flake-parts.lib.mkFlake {inherit inputs;} { + outputs = + inputs@{ + self, + flake-parts, + ... + }: + flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" @@ -17,35 +22,56 @@ inputs.treefmt-nix.flakeModule ]; - perSystem = { - self', - pkgs, - ... - }: { - haskellProjects.default = { - devShell = { - enable = true; - tools = hp: {inherit (hp) hakyll;}; - hlsCheck.enable = true; - mkShellArgs = { - buildInputs = with pkgs; [just sass]; - shellHook = "just -l -u"; + perSystem = + { + self', + pkgs, + lib, + ... + }: + { + packages.default = pkgs.stdenvNoCC.mkDerivation { + name = "website"; + src = ./src; + + GIT_REVISION = if (self ? shortRev) then self.shortRev else "dirty"; + + buildPhase = '' + ${lib.getExe self'.packages.ssg} build --verbose + ''; + + installPhase = '' + mkdir -p $out/dist + cp -a _site/. $out/dist + ''; + }; + + haskellProjects.default = { + projectRoot = ./ssg; + devShell = { + enable = true; + tools = hp: { inherit (hp) hakyll; }; + hlsCheck.enable = true; + mkShellArgs = { + buildInputs = with pkgs; [ + just + sass + ]; + shellHook = "just -l -u"; + }; }; }; - }; - treefmt = { - flakeCheck = true; - programs = { - alejandra.enable = true; - deadnix.enable = true; - just.enable = true; - prettier.enable = true; - stylish-haskell.enable = true; + treefmt = { + flakeCheck = true; + programs = { + nixfmt.enable = true; + deadnix.enable = true; + just.enable = true; + prettier.enable = true; + stylish-haskell.enable = true; + }; }; }; - - packages.default = self'.packages.skiletro; # haskell-flake doesn't set the default package, but you can do it here. - }; }; } |
