modularizes linux desktop

This commit is contained in:
Dennis Schoepf 2025-12-06 16:56:26 +01:00
parent c01472797b
commit b34a0b3234
13 changed files with 181 additions and 189 deletions

41
modules/unix/audio.nix Normal file
View file

@ -0,0 +1,41 @@
{ config, ... }:
{
environment.systemPackages = lib.mkAfter (with pkgs; [
pwvucontrol
]);
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
raopOpenFirewall = true;
wireplumber.extraConfig."10-bluez" = {
"monitor.bluez.properties" = {
"bluez5.enable-sbc-xq" = true;
"bluez5.enable-msbc" = true;
"bluez5.enable-hw-volume" = true;
"bluez5.roles" = [
"hsp_hs"
"hsp_ag"
"hfp_hf"
"hfp_ag"
];
};
};
extraConfig.pipewire = {
"10-airplay" = {
"context.modules" = [
{
name = "libpipewire-module-raop-discover";
# increase the buffer size if you get dropouts/glitches
# args = {
# "raop.latency.ms" = 500;
# };
}
];
};
};
};
}

28
modules/unix/base.nix Normal file
View file

@ -0,0 +1,28 @@
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.networkmanager.enable = true;
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
security.sudo.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.mtr.enable = true;
environment.variables = {
EDITOR = "nvim";
SYSTEMD_EDITOR = "nvim";
VISUAL = "nvim";
};
}

View file

@ -0,0 +1,14 @@
{ config, ... }:
{
services.blueman.enable = true;
hardware.bluetooth = {
enable = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
};
};
};
}

6
modules/unix/default.nix Normal file
View file

@ -0,0 +1,6 @@
{
imports = [
./base.nix
./shell.nix
];
}

15
modules/unix/nvidia.nix Normal file
View file

@ -0,0 +1,15 @@
{ config, ... }:
{
services.xserver.videoDrivers = [ "nvidia" ];
graphics.enable = true;
nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
}

10
modules/unix/printing.nix Normal file
View file

@ -0,0 +1,10 @@
{ ... }:
{
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
}

6
modules/unix/shell.nix Normal file
View file

@ -0,0 +1,6 @@
{ pkgs, ... }:
{
programs.fish.enable = true;
users.defaultUserShell = pkgs.fish;
}