add home options

This commit is contained in:
Asaki Yuki 2026-04-13 11:07:39 +07:00
parent fd0e9dfbd1
commit 37c414c4b7
5 changed files with 166 additions and 34 deletions

View file

@ -32,6 +32,7 @@ in
./modules/env.nix ./modules/env.nix
../../modules/features/home/theme.nix ../../modules/features/home/theme.nix
../../options/home/default.nix
inputs.nixvim.homeModules.nixvim inputs.nixvim.homeModules.nixvim
inputs.nixcord.homeModules.nixcord inputs.nixcord.homeModules.nixcord
@ -48,5 +49,27 @@ in
}) })
{ pkgs = pkgs; }; { pkgs = pkgs; };
}; };
programs = {
catppuccin.enable = true;
antigravity.enable = true;
hyprshot.enable = true;
prismlauncher.enable = true;
proton-ge.enable = true;
vlc.enable = true;
gimp.enable = true;
libreoffice.enable = true;
lutris.enable = true;
osu.enable = true;
lmstudio.enable = true;
blender.enable = true;
xprop.enable = true;
bluetuith.enable = true;
pavucontrol.enable = true;
nwg-look.enable = true;
proton-apps.enable = true;
hytale.enable = true;
cider.enable = true;
};
}; };
} }

View file

@ -1,48 +1,39 @@
{ {
pkgs, pkgs,
lib, lib,
config,
osconfig, osconfig,
inputs, inputs,
... ...
}: }:
let
custom-catppuccin-gtk = pkgs.catppuccin-gtk.override {
variant = "mocha";
accents = [ "sapphire" ];
size = "compact";
};
custom-catppuccin-kde = (pkgs.catppuccin-kde.override {
flavour = [ "mocha" ];
accents = [ "sapphire" ];
});
in
{ {
home.packages = with pkgs; [ home.packages = [
custom-catppuccin-gtk (lib.mkIf config.programs.catppuccin.enable config.programs.catppuccin.package)
hyprshot (lib.mkIf config.programs.hyprshot.enable config.programs.hyprshot.package)
antigravity (lib.mkIf config.programs.antigravity.enable config.programs.antigravity.package)
prismlauncher (lib.mkIf config.programs.prismlauncher.enable config.programs.prismlauncher.package)
protonup-qt (lib.mkIf config.programs.proton-ge.enable config.programs.proton-ge.protonup-qt)
protonplus (lib.mkIf config.programs.proton-ge.enable config.programs.proton-ge.protonplus)
vlc (lib.mkIf config.programs.vlc.enable config.programs.vlc.package)
gimp (lib.mkIf config.programs.gimp.enable config.programs.gimp.package)
libreoffice-qt-fresh (lib.mkIf config.programs.libreoffice.enable config.programs.libreoffice.package)
lutris (lib.mkIf config.programs.lutris.enable config.programs.lutris.package)
osu-lazer-bin (lib.mkIf config.programs.osu.enable config.programs.osu.package)
lmstudio (lib.mkIf config.programs.lmstudio.enable config.programs.lmstudio.package)
blender (lib.mkIf config.programs.blender.enable config.programs.blender.package)
xprop (lib.mkIf config.programs.xprop.enable config.programs.xprop.package)
bluetuith (lib.mkIf config.programs.bluetuith.enable config.programs.bluetuith.package)
lxqt.pavucontrol-qt (lib.mkIf config.programs.pavucontrol.enable config.programs.pavucontrol.package)
nwg-look (lib.mkIf config.programs.nwg-look.enable config.programs.nwg-look.package)
proton-pass (lib.mkIf config.programs.proton-apps.enable config.programs.proton-apps.pass)
proton-authenticator (lib.mkIf config.programs.proton-apps.enable config.programs.proton-apps.authenticator)
inputs.hytale-launcher.packages.${system}.default (lib.mkIf config.programs.hytale.enable config.programs.hytale.package)
(lib.mkIf osconfig.device.programs.cider-2.enable cider-2) (lib.mkIf (
config.programs.cider.enable && osconfig.device.programs.cider-2.enable
) config.programs.cider.package)
]; ];
} }

5
options/home/default.nix Normal file
View file

@ -0,0 +1,5 @@
{ ... }:
{
imports = [ ./programs.nix ];
options = { };
}

108
options/home/programs.nix Normal file
View file

@ -0,0 +1,108 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
options.programs = {
catppuccin = {
enable = lib.mkEnableOption "catppuccin";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.catppuccin-gtk.override {
variant = "mocha";
accents = [ "sapphire" ];
size = "compact";
};
description = "Catppuccin GTK package";
};
kde = lib.mkOption {
type = lib.types.package;
default = pkgs.catppuccin-kde.override {
flavour = [ "mocha" ];
accents = [ "sapphire" ];
};
description = "Catppuccin KDE package";
};
};
antigravity = {
enable = lib.mkEnableOption "antigravity";
package = lib.mkPackageOption pkgs "antigravity" { };
};
hyprshot = {
enable = lib.mkEnableOption "hyprshot";
package = lib.mkPackageOption pkgs "hyprshot" { };
};
prismlauncher = {
enable = lib.mkEnableOption "prismlauncher";
package = lib.mkPackageOption pkgs "prismlauncher" { };
};
proton-ge = {
enable = lib.mkEnableOption "proton-ge utils";
protonup-qt = lib.mkPackageOption pkgs "protonup-qt" { };
protonplus = lib.mkPackageOption pkgs "protonplus" { };
};
vlc = {
enable = lib.mkEnableOption "vlc";
package = lib.mkPackageOption pkgs "vlc" { };
};
gimp = {
enable = lib.mkEnableOption "gimp";
package = lib.mkPackageOption pkgs "gimp" { };
};
libreoffice = {
enable = lib.mkEnableOption "libreoffice";
package = lib.mkPackageOption pkgs "libreoffice-qt-fresh" { };
};
lutris = {
enable = lib.mkEnableOption "lutris";
package = lib.mkPackageOption pkgs "lutris" { };
};
osu = {
enable = lib.mkEnableOption "osu-lazer";
package = lib.mkPackageOption pkgs "osu-lazer-bin" { };
};
lmstudio = {
enable = lib.mkEnableOption "lmstudio";
package = lib.mkPackageOption pkgs "lmstudio" { };
};
blender = {
enable = lib.mkEnableOption "blender";
package = lib.mkPackageOption pkgs "blender" { };
};
xprop = {
enable = lib.mkEnableOption "xprop";
package = lib.mkPackageOption pkgs "xprop" { };
};
bluetuith = {
enable = lib.mkEnableOption "bluetuith";
package = lib.mkPackageOption pkgs "bluetuith" { };
};
pavucontrol = {
enable = lib.mkEnableOption "pavucontrol-qt";
package = lib.mkPackageOption pkgs "lxqt" { extraPrefixCode = ".pavucontrol-qt"; };
};
nwg-look = {
enable = lib.mkEnableOption "nwg-look";
package = lib.mkPackageOption pkgs "nwg-look" { };
};
proton-apps = {
enable = lib.mkEnableOption "proton-pass and proton-authenticator";
pass = lib.mkPackageOption pkgs "proton-pass" { };
authenticator = lib.mkPackageOption pkgs "proton-authenticator" { };
};
hytale = {
enable = lib.mkEnableOption "hytale-launcher";
package = lib.mkOption {
type = lib.types.package;
default = inputs.hytale-launcher.packages.${pkgs.system}.default;
};
};
cider = {
enable = lib.mkEnableOption "cider-2";
package = lib.mkPackageOption pkgs "cider-2" { };
};
};
}

View file

@ -0,0 +1,5 @@
{ ... }:
{
imports = [ ../common/default.nix ];
options.device = { };
}