Files
niphas/flake.nix

82 lines
2.2 KiB
Nix
Raw Normal View History

2026-02-03 17:25:28 +01:00
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
2026-02-03 17:46:20 +01:00
wrappers.url = "github:Lassulus/wrappers";
wrappers.inputs.nixpkgs.follows = "nixpkgs";
2026-02-03 17:25:28 +01:00
treefmt-nix.url = "github:numtide/treefmt-nix";
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
inputs:
let
lib = inputs.nixpkgs.lib;
eachSupportedSystem = lib.genAttrs lib.systems.flakeExposed;
treefmtEval = eachSupportedSystem (
system:
inputs.treefmt-nix.lib.evalModule inputs.nixpkgs.legacyPackages.${system} (
{ pkgs, ... }:
{
projectRootFile = "flake.nix";
programs.nixfmt.enable = true;
}
)
);
in
{
nixosModules = {
2026-02-03 17:46:20 +01:00
vim = modules/vim.nix;
zsh = modules/zsh.nix;
git = modules/git.nix;
2026-02-03 18:10:27 +01:00
udiskie = modules/udiskie.nix;
2026-02-03 21:23:26 +01:00
niri = modules/niri;
2026-02-03 23:14:35 +01:00
bash = modules/bash.nix;
2026-02-03 22:42:31 +01:00
nix = modules/nix.nix;
2026-02-03 23:14:35 +01:00
direnv = modules/direnv.nix;
2026-02-03 22:28:01 +01:00
tools = modules/tool.nix;
2026-02-03 17:25:28 +01:00
};
overlays.default = final: prev: {
2026-02-03 17:46:20 +01:00
vim-kmein = prev.callPackage packages/vim { };
2026-02-03 22:28:09 +01:00
vimv = prev.callPackage packages/vimv.nix { };
2026-02-03 21:23:26 +01:00
ashell-kmein = import packages/ashell.nix {
inherit (inputs) wrappers;
pkgs = prev;
};
2026-02-03 17:46:20 +01:00
git-kmein = import packages/git.nix {
inherit (inputs) wrappers;
pkgs = prev;
};
2026-02-03 21:23:26 +01:00
niri-kmein = import packages/niri {
inherit (inputs) wrappers;
pkgs = final;
lib = inputs.nixpkgs.lib;
};
2026-02-03 17:25:28 +01:00
};
packages = eachSupportedSystem (
system:
let
pkgs = import inputs.nixpkgs {
inherit system;
overlays = [ inputs.self.overlays.default ];
};
in
{
2026-02-03 22:28:09 +01:00
inherit (pkgs)
ashell-kmein
git-kmein
niri-kmein
vim-kmein
vimv
;
2026-02-03 17:25:28 +01:00
}
);
formatter = eachSupportedSystem (system: treefmtEval.${system}.config.build.wrapper);
checks = eachSupportedSystem (system: {
formatting = treefmtEval.${system}.config.build.check inputs.self;
});
};
}