blob: befb45e26159db308b2bf9d013a13c479b5ddb3b [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 Shuerted2a3362024-01-25 21:56:10 -05008 guake
Samuel Shuert80c2dd42023-12-01 22:03:34 -05009 ];
10
Samuel Shuertf1d6e992023-11-24 17:28:33 -050011 home-manager.users.coded.programs = {
12 # ZSH
13 zsh = {
14 enable = true;
15 enableAutosuggestions = true;
16 enableCompletion = true;
17 autocd = true;
18 defaultKeymap = "emacs";
19
20 shellAliases = {
21 rebuild = "sudo nixos-rebuild switch --flake /home/coded/nixConfig/";
22 "gr!" = "git review";
23 clr = "clear";
Samuel Shuert80c2dd42023-12-01 22:03:34 -050024 nh = "wget -O ~/Documents/hashCheck $1 | nix hash file ~/Documents/hashCheck";
Samuel Shuertf6c41b52023-12-02 13:21:47 -050025 edit = "nvim";
26 neovim = "nvim";
27 v = "nvim";
Samuel Shuertf1d6e992023-11-24 17:28:33 -050028 };
29
30 dirHashes = { code = "$HOME/Documents/programming"; };
31
32 history = { extended = true; };
33 historySubstringSearch.enable = true;
34
35 oh-my-zsh = {
36 enable = true;
37 plugins = [ "git" ];
38 };
39 };
Samuel Shuert80c2dd42023-12-01 22:03:34 -050040
Samuel Shuertf1d6e992023-11-24 17:28:33 -050041 # Starship
42 starship = {
43 enable = true;
44 settings = { format = "$all"; };
45 };
Samuel Shuertf1d6e992023-11-24 17:28:33 -050046
Samuel Shuertf1d6e992023-11-24 17:28:33 -050047 # Nix-index
48 nix-index.enable = true;
49
50 # thefuck
51 thefuck = {
52 enable = true;
53 enableInstantMode = true;
54 };
55 };
56
57 environment.pathsToLink =
58 [ "/share/zsh" ]; # needed for completing system packages
59}