blob: ef411367cb43a8b9391231a3a04c3f3bb2e0dbec [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 = {
35 delta.enable = true;
36 stgit.enable = true;
Samuel Shuertb6d67bd2024-07-01 13:15:18 -040037 jj.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040038 gitReview.enable = true;
39 auth.clicksUsername = "coded";
40 gpg.enable = true;
41 };
42
43 chimera.input.touchpad = {
44 enable = true;
45 scrolling.natural = true;
46 };
47
48 chimera.browser.firefox = {
49 enable = true;
50 extensions = {
51 bitwarden.enable = true;
52 youtube = {
53 sponsorBlock.enable = true;
54 returnDislike.enable = true;
55 deArrow.enable = true;
56 };
57 reactDevTools.enable = true;
58 adnauseam.enable = true;
59 };
60 search = {
61 enable = true;
62 extensions.enable = true;
63 bookmarks.enable = true;
64 engines = [
65 "Kagi"
66 "MDN"
67 "NixOS Options"
68 "NixOS Packages"
69 "Home-Manager Options"
70 "Noogle"
71 "GitHub"
72 "Arch Wiki"
73 "Gentoo Wiki"
74 ];
75 };
76 extraExtensions = [
77 config.nur.repos.rycee.firefox-addons.refined-github
78 config.nur.repos.rycee.firefox-addons.new-tab-override
79 ];
80 };
81
Samuel Shuerte7711502024-06-30 17:25:48 -040082 chimera.browser.chromium.enable = true;
83
Samuel Shuert8d857962024-08-23 10:59:43 -040084 chimera.games = {
85 minecraft.enable = true;
86 itch.enable = true;
87 };
Samuel Shuertcc979af2024-06-20 21:07:22 -040088 chimera.editor = {
89 neovim.enable = true;
90 editorconfig.enable = true;
91 emacs = {
92 enable = true;
93 defaultEditor = false;
94 };
95 };
Samuel Shuertaaf2f292024-07-02 18:49:25 -040096 chimera.code.zed.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040097
98 chimera.theme.font.nerdFontGlyphs.enable = true;
99
100 chimera.theme.catppuccin = {
101 enable = true;
102 style = "Macchiato";
103 color = "Blue";
104 };
105
106 chimera.yubikey.enable = true;
107
Samuel Shuert35d5f652024-07-01 13:09:28 -0400108 chimera.niri.startupCommands = [
109 {
110 command = [ "nextcloud" ];
111 }
112 ];
113
Samuel Shuertcc979af2024-06-20 21:07:22 -0400114 # Programming Folder Creation
115 home.file = {
116 "Programming/README.md" = {
117 text = ''
118 # Structure
119 [Org]/[Language]/[project]
120
121 Both Org and Language should be capitalized however project may follow any name scheme.
122 '';
123 };
124 "Programming/Personal/README.md" = {
125 text = ''
126 # What is this directory for?
127 This directory stores all my personal programming projects
128
129 # Git config modifications
130 user.name = "Samuel Shuert"
131 user.email = "me@thecoded.prof"
132 '';
133 };
134 "Programming/Auxolotl/README.md" = {
135 text = ''
136 # What is this directory for?
137 This directory stores all Auxolotl related programming projects
138
139 # Git config modifications
140 user.name = "Samuel Shuert"
141 user.email = "me@thecoded.prof"
142 '';
143 };
144 "Programming/Chimera/README.md" = {
145 text = ''
146 # What is this directory for?
147 This directory stores all Chimera related programming projects
148
149 # Git config modifications
150 user.name = "Samuel Shuert"
151 user.email = "me@thecoded.prof"
152 '';
153 };
154 "Programming/Clicks/README.md" = {
155 text = ''
156 # What is this directory for?
157 This directory stores all Clicks related programming projects
158
159 # Git config modifications
160 user.name = "Samuel Shuert"
161 user.email = "coded@clicks.codes"
162 '';
163 };
164 };
165
166 # Git Config
167 programs.git.includes = [
168 {
169 condition = "gitdir:~/Programming/Chimera/**";
170
171 contents = {
172 user.name = "Samuel Shuert";
173 user.email = "me@thecoded.prof";
174 };
175 }
176 {
177 condition = "gitdir:~/Programming/Clicks/**";
178
179 contents = {
180 user.name = "Samuel Shuert";
181 user.email = "coded@clicks.codes";
182 };
183 }
184 {
185 condition = "gitdir:~/Programming/Personal/**";
186
187 contents = {
188 user.name = "Samuel Shuert";
189 user.email = "me@thecoded.prof";
190 };
191 }
192 {
193 condition = "gitdir:~/Programming/Auxolotl/**";
194
195 contents = {
196 user.name = "Samuel Shuert";
197 user.email = "me@thecoded.prof";
198 };
199 }
200 ];
201
Samuel Shuertb6d67bd2024-07-01 13:15:18 -0400202 programs.git.extraConfig.user = {
203 name = "Samuel Shuert";
204 signingkey = "00E944BFBE99ADB5";
205 };
206
Samuel Shuertcc979af2024-06-20 21:07:22 -0400207 # Additional Kitty Config
208 programs.kitty.extraConfig = ''
209 map kitty_mod+enter launch --cwd=current --type=window
210 map kitty_mod+t launch --cwd=current --type=tab
211 '';
212
213 # Additional Packages
Samuel Shuert5dc7eb12024-08-19 16:31:54 -0400214 home.packages = [ pkgs.foliate pkgs.openrgb inputs.zen-browser.packages."${system}".specific ];
Samuel Shuertcc979af2024-06-20 21:07:22 -0400215 };
216}