nix/flake.nix

107 lines
2.9 KiB
Nix
Raw Normal View History

{
description = "flake for nixos-pulse";
nixConfig = {
extra-trusted-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
inputs = {
nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-23.05";
};
tuxedo-nixos = {
url = "github:blitz/tuxedo-nixos";
};
home-manager = {
url = "github:nix-community/home-manager/release-23.05";
inputs.nixpkgs.follows = "nixpkgs";
};
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-wallpaper = {
url = "github:lunik1/nix-wallpaper";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url = "github:pjones/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
};
outputs = inputs: let
system = "x86_64-linux";
customPkgs = import inputs.nixpkgs {
system = "${system}";
overlays = [inputs.emacs-overlay.overlay];
config = {
allowUnfree = true;
};
};
pkgs = inputs.nixpkgs.legacyPackages.${system};
in {
formatter = {
x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
};
diskoConfigurations = {
nixos-pulse = import ./disko.nix;
};
homeConfigurations = {
"tristand" = inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
inherit inputs;
modules = [
./home.nix
{
_module.args.customPkgs = customPkgs;
}
];
};
};
nixosConfigurations = {
nixos-pulse = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
./users.nix
./disko.nix
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
inputs.tuxedo-nixos.nixosModules.default
inputs.nur.nixosModules.nur
inputs.nix-index-database.nixosModules.nix-index
{
_module.args.customPkgs = customPkgs;
_module.args.inputs = inputs;
nixpkgs.pkgs = customPkgs;
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
hardware.tuxedo-control-center.enable = true;
hardware.tuxedo-control-center.package = inputs.tuxedo-nixos.packages.x86_64-linux.default;
}
];
};
};
};
}