stylix/flake.nix
Daniel Thwaites daa9ab9917
Support VSCode
2022-10-26 18:29:56 +01:00

87 lines
2.4 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
base16 = {
url = "github:SenchoPens/base16.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# Used for documentation
coricamu = {
url = "github:danth/coricamu";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ nixpkgs, base16, coricamu, self, ... }@inputs:
with nixpkgs.lib;
let
docsOutputs = coricamu.lib.generateFlakeOutputs {
outputName = "docs";
modules = [ ./docs/default.nix ];
specialArgs = { inherit inputs; };
};
in recursiveUpdate docsOutputs {
packages = genAttrs [ "aarch64-linux" "i686-linux" "x86_64-linux" ] (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
ghc =
pkgs.haskellPackages.ghcWithPackages
(ps: with ps; [ json JuicyPixels random ]);
in {
palette-generator = pkgs.stdenvNoCC.mkDerivation {
name = "palette-generator";
src = ./palette-generator;
buildInputs = [ ghc ];
buildPhase = ''
ghc -O -threaded -Wall -Wno-type-defaults Stylix/Main.hs
'';
installPhase = ''
install -D Stylix/Main $out/bin/palette-generator
'';
};
}
);
nixosModules.stylix = { pkgs, ... }@args: {
imports = [
./modules/alacritty.nix
./modules/bemenu.nix
./modules/console.nix
./modules/dunst.nix
./modules/feh.nix
./modules/fish.nix
./modules/gnome.nix
./modules/grub.nix
./modules/gtk.nix
./modules/helix.nix
./modules/kitty.nix
./modules/lightdm.nix
./modules/mako.nix
./modules/plymouth
./modules/qutebrowser.nix
./modules/sway.nix
./modules/swaylock.nix
./modules/vim.nix
./modules/vscode/default.nix
(import ./stylix/palette.nix {
inherit (self.packages.${pkgs.system}) palette-generator;
base16 = base16.lib args;
})
./stylix/fonts.nix
./stylix/pixel.nix
./stylix/target.nix
];
};
};
}