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

View File

@@ -1,18 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
alacritty
claude-code
gcc
lua-language-server
nil
nixpkgs-fmt
nodejs
obsidian
pkg-config
rustup
steam
xwallpaper
];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.alacritty ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.audacity ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.blender ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.blockbench ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.claude-code ];
}

4
home/programs/fd.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.fd ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.filezilla ];
}

4
home/programs/fzf.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.fzf ];
}

4
home/programs/gcc.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.gcc ];
}

4
home/programs/godot.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.godot_4 ];
}

4
home/programs/imv.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.imv ];
}

4
home/programs/jdk.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.jdk21 ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.jetbrains-toolbox ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.lazygit ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.lua-language-server ];
}

4
home/programs/mpv.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.mpv ];
}

4
home/programs/nil.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.nil ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.nixpkgs-fmt ];
}

4
home/programs/nodejs.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.nodejs ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.obsidian ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.pkg-config ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.prismlauncher ];
}

4
home/programs/rustup.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.rustup ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.vesktop ];
}

4
home/programs/xclip.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.xclip ];
}

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.xwallpaper ];
}

4
home/programs/yt-dlp.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.yt-dlp ];
}

View File

@@ -43,6 +43,9 @@
# Vi copy-mode: v select, y yank to X11 clipboard
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -selection clipboard -i'
# Default layout on new session: main + right pane (~20%) + bottom pane (~15%)
set-hook -g session-created 'split-window -v -l 15% -c "#{pane_current_path}" ; select-pane -t 1 ; split-window -h -l 20% -c "#{pane_current_path}" ; select-pane -t 1'
'';
};
}