Files

57 lines
1.1 KiB
Nix

{
description = "A custom newtab page.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs =
{ nixpkgs, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
ruby = pkgs.ruby.withPackages (
p: with p; [
rackup
puma
sinatra
]
);
app = pkgs.stdenv.mkDerivation {
pname = "newtab";
version = "0.1.0";
src = ./.;
buildInputs = [ ruby ];
installPhase = ''
mkdir -p $out
cp -r . $out/
'';
};
server = pkgs.writeShellApplication {
name = "newtab";
runtimeInputs = [ ruby ];
text = ''
set -euo pipefail
exec ruby ${app}/main.rb
'';
};
in
{
packages.${system}.default = app;
apps.${system}.default = {
type = "app";
program = "${server}/bin/newtab";
};
devShells.${system}.default = pkgs.mkShell {
packages = [
ruby
];
};
};
}