blob: cab136fb15891d1090808a435bbdf0a79a459dfb [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 = {
Samuel Shuerte4159842024-09-14 19:09:16 -040035 radicle.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 Shuert8d857962024-08-23 10:59:43 -040083 chimera.games = {
84 minecraft.enable = true;
85 itch.enable = true;
86 };
Samuel Shuertcc979af2024-06-20 21:07:22 -040087 chimera.editor = {
88 neovim.enable = true;
89 editorconfig.enable = true;
90 emacs = {
91 enable = true;
92 defaultEditor = false;
93 };
94 };
Samuel Shuertaaf2f292024-07-02 18:49:25 -040095 chimera.code.zed.enable = true;
Samuel Shuertcc979af2024-06-20 21:07:22 -040096
97 chimera.theme.font.nerdFontGlyphs.enable = true;
98
99 chimera.theme.catppuccin = {
100 enable = true;
101 style = "Macchiato";
102 color = "Blue";
103 };
104
105 chimera.yubikey.enable = true;
106
Samuel Shuert35d5f652024-07-01 13:09:28 -0400107 chimera.niri.startupCommands = [
108 {
109 command = [ "nextcloud" ];
110 }
111 ];
112
Samuel Shuertcc979af2024-06-20 21:07:22 -0400113 # Programming Folder Creation
114 home.file = {
115 "Programming/README.md" = {
116 text = ''
117 # Structure
118 [Org]/[Language]/[project]
119
120 Both Org and Language should be capitalized however project may follow any name scheme.
121 '';
122 };
123 "Programming/Personal/README.md" = {
124 text = ''
125 # What is this directory for?
126 This directory stores all my personal programming projects
127
128 # Git config modifications
129 user.name = "Samuel Shuert"
130 user.email = "me@thecoded.prof"
131 '';
132 };
133 "Programming/Auxolotl/README.md" = {
134 text = ''
135 # What is this directory for?
136 This directory stores all Auxolotl related programming projects
137
138 # Git config modifications
139 user.name = "Samuel Shuert"
140 user.email = "me@thecoded.prof"
141 '';
142 };
143 "Programming/Chimera/README.md" = {
144 text = ''
145 # What is this directory for?
146 This directory stores all Chimera related programming projects
147
148 # Git config modifications
149 user.name = "Samuel Shuert"
150 user.email = "me@thecoded.prof"
151 '';
152 };
153 "Programming/Clicks/README.md" = {
154 text = ''
155 # What is this directory for?
156 This directory stores all Clicks related programming projects
157
158 # Git config modifications
159 user.name = "Samuel Shuert"
160 user.email = "coded@clicks.codes"
161 '';
162 };
163 };
164
165 # Git Config
166 programs.git.includes = [
167 {
168 condition = "gitdir:~/Programming/Chimera/**";
169
170 contents = {
171 user.name = "Samuel Shuert";
172 user.email = "me@thecoded.prof";
173 };
174 }
175 {
176 condition = "gitdir:~/Programming/Clicks/**";
177
178 contents = {
179 user.name = "Samuel Shuert";
180 user.email = "coded@clicks.codes";
181 };
182 }
183 {
184 condition = "gitdir:~/Programming/Personal/**";
185
186 contents = {
187 user.name = "Samuel Shuert";
188 user.email = "me@thecoded.prof";
189 };
190 }
191 {
192 condition = "gitdir:~/Programming/Auxolotl/**";
193
194 contents = {
195 user.name = "Samuel Shuert";
196 user.email = "me@thecoded.prof";
197 };
198 }
199 ];
200
Samuel Shuertb6d67bd2024-07-01 13:15:18 -0400201 programs.git.extraConfig.user = {
202 name = "Samuel Shuert";
203 signingkey = "00E944BFBE99ADB5";
204 };
205
Samuel Shuertcc979af2024-06-20 21:07:22 -0400206 # Additional Kitty Config
207 programs.kitty.extraConfig = ''
208 map kitty_mod+enter launch --cwd=current --type=window
209 map kitty_mod+t launch --cwd=current --type=tab
210 '';
211
212 # Additional Packages
Samuel Shuert5dc7eb12024-08-19 16:31:54 -0400213 home.packages = [ pkgs.foliate pkgs.openrgb inputs.zen-browser.packages."${system}".specific ];
Samuel Shuertcc979af2024-06-20 21:07:22 -0400214 };
215}