forked from Shinonome/alt-illogical-impulse
Initial clean flake structure - Phase 3 complete
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user