blob: 1bf1ba68516537eedad8140c426f647258bf7283 [file] [log] [blame]
Samuel Shuertf1d6e992023-11-24 17:28:33 -05001{ pkgs, config, inputs, ... }: {
2 programs.zsh.enable = true;
3 users.users.coded.shell = pkgs.zsh;
4
Samuel Shuertcd9a7f52024-02-09 21:40:44 -05005 home-manager.users.coded.home.packages = with pkgs; [
Samuel Shuert80c2dd42023-12-01 22:03:34 -05006 bmon
7 wget
Samuel Shuertf6c41b52023-12-02 13:21:47 -05008 ripgrep
Samuel Shuerted2a3362024-01-25 21:56:10 -05009 guake
Samuel Shuert80c2dd42023-12-01 22:03:34 -050010 ];
11
Samuel Shuertf1d6e992023-11-24 17:28:33 -050012 home-manager.users.coded.programs = {
13 # ZSH
14 zsh = {
15 enable = true;
16 enableAutosuggestions = true;
17 enableCompletion = true;
18 autocd = true;
19 defaultKeymap = "emacs";
20
21 shellAliases = {
22 rebuild = "sudo nixos-rebuild switch --flake /home/coded/nixConfig/";
23 "gr!" = "git review";
24 clr = "clear";
Samuel Shuert80c2dd42023-12-01 22:03:34 -050025 nh = "wget -O ~/Documents/hashCheck $1 | nix hash file ~/Documents/hashCheck";
Samuel Shuertf6c41b52023-12-02 13:21:47 -050026 edit = "nvim";
27 neovim = "nvim";
28 v = "nvim";
Samuel Shuertf1d6e992023-11-24 17:28:33 -050029 };
30
31 dirHashes = { code = "$HOME/Documents/programming"; };
32
33 history = { extended = true; };
34 historySubstringSearch.enable = true;
35
36 oh-my-zsh = {
37 enable = true;
38 plugins = [ "git" ];
39 };
40 };
Samuel Shuert80c2dd42023-12-01 22:03:34 -050041
Samuel Shuertf1d6e992023-11-24 17:28:33 -050042 # Starship
43 starship = {
44 enable = true;
45 settings = { format = "$all"; };
46 };
Samuel Shuertf1d6e992023-11-24 17:28:33 -050047
Samuel Shuertf1d6e992023-11-24 17:28:33 -050048 # Nix-index
49 nix-index.enable = true;
50
51 # thefuck
52 thefuck = {
53 enable = true;
54 enableInstantMode = true;
55 };
56 };
57
58 environment.pathsToLink =
59 [ "/share/zsh" ]; # needed for completing system packages
60}