feat: big refactor

This commit is contained in:
Jacob Bachmann 2024-09-07 15:10:22 +02:00
parent 2c09c21833
commit ebedec9768
No known key found for this signature in database
GPG key ID: 7753026D577922A6
159 changed files with 1927 additions and 2222 deletions

View file

@ -1,133 +1,54 @@
{ lib, ... }: {
# options affecting multiple modules
{ lib, ... }:
{
options.bchmnn = with lib; {
user = {
extraGroups = mkOption {
type = types.listOf types.str;
default = [
"wheel"
"networkmanager"
"libvirtd"
"docker"
"wireshark"
];
};
};
power = {
tlp = {
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int float str (listOf str) ]);
default = {
# performance | powersave
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
# performance | balance_performance | default | balance_power | power
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
# performance | balanced | low-power
PLATFORM_PROFILE_ON_AC = "performance";
PLATFORM_PROFILE_ON_BAT = "low-power";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 100;
};
git = {
signing = {
key = mkOption {
type = types.str;
default = "732A612DAD28067D";
};
};
};
gui = {
enable = mkEnableOption "gui";
greeter = {
enable = mkEnableOption "greeter";
collections = {
cli-utils = {
enable = mkEnableOption "cli-utils";
};
flavour = mkOption {
type = types.listOf types.str;
default = [ "sway" ];
example = [ "sway" "i3" ];
description = ''
The flavour (WM) for your system to use
'';
profiling = {
enable = mkEnableOption "profiling";
};
development = {
enable = mkEnableOption "development";
};
vpn = {
enable = mkEnableOption "vpn";
};
virtualisation = {
enable = mkEnableOption "virtualisation";
};
games = {
enable = mkEnableOption "games";
};
};
nvidia = {
enable = mkEnableOption "nvidia";
};
audio = {
enable = mkEnableOption "audio";
pipewire-wine-fix = {
enable = mkEnableOption "pipewire-wine-fix";
};
};
bluetooth = {
enable = mkEnableOption "bluetooth";
};
printing = {
enable = mkEnableOption "printing";
};
vpn = {
enable = mkEnableOption "vpn";
};
sync = {
enable = mkEnableOption "sync";
};
devenv = {
enable = mkEnableOption "devenv";
};
virtualisation = {
enable = mkEnableOption "virtualisation";
};
games = {
enable = mkEnableOption "games";
};
ai = {
enable = mkEnableOption "ai";
};
ratbag = {
enable = mkEnableOption "ratbag";
};
};
imports = [
./arr.nix
./audio.nix
./ausweisapp.nix
./bluetooth.nix
./ccache.nix
./desktop.nix
./dbus.nix
./fonts.nix
./gstreamer.nix
./i18n.nix
./kdeconnect.nix
./keyd.nix
./man.nix
./memtest86.nix
./nautilus.nix
./network.nix
./nh.nix
./nix-ld.nix
./nix.nix
./nvidia.nix
./ollama.nix
./opengl.nix
./openssh.nix
./power.nix
./packages.nix
./printing.nix
./ratbag.nix
./security.nix
./shell.nix
./steam.nix
./syncthing.nix
./tts.nix
./udisks2.nix
./virtualisation.nix
./vpn.nix
./wine.nix
./xdg-portal.nix
./core
./desktop
./home-manager
./services
];
}