Dotfiles using Home Manager.
1{
2 config,
3 pkgs,
4 ...
5}:
6{
7 imports = [
8 ./git.nix
9 ./niri.nix
10 # ./vscode.nix
11 ];
12
13 programs = {
14 home-manager.enable = true;
15
16 ssh = {
17 enable = true;
18 enableDefaultConfig = false;
19 matchBlocks = {
20 "github.com" = {
21 port = 443;
22 user = "git";
23 hostname = "ssh.github.com";
24 identityFile = "~/.ssh/git";
25 };
26 "tangled.org" = {
27 user = "git";
28 hostname = "tangled.org";
29 identityFile = "~/.ssh/git";
30 addressFamily = "inet";
31 };
32 "aur.archlinux.org" = {
33 user = "aur";
34 identityFile = "~/.ssh/aur";
35 };
36 };
37 };
38
39 jujutsu = {
40 enable = true;
41 settings = {
42 user = {
43 name = "Lemuel DLS";
44 email = "git@lemueldls.dev";
45 };
46 };
47 };
48
49 fish = {
50 enable = true;
51 shellAliases = {
52 hx = "helix";
53 };
54 functions = {
55 fish_greeting = "";
56 fish_user_key_bindings = ''
57 bind \cH backward-kill-word
58 bind ctrl-c __fish_cancel_commandline
59 '';
60 };
61 loginShellInit = ''
62 fnm env --use-on-cd --shell fish | source
63 '';
64 };
65
66 tmux = {
67 enable = true;
68 keyMode = "vi";
69 mouse = true;
70 newSession = true;
71 };
72
73 fzf = {
74 enable = true;
75 tmux.enableShellIntegration = true;
76 };
77
78 zoxide = {
79 enable = true;
80 };
81
82 starship = {
83 enable = true;
84 };
85
86 direnv = {
87 enable = true;
88 };
89
90 kitty = {
91 enable = true;
92 font.name = "IosevkaTerm Nerd Font";
93 settings = {
94 window_padding_width = 8;
95 cursor_trail = 1;
96 };
97 };
98
99 wezterm = {
100 enable = true;
101 extraConfig = ''
102 return {
103 font_size = 11.0,
104 font = wezterm.font_with_fallback {
105 "IosevkaTerm Nerd Font",
106 "Sarasa Term SC",
107 "Sarasa Term J",
108 "Sarasa Term K",
109 },
110 color_scheme = "dank-theme",
111 hide_tab_bar_if_only_one_tab = true,
112 }
113 '';
114 };
115
116 # quickshell = {
117 # enable = true;
118 # };
119
120 # zed-editor = {
121 # enable = false;
122 # };
123
124 # rbenv = {
125 # enable = true;
126 # plugins = [
127 # {
128 # name = "ruby-build";
129 # src = pkgs.fetchFromGitHub {
130 # owner = "rbenv";
131 # repo = "ruby-build";
132 # rev = "v20250418";
133 # hash = "sha256-TSJ8tUu0yS/i9mTaGTsTHefUSkMC6GseeKPpvBvFeXg=";
134 # };
135 # }
136 # ];
137 # };
138 };
139
140 # wayland.windowManager.hyprland = {
141 # enable = false;
142 # plugins = [ ];
143 # systemd.variables = [ "--all" ];
144 # };
145}