nixos/flake.nix

77 lines
1.9 KiB
Nix

{
description = "Modular and minimalist NixOS configuration";
inputs = {
# nixos
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# spotify
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
# nvim
nixvim = {
url = "github:elisiei/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
# stylix (thx esteban)
stylix = {
url = "github:MrSom3body-contrib/stylix/fix/foot-theme";
inputs.nixpkgs.follows = "nixpkgs";
};
# mango
mangowm = {
url = "github:mangowm/mango";
inputs.nixpkgs.follows = "nixpkgs";
};
# omnisearch
omnisearch = {
url = "git+https://git.elisiei.xyz/elisiei/omnisearch";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
nixpkgs,
home-manager,
stylix,
spicetify-nix,
nixvim,
mangowm,
omnisearch,
...
}:
{
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./nixos/configuration.nix
home-manager.nixosModules.home-manager
omnisearch.nixosModules.default
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.elisiei = {
imports = [
./home/home.nix
spicetify-nix.homeManagerModules.spicetify
stylix.homeModules.stylix
nixvim.homeModules.nixvim
mangowm.hmModules.mango
];
};
home-manager.backupFileExtension = "hm-backup";
home-manager.extraSpecialArgs = { inherit inputs; };
}
];
};
};
};
}