blob: af6b56133451dbfc67da0b1c283b37e421d7c0e1 [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";
34 signingkey = "8F50789F12AC6E6206EA870CE5E1C2D43B0E4AB3";
35 };
36
37 home.packages = [
38 pkgs.kate
39 pkgs.libsForQt5.kfind
40 pkgs.vlc
41 pkgs.obs-studio
42 pkgs.python312
43 pkgs.playerctl
44 ];
45
46 programs.firefox.profiles.chimera.settings = {
47 "browser.startup.homepage" = "https://discord.com/app|https://matrix.clicks.codes";
48 };
49
50 chimera = {
51 nextcloud.enable = true;
52
PineaFanfd2f8242024-04-20 20:51:36 +010053 theme.catppuccin = {
54 enable = true;
55 style = "Macchiato";
56 color = "Mauve";
57 };
58
59 browser.chromium = {
60 enable = true;
61 };
62
63 browser.firefox = {
64 enable = true;
65 extensions = {
66 youtube = {
67 sponsorBlock.enable = true;
68 returnDislike.enable = true;
69 deArrow.enable = true;
70 };
71 adnauseam.enable = true;
72 };
73 };
74
75 input.keybinds = {
76 alternativeSearch.enable = true;
77 extraBinds = [
78 {
79 meta = "CTRL";
80 key = "1";
81 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Monitors\" | awk '{print $1}')";
82 }
83 {
84 meta = "CTRL";
85 key = "2";
86 function = "exec, ${pkgs.pulseaudio}/bin/pactl set-default-sink $(${pkgs.pamixer}/bin/pamixer --list-sinks | grep \"Razer Kraken V3\" | awk '{print $1}')";
87 }
88 ];
89 };
90
91 # input.mouse.scrolling.speedFactor = 0.45;
92 hyprland = {
93 hyprpaper.splash.enable = false;
94 enable = true;
95 monitors = [
PineaFan4a080ea2024-04-21 18:38:43 +010096 "DP-1,1920x1080@60,-1920x0,1"
97 "HDMI-A-1,1920x1080@75,0x0,1"
98 "DP-2,1920x1080@60,1920x0,1"
PineaFanfd2f8242024-04-20 20:51:36 +010099 ];
100 window = {
101 blur = 12;
102 rounding = 16;
103 };
104 };
105
106 shell = {
107 zsh.enable = true;
108 # zsh.theme = "crunch";
109 starship.enable = true;
110
111 rebuildFlakePath = "/home/pinea/Code/NixFiles";
112
113 defaultAliases.enable = true;
114 usefulPackages.enable = true;
115
116 replacements = {
117 defaultEnable = true;
118 atuin.enableUpArrow = true;
119 };
120 };
121
122 theme.font.nerdFontGlyphs.enable = true;
123 theme.wallpaper = ./wallpaper.png;
124
125 editor.nano = {
126 enable = true;
127 defaultEditor = false;
128 };
129
130 editor.neovim = {
131 enable = true;
132 defaultEditor = true;
133 };
134
135 input.keyboard = {
136 layout = "gb";
137 };
138
139 git = {
140 delta.enable = true;
141 gitReview.enable = true;
142 auth.clicksUsername = "pineafan";
143 gpg.enable = true;
PineaFan4a080ea2024-04-21 18:38:43 +0100144 stgit.enable = true;
PineaFanfd2f8242024-04-20 20:51:36 +0100145 };
146
147 games = {
148 minecraft.enable = true;
149 # itch.enable = true;
150 };
151
152 yubikey.enable = true;
153 yubikey.pam.enable = true;
154 yubikey.pam.key = "pinea:ZY1C32oFgQxsKlJEccxdI6rcdC8cZU8gWnBHMRgwb+MVvbRRqdYVHkIlXokscurAi5s/iQ5jnngDXUwG103ajQ==,m9X/BEHiXM1CrXu1u2zvItbd/Qa/tQGAxhIuD2NB2ohwo5d+vODwYl2faUnLhxcJexOWYBHOAzyWwwoeVRQFJw==,es256,+presence";
155
156 waybar.modules.temperature.enable = true;
157 waybar.modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon1/temp1_input";
158 };
159
160 services.kdeconnect.enable = true;
161
162 programs.zsh = {
163 initExtra = ''
164 ${pkgs.pridefetch}/bin/pridefetch -f nonbinary -a
165 '';
166 };
167}