{ pkgs, lib, ... }: { # NOTE: This file contains options that resolve under home-manager.users. home.stateVersion = "25.05"; home.sessionVariables = { EDITOR = "hx"; }; home = { username = "jay"; homeDirectory = if pkgs.stdenv.isLinux then lib.mkDefault "/home/jay" else if pkgs.stdenv.isDarwin then lib.mkDefault "/Users/jay" else abort "Unsupported OS"; }; home.packages = with pkgs; [ ] # linux only # TODO: Add a test for linux + desktop environment ++ (lib.optionals pkgs.stdenv.isLinux [ tree cfspeedtest ripgrep helix nil ]) # linux + desktop manager #++ (lib.optionals (pkgs.stdenv.isLinux && osConfig.services.desktopManager.enabled != null) #[ # firefox #]) # darwin only ++ (lib.optionals pkgs.stdenv.isDarwin [ cfspeedtest ripgrep ]); programs.fish.enable = true; # TODO: Get that working again. #users.users.jml.shell = pkgs.fish; programs = { bat.enable = true; fzf.enable = true; jq.enable = true; btop.enable = true; }; programs.git = { enable = true; userName = "Jay Looney"; userEmail = "jay.m.looney@gmail.com"; aliases = { ol = "log --oneline"; }; ignores = [ "*~" "*.swp" ]; extraConfig = { push.default = "simple"; credential.helper = "cache --timeout=7200"; init.defaultBranch = "main"; log.decorate = "full"; log.date = "iso"; merge.conflictStyle = "diff3"; }; }; }