{ config, lib, pkgs, inputs, ... }: let system = "x86_64-linux"; pkgs-us = import inputs.nixpkgs-us { inherit system; }; in { imports = [ ./scripts ]; options.homeconfig.minimal = lib.options.mkOption { type = lib.types.bool; default = false; }; config = { nixpkgs.config = lib.mkIf (!config.homeconfig.minimal) { allowUnfree = true; }; home.packages = with pkgs; ([ openssh sops killall btop zip unzip rsync curl wget ] ++ (if config.homeconfig.graphical then [ grim slurp xfce.thunar wl-clipboard blueberry lxqt.lxqt-policykit ] else []) ++ (if !config.homeconfig.minimal then [ cava android-tools neovim-remote gcc zulu (python312.withPackages (ps: with ps; [ gpustat numpy matplotlib scipy pandas pyaudio pyusb debugpy requests ])) fastfetch ncmpcpp playerctl mpc-cli ffmpeg ] else []) ++ (if !config.homeconfig.minimal && config.homeconfig.graphical then [ handbrake quickemu bottles brightnessctl libdbusmenu-gtk3 lmms #unfree { geogebra spotify discord #} pkgs-us.rustdesk-flutter pkgs-us.mpv vlc pavucontrol rpi-imager tigervnc keepassxc #3D modeling/printing blender freecad-wayland cura-appimage #productivity libreoffice #games prismlauncher ] else [])); }; }