blob: 0ccc9ef9b360472d39da7f55d5e0270a5757543c [file] [log] [blame]
Samuel Shuertcc979af2024-06-20 21:07:22 -04001{
2 inputs,
3 config,
4 lib,
5 pkgs,
6 ...
7}:
8let
9 cfg = config.chimera.users.coded;
10in {
11 options.chimera.users.coded.enable = lib.mkEnableOption "Enable Chimera options for coded";
12
13 config = lib.mkIf cfg.enable {
14 # Chimera Config
15 chimera.nextcloud.enable = true;
16
17 chimera.shell.rebuildFlakePath = "/home/coded/Programming/Chimera/Nix/NixFiles";
18
19 chimera.shell = {
20 zsh.enable = true;
21 starship.enable = true;
22
23 defaultAliases.enable = true;
24 usefulPackages.enable = true;
25
26 replacements = {
27 defaultEnable = true;
28 bat.enable = false;
29 atuin.enableUpArrow = true;
30 };
31 };
32
33 chimera.git = {
34 delta.enable = true;
35 stgit.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
81 chimera.games.minecraft.enable = true;
82
83 chimera.editor = {
84 neovim.enable = true;
85 editorconfig.enable = true;
86 emacs = {
87 enable = true;
88 defaultEditor = false;
89 };
90 };
91
92 chimera.theme.font.nerdFontGlyphs.enable = true;
93
94 chimera.theme.catppuccin = {
95 enable = true;
96 style = "Macchiato";
97 color = "Blue";
98 };
99
100 chimera.yubikey.enable = true;
101
Samuel Shuert35d5f652024-07-01 13:09:28 -0400102 chimera.niri.startupCommands = [
103 {
104 command = [ "nextcloud" ];
105 }
106 ];
107
Samuel Shuertcc979af2024-06-20 21:07:22 -0400108 # Programming Folder Creation
109 home.file = {
110 "Programming/README.md" = {
111 text = ''
112 # Structure
113 [Org]/[Language]/[project]
114
115 Both Org and Language should be capitalized however project may follow any name scheme.
116 '';
117 };
118 "Programming/Personal/README.md" = {
119 text = ''
120 # What is this directory for?
121 This directory stores all my personal programming projects
122
123 # Git config modifications
124 user.name = "Samuel Shuert"
125 user.email = "me@thecoded.prof"
126 '';
127 };
128 "Programming/Auxolotl/README.md" = {
129 text = ''
130 # What is this directory for?
131 This directory stores all Auxolotl related programming projects
132
133 # Git config modifications
134 user.name = "Samuel Shuert"
135 user.email = "me@thecoded.prof"
136 '';
137 };
138 "Programming/Chimera/README.md" = {
139 text = ''
140 # What is this directory for?
141 This directory stores all Chimera related programming projects
142
143 # Git config modifications
144 user.name = "Samuel Shuert"
145 user.email = "me@thecoded.prof"
146 '';
147 };
148 "Programming/Clicks/README.md" = {
149 text = ''
150 # What is this directory for?
151 This directory stores all Clicks related programming projects
152
153 # Git config modifications
154 user.name = "Samuel Shuert"
155 user.email = "coded@clicks.codes"
156 '';
157 };
158 };
159
160 # Git Config
161 programs.git.includes = [
162 {
163 condition = "gitdir:~/Programming/Chimera/**";
164
165 contents = {
166 user.name = "Samuel Shuert";
167 user.email = "me@thecoded.prof";
168 };
169 }
170 {
171 condition = "gitdir:~/Programming/Clicks/**";
172
173 contents = {
174 user.name = "Samuel Shuert";
175 user.email = "coded@clicks.codes";
176 };
177 }
178 {
179 condition = "gitdir:~/Programming/Personal/**";
180
181 contents = {
182 user.name = "Samuel Shuert";
183 user.email = "me@thecoded.prof";
184 };
185 }
186 {
187 condition = "gitdir:~/Programming/Auxolotl/**";
188
189 contents = {
190 user.name = "Samuel Shuert";
191 user.email = "me@thecoded.prof";
192 };
193 }
194 ];
195
Samuel Shuertb6d67bd2024-07-01 13:15:18 -0400196 programs.git.extraConfig.user = {
197 name = "Samuel Shuert";
198 signingkey = "00E944BFBE99ADB5";
199 };
200
Samuel Shuertcc979af2024-06-20 21:07:22 -0400201 # Additional Kitty Config
202 programs.kitty.extraConfig = ''
203 map kitty_mod+enter launch --cwd=current --type=window
204 map kitty_mod+t launch --cwd=current --type=tab
205 '';
206
207 # Additional Packages
208 home.packages = [ pkgs.foliate pkgs.openrgb ];
209 };
210}