modularized all the things

part one (?)
This commit is contained in:
2024-12-15 18:22:36 -05:00
parent d8a9e92dff
commit adabefd821
15 changed files with 848 additions and 45 deletions

View File

@ -3,9 +3,12 @@
pkgs,
userName,
...
}: {
}: let
timeZone = null;
in {
imports = [
../../apps/flatpak.nix
../../pwrMgmt
../../sound/pipewire.nix
../../sound/shairport.nix
../../virtualization/podman.nix
@ -24,7 +27,7 @@
hardware.bluetooth.enable = true;
# Set your timezone
time.timeZone = "America/Detroit";
time.timeZone = timeZone ? "America/Detroit";
# Enable touchpad
services.libinput.enable = true;
@ -35,11 +38,6 @@
neovim
git
wireguard-tools
buildah
podman-tui
podman-compose
podman-desktop
toolbox
grim
slurp
playerctl
@ -83,25 +81,63 @@
# Enable Polkit
security.polkit.enable = true;
# Enable power management
powerManagement = {
enable = true;
powertop.enable = false; # TODO: to be enabled on laptops
cpuFreqGovernor = "performace";
# Gaming module (see ../../apps/gaming.nix)
customGaming = {
steam = {
enable = true;
firewall = {
remotePlay = true;
localNetworkGameTransfers = true;
};
};
gamemode.enable = true;
gamescope.enable = true;
lutris = {
enable = true;
wine = {
enable = true;
package = pkgs.wine;
};
compatibility = {
protonSupport = true;
extraTools = with pkgs; [
proton-ge-custom
];
};
extraPackages = with pkgs; [
gamemode
mangohud
];
};
minecraft.enable = true;
};
# Enable Steam and open various firewall ports when applicable
programs.steam = {
# Power management (see ../../pwrMgmt/default.nix)
customPowerManagement = {
enable = true;
remotePlay.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
cpuFreqGovernor = "performance";
powertop.enable = false;
};
# Enable gamemode (gamemode, gamemoded, gamemoderun) when needed
programs.gamemode.enable = true;
podman = {
podman = {
enable = true;
extraPackages = with pkgs; [
docker-credential-helpers
toolbox
cosign
crane
podman-tui
podman-desktop
];
};
};
# Enable gamescope (compositor) when needed
programs.gamescope.enable = true;
customNetworking = {
firewall.enable = true;
networkManager.enable = true;
};
# Enable dconf
programs.dconf.enable = true;
@ -135,17 +171,5 @@
networking.firewall.allowedUDPPorts = [];
networking.networkmanager.enable = true; # Linux tool for managing network connections
# Enable Podman (OCI containers)
virtualisation.podman = {
enable = true;
dockerSocket.enable = true;
defaultNetwork.settings.dns_enabled = true;
};
# users.users."${userName}" = {
# group = "${userName}";
# isNormalUser = true;
# };
system.stateVersion = "24.05";
}