refactor: removing needless module complexity

This commit is contained in:
cnst
2024-10-27 09:14:34 +01:00
parent d8f810ee05
commit 4887feccfd
175 changed files with 920 additions and 1118 deletions

View File

@@ -0,0 +1,15 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.android;
in {
options = {
nixos.programs.android.enable = mkEnableOption "Enables android tools";
};
config = mkIf cfg.enable {
programs.adb.enable = true;
};
}

View File

@@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.anyrun;
in {
options = {
nixos.programs.anyrun.enable = mkEnableOption "Enables anyrun";
};
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.anyrun
];
};
}

View File

@@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.beekeeper;
in {
options = {
nixos.programs.beekeeper.enable = mkEnableOption "Enables Beekeeper Studio";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
beekeeper-studio
];
};
}

View File

@@ -0,0 +1,29 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.nixos.programs.blender;
in {
options = {
nixos.programs.blender = {
enable = mkEnableOption "Enables Blender";
hip.enable = mkOption {
type = lib.types.bool;
default = false;
description = "Use the HIP-enabled version of Blender (for AMD GPUs).";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [
(
if cfg.hip.enable
then pkgs.blender-hip
else pkgs.blender
)
];
};
}

View File

@@ -0,0 +1,18 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.brightnessctl;
in {
options = {
nixos.programs.brightnessctl.enable = mkEnableOption "Enables brigthnessctl";
};
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.brightnessctl
];
};
}

View File

@@ -0,0 +1,21 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.corectrl;
in {
options = {
nixos.programs.corectrl.enable = mkEnableOption "Enables CoreCtrl";
};
config = mkIf cfg.enable {
programs.corectrl = {
enable = true;
gpuOverclock = {
enable = true;
ppfeaturemask = "0xffffffff";
};
};
};
}

View File

@@ -0,0 +1,48 @@
{
config,
lib,
pkgs,
inputs,
...
}: let
inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.nixos.programs.gamemode;
pipewireLowLatencyModule = inputs.nix-gaming.nixosModules.pipewireLowLatency;
in {
imports = [
pipewireLowLatencyModule
];
options = {
nixos.programs.gamemode = {
enable = mkEnableOption "Enables gamemode";
optimizeGpu.enable = mkOption {
type = lib.types.bool;
default = false;
description = "Whether to apply GPU optimizations.";
};
};
};
config = mkIf cfg.enable {
programs.gamemode = {
enable = true;
settings = {
general = {
inhibit_screensaver = 1;
softrealtime = "auto";
# renice = 15;
};
gpu = mkIf cfg.optimizeGpu.enable {
apply_gpu_optimisations = "accept-responsibility";
gpu_device = 0;
amd_performance_level = "high";
};
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
};
};
};
# see https://github.com/fufexan/nix-gaming/#pipewire-low-latency
services.pipewire.lowLatency.enable = true;
};
}

View File

@@ -0,0 +1,22 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.gamescope;
in {
options = {
nixos.programs.gamescope.enable = mkEnableOption "Enables gamescope";
};
config = mkIf cfg.enable {
programs.gamescope = {
enable = true;
capSysNice = true;
args = [
"--rt"
"--expose-wayland"
];
};
};
}

View File

@@ -0,0 +1,18 @@
{
config,
pkgs,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.gimp;
in {
options = {
nixos.programs.gimp.enable = mkEnableOption "Enables gimp";
};
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.gimp-with-plugins
];
};
}

View File

@@ -0,0 +1,22 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.gnome;
in {
options = {
nixos.programs.gnome.enable = mkEnableOption "Enables gnome";
};
config = mkIf cfg.enable {
services = {
xserver = {
desktopManager.gnome = {
enable = true;
};
};
gnome.games.enable = true;
};
};
}

View File

