mirror of
https://github.com/henrysipp/omarchy-nix.git
synced 2026-06-06 02:39:27 -05:00
74 lines
1.3 KiB
Nix
74 lines
1.3 KiB
Nix
{pkgs, lib, exclude_packages ? []}:
|
|
let
|
|
# Essential Hyprland packages - cannot be excluded
|
|
hyprlandPackages = with pkgs; [
|
|
hyprshot
|
|
hyprpicker
|
|
hyprsunset
|
|
brightnessctl
|
|
pamixer
|
|
playerctl
|
|
gnome-themes-extra
|
|
pavucontrol
|
|
];
|
|
|
|
# Essential system packages - cannot be excluded
|
|
systemPackages = with pkgs; [
|
|
git
|
|
vim
|
|
libnotify
|
|
nautilus
|
|
alejandra
|
|
blueberry
|
|
clipse
|
|
fzf
|
|
zoxide
|
|
ripgrep
|
|
eza
|
|
fd
|
|
curl
|
|
unzip
|
|
wget
|
|
gnumake
|
|
];
|
|
|
|
# Discretionary packages - can be excluded by user
|
|
discretionaryPackages = with pkgs; [
|
|
# TUIs
|
|
lazygit
|
|
lazydocker
|
|
btop
|
|
powertop
|
|
fastfetch
|
|
|
|
# GUIs
|
|
chromium
|
|
obsidian
|
|
vlc
|
|
signal-desktop
|
|
|
|
# Commercial GUIs
|
|
typora
|
|
dropbox
|
|
spotify
|
|
|
|
# Development tools
|
|
github-desktop
|
|
gh
|
|
|
|
# Containers
|
|
docker-compose
|
|
ffmpeg
|
|
];
|
|
|
|
# Only allow excluding discretionary packages to prevent breaking the system
|
|
filteredDiscretionaryPackages = lib.lists.subtractLists exclude_packages discretionaryPackages;
|
|
allSystemPackages = hyprlandPackages ++ systemPackages ++ filteredDiscretionaryPackages;
|
|
in {
|
|
# Regular packages
|
|
systemPackages = allSystemPackages;
|
|
|
|
homePackages = with pkgs; [
|
|
];
|
|
}
|