forked from Shinonome/dots-hyprland
220 lines
5.2 KiB
Nix
220 lines
5.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
inputs,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit
|
|
(lib)
|
|
mkIf
|
|
mkMerge
|
|
mkDefault
|
|
mkOption
|
|
types
|
|
;
|
|
cfg = config.programs.illogical-impulse;
|
|
in {
|
|
options = {
|
|
programs.illogical-impulse = {
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = ''
|
|
Enables Hyprland and quickshell.
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
programs.hyprland = {
|
|
enable = true;
|
|
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
|
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
|
};
|
|
environment.etc."skel/.config/quickshell" = {
|
|
source = "../../../.config/quickshell";
|
|
};
|
|
environment.etc."skel/.local/share/OneUI" = {
|
|
source = inputs.oneUI;
|
|
};
|
|
environment.etc."skel/.config/hypr" = {
|
|
source = "../../../.config/hypr";
|
|
};
|
|
environment.etc."skel/.config/matugen" = {
|
|
source = "../../../.config/matugen";
|
|
};
|
|
environment.etc."skel/.config/foot" = {
|
|
source = "../../../.config/foot";
|
|
};
|
|
environment.etc."skel/.config/kitty" = {
|
|
source = "../../../.config/kitty";
|
|
};
|
|
environment.etc."skel/.config/qt5ct" = {
|
|
source = "../../../.config/qt5ct";
|
|
};
|
|
environment.etc."skel/.config/qt6ct" = {
|
|
source = "../../../.config/qt6ct";
|
|
};
|
|
environment.etc."skel/.config/wlogout" = {
|
|
source = "../../../.config/wlogout";
|
|
};
|
|
environment.etc."skel/.config/Kvantum" = {
|
|
source = "../../../.config/Kvantum";
|
|
};
|
|
|
|
environment.systemPackages = with pkgs;
|
|
[
|
|
inputs.illogical-impulse.legacyPackages.${pkgs.system}.iiShellConfig
|
|
inputs.illogical-impulse.legacyPackages.${pkgs.system}.iiOneUI4Icons
|
|
inputs.illogical-impulse.legacyPackages.${pkgs.system}.quickshellWithQT
|
|
inputs.matugen.packages.${pkgs.system}.default
|
|
inputs.hyprland.packages.${pkgs.system}.default
|
|
]
|
|
++
|
|
# --- Illogical Impulse Audio Dependencies ---
|
|
[
|
|
cava
|
|
pavucontrol
|
|
wireplumber
|
|
libdbusmenu-gtk3
|
|
playerctl
|
|
]
|
|
# --- Illogical Impulse Backlight Dependencies ---
|
|
++ [
|
|
geoclue2 # FIXME
|
|
brightnessctl
|
|
ddcutil
|
|
]
|
|
# --- Illogical Impulse Basic Dependencies ---
|
|
++ [
|
|
axel
|
|
bc
|
|
coreutils
|
|
cliphist
|
|
cmake
|
|
curl
|
|
rsync
|
|
wget
|
|
ripgrep
|
|
jq
|
|
meson
|
|
xdg-user-dirs
|
|
]
|
|
# --- Illogical Impulse Bibata Dependencies ---
|
|
++ [
|
|
bibata-cursors
|
|
]
|
|
# --- Illogical Impulse Fonts and Theming Dependencies ---
|
|
++ [
|
|
# adw-gtk-theme-git
|
|
# breeze
|
|
# breeze-plus
|
|
# darkly-bin
|
|
adw-gtk3 #FIXME
|
|
darkly
|
|
eza
|
|
foot
|
|
fish
|
|
fontconfig
|
|
# kde-material-you-colors
|
|
kitty
|
|
# matugen.packages.${pkgs.system}.default
|
|
# otf-space-grotesk
|
|
starship
|
|
# ttf-gabarito-git
|
|
nerd-fonts.jetbrains-mono
|
|
# ttf-material-symbols-variable-git
|
|
# ttf-readex-pro
|
|
# ttf-rubik-vf
|
|
# ttf-twemoji
|
|
]
|
|
# --- Illogical Impulse Hyprland Dependencies ---
|
|
++ [
|
|
# hyprland.packages.${pkgs.system}.default
|
|
hypridle
|
|
hyprcursor
|
|
hyprlang
|
|
hyprlock
|
|
hyprpicker
|
|
hyprsunset
|
|
hyprutils
|
|
hyprwayland-scanner
|
|
wl-clipboard
|
|
]
|
|
# --- Illogical Impulse KDE Dependencies ---
|
|
++ [
|
|
kdePackages.bluedevil
|
|
gnome-keyring
|
|
networkmanager
|
|
kdePackages.plasma-nm
|
|
kdePackages.polkit-kde-agent-1
|
|
kdePackages.dolphin
|
|
kdePackages.systemsettings
|
|
]
|
|
# TODO
|
|
# Microtex
|
|
++ [
|
|
]
|
|
# --- Illogical Impulse OneUI Dependencies ---
|
|
++ [
|
|
]
|
|
# --- Illogical Impulse XDG Portal Dependencies ---
|
|
++ [
|
|
xdg-desktop-portal
|
|
kdePackages.xdg-desktop-portal-kde
|
|
xdg-desktop-portal-gtk
|
|
xdg-desktop-portal-hyprland
|
|
]
|
|
# --- Illogical Impulse Python Dependencies ---
|
|
++ [
|
|
clang
|
|
uv
|
|
gtk4
|
|
libadwaita
|
|
libsoup_3
|
|
libportal-gtk4
|
|
gobject-introspection
|
|
sassc
|
|
python3Packages.opencv-python
|
|
]
|
|
# --- Illogical Impulse Screencapture Dependencies ---
|
|
++ [
|
|
hyprshot
|
|
slurp
|
|
swappy
|
|
tesseract
|
|
# tesseract-data-eng
|
|
wf-recorder
|
|
]
|
|
# --- Illogical Impulse GTK/Qt Dependencies ---
|
|
++ [
|
|
kdePackages.kdialog
|
|
# qt6-5compat
|
|
# qt6-avif-image-plugin
|
|
# qt6-base
|
|
# qt6-declarative
|
|
# qt6-imageformats
|
|
# qt6-multimedia
|
|
# qt6-positioning
|
|
# qt6-quicktimeline
|
|
# qt6-sensors
|
|
# qt6-svg
|
|
# qt6-tools
|
|
# qt6-translations
|
|
# qt6-virtualkeyboard
|
|
# qt6-wayland
|
|
upower
|
|
wtype
|
|
ydotool
|
|
]
|
|
# --- Illogical Impulse Widget Dependencies ---
|
|
++ [
|
|
fuzzel
|
|
# glib2
|
|
translate-shell
|
|
wlogout
|
|
];
|
|
};
|
|
}
|