{ inputs , outputs , lib , config , pkgs , ... }: { home = { username = "kalle"; homeDirectory = "/home/kalle"; }; imports = [ ../../nvim ../../tmux ]; nixpkgs = { overlays = with outputs.overlays; [ nvim-plugins ]; config = { allowUnfree = true; allowUnfreePredicate = _: true; permittedInsecurePackages = [ "electron-25.9.0" ]; }; }; # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ discord vesktop firefox chromium httpie kate dolphin ark rustup gcc pavucontrol difftastic sops obsidian cachix ]; programs.home-manager.enable = true; programs.bash = { enable = true; shellAliases = { # Git aliases gg = "git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an (%ae)%C(reset)' --all"; gca = "git add -A; git commit -a --amend --no-edit"; gs = "git status"; # Replace some commands with better versions ssh = "kitty +kitten ssh"; diff = "${pkgs.difftastic}/bin/difftastic"; }; initExtra = '' function open() { xdg-open $@ &> /dev/null & } ''; }; programs.kitty = { enable = true; theme = "Catppuccin-Mocha"; settings = { background_opacity = "0.8"; allow_remote_control = true; }; }; programs.starship = { enable = true; settings = { add_newline = true; # Remove text from nix shell component nix_shell.format = "via [$symbol]($style) "; git_status.disabled = true; package.disabled = true; }; }; programs.direnv = { enable = true; enableBashIntegration = true; nix-direnv.enable = true; }; programs.git = { enable = true; userName = "Kalle Struik"; userEmail = "kalle@kallestruik.nl"; difftastic.enable = true; extraConfig = { init.defaultBranch = "main"; }; }; home.sessionVariables = { EDITOR = "nvim"; }; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release # introduces backwards incompatible changes. # # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "23.05"; # Please read the comment before changing. }