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