home-manager/flake.nix
2024-12-25 13:25:39 +01:00

76 lines
1.9 KiB
Nix

{
description = "Home Manager configuration of Leon Wilzer";
inputs = {
# Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
pre-commit-hooks.url = "github:cachix/git-hooks.nix";
catppuccin.url = "github:catppuccin/nix";
};
outputs =
{
self,
nixpkgs,
home-manager,
catppuccin,
...
}@inputs:
let
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
{
checks = forAllSystems (system: {
pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
src = ./.;
hooks = {
nixfmt-rfc-style.enable = true;
};
};
});
devShells = forAllSystems (system: {
default = nixpkgs.legacyPackages.${system}.mkShell {
inherit (self.checks.${system}.pre-commit-check) shellHook;
buildInputs = self.checks.${system}.pre-commit-check.enabledPackages;
};
});
homeConfigurations."lwilzer" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [
./work.nix
catppuccin.homeManagerModules.catppuccin
];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
};
homeConfigurations."leon" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
./home.nix
catppuccin.homeManagerModules.catppuccin
];
};
};
}