109 lines
2.7 KiB
Nix
109 lines
2.7 KiB
Nix
{
|
|
description = "Kirk nix modules";
|
|
|
|
nixConfig = {
|
|
extra-substituters = ["https://nix-community.cachix.org"];
|
|
extra-trusted-public-keys = ["nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="];
|
|
};
|
|
|
|
inputs = {
|
|
#nixpkgs.url = "github:nixos/nixpkgs/22.11";
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
nixpkgs-flood.url = "github:3JlOy-PYCCKUi/nixpkgs/flood-module";
|
|
#nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
|
|
home-manager.url = "github:nix-community/home-manager";
|
|
|
|
flake-parts = {
|
|
url = "github:hercules-ci/flake-parts";
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
};
|
|
flake-root.url = "github:srid/flake-root";
|
|
|
|
devshell = {
|
|
url = "github:numtide/devshell";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
treefmt-nix = {
|
|
url = "github:numtide/treefmt-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = inputs @ {flake-parts, ...}:
|
|
flake-parts.lib.mkFlake {
|
|
inherit inputs;
|
|
}
|
|
rec {
|
|
imports = with inputs; [
|
|
flake-root.flakeModule
|
|
treefmt-nix.flakeModule
|
|
devshell.flakeModule
|
|
];
|
|
systems = [
|
|
"x86_64-linux"
|
|
];
|
|
|
|
flake = {
|
|
nixosModules = rec {
|
|
kirk = import ./nixos;
|
|
default = kirk;
|
|
};
|
|
homeManagerModules = rec {
|
|
kirk = import ./home-manager;
|
|
default = kirk;
|
|
};
|
|
};
|
|
|
|
perSystem = {
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
treefmt.config = {
|
|
inherit (config.flake-root) projectRootFile;
|
|
package = pkgs.treefmt;
|
|
|
|
programs = {
|
|
alejandra.enable = true;
|
|
deadnix.enable = true;
|
|
};
|
|
};
|
|
|
|
packages = {
|
|
docs = pkgs.callPackage ./mkDocs.nix { inherit inputs; };
|
|
hugo = pkgs.callPackage ./mkHugo.nix { inherit inputs; };
|
|
};
|
|
|
|
devshells.default = {
|
|
name = "Rasmus Kirk";
|
|
|
|
commands = [
|
|
{
|
|
category = "Tools";
|
|
name = "fmt";
|
|
help = "Format the source tree";
|
|
command = "nix fmt";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
# outputs = {
|
|
# self,
|
|
# }: {
|
|
# nixosModules.kirk = import ./nixos;
|
|
# nixosModules.default = self.nixosModules.kirk;
|
|
#
|
|
# homeManagerModules.kirk = import ./home-manager;
|
|
# homeManagerModules.default = self.homeManagerModules.kirk;
|
|
#
|
|
# # TODO: Find a way to generate documentation from modules using the same
|
|
# # tools as nixos. See ./mkDocs.nix
|
|
#
|
|
# #packages.x86_64-linux.mkdocs = {};
|
|
# #defaultPackage.x86_64-linux = self.packages.x86_64-linux.report;
|
|
# };
|
|
}
|