blob: 1304591d97fe323957758c536205d5a96f95a418 [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 Shuertcc979af2024-06-20 21:07:22 -0400116 # Programming Folder Creation
117 home.file = {
118 "Programming/README.md" = {
119 text = ''
120 # Structure
121 [Org]/[Language]/[project]
122
123 Both Org and Language should be capitalized however project may follow any name scheme.
124 '';
125 };
126 "Programming/Personal/README.md" = {
127 text = ''
128 # What is this directory for?
129 This directory stores all my personal programming projects
130
131 # Git config modifications
132 user.name = "Samuel Shuert"
133 user.email = "me@thecoded.prof"
134 '';
135 };
136 "Programming/Auxolotl/README.md" = {
137 text = ''
138 # What is this directory for?
139 This directory stores all Auxolotl related programming projects
140
141 # Git config modifications
142 user.name = "Samuel Shuert"
143 user.email = "me@thecoded.prof"
144 '';
145 };
146 "Programming/Chimera/README.md" = {
147 text = ''
148 # What is this directory for?
149 This directory stores all Chimera related programming projects
150
151 # Git config modifications
152 user.name = "Samuel Shuert"
153 user.email = "me@thecoded.prof"
154 '';
155 };
156 "Programming/Clicks/README.md" = {
157 text = ''
158 # What is this directory for?
159 This directory stores all Clicks related programming projects
160
161 # Git config modifications
162 user.name = "Samuel Shuert"
163 user.email = "coded@clicks.codes"
164 '';
165 };
166 };
167
168 # Git Config
169 programs.git.includes = [
170 {
171 condition = "gitdir:~/Programming/Chimera/**";
172
173 contents = {
174 user.name = "Samuel Shuert";
175 user.email = "me@thecoded.prof";
176 };
177 }
178 {
179 condition = "gitdir:~/Programming/Clicks/**";
180
181 contents = {
182 user.name = "Samuel Shuert";
183 user.email = "coded@clicks.codes";
184 };
185 }
186 {
187 condition = "gitdir:~/Programming/Personal/**";
188
189 contents = {
190 user.name = "Samuel Shuert";
191 user.email = "me@thecoded.prof";
192 };
193 }
194 {
195 condition = "gitdir:~/Programming/Auxolotl/**";
196
197 contents = {
198 user.name = "Samuel Shuert";
199 user.email = "me@thecoded.prof";
200 };
201 }
202 ];
203
Samuel Shuertb6d67bd2024-07-01 13:15:18 -0400204 programs.git.extraConfig.user = {
205 name = "Samuel Shuert";
206 signingkey = "00E944BFBE99ADB5";
207 };
208
Samuel Shuertcc979af2024-06-20 21:07:22 -0400209 # Additional Kitty Config
210 programs.kitty.extraConfig = ''
211 map kitty_mod+enter launch --cwd=current --type=window
212 map kitty_mod+t launch --cwd=current --type=tab
213 '';
214
215 # Additional Packages
Samuel Shuert5dc7eb12024-08-19 16:31:54 -0400216 home.packages = [ pkgs.foliate pkgs.openrgb inputs.zen-browser.packages."${system}".specific ];
Samuel Shuertcc979af2024-06-20 21:07:22 -0400217 };
218}