nix-config/flake.nix

69 lines
1.6 KiB
Nix

{
description = "Etwas's flakes";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
catppuccin.url = "github:catppuccin/nix";
agenix.url = "github:ryantm/agenix";
flake-utils.url = "github:numtide/flake-utils";
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
# public in nix store, but not here :3<
private-config.url = "git+ssh://git@git.catgirl.dog/etwas/private-nix-configs";
};
outputs =
{
self,
nixpkgs,
nixos-hardware,
agenix,
spicetify-nix,
nix-index-database,
private-config,
...
}@inputs:
{
nixosConfigurations.etwas-laptop = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
inherit spicetify-nix;
inherit agenix;
inherit private-config;
};
system = "x86_64-linux";
# List all Modules to load
modules = [
agenix.nixosModules.default
nixos-hardware.nixosModules.framework-13-7040-amd
nix-index-database.nixosModules.nix-index
./modules
./home
private-config.nixosModules.default
];
};
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
};
}