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