wip refactor

This commit is contained in:
Leonardo Eugênio 2025-02-20 22:01:03 -03:00
parent 294f1837d5
commit 321cb97502
10 changed files with 113 additions and 79 deletions

View file

@ -102,17 +102,25 @@
inputs.agenix.nixosModules.default inputs.agenix.nixosModules.default
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko inputs.disko.nixosModules.disko
{ (
home-manager.useGlobalPkgs = true; { config, ... }:
home-manager.useUserPackages = true; {
home-manager.users.lelgenio = import ./user/home.nix; home-manager.useGlobalPkgs = true;
home-manager.backupFileExtension = "bkp"; home-manager.useUserPackages = true;
# Optionally, use home-manager.extraSpecialArgs to pass home-manager.users.lelgenio = {
# arguments to home.nix my = config.my;
home-manager.extraSpecialArgs = { imports = [
inherit inputs; ./user/home.nix
}; ];
} };
home-manager.backupFileExtension = "bkp";
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
home-manager.extraSpecialArgs = {
inherit inputs;
};
}
)
] ]
++ lib.optional (desktop == "gnome") ./system/gnome.nix ++ lib.optional (desktop == "gnome") ./system/gnome.nix
++ lib.optional (desktop == "kde") ./system/kde.nix; ++ lib.optional (desktop == "kde") ./system/kde.nix;
@ -133,7 +141,6 @@
./system/monolith-gitlab-runner.nix ./system/monolith-gitlab-runner.nix
./system/monolith-forgejo-runner.nix ./system/monolith-forgejo-runner.nix
./system/nix-serve.nix ./system/nix-serve.nix
./system/steam.nix
] ++ common_modules; ] ++ common_modules;
}; };
double-rainbow = lib.nixosSystem { double-rainbow = lib.nixosSystem {
@ -151,7 +158,6 @@
++ [ ++ [
{ {
packages.media-packages.enable = lib.mkOverride 0 false; packages.media-packages.enable = lib.mkOverride 0 false;
programs.steam.enable = lib.mkOverride 0 false;
services.flatpak.enable = lib.mkOverride 0 false; services.flatpak.enable = lib.mkOverride 0 false;
} }
]; ];

View file

@ -41,6 +41,8 @@ in
package = pkgs.unstable.opentabletdriver; package = pkgs.unstable.opentabletdriver;
}; };
my.gaming.enable = true;
boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ]; boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ];
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];

View file

@ -1,6 +1,18 @@
{ lib, ... }: { lib, ... }:
{ {
options = { options = {
my = lib.mkOption { }; my = {
themes = lib.mkOption { };
key = lib.mkOption { };
theme = lib.mkOption { };
accent = lib.mkOption { };
font = lib.mkOption { };
username = lib.mkOption { };
mail = lib.mkOption { };
dmenu = lib.mkOption { };
desktop = lib.mkOption { };
browser = lib.mkOption { };
editor = lib.mkOption { };
};
}; };
} }

View file

@ -9,7 +9,7 @@
}: }:
{ {
imports = [ imports = [
./gamemode.nix ./gaming.nix
./cachix.nix ./cachix.nix
./media-packages.nix ./media-packages.nix
./boot.nix ./boot.nix

View file

@ -1,27 +0,0 @@
{
config,
pkgs,
inputs,
...
}:
{
programs.gamemode.enable = true;
programs.gamemode.enableRenice = true;
programs.gamemode.settings = {
general = {
renice = 10;
};
# Warning: GPU optimisations have the potential to damage hardware
gpu = {
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'";
};
};
}

63
system/gaming.nix Normal file
View file

@ -0,0 +1,63 @@
{
config,
pkgs,
lib,
inputs,
...
}:
{
options.my.gaming.enable = lib.mkEnableOption { };
config = lib.mkIf config.my.gaming.enable {
programs.steam.enable = true;
programs.steam.extraPackages =
config.fonts.packages
++ (with pkgs; [
capitaine-cursors
bibata-cursors
mangohud
xdg-user-dirs
gamescope
# gamescope compatibility??
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
]);
environment.systemPackages = with pkgs; [
protontricks
bottles
inputs.dzgui-nix.packages.${pkgs.system}.default
];
programs.gamemode = {
enable = true;
enableRenice = true;
settings = {
general = {
renice = 10;
};
# Warning: GPU optimisations have the potential to damage hardware
gpu = {
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'";
};
};
};
};
}

View file

@ -1,36 +0,0 @@
{
config,
pkgs,
inputs,
...
}:
{
programs.steam.enable = true;
programs.steam.extraPackages =
config.fonts.packages
++ (with pkgs; [
capitaine-cursors
bibata-cursors
mangohud
xdg-user-dirs
gamescope
# gamescope compatibility??
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
]);
environment.systemPackages = with pkgs; [
protontricks
bottles
inputs.dzgui-nix.packages.${pkgs.system}.default
];
}

9
user/gaming.nix Normal file
View file

@ -0,0 +1,9 @@
{ config, lib, ... }:
let
cfg = config.my.gaming;
in
{
options.my.gaming.enable = lib.mkEnableOption { };
config = lib.mkIf cfg.enable {
};
}

View file

@ -7,9 +7,13 @@
let let
inherit (config.my) accent theme editor; inherit (config.my) accent theme editor;
inherit (theme) color; inherit (theme) color;
cfg = config.my.helix;
in in
{ {
config = { options.my.helix.enable = lib.mkEnableOption "Enable helix config";
config = lib.mkIf cfg.enable {
programs.helix = { programs.helix = {
enable = true; enable = true;
settings = { settings = {

View file

@ -21,6 +21,7 @@
./rofi.nix ./rofi.nix
./mpv.nix ./mpv.nix
./mangohud.nix ./mangohud.nix
./gaming.nix
./pipewire.nix ./pipewire.nix
./mimeapps.nix ./mimeapps.nix
./desktop-entries.nix ./desktop-entries.nix