about summary refs log tree commit diff
path: root/home.nix
blob: 49dd79a066ec1109efd9cb8e8dd2ef3facc54306 (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
{ config, lib, pkgs, ... }:

let
  emacsFlake = builtins.getFlake "github:nix-giant/nix-darwin-emacs/065050b9e06a30c01b41539b75464fff972fecd6";
in
{
  home.username = "venomade";
  home.homeDirectory = "/Users/venomade";

  home.packages = with pkgs; [

    # Neovim
    neovim
    imagemagick
    fzf
    ripgrep

    # Emacs
    (emacsFlake.packages.${system}.emacs-30)

    # Nix
    nil

    # Lua
    lua-language-server
    lua5_4
    lua5_4.pkgs.luarocks

    # Personal
    bat
    eza
    jellyfin-tui
    lazygit
    starship
    yazi
    zk
    lima

    ];

  programs.git = {
    enable = true;
    settings.user = {
      name = "venomade";
      email = "venomade@venomade.com";
    };
  };

  home.stateVersion = "25.11";

  programs.home-manager.enable = true;

  home.file =
    let
      dir = "${config.home.homeDirectory}/.dotfiles/config";
    in
      lib.mapAttrs
        (name: _: {
          target = ".config/${name}";
          source = config.lib.file.mkOutOfStoreSymlink "${dir}/${name}";
          recursive = true;
        })
        (lib.filterAttrs
          (name: type: type == "directory")
          (builtins.readDir ./config));
}