@@ -0,0 +1,31 @@
{
pkgs,
inputs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.hyprland;
hyprsysteminfoFlake = inputs.hyprsysteminfo.packages.${pkgs.system}.default;
in {
options = {
nixos.programs.hyprland.enable = mkEnableOption "Enables hyprland";
};
config = mkIf cfg.enable {
security.pam.services.hyprlock.text = "auth include login";
programs.hyprland = {
enable = true;
xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.system}.default;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
};
environment = {
variables.NIXOS_OZONE_WL = "1";
systemPackages = [
pkgs.hyprwayland-scanner
hyprsysteminfoFlake
];
};
};
}

View File

@@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.inkscape;
in {
options = {
nixos.programs.inkscape.enable = mkEnableOption "Enables inkscape";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
inkscape-with-extensions
];
};
}

View File

@@ -0,0 +1,21 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.lutris;
in {
options = {
nixos.programs.lutris.enable = mkEnableOption "Enables lutris";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
lutris
bottles
wineWowPackages.waylandFull
wineWowPackages.stagingFull
];
};
}

View File

@@ -0,0 +1,16 @@
{
config,
lib,
inputs,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.microfetch;
in {
options = {
nixos.programs.microfetch.enable = mkEnableOption "Enables microfetch";
};
config = mkIf cfg.enable {
environment.systemPackages = [inputs.microfetch.packages.x86_64-linux.default];
};
}

View File

@@ -0,0 +1,33 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption mkOption mkMerge;
cfg = config.nixos.programs.misc;
in {
options = {
nixos.programs.misc = {
enable = mkEnableOption "Enables miscellaneous packages";
desktop.enable = mkOption {
type = lib.types.bool;
default = false;
description = "Whether to install desktop-specific packages.";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = mkMerge [
[
pkgs.nodejs_22
pkgs.tree
]
(mkIf cfg.desktop.enable [
pkgs.protonup
pkgs.winetricks
])
];
};
}

View File

@@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.mysql-workbench;
in {
options = {
nixos.programs.mysql-workbench.enable = mkEnableOption "Enables MySQL Workbench";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
mysql-workbench
];
};
}

View File

@@ -0,0 +1,33 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.nixos.programs.nh;
in {
options = {
nixos.programs.nh = {
enable = mkEnableOption "Enables nix helper";
clean = {
enable = mkEnableOption "Enables nix helper cleaning";
extraArgs = mkOption {
type = lib.types.str;
description = "Extra arguments for the clean command";
default = "";
};
};
};
};
config = mkIf cfg.enable {
programs = {
nh = {
enable = cfg.enable;
clean = {
enable = cfg.clean.enable;
extraArgs = cfg.clean.extraArgs;
};
};
};
};
}

View File

@@ -0,0 +1,17 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.npm;
in {
options = {
nixos.programs.npm.enable = mkEnableOption "Enables npm";
};
config = mkIf cfg.enable {
programs.npm = {
enable = true;
};
};
}

View File

@@ -0,0 +1,18 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.obsidian;
in {
options = {
nixos.programs.obsidian.enable = mkEnableOption "Enables obsidian";
};
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.obsidian
];
};
}

View File

@@ -0,0 +1,20 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.steam;
in {
options = {
nixos.programs.steam.enable = mkEnableOption "Enables steam";
};
config = mkIf cfg.enable {
programs = {
steam = {
enable = true;
gamescopeSession.enable = true;
};
};
};
}

View File

@@ -0,0 +1,22 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.yubikey;
in {
options = {
nixos.programs.yubikey.enable = mkEnableOption "Enables yubikey utilities";
};
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.yubioath-flutter
pkgs.yubikey-manager
pkgs.yubikey-personalization
pkgs.yubikey-personalization-gui
pkgs.pcsc-tools
];
};
}

View File

@@ -0,0 +1,15 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.zsh;
in {
options = {
nixos.programs.zsh.enable = mkEnableOption "Enables zsh shell";
};
config = mkIf cfg.enable {
programs.zsh.enable = cfg.enable;
};
}