blob: 0756d3bb6d7b75b323f77ccf760be61e5ade654e [file] [log] [blame]
Skyler Greya0da6b22024-02-11 22:53:41 +00001{
Skyler Grey4e230892024-02-13 22:58:46 +00002 # 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,
Skyler Greya0da6b22024-02-11 22:53:41 +00009
Skyler Grey4e230892024-02-13 22:58:46 +000010 # 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.
Skyler Greya0da6b22024-02-11 22:53:41 +000016
Skyler Grey4e230892024-02-13 22:58:46 +000017 # All other arguments come from the home home.
18 config,
19 ...
Skyler Greya0da6b22024-02-11 22:53:41 +000020}:
21{
Skyler Grey4e230892024-02-13 22:58:46 +000022 home.file.".snowfall.systemname".text = ''
23 greylag
24 '';
25
Skyler Grey0c5b0fc2024-03-03 15:38:44 +000026 programs.git.includes = [
27 {
28 condition = "gitdir:~/Code/clicks/";
29 contents.user.email = "minion@clicks.codes";
30 }
31 {
32 condition = "gitdir:~/Code/personal/";
33 contents.user.email = "skyler3665@gmail.com";
34 }
35 {
36 condition = "gitdir:~/Code/collabora/";
37 contents.user.email = "skyler.grey@collabora.com";
38 }
39 ];
40
Skyler Grey695fa632024-02-17 22:45:41 +000041 programs.git.extraConfig.alias = {
42 recommit = "!git commit --verbose -eF $(git rev-parse --git-dir)/COMMIT_EDITMSG";
Samuel Shuert659b5642024-02-23 20:47:43 +000043 graph = "log --graph --oneline --decorate";
44 hash = "rev-parse HEAD";
45 personal = "config user.email skyler3665@gmail.com";
46 clicks = "config user.email minion@clicks.codes";
47 collabora = "config user.email skyler.grey@collabora.com";
Skyler Grey4bb9fb32024-02-24 12:23:36 +000048 stg-clean = ''!for PATCH in $(stg series -PU); do CHANGE_ID=$(git show -s --format="%(trailers:key=Change-Id,valueonly,separator=%x2C )" $(stg id $PATCH)); git log --format="%(trailers:key=Change-Id,valueonly,separator=%x2C )" | grep -qFx "$CHANGE_ID" && stg delete $PATCH; done'';
49 };
50
51 home.shellAliases = {
52 gpg-card-switch = ''for keygrip in $(gpg --with-keygrip --list-secret-keys 76E0B09A741C4089522111E5F27E3E5922772E7A | grep Keygrip | sed "1d" | sed "s/ *Keygrip = //"); do gpg-connect-agent "delete_key $keygrip" /bye > /dev/null; done; gpg --card-status;'';
Skyler Grey695fa632024-02-17 22:45:41 +000053 };
54
55 programs.git.extraConfig.user = {
56 name = "Skyler Grey";
57 signingkey = "7C868112B5390C5C";
58 };
59
Skyler Grey4e230892024-02-13 22:58:46 +000060 chimera = {
Samuel Shuertdab963e2024-03-23 19:54:28 -040061 waybar = {
62 modules.temperature.hwmonPath = "/sys/class/hwmon/hwmon4/temp1_input";
63 modules.laptop.enable = true;
64 };
65
Samuel Shuertfc05cfb2024-03-23 21:37:08 -040066 nextcloud.enable = true;
67
Skyler Grey4e230892024-02-13 22:58:46 +000068 hyprland.enable = true;
69 hyprland.hyprpaper.splash.enable = true;
70
71 touchpad.enable = true;
72
73 hyprland.monitors = [
74 "eDP-1,preferred,0x0,1"
75 "desc:Dell Inc. DELL P2715Q V7WP95AV914L,preferred,2256x-1956,1,transform,1"
76 "desc:AOC 2460G5 0x00023C3F,preferred,336x-1080,1"
77 ];
78
Skyler Greycf116d52024-02-15 19:51:31 +000079 theme.wallpaper = ./wallpaper.png;
Skyler Grey4e230892024-02-13 22:58:46 +000080 theme.catppuccin = {
81 enable = true;
82 style = "Latte";
83 color = "Maroon";
84 };
85
86 browser.chromium = {
87 enable = true;
88 extensions = {
89 ublockOrigin.enable = true;
90 bitwarden.enable = true;
91 };
92 };
93
94 browser.firefox = {
95 enable = true;
96 extensions = {
97 bitwarden.enable = true;
98 youtube = {
99 sponsorBlock.enable = true;
100 returnDislike.enable = true;
101 deArrow.enable = true;
102 };
103 reactDevTools.enable = true;
104 adnauseam.enable = true;
105 };
Skyler Greycd3d38b2024-02-25 15:18:32 +0000106 search = {
107 enable = true;
108 extensions.enable = true;
109 bookmarks.enable = true;
110 engines = [
111 "Kagi"
112 "MDN"
113 "NixOS Options"
114 "NixOS Packages"
115 "Home-Manager Options"
116 "Noogle"
117 "GitHub"
Skyler Grey5ed8cf42024-03-01 19:23:15 +0000118 "Docs.rs"
119 "Crates.io"
Skyler Greycd3d38b2024-02-25 15:18:32 +0000120 "Arch Wiki"
121 "Gentoo Wiki"
122 ];
123 };
Skyler Grey0e916792024-02-24 12:29:18 +0000124 extraExtensions = [
125 config.nur.repos.rycee.firefox-addons.sidebery
Skyler Grey0e916792024-02-24 12:29:18 +0000126 ];
Skyler Grey4e230892024-02-13 22:58:46 +0000127 };
Samuel Shuert02ffd1e2024-02-13 21:37:15 -0500128
129 shell.bash.enable = true;
130 shell.defaultAliases.enable = true;
Skyler Grey4bb9fb32024-02-24 12:23:36 +0000131 shell.replacements.defaultEnable = true;
Skyler Grey1f22a482024-02-24 21:22:15 +0000132 shell.replacements.bat.enable = false;
Samuel Shuert02ffd1e2024-02-13 21:37:15 -0500133
134 theme.font.nerdFontGlyphs.enable = true;
135
Skyler Grey2d815aa2024-02-15 21:24:47 +0000136 editor.ed = {
137 enable = true;
138 prompt = ":";
139 defaultEditor = false;
140 };
141
Skyler Grey1dea6b62024-03-12 11:41:15 +0000142 editor.neovim = {
Skyler Grey2d815aa2024-02-15 21:24:47 +0000143 enable = true;
144 defaultEditor = false;
145 };
Skyler Grey71b81982024-02-15 18:06:36 +0000146
Skyler Grey1dea6b62024-03-12 11:41:15 +0000147 editor.emacs.enable = true;
148
Skyler Grey71b81982024-02-15 18:06:36 +0000149 input.keyboard = {
150 layout = "us";
151 variant = "dvorak";
152 };
Skyler Grey5e344982024-02-15 18:59:45 +0000153
154 input.mouse.scrolling.natural = true;
Skyler Greybb7586a2024-02-15 19:15:04 +0000155
156 git = {
157 delta.enable = true;
Skyler Greyd5457a22024-02-15 23:02:32 +0000158 stgit.enable = true;
Skyler Greybb7586a2024-02-15 19:15:04 +0000159 gitReview.enable = true;
160 auth.clicksUsername = "minion";
Skyler Grey695fa632024-02-17 22:45:41 +0000161 gpg.enable = true;
Skyler Greybb7586a2024-02-15 19:15:04 +0000162 };
Skyler Greyfb12e722024-03-02 20:39:58 +0000163
164 shell.usefulPackages.enable = true;
Skyler Grey4fe40b42024-03-04 18:39:57 +0000165
166 games = {
167 minecraft.enable = true;
168 itch.enable = true;
169 };
Skyler Grey63904432024-02-20 23:25:45 +0000170
171 yubikey.enable = true;
Skyler Grey4e230892024-02-13 22:58:46 +0000172 };
Skyler Greya0da6b22024-02-11 22:53:41 +0000173}