stylix/flake.nix

67 lines
2 KiB
Nix
Raw Normal View History

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
base16 = {
url = "github:SenchoPens/base16.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
utils.url = "github:numtide/flake-utils";
};
outputs = { nixpkgs, base16, utils, self, ... }:
(utils.lib.eachSystem [ "aarch64-linux" "i686-linux" "x86_64-linux" ]
(system:
let
pkgs = nixpkgs.legacyPackages.${system};
ghc = pkgs.haskellPackages.ghcWithPackages (haskellPackages:
with haskellPackages; [
json
JuicyPixels
random
]);
palette-generator = pkgs.stdenvNoCC.mkDerivation {
name = "palette-generator";
src = ./palette-generator;
buildInputs = [ ghc ];
buildPhase =
"ghc -O -threaded -Wall -Wno-type-defaults Stylix/Main.hs";
2021-10-18 15:40:18 +00:00
installPhase = "install -D Stylix/Main $out/bin/palette-generator";
};
palette-generator-app = utils.lib.mkApp {
drv = palette-generator;
name = "palette-generator";
};
in {
packages.palette-generator = palette-generator;
apps.palette-generator = palette-generator-app;
})) // {
nixosModules.stylix = { pkgs, ... }@args: {
imports = [
./modules/console.nix
./modules/dunst.nix
./modules/feh.nix
./modules/fish.nix
./modules/grub.nix
./modules/gtk.nix
./modules/helix.nix
./modules/kitty.nix
./modules/lightdm.nix
./modules/plymouth
./modules/qutebrowser.nix
./modules/sway.nix
./modules/vim.nix
(import ./stylix/palette.nix {
inherit (self.packages.${pkgs.system}) palette-generator;
base16 = base16.lib args;
})
./stylix/fonts.nix
./stylix/pixel.nix
];
};
};
}