summaryrefslogtreecommitdiff
path: root/mun.nix
blob: 7f5748427556195f6cef5c900206a8c42e352d4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{
  config,
  lib,
  pkgs,
  ...
}:

{
  imports = [
    ./modules/home/default.nix

  ];
  home = {
    username = "mun";
    homeDirectory = "/home/mun";
    stateVersion = "25.11";

    packages = with pkgs; [
      # === Development Tools ===
      cargo
      rustc
      rust-analyzer
      rustfmt
      clippy
      ruff

      # === Applications ===
      discord
      spotify

      # === Utilities ===
      pay-respects
      zathura
      ripgrep
      fd
      git
      lazygit
      tree-sitter
      gcr

      # === CLI Tools ===
      fastfetch
      bat
      tealdeer

      # === Fun Stuff === #
      peaclock
    ];

    sessionVariables = {
      EDITOR = "nvim";
      VISUAL = "nvim";
    };
  };

  programs = {
    ssh = {
      enable = true;

      # Disable legacy defaults (future-proof)
      enableDefaultConfig = false;

      matchBlocks."*" = {
        addKeysToAgent = "yes";
        forwardAgent = false; # or true if you actually need it
      };
    };

    zsh = {
      enable = true;
      syntaxHighlighting.enable = true;

      shellAliases = {
        ll = "ls -l";
        rebuild = "sudo nixos-rebuild switch";
        edit = "sudo vi /etc/nixos/configuration.nix";
      };

      history.size = 10000;

      oh-my-zsh = {
        enable = true;
        plugins = [ "git" ];
        theme = "simple";
      };

      initContent = ''
        export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
        fastfetch
      '';
    };
  };
  services = {
    gnome-keyring.enable = true;
  };
}