{ pkgs, lib, ... }: let terminal = "kitty"; # newm = inputs.newmpkgs.packages.${system}.newm-atha; packages = [ # Utility pkgs.bitwarden pkgs.vimiv-qt # Visual pkgs.imagemagick pkgs.kate pkgs.helix pkgs.howl #Games pkgs.prismlauncher-qt5 # Env pkgs.eww-wayland pkgs.socat pkgs.jq ]; nonFreePackages = [ "discord" ]; in { custom.colors = import ../themes/colors/base16-monokai.nix; custom.wallpaper = ../wallpapers/blip-blip-blip-blip.jpg; home = { sessionVariables = { EDITOR = "kate"; BROWSER = "qutebrowser"; TERMINAL = "kitty"; TERM = "kitty"; FILEMANAGER = "kitty lf"; # Tell Electron apps it's wayland NIXOS_OZONE_WL = 1; }; sessionPath = [ "$HOME/.local/bin" ]; stateVersion = "23.11"; }; # Add packages nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) nonFreePackages; home.packages = map (name: pkgs.${name}) nonFreePackages ++ packages; xdg.mimeApps = { enable = true; }; # Directories xdg.userDirs = { createDirectories = false; download = "$HOME/downloads"; music = "$HOME/music"; }; # Openers xdg.mimeApps.defaultApplications = { "inode/directory" = [ # "lf.desktop" "kitty-open.desktop" ]; }; # Standard programs programs.bat = { enable = true; config = { paging = "never"; }; }; # lf programs.lf = { enable = true; commands = { q = "quit"; # Why didn't they do this btw }; keybindings = { "" = "$$OPENER $f"; }; }; xdg.desktopEntries.lf = { name = "LF"; genericName = "File browser"; exec = "lf %U"; terminal = true; mimeType = [ "inode/directory" ]; }; # Take over my xsession xsession.enable = true; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }