Files
2026-07-22 12:52:03 +02:00

114 lines
2.5 KiB
Nix

{
description = "Naxdy's Neovim configuration using nixvim";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nix-bwrapper = {
url = "https://flakehub.com/f/Naxdy/nix-bwrapper/*";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
sscli = {
url = "github:Naxdy/sscli";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-omp = {
url = "github:Naxdy/nixpkgs?ref=feat/omp";
};
};
outputs =
{
self,
nixpkgs,
nixvim,
sscli,
nix-bwrapper,
nixpkgs-omp,
}:
let
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forEachSupportedSystem =
f:
nixpkgs.lib.genAttrs supportedSystems (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [
self.overlays.default
(
final: prev:
let
pkgs-omp = import nixpkgs-omp {
inherit (final.stdenv.hostPlatform) system;
};
in
{
inherit (pkgs-omp) oh-my-pi;
}
)
];
};
in
f {
inherit system pkgs;
}
);
in
{
packages = forEachSupportedSystem (
{ pkgs, system, ... }:
{
default = self.packages.${system}.naxvim;
naxvim = pkgs.naxvim;
}
);
nixosModules.default = self.nixosModules.naxvim;
nixosModules.naxvim =
{ ... }:
{
nixpkgs.overlays = [
self.overlays.naxvim
];
};
overlays.default = self.overlays.naxvim;
overlays.pinned = final: prev: {
naxvim = self.packages.${final.stdenv.hostPlatform.system}.naxvim;
};
overlays.naxvim =
final: prev:
(
let
bwrapper = (nix-bwrapper.overlays.default final prev);
in
{
naxvim = final.callPackage ./package.nix {
sscli = sscli.packages.${final.stdenv.hostPlatform.system}.default;
inherit (bwrapper) bwrapperPresets mkBwrapper;
};
}
// (nixvim.overlays.default final prev)
);
};
}