blob: dfb62452b73cd0698fc3ed8c6dbe048450c68cf5 [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 = [
39 pkgs.kate
40 pkgs.libsForQt5.kfind
41 pkgs.vlc
42 pkgs.obs-studio
43 pkgs.python312
44 pkgs.playerctl
PineaFan60882cf2024-06-11 17:10:02 +010045 pkgs.nodePackages.pnpm
PineaFanda033092024-07-26 22:09:06 +010046 pkgs.blender-hip
PineaFanfd2f8242024-04-20 20:51:36 +010047 ];
48
49 programs.firefox.profiles.chimera.settings = {
50 "browser.startup.homepage" = "https://discord.com/app|https://matrix.clicks.codes";
51 };
52
53 chimera = {
54 nextcloud.enable = true;
55
PineaFanfd2f8242024-04-20 20:51:36 +010056 theme.catppuccin = {
57 enable = true;
58 style = "Macchiato";
59 color = "Mauve";
60 };
61
62 browser.chromium = {
63 enable = true;
64 };
65
66 browser.firefox = {
67 enable = true;
68 extensions = {
69 youtube = {
70 sponsorBlock.enable = true;
71 returnDislike.enable = true;
72 deArrow.enable = true;
73 };
74 adnauseam.enable = true;
75 };
76 };
77
78 input.keybinds = {
79 alternativeSearch.enable = true;
PineaFanb722e412024-06-11 17:14:53 +010080 };
81
82 # input.mouse.scrolling.speedFactor = 0.45;
83 hyprland = {
84 hyprpaper.splash.enable = false;
85 enable = true;
86 monitors = [
PineaFanda033092024-07-26 22:09:06 +010087 "DP-1, 1920x1080@60, -1920x0, 1"
88 "HDMI-A-1, 1920x1080@75, 0x0 , 1"
89 "DP-3, 1920x1080@60, 1920x0 , 1"
PineaFanb722e412024-06-11 17:14:53 +010090 ];
91 window = {
92 blur = 12;
93 rounding = 16;
94 };
95 keybinds.extraBinds = [
PineaFanfd2f8242024-04-20 20:51:36 +010096 {
97 meta = "CTRL";
98 key = "1";
99 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Monitors\" | awk '{print $1}')";
100 }
101 {
102 meta = "CTRL";
103 key = "2";
104 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Razer Kraken V3\" | awk '{print $1}')";
105 }
PineaFan8be65d82024-04-23 21:08:33 +0100106 {
107 key = "F1";
108 function = "exec, ~/Pictures/Wallpapers/change.sh light";
109 }
110 {
111 key = "F2";
112 function = "exec, ~/Pictures/Wallpapers/change.sh dark";
113 }
PineaFanda033092024-07-26 22:09:06 +0100114 {
115 key = "KP_End";
116 function = "exec, openrgb --device 0 -z 0 --color FF0000 -m \"static\"";
117 }
118 {
119 key = "KP_Down";
120 function = "exec, openrgb --device 0 -z 0 --color 00FF00 -m \"static\"";
121 }
122 {
123 key = "KP_Next";
124 function = "exec, openrgb --device 0 -z 0 --color 0000FF -m \"static\"";
125 }
126 {
127 key = "KP_Left";
128 function = "exec, openrgb --device 0 -z 0 --color 00FFFF -m \"static\"";
129 }
130 {
131 key = "KP_Begin";
132 function = "exec, openrgb --device 0 -z 0 --color FF00FF -m \"static\"";
133 }
134 {
135 key = "KP_Right";
136 function = "exec, openrgb --device 0 -z 0 --color FFFF00 -m \"static\"";
137 }
138 {
139 key = "KP_Home";
140 function = "exec, openrgb --device 0 -z 0 --color FFFFFF -m \"static\"";
141 }
142 {
143 key = "KP_Up";
144 function = "exec, openrgb --device 0 -z 0 -m \"spectrum cycle\"";
145 }
146 {
147 key = "KP_Prior";
148 function = "exec, openrgb --device 0 -z 0 --color 000000 -m \"static\"";
149 }
PineaFanfd2f8242024-04-20 20:51:36 +0100150 ];
PineaFanb722e412024-06-11 17:14:53 +0100151 startupApplications = [
PineaFanda033092024-07-26 22:09:06 +0100152 "openrgb --server --startminimized"
PineaFanb722e412024-06-11 17:14:53 +0100153 "cd ~/Code/keyboard && python main.py"
PineaFanfd2f8242024-04-20 20:51:36 +0100154 ];
PineaFanfd2f8242024-04-20 20:51:36 +0100155 };
156
157 shell = {
158 zsh.enable = true;
159 # zsh.theme = "crunch";
160 starship.enable = true;
161
162 rebuildFlakePath = "/home/pinea/Code/NixFiles";
163
164 defaultAliases.enable = true;
165 usefulPackages.enable = true;
166
167 replacements = {
168 defaultEnable = true;
169 atuin.enableUpArrow = true;
170 };
171 };
172
173 theme.font.nerdFontGlyphs.enable = true;
174 theme.wallpaper = ./wallpaper.png;
175
176 editor.nano = {
177 enable = true;
178 defaultEditor = false;
179 };
180
181 editor.neovim = {
182 enable = true;
183 defaultEditor = true;
184 };
185
Samuel Shuert219cf0b2024-03-30 17:53:08 -0400186 editor.editorconfig.enable = true;
187
PineaFanfd2f8242024-04-20 20:51:36 +0100188 input.keyboard = {
189 layout = "gb";
190 };
191
192 git = {
193 delta.enable = true;
194 gitReview.enable = true;
195 auth.clicksUsername = "pineafan";
196 gpg.enable = true;
PineaFan4a080ea2024-04-21 18:38:43 +0100197 stgit.enable = true;
PineaFanfd2f8242024-04-20 20:51:36 +0100198 };
199
200 games = {
201 minecraft.enable = true;
202 # itch.enable = true;
203 };
204
205 yubikey.enable = true;
206 yubikey.pam.enable = true;
207 yubikey.pam.key = "pinea:ZY1C32oFgQxsKlJEccxdI6rcdC8cZU8gWnBHMRgwb+MVvbRRqdYVHkIlXokscurAi5s/iQ5jnngDXUwG103ajQ==,m9X/BEHiXM1CrXu1u2zvItbd/Qa/tQGAxhIuD2NB2ohwo5d+vODwYl2faUnLhxcJexOWYBHOAzyWwwoeVRQFJw==,es256,+presence";
208
209 waybar.modules.temperature.enable = true;
210 waybar.modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon1/temp1_input";
211 };
212
213 services.kdeconnect.enable = true;
214
215 programs.zsh = {
216 initExtra = ''
217 ${pkgs.pridefetch}/bin/pridefetch -f nonbinary -a
218 '';
219 };
220}