summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Aristote <quentin@aristote.fr>2022-11-14 22:28:58 +0100
committerQuentin Aristote <quentin@aristote.fr>2022-11-14 22:28:58 +0100
commit8d45a910b271cf6bfa26c0ed4007392635866dc8 (patch)
tree840d5921e513d305665c12bd81a941886353c7e0
parent19a0c33863da3223145e4e1c1315d5332ff53df5 (diff)
separate pkgs from the rest of the code
-rw-r--r--default.nix57
-rw-r--r--flake.nix21
-rw-r--r--pkgs/default.nix5
-rw-r--r--pkgs/line-awesome-css.nix17
4 files changed, 55 insertions, 45 deletions
diff --git a/default.nix b/default.nix
index 10afdef..cd1bdfe 100644
--- a/default.nix
+++ b/default.nix
@@ -27,43 +27,24 @@ let
"printing"
"grid"
] // setOption "navpos" "fixed"));
- lineAwesomeCSS = { fontsRelativeDirectory ? "./webfonts" }:
- pkgs.stdenv.mkDerivation rec {
- name = "line-awesome-css";
- version = "v1.2.1";
- src = pkgs.fetchurl {
- url =
- "https://raw.githubusercontent.com/icons8/line-awesome/${version}/dist/line-awesome/css/line-awesome.css";
- sha256 = "sha256:GU24Xz6l3Ww4ZCcL2ByssTe04fHBRz9k2aZVRdj0xm4=";
- };
+in pkgs.callPackage ({
+ # Packages
+ line-awesome, line-awesome-css, yuicompressor,
+ # Source files
+ index-html ? indexHTML, classless-css ? classlessCSS, files ? data.files
+ , icon ? ./static/icon.png }:
+ let compress = "'${yuicompressor}/bin/yuicompressor'";
+ in pkgs.runCommand "webpage" { } ''
+ mkdir "$out"
+ ln -sT "${index-html}" "$out/index.html"
+ mkdir "$out/static"
+ ln -sT "${icon}" "$out/static/icon.png"
+ ln -sT "${files}" "$out/static/files"
+ mkdir -p "$out/static/css"
+ ${compress} "${classless-css}" --type css -o "$out/static/css/classless.min.css"
+ mkdir -p "$out/static/css/fonts/line-awesome"
+ ln -sT "${line-awesome}/share/fonts/woff2" "$out/static/css/fonts/line-awesome/webfonts"
+ ${compress} "${line-awesome-css}" --type css -o "$out/static/css/fonts/line-awesome/line-awesome.min.css"
+ '') { }
- phases = [ "installPhase" ];
- installPhase = ''
- cp $src $out
- substituteInPlace $out --replace '../fonts' '${fontsRelativeDirectory}'
- '';
- };
-
- webpage = { # Packages
- line-awesome, yuicompressor,
- # Source files
- index-html ? indexHTML, classless-css ? classlessCSS
- , line-awesome-css ? lineAwesomeCSS, files ? data.files
- , icon ? ./static/icon.png }:
- let compress = "'${yuicompressor}/bin/yuicompressor'";
- in pkgs.runCommand "webpage" { } ''
- mkdir "$out"
- ln -sT "${index-html}" "$out/index.html"
- mkdir "$out/static"
- ln -sT "${icon}" "$out/static/icon.png"
- ln -sT "${files}" "$out/static/files"
- mkdir -p "$out/static/css"
- ${compress} "${classless-css}" --type css -o "$out/static/css/classless.min.css"
- mkdir -p "$out/static/css/fonts/line-awesome"
- ln -sT "${line-awesome}/share/fonts/woff2" "$out/static/css/fonts/line-awesome/webfonts"
- ${compress} "${
- line-awesome-css { }
- }" --type css -o "$out/static/css/fonts/line-awesome/line-awesome.min.css"
- '';
-in pkgs.callPackage webpage { }
diff --git a/flake.nix b/flake.nix
index dabe071..a8ebbbd 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,14 +12,21 @@
outputs = { self, nixpkgs, flake-utils, data }:
{
lib = import ./lib { inherit (nixpkgs) lib; };
+ overlays.default = final: prev: import ./pkgs { pkgs = final; };
} // flake-utils.lib.eachDefaultSystem (system:
- let pkgs = nixpkgs.legacyPackages.${system};
- in rec {
- packages.webpage = import ./default.nix {
- inherit pkgs;
- inherit (self.lib.pp) html;
- data = data.formatWith."${system}" self.lib.pp.html;
+ let
+ pkgs = import nixpkgs {
+ inherit system;
+ overlays = [ self.overlays.default ];
};
- defaultPackage = packages.webpage;
+ in {
+ packages = import ./pkgs { inherit pkgs; } // {
+ webpage = import ./default.nix {
+ inherit pkgs;
+ inherit (self.lib.pp) html;
+ data = data.formatWith."${system}" self.lib.pp.html;
+ };
+ };
+ defaultPackage = self.packages."${system}".webpage;
});
}
diff --git a/pkgs/default.nix b/pkgs/default.nix
new file mode 100644
index 0000000..af2ab5e
--- /dev/null
+++ b/pkgs/default.nix
@@ -0,0 +1,5 @@
+{ pkgs }:
+
+{
+ line-awesome-css = pkgs.callPackage ./line-awesome-css.nix {};
+}
diff --git a/pkgs/line-awesome-css.nix b/pkgs/line-awesome-css.nix
new file mode 100644
index 0000000..a00e128
--- /dev/null
+++ b/pkgs/line-awesome-css.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, fontsRelativeDirectory ? "./webfonts" }:
+stdenv.mkDerivation rec {
+ name = "line-awesome-css";
+ version = "v1.2.1";
+
+ src = fetchurl {
+ url =
+ "https://raw.githubusercontent.com/icons8/line-awesome/${version}/dist/line-awesome/css/line-awesome.css";
+ sha256 = "sha256:GU24Xz6l3Ww4ZCcL2ByssTe04fHBRz9k2aZVRdj0xm4=";
+ };
+
+ phases = [ "installPhase" ];
+ installPhase = ''
+ cp $src $out
+ substituteInPlace $out --replace '../fonts' '${fontsRelativeDirectory}'
+ '';
+}