summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorjamie <git@skilet.ro>2025-10-23 11:43:03 +0100
committerjamie <git@skilet.ro>2025-10-23 13:15:12 +0100
commit3b76863b673e14bbb20d2fb81de727c72259b25e (patch)
tree8d579704310153581c6a6029de9667906cf7de0f /flake.nix
parent9cc4a262486332f42b228710f24dfe4dea3947e1 (diff)
refactor: neaten up source tree
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix80
1 files changed, 53 insertions, 27 deletions
diff --git a/flake.nix b/flake.nix
index ee12ea0..704bb00 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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.
- };
};
}