summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorMiran Bastaja <ihazpink@pm.me>2024-07-29 02:02:42 +0300
committerMiran Bastaja <ihazpink@pm.me>2024-07-29 02:02:42 +0300
commit767d900874dc803319f57a066c8b97f80f66697b (patch)
tree1c8a81f088ab4a4d2da03feb4ce97db892e9f760 /flake.nix
parent0c08d40a703ec4b4e377a8bb3decf0227b43ab3a (diff)
parent29b670de0bcf65eeaae7e95eb4607ced912c4a27 (diff)
Merge pull request 'Update site theme' (#1) from theming into main
Reviewed-on: https://git.sorre.xyz/miranb/sorre-website/pulls/1
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix95
1 files changed, 62 insertions, 33 deletions
diff --git a/flake.nix b/flake.nix
index 0917648..2258c4c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,10 +4,6 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
- devshell = {
- url = "github:numtide/devshell";
- inputs.nixpkgs.follows = "nixpkgs";
- };
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
@@ -16,49 +12,82 @@
url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
+ no-style-please = {
+ url = "gitlab:atgumx/no-style-please";
+ flake = false;
+ };
};
- outputs = inputs@{ flake-parts, ... }:
+ outputs =
+ inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
- inputs.devshell.flakeModule
inputs.treefmt-nix.flakeModule
inputs.pre-commit-hooks-nix.flakeModule
];
systems = [ "x86_64-linux" ];
- perSystem = { config, pkgs, ... }: {
- packages = {
- default = config.packages.website;
- website = pkgs.stdenv.mkDerivation {
- pname = "sorre-website";
- version = "2023-11-15";
- src = ./.;
- nativeBuildInputs = [ pkgs.zola ];
- buildPhase = "zola build";
- installPhase = "cp -r public $out";
+ perSystem =
+ { config, pkgs, ... }:
+ let
+ themeName = ((builtins.fromTOML (builtins.readFile "${inputs.no-style-please}/theme.toml")).name);
+ in
+ {
+ packages = {
+ default = config.packages.website;
+ website = pkgs.stdenv.mkDerivation {
+ pname = "sorre-website";
+ version = "2023-11-15";
+ src = ./.;
+ nativeBuildInputs = [ pkgs.zola ];
+ configurePhase = ''
+ mkdir -p "themes/${themeName}"
+ cp -r ${inputs.no-style-please}/* "themes/${themeName}"
+ '';
+ buildPhase = "zola build";
+ installPhase = "cp -r public $out";
+ };
};
- };
- devshells.default = {
- packages = builtins.attrValues config.treefmt.build.programs;
- commands = with pkgs; [{ package = zola; }];
- };
+ devShells.default =
+ let
+ stdenvMinimal = pkgs.stdenvNoCC.override {
+ cc = null;
+ preHook = "";
+ allowedRequisites = null;
+ initialPath = pkgs.lib.filter (
+ a: pkgs.lib.hasPrefix "coreutils" a.name
+ ) pkgs.stdenvNoCC.initialPath;
+ extraNativeBuildInputs = [ ];
+ };
+ minimalMkShell = pkgs.mkShell.override { stdenv = stdenvMinimal; };
+ in
+ minimalMkShell {
+ packages = with pkgs; [ zola ] ++ builtins.attrValues config.treefmt.build.programs;
+ shellHook = ''
+ mkdir -p themes
+ ln -sn "${inputs.no-style-please}" "themes/${themeName}"
+ '';
+ };
- treefmt = {
- projectRootFile = ./flake.nix;
- programs = { nixfmt.enable = true; };
- };
+ treefmt = {
+ projectRootFile = ./flake.nix;
+ programs = {
+ nixfmt.enable = true;
+ };
+ };
- pre-commit = {
- check.enable = true;
- settings = {
- settings = { treefmt.package = config.treefmt.build.wrapper; };
- hooks = {
- treefmt.enable = true;
- deadnix.enable = true;
+ pre-commit = {
+ check.enable = true;
+ settings = {
+ settings = {
+ treefmt.package = config.treefmt.build.wrapper;
+ };
+ hooks = {
+ treefmt.enable = true;
+ deadnix.enable = true;
+ };
};
};
};
- };
};
}