Restructure packages into per-program home/programs/ modules

Replaces the monolithic packages-marvin.nix with one file per program
so hosts can opt in selectively. Adds docker, clamav, steam, and
audio keybindings for hivebrain. Fixes monitor order and switches
volume widget to PulseVolume.
This commit is contained in:
2026-08-12 15:28:06 +02:00
parent 7d5b6f7d3e
commit bc828f7adf
39 changed files with 180 additions and 27 deletions

13
system/clam.nix Normal file
View File

@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.clamav
pkgs.clamtk
];
services = {
clamav.daemon.enable = true;
clamav.updater.enable = true;
};
}

6
system/docker.nix Normal file
View File

@@ -0,0 +1,6 @@
{ ... }:
{
virtualisation.docker.enable = true;
}

View File

@@ -2,4 +2,8 @@
{
networking.networkmanager.enable = true;
# Steam LAN game transfer + Remote Play
networking.firewall.allowedTCPPorts = [ 27036 27037 27040 ];
networking.firewall.allowedUDPPorts = [ 27031 27036 ];
}

View File

@@ -1,7 +1,9 @@
{ ... }:
{ pkgs, ... }:
{
programs.firefox.enable = true;
programs.zsh.enable = true;
programs.nix-ld.enable = true;
environment.systemPackages = [ pkgs.ungoogled-chromium ];
}

View File

@@ -3,7 +3,7 @@
{
users.users.marvin = {
isNormalUser = true;
extraGroups = [ "wheel" ];
extraGroups = [ "wheel" "docker" ];
shell = pkgs.zsh;
packages = with pkgs; [
tree

View File

@@ -11,16 +11,16 @@
'';
xrandrHeads = [
{
output = "HDMI-1";
output = "DP-3";
primary = true;
monitorConfig = ''
Option "Position" "0 0"
'';
}
{
output = "DP-1";
primary = true;
output = "HDMI-1";
monitorConfig = ''
Option "Position" "1920 0"
Option "Position" "3440 0"
'';
}
];