add symlink option

This commit is contained in:
Asaki Yuki 2026-04-10 22:58:40 +07:00
parent e829bedfe3
commit aedfd070b9
8 changed files with 71 additions and 37 deletions

View file

@ -5,6 +5,7 @@
./environment.nix
./programs.nix
./hardware.nix
./file.nix
];
options.device = {

View file

@ -1,33 +1,34 @@
{ lib, ... }: {
options.device = {
dm = {
sddm = {
enable = lib.mkEnableOption "sddm";
theme = lib.mkOption {
type = lib.types.str;
default = "hyprland_kath";
description = "astronaut theme name";
};
};
gdm.enable = lib.mkEnableOption "gdm";
{ lib, ... }:
{
options.device = {
dm = {
sddm = {
enable = lib.mkEnableOption "sddm";
theme = lib.mkOption {
type = lib.types.str;
default = "hyprland_kath";
description = "astronaut theme name";
};
};
de = {
kdePlasma.enable = lib.mkEnableOption "kde plasma";
gnome.enable = lib.mkEnableOption "gnome";
};
wm = {
niri.enable = lib.mkEnableOption "niri";
hyprland = {
enable = lib.mkEnableOption "hyprland";
monitors = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "eDP-1, 1920x1200@60, 0x0, 1" ];
description = "Monitors settings";
};
};
};
gdm.enable = lib.mkEnableOption "gdm";
};
}
de = {
kdePlasma.enable = lib.mkEnableOption "kde plasma";
gnome.enable = lib.mkEnableOption "gnome";
};
wm = {
niri.enable = lib.mkEnableOption "niri";
hyprland = {
enable = lib.mkEnableOption "hyprland";
monitors = lib.mkOption {
type = lib.types.listOf lib.types.attrs;
default = [];
description = "Monitors settings";
};
};
};
};
}

8
options/desktop/file.nix Normal file
View file

@ -0,0 +1,8 @@
{ lib, ... }: {
options.device = {
symlink = lib.mkOption {
default = {};
type = lib.type.attrsOf lib.types.str;
};
};
}