{ pkgs, inputs, ... }: let python-packages = pkgs.python3.withPackages ( ps: with ps; [ requests pyquery # needed for hyprland-dots weather script ] ); in { nixpkgs.config.allowUnfree = true; environment.systemPackages = (with pkgs; [ # system packages: # TODO bc baobab btrfs-progs clang curl # TODO xdg-user-dirs xdg-utils fastfetch ]) ++ [ python-packages ]; # fonts fonts.packages = with pkgs; [ noto-fonts fira-code noto-fonts-cjk-sans jetbrains-mono font-awesome terminus_font # (nerdfonts.override {fonts = ["JetBrainsMono"];}) # stable branch nerd-fonts.jetbrains-mono # unstable nerd-fonts.fira-code # unstable ]; programs = { hyprland = { enable = true; #package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; #hyprland development or -git version #portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; #xdph-development portalPackage = pkgs.xdg-desktop-portal-hyprland; xwayland.enable = true; }; waybar.enable = true; hyprlock.enable = true; firefox.enable = true; git.enable = true; nm-applet.indicator = true; # neovim.enable = true; thunar.enable = true; thunar.plugins = with pkgs.xfce; [ exo mousepad thunar-archive-plugin thunar-volman tumbler ]; virt-manager.enable = false; #steam = { # enable = true; # gamescopeSession.enable = true; # remotePlay.openFirewall = true; # dedicatedServer.openFirewall = true; #}; xwayland.enable = true; dconf.enable = true; seahorse.enable = true; fuse.userAllowOther = true; mtr.enable = true; gnupg.agent = { enable = true; enableSSHSupport = true; }; }; # extra portal configuration xdg.portal = { enable = true; wlr.enable = false; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; configPackages = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal ]; }; }