blob: ec729635dd017f46653c6eab79ca36ea1ea91e38 [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
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";
25 pnpx = "pnpm dlx";
Samuel Shuert80c2dd42023-12-01 22:03:34 -050026 print3d = "sudo /run/current-system/sw/bin/pronsole.py";
27 nh = "wget -O ~/Documents/hashCheck $1 | nix hash file ~/Documents/hashCheck";
Samuel Shuertf6c41b52023-12-02 13:21:47 -050028 edit = "nvim";
29 neovim = "nvim";
30 v = "nvim";
Samuel Shuerted2a3362024-01-25 21:56:10 -050031 doom = "~/.config/emacs/bin/doom";
Samuel Shuertf1d6e992023-11-24 17:28:33 -050032 };
33
34 dirHashes = { code = "$HOME/Documents/programming"; };
35
36 history = { extended = true; };
37 historySubstringSearch.enable = true;
38
39 oh-my-zsh = {
40 enable = true;
41 plugins = [ "git" ];
42 };
43 };
Samuel Shuert80c2dd42023-12-01 22:03:34 -050044
Samuel Shuertf1d6e992023-11-24 17:28:33 -050045 # Starship
46 starship = {
47 enable = true;
48 settings = { format = "$all"; };
49 };
50
51 # Alacritty
52 alacritty = {
53 enable = true;
54 settings = {
55 window.dimensions = {
56 lines = 40;
57 columns = 150;
58 };
59 import = [
60 "${inputs.alacritty-themes}/themes/Catppuccin-Mocha.yml"
61 ];
62 };
63 };
64
Samuel Shuertf1d6e992023-11-24 17:28:33 -050065 # Nix-index
66 nix-index.enable = true;
67
68 # thefuck
69 thefuck = {
70 enable = true;
71 enableInstantMode = true;
72 };
73 };
74
75 environment.pathsToLink =
76 [ "/share/zsh" ]; # needed for completing system packages
77}