blob: 6f3bd0b223cbd4ae2928a0d9d7c3ee9107f563dd [file] [log] [blame]
Samuel Shuertcc979af2024-06-20 21:07:22 -04001{
2 inputs,
3 config,
4 lib,
5 pkgs,
Samuel Shuert5dc7eb12024-08-19 16:31:54 -04006 system,
Samuel Shuertcc979af2024-06-20 21:07:22 -04007 ...
8}:
9let
10 cfg = config.chimera.users.coded;
11in {
12 options.chimera.users.coded.enable = lib.mkEnableOption "Enable Chimera options for coded";
13
14 config = lib.mkIf cfg.enable {
15 # Chimera Config
16 chimera.nextcloud.enable = true;
17
18 chimera.shell.rebuildFlakePath = "/home/coded/Programming/Chimera/Nix/NixFiles";
19
20 chimera.shell = {
21 zsh.enable = true;
22 starship.enable = true;
23
24 defaultAliases.enable = true;
25 usefulPackages.enable = true;
26
27 replacements = {
28 defaultEnable = true;
29 bat.enable = false;
30 atuin.enableUpArrow = true;
31 };
32 };
33
34 chimera.git = {
Skyler Greycf0b8562024-10-02 22:14:37 +000035 radicle = {
36 enable = true;
37 unstable = true;
38 };
Samuel Shuertb6d67bd2024-07-01 13:15:18 -040039 jj.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040040 gitReview.enable = true;
41 auth.clicksUsername = "coded";
42 gpg.enable = true;
43 };
44
45 chimera.input.touchpad = {
46 enable = true;
47 scrolling.natural = true;
48 };
49
50 chimera.browser.firefox = {
51 enable = true;
52 extensions = {
53 bitwarden.enable = true;
54 youtube = {
55 sponsorBlock.enable = true;
56 returnDislike.enable = true;
57 deArrow.enable = true;
58 };
59 reactDevTools.enable = true;
60 adnauseam.enable = true;
61 };
62 search = {
63 enable = true;
64 extensions.enable = true;
65 bookmarks.enable = true;
66 engines = [
67 "Kagi"
68 "MDN"
69 "NixOS Options"
70 "NixOS Packages"
71 "Home-Manager Options"
72 "Noogle"
73 "GitHub"
74 "Arch Wiki"
75 "Gentoo Wiki"
76 ];
77 };
78 extraExtensions = [
79 config.nur.repos.rycee.firefox-addons.refined-github
80 config.nur.repos.rycee.firefox-addons.new-tab-override
81 ];
82 };
83
Samuel Shuerte7711502024-06-30 17:25:48 -040084 chimera.browser.chromium.enable = true;
85
Samuel Shuert8d857962024-08-23 10:59:43 -040086 chimera.games = {
87 minecraft.enable = true;
88 itch.enable = true;
89 };
Samuel Shuertcc979af2024-06-20 21:07:22 -040090 chimera.editor = {
91 neovim.enable = true;
92 editorconfig.enable = true;
93 emacs = {
94 enable = true;
95 defaultEditor = false;
96 };
97 };
Samuel Shuertaaf2f292024-07-02 18:49:25 -040098 chimera.code.zed.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040099
100 chimera.theme.font.nerdFontGlyphs.enable = true;
101
102 chimera.theme.catppuccin = {
103 enable = true;
104 style = "Macchiato";
105 color = "Blue";
106 };
107
108 chimera.yubikey.enable = true;
109
Samuel Shuert35d5f652024-07-01 13:09:28 -0400110 chimera.niri.startupCommands = [
111 {
112 command = [ "nextcloud" ];
113 }
114 ];
115
Samuel Shuerta210ff92024-10-02 16:34:40 -0400116 # Shell Aliases
117 home.shellAliases.chat = "iamb";
118
Samuel Shuertcc979af2024-06-20 21:07:22 -0400119 # Programming Folder Creation
120 home.file = {
121 "Programming/README.md" = {
122 text = ''
123 # Structure
124 [Org]/[Language]/[project]
125
126 Both Org and Language should be capitalized however project may follow any name scheme.
127 '';
128 };
129 "Programming/Personal/README.md" = {
130 text = ''
131 # What is this directory for?
132 This directory stores all my personal programming projects
133
134 # Git config modifications
135 user.name = "Samuel Shuert"
136 user.email = "me@thecoded.prof"
137 '';
138 };
139 "Programming/Auxolotl/README.md" = {
140 text = ''
141 # What is this directory for?
142 This directory stores all Auxolotl related programming projects
143
144 # Git config modifications
145 user.name = "Samuel Shuert"
146 user.email = "me@thecoded.prof"
147 '';
148 };
149 "Programming/Chimera/README.md" = {
150 text = ''
151 # What is this directory for?
152 This directory stores all Chimera related programming projects
153
154 # Git config modifications
155 user.name = "Samuel Shuert"
156 user.email = "me@thecoded.prof"
157 '';
158 };
159 "Programming/Clicks/README.md" = {
160 text = ''
161 # What is this directory for?
162 This directory stores all Clicks related programming projects
163
164 # Git config modifications
165 user.name = "Samuel Shuert"
166 user.email = "coded@clicks.codes"
167 '';
168 };
Samuel Shuertfc989ca2024-10-14 14:45:24 -0400169 "Programming/FreshlyBaked/README.md" = {
170 text = ''
171 # What is this directory for?
172 This directory stores all FreshlyBaked related programming projects
173
174 # Git config modifications
175 user.name = "Samuel Shuert"
176 user.email = "coded@freshlybakedca.ke"
177 '';
178 };
Samuel Shuertcc979af2024-06-20 21:07:22 -0400179 };
180
181 # Git Config
182 programs.git.includes = [
183 {
184 condition = "gitdir:~/Programming/Chimera/**";
185
186 contents = {
187 user.name = "Samuel Shuert";
188 user.email = "me@thecoded.prof";
189 };
190 }
191 {
192 condition = "gitdir:~/Programming/Clicks/**";
193
194 contents = {
195 user.name = "Samuel Shuert";
196 user.email = "coded@clicks.codes";
197 };
198 }
199 {
200 condition = "gitdir:~/Programming/Personal/**";
201
202 contents = {
203 user.name = "Samuel Shuert";
204 user.email = "me@thecoded.prof";
205 };
206 }
207 {
208 condition = "gitdir:~/Programming/Auxolotl/**";
209
210 contents = {
211 user.name = "Samuel Shuert";
212 user.email = "me@thecoded.prof";
213 };
214 }
Samuel Shuertfc989ca2024-10-14 14:45:24 -0400215 {
216 condition = "gitdir:~/Programming/FreshlyBaked/**";
217
218 contents = {
219 user.name = "Samuel Shuert";
220 user.email = "coded@freshlybakedca.ke";
221 };
222 }
Samuel Shuertcc979af2024-06-20 21:07:22 -0400223 ];
224
Samuel Shuertb6d67bd2024-07-01 13:15:18 -0400225 programs.git.extraConfig.user = {
226 name = "Samuel Shuert";
227 signingkey = "00E944BFBE99ADB5";
228 };
229
Samuel Shuertcc979af2024-06-20 21:07:22 -0400230 # Additional Kitty Config
231 programs.kitty.extraConfig = ''
232 map kitty_mod+enter launch --cwd=current --type=window
233 map kitty_mod+t launch --cwd=current --type=tab
234 '';
235
236 # Additional Packages
Samuel Shuerta210ff92024-10-02 16:34:40 -0400237 home.packages = [ pkgs.foliate pkgs.openrgb inputs.zen-browser.packages."${system}".specific pkgs.iamb pkgs.scarab ];
Samuel Shuertcc979af2024-06-20 21:07:22 -0400238 };
239}