blob: d6f84f8ca465cbc7f6a0bd1ef5a7c2534b10e650 [file] [log] [blame]
PineaFanfd2f8242024-04-20 20:51:36 +01001{
2 # Snowfall Lib provides a customized `lib` instance with access to your flake's library
3 # as well as the libraries available from your flake's inputs.
4 lib,
5 # An instance of `pkgs` with your overlays and packages applied is also available.
6 pkgs,
7 # You also have access to your flake's inputs.
8 inputs,
9
10 # Additional metadata is provided by Snowfall Lib.
11 home, # The home architecture for this host (eg. `x86_64-linux`).
12 target, # The Snowfall Lib target for this home (eg. `x86_64-home`).
13 format, # A normalized name for the home target (eg. `home`).
14 virtual, # A boolean to determine whether this home is a virtual target using nixos-generators.
15 host, # The host name for this home.
16
17 # All other arguments come from the home home.
18 config,
19 ...
20}:
21{
22 programs.git.extraConfig.alias = {
23 graph = "log --graph --oneline --decorate";
24 hash = "rev-parse HEAD";
25 };
26
27 home.shellAliases = {
28 I-FUCKING-SAID-PULL = "f(){ git reset --hard origin/\"$@\"; unset -f f; }; f";
29 mini = ''echo "you're using the wrong terminal"'';
30 };
31
32 programs.git.extraConfig.user = {
33 name = "PineaFan";
PineaFan60882cf2024-06-11 17:10:02 +010034 email = "ash@pinea.dev";
PineaFanfd2f8242024-04-20 20:51:36 +010035 signingkey = "8F50789F12AC6E6206EA870CE5E1C2D43B0E4AB3";
36 };
37
38 home.packages = [
PineaFanfd2f8242024-04-20 20:51:36 +010039 pkgs.vlc
40 pkgs.obs-studio
41 pkgs.python312
42 pkgs.playerctl
PineaFan60882cf2024-06-11 17:10:02 +010043 pkgs.nodePackages.pnpm
PineaFancaf131b2024-10-04 20:15:31 +010044 pkgs.yarn
PineaFanda033092024-07-26 22:09:06 +010045 pkgs.blender-hip
PineaFancaf131b2024-10-04 20:15:31 +010046 pkgs.nodejs_22
47 pkgs.pgadmin4-desktopmode
PineaFanfd2f8242024-04-20 20:51:36 +010048 ];
49
50 programs.firefox.profiles.chimera.settings = {
51 "browser.startup.homepage" = "https://discord.com/app|https://matrix.clicks.codes";
52 };
53
54 chimera = {
55 nextcloud.enable = true;
56
PineaFanfd2f8242024-04-20 20:51:36 +010057 theme.catppuccin = {
58 enable = true;
59 style = "Macchiato";
60 color = "Mauve";
61 };
62
63 browser.chromium = {
64 enable = true;
65 };
66
67 browser.firefox = {
68 enable = true;
69 extensions = {
70 youtube = {
71 sponsorBlock.enable = true;
72 returnDislike.enable = true;
73 deArrow.enable = true;
74 };
75 adnauseam.enable = true;
76 };
77 };
78
79 input.keybinds = {
80 alternativeSearch.enable = true;
PineaFanb722e412024-06-11 17:14:53 +010081 };
82
PineaFancaf131b2024-10-04 20:15:31 +010083 input.touchpad = {
84 enable = true;
85 scrolling.natural = true;
86 scrolling.factor = 0.2;
87 tapToClick = true;
88 };
89 input.mouse.sensitivity = 0.5;
90
PineaFanb722e412024-06-11 17:14:53 +010091 hyprland = {
92 hyprpaper.splash.enable = false;
93 enable = true;
94 monitors = [
PineaFanda033092024-07-26 22:09:06 +010095 "DP-1, 1920x1080@60, -1920x0, 1"
96 "HDMI-A-1, 1920x1080@75, 0x0 , 1"
97 "DP-3, 1920x1080@60, 1920x0 , 1"
PineaFanb722e412024-06-11 17:14:53 +010098 ];
99 window = {
100 blur = 12;
101 rounding = 16;
102 };
PineaFancaf131b2024-10-04 20:15:31 +0100103 keybinds.appleMagic = true;
PineaFanb722e412024-06-11 17:14:53 +0100104 keybinds.extraBinds = [
PineaFanfd2f8242024-04-20 20:51:36 +0100105 {
106 meta = "CTRL";
107 key = "1";
108 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Monitors\" | awk '{print $1}')";
109 }
110 {
111 meta = "CTRL";
112 key = "2";
113 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Razer Kraken V3\" | awk '{print $1}')";
114 }
PineaFan8be65d82024-04-23 21:08:33 +0100115 {
116 key = "F1";
117 function = "exec, ~/Pictures/Wallpapers/change.sh light";
118 }
119 {
120 key = "F2";
121 function = "exec, ~/Pictures/Wallpapers/change.sh dark";
122 }
PineaFanda033092024-07-26 22:09:06 +0100123 {
PineaFancaf131b2024-10-04 20:15:31 +0100124 meta = "CTRL";
125 key = "XF86Eject";
126 function = "exec, systemctl suspend";
127 }
128 {
PineaFanda033092024-07-26 22:09:06 +0100129 key = "KP_End";
130 function = "exec, openrgb --device 0 -z 0 --color FF0000 -m \"static\"";
131 }
132 {
133 key = "KP_Down";
134 function = "exec, openrgb --device 0 -z 0 --color 00FF00 -m \"static\"";
135 }
136 {
137 key = "KP_Next";
138 function = "exec, openrgb --device 0 -z 0 --color 0000FF -m \"static\"";
139 }
140 {
141 key = "KP_Left";
142 function = "exec, openrgb --device 0 -z 0 --color 00FFFF -m \"static\"";
143 }
144 {
145 key = "KP_Begin";
146 function = "exec, openrgb --device 0 -z 0 --color FF00FF -m \"static\"";
147 }
148 {
149 key = "KP_Right";
150 function = "exec, openrgb --device 0 -z 0 --color FFFF00 -m \"static\"";
151 }
152 {
153 key = "KP_Home";
154 function = "exec, openrgb --device 0 -z 0 --color FFFFFF -m \"static\"";
155 }
156 {
157 key = "KP_Up";
158 function = "exec, openrgb --device 0 -z 0 -m \"spectrum cycle\"";
159 }
160 {
161 key = "KP_Prior";
162 function = "exec, openrgb --device 0 -z 0 --color 000000 -m \"static\"";
163 }
PineaFanfd2f8242024-04-20 20:51:36 +0100164 ];
PineaFanb722e412024-06-11 17:14:53 +0100165 startupApplications = [
PineaFanda033092024-07-26 22:09:06 +0100166 "openrgb --server --startminimized"
PineaFanb722e412024-06-11 17:14:53 +0100167 "cd ~/Code/keyboard && python main.py"
PineaFanfd2f8242024-04-20 20:51:36 +0100168 ];
PineaFanfd2f8242024-04-20 20:51:36 +0100169 };
170
171 shell = {
172 zsh.enable = true;
173 # zsh.theme = "crunch";
174 starship.enable = true;
175
176 rebuildFlakePath = "/home/pinea/Code/NixFiles";
177
178 defaultAliases.enable = true;
179 usefulPackages.enable = true;
180
181 replacements = {
182 defaultEnable = true;
183 atuin.enableUpArrow = true;
184 };
185 };
186
187 theme.font.nerdFontGlyphs.enable = true;
188 theme.wallpaper = ./wallpaper.png;
189
190 editor.nano = {
191 enable = true;
192 defaultEditor = false;
193 };
194
195 editor.neovim = {
196 enable = true;
197 defaultEditor = true;
198 };
199
Samuel Shuert219cf0b2024-03-30 17:53:08 -0400200 editor.editorconfig.enable = true;
201
PineaFanfd2f8242024-04-20 20:51:36 +0100202 input.keyboard = {
203 layout = "gb";
PineaFancaf131b2024-10-04 20:15:31 +0100204 variant = "mac";
PineaFanfd2f8242024-04-20 20:51:36 +0100205 };
206
207 git = {
208 delta.enable = true;
209 gitReview.enable = true;
210 auth.clicksUsername = "pineafan";
211 gpg.enable = true;
PineaFan4a080ea2024-04-21 18:38:43 +0100212 stgit.enable = true;
PineaFanfd2f8242024-04-20 20:51:36 +0100213 };
214
215 games = {
216 minecraft.enable = true;
217 # itch.enable = true;
218 };
219
220 yubikey.enable = true;
221 yubikey.pam.enable = true;
222 yubikey.pam.key = "pinea:ZY1C32oFgQxsKlJEccxdI6rcdC8cZU8gWnBHMRgwb+MVvbRRqdYVHkIlXokscurAi5s/iQ5jnngDXUwG103ajQ==,m9X/BEHiXM1CrXu1u2zvItbd/Qa/tQGAxhIuD2NB2ohwo5d+vODwYl2faUnLhxcJexOWYBHOAzyWwwoeVRQFJw==,es256,+presence";
223
224 waybar.modules.temperature.enable = true;
PineaFancaf131b2024-10-04 20:15:31 +0100225 waybar.modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon3/temp1_input";
PineaFanfd2f8242024-04-20 20:51:36 +0100226 };
227
228 services.kdeconnect.enable = true;
229
230 programs.zsh = {
231 initExtra = ''
232 ${pkgs.pridefetch}/bin/pridefetch -f nonbinary -a
233 '';
234 };
235}