Add all of iogamaster modules

This commit is contained in:
2024-06-15 09:59:52 +02:00
parent c97f22254a
commit fa99b32cad
120 changed files with 3587 additions and 254 deletions

View File

@@ -0,0 +1,65 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.frajul;
let
cfg = config.suites.common;
in
{
options.suites.common = with types; {
enable = mkBoolOpt false "Enable the common suite";
};
config = mkIf cfg.enable {
system.nix.enable = true;
system.security.doas.enable = true;
hardware.audio.enable = true;
hardware.networking.enable = true;
apps.misc.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.settings = {
General = {
FastConnectable = true;
JustWorksRepairing = "always";
Privacy = "device";
};
Policy = {
AutoEnable = true;
};
inputs = {
UserSpaceHID = true;
};
};
environment.persist.directories = [ "/etc/bluetooth" ];
apps.pass.enable = true;
apps.tools.git.enable = true;
apps.tools.nix-ld.enable = true;
services.ssh.enable = true;
programs.dconf.enable = true;
environment.systemPackages = [
pkgs.bluetuith
pkgs.nh # pkgs.custom.sys
pkgs.deploy-rs
];
system = {
fonts.enable = true;
locale.enable = true;
time.enable = true;
xkb.enable = true;
};
};
}

View File

@@ -0,0 +1,43 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.frajul;
let
cfg = config.suites.desktop;
in
{
options.suites.desktop = with types; {
enable = mkBoolOpt false "Enable the desktop suite";
};
config = mkIf cfg.enable {
desktop.hyprland.enable = true;
apps.firefox.enable = true;
apps.discord.enable = true;
apps.tools.gnupg.enable = true;
apps.pass.enable = true;
suites.common.enable = true;
services.flatpak.enable = true;
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
};
environment.persist.directories = [ "/etc/gdm" ];
environment.systemPackages = with pkgs; [
cinnamon.nemo
xclip
xarchiver
];
};
}

View File

@@ -0,0 +1,41 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.frajul; let
cfg = config.suites.development;
in {
options.suites.development = with types; {
enable = mkBoolOpt false "Enable the development suite";
};
config = mkIf cfg.enable {
apps.neovim.enable = true;
apps.tools.direnv.enable = true;
apps.misc.enable = true;
home.configFile."nix-init/config.toml".text = ''
maintainers = ["iogamaster"]
commit = true
'';
environment.systemPackages = with pkgs; [
licensor
# Nix Utils
nix-index
nix-init
nix-melt
nix-update
nixpkgs-fmt
nixpkgs-hammering
nixpkgs-review
nurl
];
};
}

View File

@@ -0,0 +1,36 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.frajul; let
cfg = config.suites.editing;
in {
options.suites.editing = with types; {
enable = mkBoolOpt false "Enable the editing suite";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
obs-studio
audacity
chromium
inkscape
mediainfo
vhs
];
# OBS
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
boot.kernelModules = [
"v4l2loopback"
];
home.persist.directories = [
".config/obs-studio"
];
};
}

View File

@@ -0,0 +1,64 @@
{
options,
config,
lib,
pkgs,
inputs,
...
}:
with lib;
with lib.frajul;
let
cfg = config.suites.gaming;
in
{
imports = with inputs; [ dzgui-nix.nixosModules.default ];
options.suites.gaming = with types; {
enable = mkBoolOpt false "Enable the gaming suite";
};
config = mkIf cfg.enable {
apps.steam.enable = true;
hardware.opengl = {
enable = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
intel-media-driver
intel-ocl
vaapiIntel
];
};
programs.dzgui.enable = true;
environment.systemPackages = [
pkgs.prismlauncher
pkgs.lutris
pkgs.heroic
pkgs.gamemode
pkgs.mangohud
pkgs.gamescope
# pkgs.custom.relive
pkgs.r2modman
pkgs.bottles
];
home.persist.directories = [
".config/r2modman"
".config/r2modmanPlus-local"
".config/dztui"
".local/share/lutris"
".local/share/aspyr-media"
".local/share/bottles"
".local/share/PrismLauncher"
".local/share/dzgui"
"Games"
];
};
}

View File

@@ -0,0 +1,21 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.frajul; let
cfg = config.suites.server;
in {
options.suites.server = with types; {
enable = mkBoolOpt false "Enable the server suite";
};
config = mkIf cfg.enable {
suites.common.enable = true;
suites.development.enable = true;
environment.systemPackages = with pkgs; [];
};
}