blob: 216381d2e5acbeba9180fd5952726bee30047fda [file] [log] [blame]
Samuel Shuertcc979af2024-06-20 21:07:22 -04001{
2 inputs,
3 config,
4 lib,
5 pkgs,
6 ...
7}:
8let
9 cfg = config.chimera.users.coded;
10in {
11 options.chimera.users.coded.enable = lib.mkEnableOption "Enable Chimera options for coded";
12
13 config = lib.mkIf cfg.enable {
14 # Chimera Config
15 chimera.nextcloud.enable = true;
16
17 chimera.shell.rebuildFlakePath = "/home/coded/Programming/Chimera/Nix/NixFiles";
18
19 chimera.shell = {
20 zsh.enable = true;
21 starship.enable = true;
22
23 defaultAliases.enable = true;
24 usefulPackages.enable = true;
25
26 replacements = {
27 defaultEnable = true;
28 bat.enable = false;
29 atuin.enableUpArrow = true;
30 };
31 };
32
33 chimera.git = {
34 delta.enable = true;
35 stgit.enable = true;
Samuel Shuertb6d67bd2024-07-01 13:15:18 -040036 jj.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040037 gitReview.enable = true;
38 auth.clicksUsername = "coded";
39 gpg.enable = true;
40 };
41
42 chimera.input.touchpad = {
43 enable = true;
44 scrolling.natural = true;
45 };
46
47 chimera.browser.firefox = {
48 enable = true;
49 extensions = {
50 bitwarden.enable = true;
51 youtube = {
52 sponsorBlock.enable = true;
53 returnDislike.enable = true;
54 deArrow.enable = true;
55 };
56 reactDevTools.enable = true;
57 adnauseam.enable = true;
58 };
59 search = {
60 enable = true;
61 extensions.enable = true;
62 bookmarks.enable = true;
63 engines = [
64 "Kagi"
65 "MDN"
66 "NixOS Options"
67 "NixOS Packages"
68 "Home-Manager Options"
69 "Noogle"
70 "GitHub"
71 "Arch Wiki"
72 "Gentoo Wiki"
73 ];
74 };
75 extraExtensions = [
76 config.nur.repos.rycee.firefox-addons.refined-github
77 config.nur.repos.rycee.firefox-addons.new-tab-override
78 ];
79 };
80
Samuel Shuerte7711502024-06-30 17:25:48 -040081 chimera.browser.chromium.enable = true;
82
Samuel Shuertcc979af2024-06-20 21:07:22 -040083 chimera.games.minecraft.enable = true;
84
85 chimera.editor = {
86 neovim.enable = true;
87 editorconfig.enable = true;
88 emacs = {
89 enable = true;
90 defaultEditor = false;
91 };
92 };
Samuel Shuertaaf2f292024-07-02 18:49:25 -040093 chimera.code.zed.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040094
95 chimera.theme.font.nerdFontGlyphs.enable = true;
96
97 chimera.theme.catppuccin = {
98 enable = true;
99 style = "Macchiato";
100 color = "Blue";
101 };
102
103 chimera.yubikey.enable = true;
104
Samuel Shuert35d5f652024-07-01 13:09:28 -0400105 chimera.niri.startupCommands = [
106 {
107 command = [ "nextcloud" ];
108 }
109 ];
110
Samuel Shuertcc979af2024-06-20 21:07:22 -0400111 # Programming Folder Creation
112 home.file = {
113 "Programming/README.md" = {
114 text = ''
115 # Structure
116 [Org]/[Language]/[project]
117
118 Both Org and Language should be capitalized however project may follow any name scheme.
119 '';
120 };
121 "Programming/Personal/README.md" = {
122 text = ''
123 # What is this directory for?
124 This directory stores all my personal programming projects
125
126 # Git config modifications
127 user.name = "Samuel Shuert"
128 user.email = "me@thecoded.prof"
129 '';
130 };
131 "Programming/Auxolotl/README.md" = {
132 text = ''
133 # What is this directory for?
134 This directory stores all Auxolotl related programming projects
135
136 # Git config modifications
137 user.name = "Samuel Shuert"
138 user.email = "me@thecoded.prof"
139 '';
140 };
141 "Programming/Chimera/README.md" = {
142 text = ''
143 # What is this directory for?
144 This directory stores all Chimera related programming projects
145
146 # Git config modifications
147 user.name = "Samuel Shuert"
148 user.email = "me@thecoded.prof"
149 '';
150 };
151 "Programming/Clicks/README.md" = {
152 text = ''
153 # What is this directory for?
154 This directory stores all Clicks related programming projects
155
156 # Git config modifications
157 user.name = "Samuel Shuert"
158 user.email = "coded@clicks.codes"
159 '';
160 };
161 };
162
163 # Git Config
164 programs.git.includes = [
165 {
166 condition = "gitdir:~/Programming/Chimera/**";
167
168 contents = {
169 user.name = "Samuel Shuert";
170 user.email = "me@thecoded.prof";
171 };
172 }
173 {
174 condition = "gitdir:~/Programming/Clicks/**";
175
176 contents = {
177 user.name = "Samuel Shuert";
178 user.email = "coded@clicks.codes";
179 };
180 }
181 {
182 condition = "gitdir:~/Programming/Personal/**";
183
184 contents = {
185 user.name = "Samuel Shuert";
186 user.email = "me@thecoded.prof";
187 };
188 }
189 {
190 condition = "gitdir:~/Programming/Auxolotl/**";
191
192 contents = {
193 user.name = "Samuel Shuert";
194 user.email = "me@thecoded.prof";
195 };
196 }
197 ];
198
Samuel Shuertb6d67bd2024-07-01 13:15:18 -0400199 programs.git.extraConfig.user = {
200 name = "Samuel Shuert";
201 signingkey = "00E944BFBE99ADB5";
202 };
203
Samuel Shuertcc979af2024-06-20 21:07:22 -0400204 # Additional Kitty Config
205 programs.kitty.extraConfig = ''
206 map kitty_mod+enter launch --cwd=current --type=window
207 map kitty_mod+t launch --cwd=current --type=tab
208 '';
209
210 # Additional Packages
211 home.packages = [ pkgs.foliate pkgs.openrgb ];
212 };
213}