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 = {
|
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;
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue