93 lines
2.6 KiB
Nix
93 lines
2.6 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
wrappers.url = "github:Lassulus/wrappers";
|
|
wrappers.inputs.nixpkgs.follows = "nixpkgs";
|
|
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 = {
|
|
editor = modules/editor.nix;
|
|
git = modules/git.nix;
|
|
udiskie = modules/udiskie.nix;
|
|
desktop = modules/desktop.nix;
|
|
nix = modules/nix.nix;
|
|
shell = modules/shell;
|
|
};
|
|
|
|
overlays.default = final: prev: {
|
|
niphas-terminal = prev.alacritty;
|
|
niphas-web-browser = prev.qutebrowser;
|
|
niphas-file-browser = prev.pcmanfm;
|
|
niphas-runner = prev.writers.writeDashBin "niphas-runner" "${prev.lib.getExe prev.rofi} -show run";
|
|
niphas-locker = prev.swaylock;
|
|
|
|
niphas-editor = prev.callPackage packages/vim { };
|
|
niphas-bar = import packages/ashell.nix {
|
|
inherit (inputs) wrappers;
|
|
pkgs = prev;
|
|
};
|
|
niphas-git = import packages/git.nix {
|
|
inherit (inputs) wrappers;
|
|
pkgs = prev;
|
|
};
|
|
niphas-niri = import packages/niri {
|
|
inherit (inputs) wrappers;
|
|
pkgs = final;
|
|
lib = inputs.nixpkgs.lib;
|
|
};
|
|
niphas-wallpaper =
|
|
prev.runCommand "niphas-wallpaper.png"
|
|
{
|
|
buildInputs = [ prev.imagemagick ];
|
|
}
|
|
''
|
|
# solid white
|
|
convert -size 1920x1080 xc:white $out
|
|
'';
|
|
vimv = prev.callPackage packages/vimv.nix { };
|
|
};
|
|
|
|
packages = eachSupportedSystem (
|
|
system:
|
|
let
|
|
pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
overlays = [ inputs.self.overlays.default ];
|
|
};
|
|
in
|
|
{
|
|
inherit (pkgs)
|
|
niphas-bar
|
|
niphas-git
|
|
niphas-niri
|
|
niphas-editor
|
|
vimv
|
|
;
|
|
}
|
|
);
|
|
|
|
formatter = eachSupportedSystem (system: treefmtEval.${system}.config.build.wrapper);
|
|
checks = eachSupportedSystem (system: {
|
|
formatting = treefmtEval.${system}.config.build.check inputs.self;
|
|
});
|
|
};
|
|
}
|