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