blob: 01fc646a15bcb6f7c064710f76e3bd5591f33a5c [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 Grey0e916792024-02-24 12:29:18 +000026 programs.firefox.profiles.chimera.search = {
27 engines = {
28 "Kagi" = {
29 urls = [
30 { template = "https://kagi.com/search?q={searchTerms}"; }
31 {
32 template = "https://kagi.com/api/autosuggest?q={searchTerms}";
33 type = "application/x-suggestions+json";
34 }
35 ];
36 iconUpdateURL = "https://assets.kagi.com/v2/favicon-32x32.png";
37 updateInterval = 24 * 60 * 60 * 1000;
38 };
39 };
40 order = [ "Kagi" ];
41 default = "Kagi";
42 force = true;
43 };
44
Skyler Grey695fa632024-02-17 22:45:41 +000045 programs.gpg.scdaemonSettings = {
46 reader-port = "Yubico Yubi";
47 };
48
49 programs.git.extraConfig.alias = {
50 recommit = "!git commit --verbose -eF $(git rev-parse --git-dir)/COMMIT_EDITMSG";
Samuel Shuert659b5642024-02-23 20:47:43 +000051 graph = "log --graph --oneline --decorate";
52 hash = "rev-parse HEAD";
53 personal = "config user.email skyler3665@gmail.com";
54 clicks = "config user.email minion@clicks.codes";
55 collabora = "config user.email skyler.grey@collabora.com";
Skyler Grey4bb9fb32024-02-24 12:23:36 +000056 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'';
57 };
58
59 home.shellAliases = {
60 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 +000061 };
62
63 programs.git.extraConfig.user = {
64 name = "Skyler Grey";
65 signingkey = "7C868112B5390C5C";
66 };
67
Skyler Grey4e230892024-02-13 22:58:46 +000068 chimera = {
Skyler Grey4e230892024-02-13 22:58:46 +000069 hyprland.enable = true;
70 hyprland.hyprpaper.splash.enable = true;
71
72 touchpad.enable = true;
73
74 hyprland.monitors = [
75 "eDP-1,preferred,0x0,1"
76 "desc:Dell Inc. DELL P2715Q V7WP95AV914L,preferred,2256x-1956,1,transform,1"
77 "desc:AOC 2460G5 0x00023C3F,preferred,336x-1080,1"
78 ];
79
Skyler Greycf116d52024-02-15 19:51:31 +000080 theme.wallpaper = ./wallpaper.png;
Skyler Grey4e230892024-02-13 22:58:46 +000081 theme.catppuccin = {
82 enable = true;
83 style = "Latte";
84 color = "Maroon";
85 };
86
87 browser.chromium = {
88 enable = true;
89 extensions = {
90 ublockOrigin.enable = true;
91 bitwarden.enable = true;
92 };
93 };
94
95 browser.firefox = {
96 enable = true;
97 extensions = {
98 bitwarden.enable = true;
99 youtube = {
100 sponsorBlock.enable = true;
101 returnDislike.enable = true;
102 deArrow.enable = true;
103 };
104 reactDevTools.enable = true;
105 adnauseam.enable = true;
106 };
Skyler Grey0e916792024-02-24 12:29:18 +0000107 extraExtensions = [
108 config.nur.repos.rycee.firefox-addons.sidebery
109 config.nur.repos.rycee.firefox-addons.kagi-search
110 ];
Skyler Grey4e230892024-02-13 22:58:46 +0000111 };
Samuel Shuert02ffd1e2024-02-13 21:37:15 -0500112
113 shell.bash.enable = true;
114 shell.defaultAliases.enable = true;
Skyler Grey4bb9fb32024-02-24 12:23:36 +0000115 shell.replacements.defaultEnable = true;
Samuel Shuert02ffd1e2024-02-13 21:37:15 -0500116
117 theme.font.nerdFontGlyphs.enable = true;
118
Skyler Grey2d815aa2024-02-15 21:24:47 +0000119 editor.ed = {
120 enable = true;
121 prompt = ":";
122 defaultEditor = false;
123 };
124
Samuel Shuert02ffd1e2024-02-13 21:37:15 -0500125 editor.neovim.enable = true;
Skyler Grey2d815aa2024-02-15 21:24:47 +0000126
Skyler Greyec50d242024-02-15 23:09:46 +0000127 editor.emacs = {
Skyler Grey2d815aa2024-02-15 21:24:47 +0000128 enable = true;
129 defaultEditor = false;
130 };
Skyler Grey71b81982024-02-15 18:06:36 +0000131
132 input.keyboard = {
133 layout = "us";
134 variant = "dvorak";
135 };
Skyler Grey5e344982024-02-15 18:59:45 +0000136
137 input.mouse.scrolling.natural = true;
Skyler Greybb7586a2024-02-15 19:15:04 +0000138
139 git = {
140 delta.enable = true;
Skyler Greyd5457a22024-02-15 23:02:32 +0000141 stgit.enable = true;
Skyler Greybb7586a2024-02-15 19:15:04 +0000142 gitReview.enable = true;
143 auth.clicksUsername = "minion";
Skyler Grey695fa632024-02-17 22:45:41 +0000144 gpg.enable = true;
Skyler Greybb7586a2024-02-15 19:15:04 +0000145 };
Skyler Grey4e230892024-02-13 22:58:46 +0000146 };
Skyler Greya0da6b22024-02-11 22:53:41 +0000147}