configuration.nix/flake.nix

65 lines
1.8 KiB
Nix
Raw Normal View History

2023-08-07 10:19:48 +02:00
{
inputs = {
2024-06-01 16:43:28 +02:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
2023-08-07 10:19:48 +02:00
home-manager = {
2024-06-01 16:43:28 +02:00
url = "github:nix-community/home-manager/release-24.05";
2023-08-07 10:19:48 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2024-06-10 21:16:46 +02:00
parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
2023-11-01 19:02:35 +01:00
hosts = {
url = "github:StevenBlack/hosts";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-11-18 07:42:50 +01:00
ide = {
2023-11-18 07:49:05 +01:00
url = "github:ivandimitrov8080/flake-ide";
2023-11-18 07:42:50 +01:00
inputs.nixpkgs.follows = "nixpkgs";
};
2024-01-07 12:33:29 +01:00
nid = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-05-06 23:21:25 +02:00
catppuccin.url = "github:catppuccin/nix";
2023-08-07 10:19:48 +02:00
};
2024-06-10 21:16:46 +02:00
outputs = inputs@{ parts, nixpkgs, ide, nid, home-manager, hosts, catppuccin, ... }:
parts.lib.mkFlake { inherit inputs; } {
flake =
let
stateVersion = "24.05";
my-overlay = self: super: {
scripts = (super.buildEnv { name = "scripts"; paths = [ ./. ]; });
};
pkgs = import nixpkgs {
overlays = [ my-overlay ];
};
modules = import ./modules {
inherit nixpkgs pkgs ide my-overlay;
system = "x86_64-linux";
};
home = import ./home {
inherit stateVersion pkgs modules home-manager nid catppuccin;
system = "x86_64-linux";
};
nixos = import ./nixos {
inherit stateVersion nixpkgs modules hosts catppuccin;
system = "x86_64-linux";
};
in
{
nixosConfigurations = {
nixos = nixos.laptop;
};
homeConfigurations = {
ivand = home.ivand;
};
modules = modules;
};
systems = [
"x86_64-linux"
];
perSystem = { config, ... }: { };
2023-08-07 10:19:48 +02:00
};
}