{ config, pkgs, lib, ... }: let inherit (lib) hm; in { imports = [ ./vim.nix ]; programs.git = { enable = true; userName = "Leonora Tindall"; userEmail = "nora@nora.codes"; delta.enable = true; extraConfig = { init.defaultBranch = "main"; }; }; programs.zsh = { enable = true; enableAutosuggestions = true; enableCompletion = true; enableVteIntegration = true; }; home.packages = with pkgs; [ htop wget ripgrep bat fd neofetch dfc ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in # # the Nix store. Activating the configuration will then make '~/.screenrc' a # # symlink to the Nix store copy. # ".screenrc".source = dotfiles/screenrc; # # You can also set the file content immediately. # ".gradle/gradle.properties".text = '' # org.gradle.console=verbose # org.gradle.daemon.idletimeout=3600000 # ''; }; # env vars home.sessionVariables = {}; # Let Home Manager install and manage itself. programs.home-manager.enable = true; # Basic information home.username = "nora"; home.homeDirectory = "/home/nora"; home.stateVersion = "23.11"; # Because we're on Debian targets.genericLinux.enable = true; # Because we're on KDE; this refreshes the icon cache and .desktop file cache home.activation.updateKdeIconCache = hm.dag.entryAfter [ "installPackages" ] '' run /usr/bin/kbuildsycoca5 --noincremental ''; # Because I want Firefox nixpkgs.config.allowUnfree = true; }