summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorquentin@aristote.fr <quentin@aristote.fr>2023-09-17 21:11:00 +0200
committerquentin@aristote.fr <quentin@aristote.fr>2023-09-17 21:11:00 +0200
commit164185033f0f6db94b8bd5fe4fc668001073959e (patch)
tree25788218cef29341a1556cd3037ca3efc9269f7c /flake.nix
parentbaea04747697ad5039139ef44bca7b3965147696 (diff)
flake: use my-nixpkgs' devenv
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix88
1 files changed, 53 insertions, 35 deletions
diff --git a/flake.nix b/flake.nix
index b58ad36..5f786a4 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,49 +2,67 @@
description = "Source code of Quentin Aristote's personal webpage.";
inputs = {
- data = {
- url = "github:qaristote/info";
- inputs = {
- nixpkgs.follows = "/nixpkgs";
- flake-utils.follows = "/flake-utils";
- };
- };
+ data.url = "github:qaristote/info";
+ devenv.url = "github:cachix/devenv";
+ my-nixpkgs.url = "github:qaristote/my-nixpkgs";
uncss = {
url = "github:qaristote/uncss";
inputs = {
nixpkgs.follows = "/nixpkgs";
- flake-utils.follows = "/flake-utils";
};
};
+ nixpkgs = {};
};
- outputs = { self, nixpkgs, flake-utils, data, uncss }:
- {
- lib = import ./lib { inherit (nixpkgs) lib; };
- overlays = {
- default = final: prev: {
- personal.webpage = self.packages."${final.system}".webpage;
- };
- deps = final: prev: import ./pkgs { pkgs = final; };
- };
- } // flake-utils.lib.eachDefaultSystem (system:
- let
- pkgs = import nixpkgs {
- inherit system;
- overlays = [
- self.overlays.deps
- (final: prev: { uncss = uncss.packages."${system}".default; })
- ];
- };
- in {
- packages = import ./pkgs { inherit pkgs system; } // {
- webpage = import ./default.nix {
- inherit pkgs;
- inherit (self.lib.pp) html;
- data = data.formatWith."${system}" self.lib.pp.html;
+ nixConfig = {
+ extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
+ extra-trusted-substituters = "https://devenv.cachix.org";
+ };
+
+ outputs = {
+ flake-parts,
+ my-nixpkgs,
+ ...
+ } @ inputs:
+ flake-parts.lib.mkFlake {inherit inputs;} ({
+ self,
+ lib,
+ ...
+ }: {
+ imports = builtins.attrValues {inherit (my-nixpkgs.flakeModules) personal devenv;};
+
+ flake.lib = import ./lib {inherit lib;};
+
+ perSystem = {
+ self',
+ pkgs,
+ system,
+ ...
+ }: {
+ packages = let
+ pkgsLocal = import ./pkgs {inherit pkgs;};
+ pkgs' = pkgs.extend (
+ _: _:
+ pkgsLocal // {uncss = inputs.uncss.packages."${system}".default;}
+ );
+ html = self.lib.pp.html;
+ in
+ pkgsLocal
+ // {
+ default = self'.packages.webpage;
+ webpage = import ./default.nix {
+ inherit html;
+ pkgs = pkgs';
+ data = inputs.data.lib.formatWith {
+ inherit pkgs;
+ markup = html;
+ };
+ };
};
+ devenv.shells.default = {
+ languages.nix.enable = true;
+ packages = [pkgs.miniserve];
};
- defaultPackage = self.packages."${system}".webpage;
- devShell = pkgs.mkShell { packages = with pkgs; [ nixfmt miniserve ]; };
- });
+ };
+ });
}