summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2024-04-18 14:17:43 +0200
committerAlan Pearce2024-04-18 14:17:43 +0200
commit0cee36a024bf30dd466b8245a2c4e085921a1981 (patch)
treee28b9f5ff1513d20570209d267c39c981ee88b0e
parentf128790d36147be1db3834b12f0ece9a766c8e06 (diff)
downloadnixfiles-0cee36a024bf30dd466b8245a2c4e085921a1981.tar.lz
nixfiles-0cee36a024bf30dd466b8245a2c4e085921a1981.tar.zst
nixfiles-0cee36a024bf30dd466b8245a2c4e085921a1981.zip
dev/web: install custom htmlformat package from self
-rw-r--r--flake.nix13
-rw-r--r--packages/htmlformat/default.nix28
-rw-r--r--user/settings/development/web.nix1
3 files changed, 41 insertions, 1 deletions
diff --git a/flake.nix b/flake.nix
index 2aa1703d..dfabb683 100644
--- a/flake.nix
+++ b/flake.nix
@@ -41,7 +41,12 @@
     }:
     let
       mkHomeConfiguration = { modules, system }: home-manager.lib.homeManagerConfiguration {
-        pkgs = import nixpkgs { inherit system; };
+        pkgs = import nixpkgs {
+          inherit system;
+          overlays = [
+            self.overlays.default
+          ];
+        };
 
         inherit modules;
         extraSpecialArgs = {
@@ -50,6 +55,12 @@
       };
     in
     {
+      overlays.default = final: prev: {
+        self = {
+          htmlformat = final.callPackage ./packages/htmlformat { };
+        };
+      };
+
       nixosConfigurations.prefect = nixpkgs.lib.nixosSystem {
         system = utils.lib.system.x86_64-linux;
         specialArgs = { inherit inputs; };
diff --git a/packages/htmlformat/default.nix b/packages/htmlformat/default.nix
new file mode 100644
index 00000000..aa124ee5
--- /dev/null
+++ b/packages/htmlformat/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "htmlformat";
+  version = "unstable-2023-11-08";
+
+  src = fetchFromGitHub {
+    owner = "a-h";
+    repo = "htmlformat";
+    rev = "5bd994fe268e4d505a9793143fa85414c7d50887";
+    hash = "sha256-YSl9GsXhc0L2oKGZLwwjUtpe5W6ra6kk74zvQdsDCMU=";
+  };
+
+  vendorHash = "sha256-uVfh1pPhfj6AyQDqFd1EDWshuyDRvbMDZj3SN5tCS2w=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Htmlformat";
+    homepage = "https://github.com/a-h/htmlformat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ alanpearce ];
+    mainProgram = "htmlformat";
+  };
+}
diff --git a/user/settings/development/web.nix b/user/settings/development/web.nix
index caae48ad..805a43a7 100644
--- a/user/settings/development/web.nix
+++ b/user/settings/development/web.nix
@@ -9,6 +9,7 @@
     stylelint
   ] ++ (with pkgs; [
     flyctl
+    self.htmlformat
   ]);
   programs.emacs.extraPackages = epkgs: (with epkgs; [
     caddyfile-mode