flake export package
This commit is contained in:
parent
ecec515114
commit
d5a868499f
1 changed files with 62 additions and 23 deletions
71
flake.nix
71
flake.nix
|
|
@ -1,38 +1,77 @@
|
|||
# Template: https://nixos-and-flakes.thiscute.world/development/intro
|
||||
{
|
||||
description = "Dev Shell for dobutterfliescry.net";
|
||||
description = "cry64's dobutterfliescry.net";
|
||||
|
||||
inputs = {
|
||||
systems.url = "github:nix-systems/default";
|
||||
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
...
|
||||
}: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
};
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
} @ inputs: let
|
||||
systems = import inputs.systems;
|
||||
|
||||
mkPkgs = pkgs: system:
|
||||
import pkgs {
|
||||
inherit system;
|
||||
allowUnfree = false;
|
||||
allowBroken = false;
|
||||
overlays = builtins.attrValues self.overlays or {};
|
||||
};
|
||||
|
||||
forAllSystems = f:
|
||||
nixpkgs.lib.genAttrs systems (system:
|
||||
f system (mkPkgs nixpkgs system) (mkPkgs nixpkgs-unstable system));
|
||||
in {
|
||||
devShells."${system}".default = pkgs.mkShell {
|
||||
packages = [
|
||||
overlays.default = self: super: {
|
||||
dobutterfliescry-net = super.stdenv.mkDerivation {
|
||||
name = "dobutterfliescry.net";
|
||||
src = self;
|
||||
nativeBuildInputs = [super.makeWrapper];
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r $src/www $out/
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
checks = self.packages;
|
||||
packages = forAllSystems (system: pkgs: upkgs: rec {
|
||||
default = dobutterfliescry-net;
|
||||
dobutterfliescry-net = pkgs.dobutterfliescry-net;
|
||||
});
|
||||
|
||||
devShells = forAllSystems (system: pkgs: upkgs: let
|
||||
devPackages = with pkgs; [
|
||||
# dev local server
|
||||
pkgs.simple-http-server
|
||||
simple-http-server
|
||||
|
||||
# scss->css transpilation
|
||||
# pkgs.sass seems broken on Nix currently, use pkgs.dark-sass instead
|
||||
pkgs.dart-sass
|
||||
# css baking
|
||||
ruby.devEnv
|
||||
rubyPackages_3_3.sass
|
||||
# image baking (from .svg)
|
||||
pkgs.imagemagick
|
||||
imagemagick
|
||||
];
|
||||
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
packages = devPackages;
|
||||
shell = "${pkgs.bash}/bin/bash";
|
||||
};
|
||||
|
||||
fhs =
|
||||
(pkgs.buildFHSEnv
|
||||
(pkgs.appimageTools.defaultFhsEnvArgs
|
||||
// {
|
||||
name = "dobutterfliescry.net-fhs";
|
||||
targetPkgs = devPackages;
|
||||
runScript = "bash";
|
||||
extraOutputsToInstall = ["dev"];
|
||||
})).env;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue