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 = { inputs = {
systems.url = "github:nix-systems/default";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
}; };
outputs = { outputs = {
self,
nixpkgs, nixpkgs,
nixpkgs-unstable, nixpkgs-unstable,
... ...
}: let } @ inputs: let
system = "x86_64-linux"; systems = import inputs.systems;
pkgs = import nixpkgs {
inherit system; mkPkgs = pkgs: system:
}; import pkgs {
pkgs-unstable = import nixpkgs-unstable {
inherit system; 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 { in {
devShells."${system}".default = pkgs.mkShell { overlays.default = self: super: {
packages = [ 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 # dev local server
pkgs.simple-http-server simple-http-server
# scss->css transpilation # css baking
# pkgs.sass seems broken on Nix currently, use pkgs.dark-sass instead ruby.devEnv
pkgs.dart-sass rubyPackages_3_3.sass
# image baking (from .svg) # image baking (from .svg)
pkgs.imagemagick imagemagick
]; ];
in {
default = pkgs.mkShell {
packages = devPackages;
shell = "${pkgs.bash}/bin/bash"; shell = "${pkgs.bash}/bin/bash";
}; };
fhs =
(pkgs.buildFHSEnv
(pkgs.appimageTools.defaultFhsEnvArgs
// {
name = "dobutterfliescry.net-fhs";
targetPkgs = devPackages;
runScript = "bash";
extraOutputsToInstall = ["dev"];
})).env;
});
}; };
} }