{ config, pkgs, pkgs-unstable, lib, system, inputs, host, user, rice, allowed, secrets, ... }: { imports = [ ./home-modules/vscode.nix ./home-modules/discord.nix ./home-modules/chatterino.nix ./home-modules/email.nix ./home-modules/bitwarden.nix ./home-modules/office.nix ./home-modules/virt-manager.nix ./home-modules/gestures.nix ./home-modules/pnx.nix ./home-modules/hyprland.nix ./home-modules/hyprland-autoname-workspaces.nix ./home-modules/waybar.nix ./home-modules/nx-gcal-event.nix ./home-modules/wlogout.nix ./home-modules/rofi.nix ./home-modules/kitty.nix ./home-modules/fish.nix ./home-modules/starship.nix # ./home-modules/nvim.nix ./home-modules/helix.nix ./home-modules/yazi.nix ./home-modules/zoxide.nix ./home-modules/nh.nix ./home-modules/ssh.nix ./home-modules/git.nix ./home-modules/mako.nix ./home-modules/gtk.nix ./home-modules/qt.nix ./home-modules/latex.nix ./home-modules/pandoc.nix ./home-modules/python.nix ]; home.username = user; home.homeDirectory = "/home/${user}"; home.stateVersion = "23.11"; nixpkgs.config = { allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) allowed.unfree-packages; permittedInsecurePackages = allowed.inecure-packages; }; home.packages = with pkgs; [ # firefox chromium zathura xfce.thunar spotify spicetify-cli obs-studio swww playerctl imv mpv mediainfo exiftool ffmpeg pavucontrol fontpreview gtk2fontsel lynx bat du-dust eza neofetch tldr fzf figlet ripgrep lolcat jq glow brightnessctl wev sssnake pipes dig gnumake cmake speedtest-go glib gsettings-desktop-schemas ] ++ (with pkgs-unstable; [ firefox ]) ++ (if host != "NxACE" then (with pkgs; [ signal-desktop obsidian element-desktop zoom-us gimp inkscape ]) else (with pkgs; [ ])); xdg = { enable = true; configHome = /home/${user}/.config; cacheHome = /home/${user}/.cache; dataHome = /home/${user}/.local/share; stateHome = /home/${user}/.local/state; mimeApps = { enable = true; defaultApplications = let browser = "firefox.desktop"; in { "default-web-browser" = [ browser ]; "text/html" = [ browser ]; "text/htm" = [ browser ]; "x-scheme-handler/http" = [ browser ]; "x-scheme-handler/https" = [ browser ]; "x-scheme-handler/about" = [ browser ]; "x-scheme-handler/unknown" = [ browser ]; "x-scheme-handler/mailto" = "thunderbird.desktop"; "image/png" = "imv.desktop"; "image/jpg" = "imv.desktop"; "image/jpeg" = "imv.desktop"; "image/webp" = "imv.desktop"; "image/gif" = "imv.desktop"; "application/pdf" = "zathura.desktop"; "inode/directory" = "thunar.desktop"; }; }; }; # Wayland, X, etc. support for session vars # systemd.user.sessionVariables = home.sessionVariables; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }