initial commit
This commit is contained in:
commit
8a8f7c6f62
146 changed files with 8471 additions and 0 deletions
84
flake.nix
Normal file
84
flake.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
systems.url = "github:nix-systems/default";
|
||||
pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
systems,
|
||||
nixpkgs,
|
||||
...
|
||||
} @ inputs: let
|
||||
eachSystem = f:
|
||||
nixpkgs.lib.genAttrs (import systems) (
|
||||
system:
|
||||
f nixpkgs.legacyPackages.${system}
|
||||
);
|
||||
in {
|
||||
packages = eachSystem (pkgs: {
|
||||
default = inputs.pnpm2nix.packages.${pkgs.system}.mkPnpmPackage {
|
||||
name = "zm-blog";
|
||||
src = ./.;
|
||||
packageJSON = ./package.json;
|
||||
pnpmLock = ./pnpm-lock.yaml;
|
||||
};
|
||||
});
|
||||
|
||||
nixosModule = {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.zmio.blog;
|
||||
in {
|
||||
options.zmio.blog = {
|
||||
enable = mkEnableOption "Enables the Blog Site";
|
||||
|
||||
domain = mkOption rec {
|
||||
type = type.str;
|
||||
default = "zackmyers.io";
|
||||
example = default;
|
||||
description = "The domain name for the website";
|
||||
};
|
||||
|
||||
ssl = mkOption rec {
|
||||
type = type.bool;
|
||||
default = true;
|
||||
example = default;
|
||||
description = "Whether to enable SSL on the domain or not";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.nginx.virtualHosts.${cfg.domain} = {
|
||||
forceSSL = cfg.ssl;
|
||||
enableACME = cfg.ssl;
|
||||
root = "${packages.${pkgs.system}.default}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
devShells = eachSystem (pkgs: {
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
pkgs.nodejs
|
||||
# You can set the major version of Node.js to a specific one instead
|
||||
# of the default version
|
||||
# pkgs.nodejs-19_x
|
||||
|
||||
# You can choose pnpm, yarn, or none (npm).
|
||||
pkgs.nodePackages.pnpm
|
||||
# pkgs.yarn
|
||||
|
||||
pkgs.nodePackages.typescript
|
||||
pkgs.nodePackages.typescript-language-server
|
||||
pkgs.nodePackages."@tailwindcss/language-server"
|
||||
pkgs.nodePackages."@astrojs/language-server"
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue