summaryrefslogtreecommitdiff
path: root/users/ryan/home.nix
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2026-06-14 23:39:10 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2026-06-14 23:39:10 -0400
commit9e70f144dde840fed8d8b485f9396638139ec310 (patch)
tree4473219575651064f213a5bd80cb6eae33b3862f /users/ryan/home.nix
Initial Commit for mac testing
Diffstat (limited to 'users/ryan/home.nix')
-rw-r--r--users/ryan/home.nix126
1 files changed, 126 insertions, 0 deletions
diff --git a/users/ryan/home.nix b/users/ryan/home.nix
new file mode 100644
index 0000000..9154066
--- /dev/null
+++ b/users/ryan/home.nix
@@ -0,0 +1,126 @@
1{ config, pkgs, ... }:
2
3{
4 # This value determines the Home Manager release that your configuration is
5 # compatible with. This helps avoid breakage when a new Home Manager release
6 # introduces backwards incompatible changes.
7 #
8 # You should not change this value, even if you update Home Manager. If you do
9 # want to update the value, then make sure to first check the Home Manager
10 # release notes.
11 home.stateVersion = "26.05"; # Please read the comment before changing.
12
13 news.display = "silent";
14
15 programs.starship = {
16 enable = true;
17 settings = {
18 add_newline = false;
19 character = {
20 success_symbol = "[➜](bold green)";
21 error_symbol = "[➜](bold red)";
22 };
23 time = {
24 disabled = false;
25 format = "\[ $time \]($style)";
26 time_format = "%T";
27 };
28 };
29 };
30
31 programs.zen-browser = {
32 enable = true;
33 package = null; # managed via homebrew
34 darwinDefaultsId = "app.zen-browser.zen";
35 policies = import ./zen/zenPolicies.nix;
36 profiles.default = import ./zen/zenProfile.nix;
37 };
38
39 programs.eza = {
40 enable = true;
41 enableZshIntegration = true;
42 };
43
44 programs.gpg.enable = true;
45
46 programs.git = {
47 enable = true;
48 signing.signByDefault = true;
49 settings = {
50 user = {
51 name = "Ryan Schanzenbacher";
52 email = "ryan@rschanz.org";
53 };
54 core.pager = "${pkgs.delta}/bin/delta";
55 init.defaultBranch = "main";
56 merge.conflictStyle = "zdiff3";
57 interactive.diffFilter = "${pkgs.delta}/bin/delta --color-only";
58 delta = {
59 navigate = true;
60 side-by-side = true;
61 };
62 };
63 };
64
65 services.gpg-agent = {
66 enable = true;
67 enableSshSupport = true;
68 };
69
70 programs.zsh = {
71 enable = true;
72 initContent = ''
73 export GPG_TTY="$(tty)"
74 export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
75 gpgconf --launch gpg-agent
76 gpg-connect-agent updatestartuptty /bye > /dev/null
77 '';
78 shellAliases = {
79 cat = "bat --paging=never";
80 diff = "delta";
81 };
82 };
83
84 # The home.packages option allows you to install Nix packages into your
85 # environment.
86 home.packages = with pkgs; [
87 neovim
88 git
89 yt-dlp
90 aerc
91 gdu
92 mpv
93 taskwarrior3
94 delta
95 bat
96 pass
97 pandoc
98 ];
99
100 # Home Manager is pretty good at managing dotfiles. The primary way to manage
101 # plain files is through 'home.file'.
102 home.file = {
103 # # Building this configuration will create a copy of 'dotfiles/screenrc' in
104 # # the Nix store. Activating the configuration will then make '~/.screenrc' a
105 # # symlink to the Nix store copy.
106 # ".screenrc".source = dotfiles/screenrc;
107
108 # # You can also set the file content immediately.
109 # ".gradle/gradle.properties".text = ''
110 # org.gradle.console=verbose
111 # org.gradle.daemon.idletimeout=3600000
112 # '';
113 };
114
115 xdg.configFile."aerc" = {
116 source = ./aerc;
117 recursive = true;
118 };
119
120 home.sessionVariables = {
121 XDG_CONFIG_HOME = "${config.home.homeDirectory}/.config";
122 };
123
124 # Let Home Manager install and manage itself.
125 programs.home-manager.enable = true;
126}