Initial clean flake structure - Phase 3 complete

This commit is contained in:
Celes Renata
2025-08-08 22:05:41 -07:00
commit 8011f1c842
11 changed files with 2313 additions and 0 deletions
+116
View File
@@ -0,0 +1,116 @@
# Package mappings from dots-hyprland meta-packages to nixpkgs
# Direct mapping from PKGBUILD files in arch-packages/
{ lib, pkgs }:
let
# illogical-impulse-basic PKGBUILD
basicPackages = with pkgs; [
axel
bc
coreutils
cliphist
cmake
curl
rsync
wget
ripgrep
jq
meson
xdg-user-dirs
];
# illogical-impulse-widgets PKGBUILD
widgetPackages = with pkgs; [
fuzzel
glib # for gsettings
hypridle
hyprutils
hyprlock
hyprpicker
networkmanagerapplet # nm-connection-editor
# quickshell-git -> provided by quickshell flake input
translate-shell
wlogout
# Qt modules needed for quickshell widgets
kdePackages.qt5compat # For Qt5Compat.GraphicalEffects
kdePackages.qtdeclarative # For QML
kdePackages.qtwayland # For Wayland support
];
# illogical-impulse-hyprland PKGBUILD
hyprlandPackages = with pkgs; [
hypridle
hyprcursor
hyprland
hyprland-qtutils
# hyprland-qt-support -> might be in hyprland-qtutils
hyprlang
hyprlock
hyprpicker
hyprsunset
hyprutils
hyprwayland-scanner
xdg-desktop-portal-hyprland
wl-clipboard
];
# illogical-impulse-python PKGBUILD (system dependencies)
pythonSystemPackages = with pkgs; [
clang
# uv -> not needed in NixOS approach, we use pip directly
gtk4
libadwaita
libsoup_3 # libsoup3
libportal-gtk4
gobject-introspection
sassc
opencv4 # python-opencv
];
# Additional packages that might be needed
audioPackages = with pkgs; [
pipewire
wireplumber
pavucontrol
playerctl
];
# Font packages (from installer analysis)
fontPackages = with pkgs; [
# Rubik font (installer sets this as default)
# Note: might need to add custom font derivation
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
font-awesome
material-design-icons
nerd-fonts.jetbrains-mono
nerd-fonts.fira-code
];
# Theme and appearance packages
themePackages = with pkgs; [
matugen # for Material You color generation
# Additional theme packages as needed
];
in
{
inherit
basicPackages
widgetPackages
hyprlandPackages
pythonSystemPackages
audioPackages
fontPackages
themePackages;
# Combined package sets for different use cases
essentialPackages = basicPackages ++ widgetPackages ++ hyprlandPackages;
allPackages = basicPackages ++ widgetPackages ++ hyprlandPackages ++
pythonSystemPackages ++ audioPackages ++ fontPackages ++ themePackages;
# Minimal set for testing
minimalPackages = basicPackages ++ widgetPackages;
}