blob: 2deaa16d4c506d605459975ab85e9d1d70e519be [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 Shuert80c2dd42023-12-01 22:03:34 -05005 environment.systemPackages = with pkgs; [
6 bmon
7 wget
8 ];
9
Samuel Shuertf1d6e992023-11-24 17:28:33 -050010 home-manager.users.coded.programs = {
11 # ZSH
12 zsh = {
13 enable = true;
14 enableAutosuggestions = true;
15 enableCompletion = true;
16 autocd = true;
17 defaultKeymap = "emacs";
18
19 shellAliases = {
20 rebuild = "sudo nixos-rebuild switch --flake /home/coded/nixConfig/";
21 "gr!" = "git review";
22 clr = "clear";
23 pnpx = "pnpm dlx";
Samuel Shuert80c2dd42023-12-01 22:03:34 -050024 print3d = "sudo /run/current-system/sw/bin/pronsole.py";
25 nh = "wget -O ~/Documents/hashCheck $1 | nix hash file ~/Documents/hashCheck";
Samuel Shuertf1d6e992023-11-24 17:28:33 -050026 };
27
28 dirHashes = { code = "$HOME/Documents/programming"; };
29
30 history = { extended = true; };
31 historySubstringSearch.enable = true;
32
33 oh-my-zsh = {
34 enable = true;
35 plugins = [ "git" ];
36 };
37 };
Samuel Shuert80c2dd42023-12-01 22:03:34 -050038
Samuel Shuertf1d6e992023-11-24 17:28:33 -050039 # Starship
40 starship = {
41 enable = true;
42 settings = { format = "$all"; };
43 };
44
45 # Alacritty
46 alacritty = {
47 enable = true;
48 settings = {
49 window.dimensions = {
50 lines = 40;
51 columns = 150;
52 };
53 import = [
54 "${inputs.alacritty-themes}/themes/Catppuccin-Mocha.yml"
55 ];
56 };
57 };
58
Samuel Shuertf1d6e992023-11-24 17:28:33 -050059 # Nix-index
60 nix-index.enable = true;
61
62 # thefuck
63 thefuck = {
64 enable = true;
65 enableInstantMode = true;
66 };
67 };
68
69 environment.pathsToLink =
70 [ "/share/zsh" ]; # needed for completing system packages
71}