nixos/flake.nix

91 lines
2.2 KiB
Nix

{
description = "nixos system configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nh = {
url = "github:viperML/nh";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-gaming = {
url = "github:fufexan/nix-gaming";
inputs.nixpkgs.follows = "nixpkgs";
};
niri = {
url = "github:sodiboo/niri-flake";
};
ags.url = "github:Aylur/ags";
stylix.url = "github:danth/stylix";
};
outputs = {
self,
nixpkgs,
nixpkgs-unstable,
home-manager,
flake-utils,
...
} @ inputs:
{
nixosConfigurations.waves = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit (self) outputs;
inherit inputs flake-utils;
};
modules = [
inputs.disko.nixosModules.default
(import ./disko.nix {device = "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_with_Heatsink_1TB_S6WSNJ0T900943T";})
./waves.nix
];
};
overlays = import ./overlays {inherit inputs;};
homeConfigurations."dv@waves" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {system = "x86_64-linux";};
extraSpecialArgs = {
inherit (self) outputs;
inherit inputs flake-utils;
};
modules = [
inputs.niri.homeModules.niri
inputs.stylix.homeManagerModules.stylix
# inputs.niri.homeModules.config
./modules/home/dv.nix
];
};
}
// flake-utils.lib.eachDefaultSystem (system: let
pkgs = nixpkgs.legacyPackages.${system};
inherit (self) outputs;
in {
packages = import ./pkgs pkgs;
apps = {
"disko" = {
type = "app";
program = "${self.outputs.packages.${system}.disko}/bin/disko";
};
};
formatter = pkgs.alejandra;
});
}