Files
cnix/home/bin/hyprland/default.nix

52 lines
1.3 KiB
Nix

{
lib,
inputs,
config,
...
}: {
options = {
# Define an option to enable the `cnst` configuration
cnst.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable the cnst configuration";
};
# Define an option to enable the `adam` configuration
adam.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable the adam configuration";
};
# Define an option to enable the `toothpick` configuration
toothpick.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable the toothpick configuration";
};
};
config = {
# Hyprland configuration shared across all users
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd = {
variables = ["--all"];
extraCommands = [
"systemctl --user stop graphical-session.target"
"systemctl --user start hyprland-session.target"
];
};
};
};
# Conditionally include configurations based on the enable flags
imports =
lib.optional config.cnst.enable ./cnst
++ lib.optional config.adam.enable ./adam
++ lib.optional config.toothpick.enable ./toothpick;
}