mirror of
https://github.com/danth/stylix
synced 2024-11-10 06:34:15 +00:00
77a65800e6
Adopt the flake-utils.lib.eachDefaultSystem function for added features like '--impure' flag support [1]. [1]: https://github.com/numtide/flake-utils/pull/115 Link: https://github.com/danth/stylix/pull/515
118 lines
3.1 KiB
Nix
118 lines
3.1 KiB
Nix
{
|
|
inputs = {
|
|
base16-fish = {
|
|
flake = false;
|
|
url = "github:tomyun/base16-fish";
|
|
};
|
|
|
|
base16-foot = {
|
|
flake = false;
|
|
url = "github:tinted-theming/base16-foot";
|
|
};
|
|
|
|
base16-helix = {
|
|
flake = false;
|
|
url = "github:tinted-theming/base16-helix";
|
|
};
|
|
|
|
base16-tmux = {
|
|
flake = false;
|
|
url = "github:tinted-theming/base16-tmux";
|
|
};
|
|
|
|
base16-kitty = {
|
|
flake = false;
|
|
url = "github:kdrag0n/base16-kitty";
|
|
};
|
|
|
|
base16-vim = {
|
|
flake = false;
|
|
url = "github:tinted-theming/base16-vim";
|
|
};
|
|
|
|
base16.url = "github:SenchoPens/base16.nix";
|
|
|
|
flake-compat = {
|
|
flake = false;
|
|
url = "github:edolstra/flake-compat";
|
|
};
|
|
|
|
flake-utils = {
|
|
inputs.systems.follows = "systems";
|
|
url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
gnome-shell = {
|
|
flake = false;
|
|
|
|
# TODO: Unlocking the input and pointing to official repository requires
|
|
# updating the patch:
|
|
# https://github.com/danth/stylix/pull/224#discussion_r1460339607.
|
|
url = "github:GNOME/gnome-shell/46.1";
|
|
};
|
|
|
|
# The 'home-manager' input is used to generate the documentation.
|
|
home-manager = {
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
url = "github:nix-community/home-manager";
|
|
};
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
|
|
# Interface flake systems.
|
|
systems.url = "github:nix-systems/default";
|
|
};
|
|
|
|
outputs =
|
|
{ nixpkgs, base16, self, ... }@inputs:
|
|
inputs.flake-utils.lib.eachDefaultSystem (
|
|
system: let
|
|
inherit (nixpkgs) lib;
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
in {
|
|
packages = let
|
|
universalPackages = {
|
|
docs = import ./docs { inherit pkgs inputs lib; };
|
|
palette-generator = pkgs.callPackage ./palette-generator { };
|
|
};
|
|
|
|
# Testbeds are virtual machines based on NixOS, therefore they are
|
|
# only available for Linux systems.
|
|
testbedPackages = lib.optionalAttrs
|
|
(lib.hasSuffix "-linux" system)
|
|
(import ./stylix/testbed.nix { inherit pkgs inputs lib; });
|
|
in
|
|
universalPackages // testbedPackages;
|
|
}
|
|
)
|
|
// {
|
|
nixosModules.stylix = { pkgs, ... }@args: {
|
|
imports = [
|
|
(import ./stylix/nixos inputs {
|
|
inherit (self.packages.${pkgs.system}) palette-generator;
|
|
base16 = base16.lib args;
|
|
homeManagerModule = self.homeManagerModules.stylix;
|
|
})
|
|
];
|
|
};
|
|
|
|
homeManagerModules.stylix = { pkgs, ... }@args: {
|
|
imports = [
|
|
(import ./stylix/hm inputs {
|
|
inherit (self.packages.${pkgs.system}) palette-generator;
|
|
base16 = base16.lib args;
|
|
})
|
|
];
|
|
};
|
|
|
|
darwinModules.stylix = { pkgs, ... }@args: {
|
|
imports = [
|
|
(import ./stylix/darwin inputs {
|
|
inherit (self.packages.${pkgs.system}) palette-generator;
|
|
base16 = base16.lib args;
|
|
homeManagerModule = self.homeManagerModules.stylix;
|
|
})
|
|
];
|
|
};
|
|
};
|
|
}
|