nixos/flake.nix
2026-05-10 00:03:59 +01:00

98 lines
2.9 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixos-hardware.url = "github:nixos/nixos-hardware/master";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager-unstable.url = "github:nix-community/home-manager/master";
home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
lazyvim.url = "github:pfassina/lazyvim-nix";
};
outputs =
{ self, nixpkgs, home-manager, home-manager-unstable, nix-darwin, lazyvim, ... }@inputs:
{
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit self inputs;
hostname = "nixos-desktop";
};
#inherit system;
modules = [
./config/common.nix
./config/linux.nix
./config/desktop.nix
./config/hyprland.nix
./hosts/desktop/hardware.nix
./hosts/desktop/settings.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit lazyvim;
inherit inputs;
hostname = "nixos-desktop";
};
home-manager.users.admin = {
imports = [
./home/common.nix
./home/desktop.nix
./home/hyprland.nix
];
};
}
];
};
nixosConfigurations.nixos-server = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./config/common.nix
./config/linux.nix
./hosts/server/hardware.nix
./hosts/server/settings.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.admin = {
imports = [
./home/common.nix
./home/podman.nix
];
};
}
];
};
darwinConfigurations."admins-MacBook-Air" = nix-darwin.lib.darwinSystem {
modules = [
./config/common.nix
./hosts/macbook/settings.nix
home-manager.darwinModules.home-manager
{
users.users.admin = {
name = "admin";
home = "/Users/admin";
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.admin = {
home.stateVersion = "25.11";
imports = [
./home/common.nix
];
};
}
];
};
};
}