flake export package

This commit is contained in:
Emile Clark-Boman 2026-01-31 09:26:45 +10:00
parent ecec515114
commit d5a868499f

View file

@ -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 {
inherit system;
};
} @ 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 = [
# dev local server
pkgs.simple-http-server
# scss->css transpilation
# pkgs.sass seems broken on Nix currently, use pkgs.dark-sass instead
pkgs.dart-sass
# image baking (from .svg)
pkgs.imagemagick
];
shell = "${pkgs.bash}/bin/bash";
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
simple-http-server
# css baking
ruby.devEnv
rubyPackages_3_3.sass
# image baking (from .svg)
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;
});
};
}