Compare commits

..

1 Commits

Author SHA1 Message Date
Danila Fedorin b3ecef1dcc Start working on converting to Nix flakes. 2021-01-05 06:44:58 +00:00
4 changed files with 65 additions and 27 deletions

View File

@ -1,16 +1,12 @@
{ stdenv, lib, hugo, fetchgit, pkgs, nodejs, ruby }:
{ blog-source, blog-source-localized, stdenv, lib, hugo, fetchgit, pkgs, nodejs, ruby }:
let
url = "https://dev.danilafe.com/Web-Projects/blog-static.git";
requiredPackages = import ./required-packages.nix { inherit pkgs nodejs; };
website = settings: stdenv.mkDerivation {
name = "blog-static";
version = settings.rev;
src = fetchgit {
inherit url;
inherit (settings) rev sha256;
fetchSubmodules = true;
};
version = settings.source.rev;
src = settings.source;
urlSub =
let
regexEscape = lib.escape [ "/" "(" ")" "[" "]" "+" "*" "\\" ];
@ -29,20 +25,20 @@ let
(ruby.withPackages (ps: [ ps.nokogiri ]))
];
};
rev = "b3ff2fe135fd57a646d5d3271db64886d745ff8c";
sha256 = "1nljx2wsc25fciwc5ixmwvf8sx4v9n9brx37dhlr4knsadcp89jy";
rev = "60eb50737d535e8ec506b877250d0e4bbfbf1bda";
sha256 = "1xyppzim3kvawr1bkizwmkbgvb4pxhgnc7gxwjv8sdfcyvbfgz8p";
localizationRev = "0b5748cc5a19b5d1d78bfcfa58d4027cc10524dd";
localizationSha256 = "12pqh534z3ppvgzy0a77s9j1qzzmiyxwvlmh5y76pccf32wvi9wz";
in
{
english = website {
inherit rev sha256;
source = blog-source;
path = ".";
drafts = false;
};
drafts = {
english = website {
inherit rev sha256;
source = blog-source;
path = ".";
drafts = true;
replaceUrl = {
@ -51,8 +47,7 @@ in
};
};
russian = website {
rev = localizationRev;
sha256 = localizationSha256;
source = blog-source-localized;
path = "ru";
drafts = true;
replaceUrl = {

View File

@ -1 +1 @@
nix-prefetch-git --rev refs/heads/master https://dev.danilafe.com/Web-Projects/blog-static.git --quiet --fetch-submodules | jq '.rev,.sha256' | xargs ./change_blog_nix.sh
nix-prefetch-git --rev refs/heads/master https://dev.danilafe.com/Web-Projects/blog-static.git --quiet | jq '.rev,.sha256' | xargs ./change_blog_nix.sh

49
flake.nix Normal file
View File

@ -0,0 +1,49 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
blog-source = {
flake = false;
url = "https://dev.danilafe.com/Web-Projects/blog-static.git";
type = "git";
submodules = true;
};
blog-source-localized = {
flake = false;
url = "https://dev.danilafe.com/Web-Projects/blog-static.git";
ref = "localization";
type = "git";
submodules = true;
};
pegasus-source = {
url = "github:DanilaFe/pegasus";
flake = false;
};
pupper-bot-source = {
url = "git+https://dev.danilafe.com/Crystal-Bots/joann-pupper-bot";
flake = false;
};
};
outputs = { self, pupper-bot-source, pegasus-source, blog-source, blog-source-localized, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem
(system:
let
pkgs = import nixpkgs { inherit system; };
pegasus = pkgs.callPackage ./pegasus/default.nix {
inherit pegasus-source;
};
blog = pkgs.callPackage ./blog/default.nix {
inherit blog-source blog-source-localized;
};
in
{
packages = {
inherit pegasus;
blogEnglish = blog.english;
blogEnglishDrafts = blog.drafts.english;
blogRussianDrafts = blog.drafts.russian;
};
}
);
}

View File

@ -1,18 +1,12 @@
{ stdenv, crystal, fetchFromGitHub }:
let
version = "0489d47b191ecf8501787355b948801506e7c70f";
src = fetchFromGitHub {
owner = "DanilaFe";
repo = "pegasus";
rev = version;
sha256 = "097m7l16byis07xlg97wn5hdsz9k6c3h1ybzd2i7xhkj24kx230s";
};
in
{ pegasus-source, stdenv, crystal, fetchFromGitHub }:
crystal.buildCrystalPackage {
pname = "pegasus";
inherit version;
inherit src;
src = pegasus-source;
version = pegasus-source.rev;
format = "crystal";
# Programs don't do so well when running --help
installCheckPhase = "";
crystalBinaries.pegasus.src = "src/pegasus.cr";
crystalBinaries.pegasus-dot.src = "src/tools/dot/pegasus_dot.cr";