dotfiles/config/nixos/flake.nix
2024-12-23 18:14:32 +01:00

83 lines
2.0 KiB
Nix

{
description = "menno's dotfiles";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
hyprland.url = "github:hyprwm/hyprland";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
};
outputs =
{
self,
nixpkgs,
nixpkgs-unstable,
hyprland,
hyprland-plugins,
# nixos-cosmic,
}:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
in
{
nixosConfigurations = {
"mennos-laptop" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hardware/mennos-laptop.nix
./common/workstation.nix
./configuration.nix
];
specialArgs = {
inherit pkgs-unstable hyprland hyprland-plugins;
isWorkstation = true;
isServer = false;
};
};
"mennos-gamingpc" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hardware/mennos-gamingpc.nix
./common/workstation.nix
./configuration.nix
];
specialArgs = {
inherit pkgs-unstable hyprland hyprland-plugins;
isWorkstation = true;
isServer = false;
};
};
"mennos-server" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hardware/mennos-server.nix
./common/server.nix
./configuration.nix
];
specialArgs = {
inherit pkgs-unstable;
isWorkstation = false;
isServer = true;
};
};
};
};
}