sys-config/flake.nix
2024-12-01 22:03:35 +01:00

104 lines
2.8 KiB
Nix

{
description = "Veneficium's amazing fantastic mindblowingly stupid nixOS configuration! :3";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
microvm.url = "github:astro/microvm.nix";
microvm.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
niri.url = "github:sodiboo/niri-flake";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
};
outputs =
inputs@{
self,
nixpkgs,
microvm,
home-manager,
stylix,
niri,
nix-vscode-extensions,
...
}:
let
pkgs =
extraOverlays: system:
import nixpkgs {
inherit system;
overlays = extraOverlays;
config = {
allowUnfree = true;
};
};
in
{
nixosConfigurations = {
fedfer-main-laptop-nixos = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = {
pkgs = (
pkgs [
nix-vscode-extensions.overlays.default
niri.overlays.niri
(import ./overlays/valent.nix)
] system
);
};
modules = [
./hosts/main-laptop/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.users.fedfer = import ./hosts/main-laptop/home.nix;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = {
inherit inputs;
};
}
stylix.nixosModules.stylix
niri.nixosModules.niri
];
};
veneficium-main-homelab-nixos = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = {
pkgs = (pkgs [ ] system);
inherit self;
};
modules = [
./hosts/main-homelab/configuration.nix
microvm.nixosModules.host
];
};
veneficium-microvm-vaultwarden = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = {
pkgs = (pkgs [ ] system);
};
modules = [
microvm.nixosModules.microvm
{
networking.hostname = "veneficium-microvm-vaultwarden";
microvm.hypervisor = "firecracker";
}
];
};
};
formatter.x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
};
}