Files
illogical-impulse/sdata/dist-nix/home-manager/home.nix
T
2025-11-04 00:59:15 +08:00

213 lines
5.7 KiB
Nix

{ config, lib, pkgs, nixgl, home_attrs, ... }:
{
programs.home-manager.enable = true;
nixGL.packages = nixgl.packages;
nixGL.defaultWrapper = "mesa";
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
xdg-desktop-portal-wlr
];
config.hyprland = {
default = [ "hyprland" "gtk" ];
"org.freedesktop.impl.portal.ScreenCast" = [
"gnome"
];
};
};
## Allow fontconfig to discover fonts in home.packages
fonts.fontconfig.enable = true;
home = {
packages = with pkgs; [
##### Sure #####
## Basic cli tool
## inetutils: provides hostname, ifconfig, ping, etc.
## libnotify: provides notify-send
inetutils libnotify
## Media related
brightnessctl pavucontrol
## Terminal and shell
foot cowsay lolcat
##### Fonts/Icons/Cursors/Decoration #####
fontconfig
##### Other basic things #####
dbus xorg.xlsclients networkmanager
##### Not work, to be solved #####
# swaylock pamtester
# TODO: migrate all packages from dist-arch. Note that for each package, must know why it's needed and how it's used specifically, cuz things may be need tweak to properly use the package installed by Nix, especially those have hardcoded path /usr/* .
### illogical-impulse-audio
libcava #cava (Used in Quickshell config)
lxqt.pavucontrol-qt #pavucontrol-qt (Used in Hyprland and Quickshell config)
wireplumber #wireplumber (not explicitly used)
pipewire #pipewire-pulse (not explicitly used)
libdbusmenu-gtk3 #libdbusmenu-gtk3 (not explicitly used)
playerctl #playerctl (Used in Hyprland and Quickshell config)
### illogical-impulse-backlight
(geoclue2.override { withDemoAgent = true; }) #geoclue (which demo agent used in Quickshell config)
brightnessctl #brightnessctl (Used in Hyprland and Quickshell config)
ddcutil #ddcutil (Used in Quickshell config)
### illogical-impulse-basic
#axel (Seems not available, however actually not needed cuz it's only used for install Bibata_Cursor in package-installers.sh)
bc #bc (Used in quickshell/ii/scripts/colors/switchwall.sh for example)
uutils-coreutils-noprefix #coreutils (Too many executables involved, not sure where been used)
cliphist #cliphist (Used in Hyprland and Quickshell config)
cmake #cmake (Used in building quickshell and MicroTeX)
curlFull #curl (Used in Quickshell config)
wget #wget (Used in Quickshell config)
ripgrep #ripgrep (Not sure where been used)
jq #jq (Widely used)
#meson (Actually not needed. It was used in building AGS.)
xdg-user-dirs #xdg-user-dirs (Used in Hyprland and Quickshell config)
rsync #rsync (Used in install script)
yq-go #go-yq (Used in install script)
### illogical-impulse-bibata-modern-classic-bin
bibata-cursors #https://github.com/ful1e5/Bibata_Cursor
### illogical-impulse-fonts-themes
#adw-gtk-theme-git
#breeze
#breeze-plus
#darkly-bin
#eza
#fish
#fontconfig
#kitty
#matugen-bin
#otf-space-grotesk
#starship
#ttf-gabarito-git
#ttf-jetbrains-mono-nerd
#ttf-material-symbols-variable-git
#ttf-readex-pro
#ttf-roboto-flex
#ttf-rubik-vf
#ttf-twemoji
### illogical-impulse-hyprland
#hypridle
#hyprcursor
#hyprland (Need NixGL, included elsewhere)
#hyprland-qtutils
#hyprland-qt-support
#hyprlang
#hyprlock
#hyprpicker
#hyprsunset
#hyprutils
#hyprwayland-scanner
#xdg-desktop-portal-hyprland
wl-clipboard #wl-clipboard
### illogical-impulse-kde
#bluedevil
#gnome-keyring
#networkmanager
#plasma-nm
#polkit-kde-agent
#dolphin
#systemsettings
### illogical-impulse-microtex-git
# This package will be installed as /opt/MicroTeX and it
#MicroTeX#https://github.com/NanoMichael/MicroTeX
# It seems not available on search.nixos.org
### illogical-impulse-oneui4-icons-git
#OneUI4-Icons#https://github.com/end-4/OneUI4-Icons
### illogical-impulse-portal
#xdg-desktop-portal
#xdg-desktop-portal-kde
#xdg-desktop-portal-gtk
#xdg-desktop-portal-hyprland
### illogical-impulse-python
#clang
#uv
#gtk4
#libadwaita
#libsoup3
#libportal-gtk4
#gobject-introspection
#sassc
### illogical-impulse-quickshell-git
#_commit='db1777c20b936a86528c1095cbcb1ebd92801402'
#url='https://git.outfoxxed.me/quickshell/quickshell'
### illogical-impulse-screencapture
#hyprshot
#slurp
#swappy
#tesseract
#tesseract-data-eng
#wf-recorder
### illogical-impulse-toolkit
#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
#syntax-highlighting
#upower
#wtype
#ydotool
### illogical-impulse-widgets
#fuzzel
#glib2 # for `gsettings` it seems?
#imagemagick
#hypridle
#hyprutils
#hyprlock
#hyprpicker
#nm-connection-editor
songrec #songrec (Used in Quickshell config)
translate-shell #translate-shell (Used in Quickshell config)
wlogout #wlogout (Used in Hyprland config)
]
++ [
(config.lib.nixGL.wrap pkgs.hyprland)
];
}//home_attrs;
}