bonfire/flake.nix

119 lines
3.0 KiB
Nix
Raw Normal View History

2023-06-06 23:18:09 +05:00
{
description = "Derivation lit";
2023-06-06 23:18:09 +05:00
nixConfig = {
extra-substituters = [
"https://cache.elnafo.ru"
"https://bonfire.cachix.org"
];
extra-trusted-public-keys = [
"cache.elnafo.ru:j3VD+Hn+is2Qk3lPXDSdPwHJQSatizk7V82iJ2RP1yo="
"bonfire.cachix.org-1:mzAGBy/Crdf8NhKail5ciK7ZrGRbPJJobW6TwFb7WYM="
];
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
crane = {
url = "github:ipetkov/crane";
};
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.rust-analyzer-src.follows = "";
};
catppuccin = {
url = "github:catppuccin/nix";
2023-12-20 13:55:15 +05:00
};
oscuro = {
url = "github:L-Nafaryus/oscuro";
2024-07-24 11:39:18 +05:00
inputs.bonfire.follows = "";
};
obs-image-reaction = {
url = "github:L-Nafaryus/obs-image-reaction";
};
nixvim = {
url = "github:nix-community/nixvim";
2024-07-24 11:39:18 +05:00
inputs = {
nixpkgs.follows = "nixpkgs";
devshell.follows = "";
flake-compat.follows = "";
git-hooks.follows = "";
home-manager.follows = "";
nix-darwin.follows = "";
treefmt-nix.follows = "";
};
};
2024-07-12 15:30:50 +05:00
ags = {
url = "github:Aylur/ags";
inputs.nixpkgs.follows = "nixpkgs";
};
wezterm = {
url = "github:wez/wezterm?dir=nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-02 22:20:12 +05:00
elnafo-radio = {
url = "git+https://vcs.elnafo.ru/L-Nafaryus/elnafo-radio";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-09 22:39:53 +05:00
nix-std.url = "github:chessai/nix-std";
2024-11-24 23:08:58 +05:00
drift = {
url = "github:snowfallorg/drift";
inputs.nixpkgs.follows = "nixpkgs";
};
};
2023-12-20 13:55:15 +05:00
outputs = {self, ...} @ inputs: let
lib = inputs.nixpkgs.lib;
bonLib = import ./lib {inherit lib inputs;};
bonModules = self.nixosModules;
# no bonPkgs, it must be defined by appropriate system + skip a possible infinite recursion
in {
lib = bonLib;
packages = import ./packages {inherit lib bonLib self inputs;};
nixosModules = import ./nixosModules {
inherit lib bonLib self;
check = false;
2023-06-06 23:18:09 +05:00
};
nixosConfigurations = import ./nixosConfigurations {inherit lib inputs bonModules bonLib self;};
hydraJobs = {
packages = lib.filterAttrsRecursive (name: value: !bonLib.isBroken value && !bonLib.isInsecure value && !bonLib.isUnfree value) self.packages;
};
2024-01-06 18:08:40 +05:00
templates = {
rust = {
path = ./templates/rust;
description = "Basic Rust template";
};
};
2023-06-06 23:18:09 +05:00
apps = import ./apps {
inherit self;
inherit (inputs) nixpkgs;
};
2023-12-19 12:36:54 +05:00
devShells = import ./devShells {
inherit self;
inherit (inputs) nixpkgs;
2023-06-06 23:18:09 +05:00
};
};
2023-06-06 23:18:09 +05:00
}