Files
nixos-config/home-manager/programs/programs.nix
2026-03-09 13:06:12 -07:00

124 lines
2.4 KiB
Nix

{ pkgs, hostname, hostTypes, lib, ... }:
{
imports =
# Desktop programs (exclude servers)
lib.optionals (hostTypes.isLinuxDesktop hostname) [
./ghostty/ghostty.nix
./rofi/rofi.nix
./hypr/hypridle.nix
./hypr/hyprland.nix
./hypr/hyprlock.nix
./hypr/theme.nix
./hypr/waybar.nix
./hypr/wlogout.nix
]
# macOS programs
++ lib.optionals (hostTypes.isMacos hostname) [
./ghostty/ghostty.nix
];
gtk = lib.mkIf (hostTypes.isLinuxDesktop hostname) {
enable = true;
gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
gtk4.extraConfig.gtk-application-prefer-dark-theme = true;
};
qt = lib.mkIf (hostTypes.isLinuxDesktop hostname) {
enable = true;
platformTheme.name = "kde";
style.name = "breeze";
};
dconf = lib.mkIf (hostTypes.isLinuxDesktop hostname) {
settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
};
home.packages =
# Desktop packages (Linux desktops)
lib.optionals (hostTypes.isLinuxDesktop hostname) (with pkgs; [
brightnessctl
bambu-studio
blender
brave
desmume
gparted
jellyfin-media-player
kdePackages.bluedevil
kdePackages.bluez-qt
kdePackages.kate
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
kdePackages.isoimagewriter
libreoffice-still
librewolf
localsend
lutris-unwrapped
meld
melonDS
moonlight-qt
nestopia-ue
nix-ld
obsidian
pandoc
prismlauncher
protonplus
protonup-qt
putty
pwninit
pwntools
qFlipper
r2modman
remmina
signal-desktop
spice
steam
steamcmd
swww
tor-browser
vesktop
vlc
wireshark
yubikey-agent
swaynotificationcenter
# Hyprland Stuff
hypridle
hyprpolkitagent
pyprland
#uwsm
hyprlang
hyprshot
hyprcursor
mesa
nwg-displays
nwg-look
waypaper
waybar
# waybar-weatherf
hyprland-qt-support
# rpi-imager
])
# Host-specific packages
++ lib.optionals (hostname == "eva-01") (with pkgs; [
calibre
sdrangel
sdrpp
sonic-visualiser
vscode
])
++ lib.optionals (hostname == "eva-03") (with pkgs; [
pavucontrol
streamcontroller
openrazer-daemon
polychromatic
# vscode
]);
services.swaync = lib.mkIf (hostTypes.isLinuxDesktop hostname) {
enable = true;
};
}