blob: ddd2c3b58ef5c7b3b6857dda981ddabe80e79bfa [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
PineaFanfd2f8242024-04-20 20:51:36 +010046 ];
47
48 programs.firefox.profiles.chimera.settings = {
49 "browser.startup.homepage" = "https://discord.com/app|https://matrix.clicks.codes";
50 };
51
52 chimera = {
53 nextcloud.enable = true;
54
PineaFanfd2f8242024-04-20 20:51:36 +010055 theme.catppuccin = {
56 enable = true;
57 style = "Macchiato";
58 color = "Mauve";
59 };
60
61 browser.chromium = {
62 enable = true;
63 };
64
65 browser.firefox = {
66 enable = true;
67 extensions = {
68 youtube = {
69 sponsorBlock.enable = true;
70 returnDislike.enable = true;
71 deArrow.enable = true;
72 };
73 adnauseam.enable = true;
74 };
75 };
76
77 input.keybinds = {
78 alternativeSearch.enable = true;
PineaFanb722e412024-06-11 17:14:53 +010079 };
80
81 # input.mouse.scrolling.speedFactor = 0.45;
82 hyprland = {
83 hyprpaper.splash.enable = false;
84 enable = true;
85 monitors = [
86 "DP-1,1920x1080@60,-1920x0,1"
87 "HDMI-A-1,1920x1080@75,0x0,1"
88 "DP-2,1920x1080@60,1920x0,1"
89 ];
90 window = {
91 blur = 12;
92 rounding = 16;
93 };
94 keybinds.extraBinds = [
PineaFanfd2f8242024-04-20 20:51:36 +010095 {
96 meta = "CTRL";
97 key = "1";
98 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Monitors\" | awk '{print $1}')";
99 }
100 {
101 meta = "CTRL";
102 key = "2";
103 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Razer Kraken V3\" | awk '{print $1}')";
104 }
PineaFan8be65d82024-04-23 21:08:33 +0100105 {
106 key = "F1";
107 function = "exec, ~/Pictures/Wallpapers/change.sh light";
108 }
109 {
110 key = "F2";
111 function = "exec, ~/Pictures/Wallpapers/change.sh dark";
112 }
PineaFanfd2f8242024-04-20 20:51:36 +0100113 ];
PineaFanb722e412024-06-11 17:14:53 +0100114 startupApplications = [
115 "cd ~/Code/keyboard && python main.py"
PineaFanfd2f8242024-04-20 20:51:36 +0100116 ];
PineaFanfd2f8242024-04-20 20:51:36 +0100117 };
118
119 shell = {
120 zsh.enable = true;
121 # zsh.theme = "crunch";
122 starship.enable = true;
123
124 rebuildFlakePath = "/home/pinea/Code/NixFiles";
125
126 defaultAliases.enable = true;
127 usefulPackages.enable = true;
128
129 replacements = {
130 defaultEnable = true;
131 atuin.enableUpArrow = true;
132 };
133 };
134
135 theme.font.nerdFontGlyphs.enable = true;
136 theme.wallpaper = ./wallpaper.png;
137
138 editor.nano = {
139 enable = true;
140 defaultEditor = false;
141 };
142
143 editor.neovim = {
144 enable = true;
145 defaultEditor = true;
146 };
147
Samuel Shuert219cf0b2024-03-30 17:53:08 -0400148 editor.editorconfig.enable = true;
149
PineaFanfd2f8242024-04-20 20:51:36 +0100150 input.keyboard = {
151 layout = "gb";
152 };
153
154 git = {
155 delta.enable = true;
156 gitReview.enable = true;
157 auth.clicksUsername = "pineafan";
158 gpg.enable = true;
PineaFan4a080ea2024-04-21 18:38:43 +0100159 stgit.enable = true;
PineaFanfd2f8242024-04-20 20:51:36 +0100160 };
161
162 games = {
163 minecraft.enable = true;
164 # itch.enable = true;
165 };
166
167 yubikey.enable = true;
168 yubikey.pam.enable = true;
169 yubikey.pam.key = "pinea:ZY1C32oFgQxsKlJEccxdI6rcdC8cZU8gWnBHMRgwb+MVvbRRqdYVHkIlXokscurAi5s/iQ5jnngDXUwG103ajQ==,m9X/BEHiXM1CrXu1u2zvItbd/Qa/tQGAxhIuD2NB2ohwo5d+vODwYl2faUnLhxcJexOWYBHOAzyWwwoeVRQFJw==,es256,+presence";
170
171 waybar.modules.temperature.enable = true;
172 waybar.modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon1/temp1_input";
173 };
174
175 services.kdeconnect.enable = true;
176
177 programs.zsh = {
178 initExtra = ''
179 ${pkgs.pridefetch}/bin/pridefetch -f nonbinary -a
180 '';
181 };
182}