blob: 395feb668e94f6dbb48f1f5114e7b427d87b79b9 [file] [log] [blame]
Skyler Turnerf0e4f3e2022-01-09 13:46:00 +00001{ config, pkgs, nixpkgs, ... }:
Skyler Turner84ec77c2022-01-14 09:05:57 +00002let
3 username = "minion";
4 homedir = "/home/${username}";
Skyler Turner84ec77c2022-01-14 09:05:57 +00005in {
Skyler Turner205aff12021-12-20 11:22:57 +00006 # Home Manager needs a bit of information about you and the
7 # paths it should manage.
Skyler Turner84ec77c2022-01-14 09:05:57 +00008 home.username = username;
9 home.homeDirectory = homedir;
Skyler Turner205aff12021-12-20 11:22:57 +000010
11 programs.vscode.enable = true;
12 programs.vscode.package = pkgs.vscode-fhs;
13
14 programs.go.enable = true;
15
16 # programs.steam.enable = true;
17
18 programs.gpg.enable = true;
19 services.gpg-agent = {
20 enable = true;
21 pinentryFlavor = "qt";
22 };
23
Skyler Turner2a7e5742022-01-26 15:09:20 +000024 nixpkgs.overlays = [
25 (import ./overlays/anytype.nix)
26 (import ./overlays/nur.nix)
27 ];
Skyler Turnerf0e4f3e2022-01-09 13:46:00 +000028
Skyler Turner205aff12021-12-20 11:22:57 +000029 home.packages = with pkgs; [
30 steam-tui steam-run
31 minecraft
32 git-crypt gnupg pinentry_qt
Skyler Turner32dbfb42021-12-24 15:50:22 +000033 spotify
34 keepassxc
35 grim slurp
Skyler Turner2267c882022-01-12 10:02:54 +000036 neovim helix
Skyler Turner9bf37402021-12-29 15:51:21 +000037 qemu
Skyler Turner7c0c1812022-01-01 18:19:07 +000038 bind
Skyler Turnerf0e4f3e2022-01-09 13:46:00 +000039 file
40 nur.repos.kira-bruneau.rofi-wayland
41 rofimoji
Skyler Turner4870c2a2022-01-26 15:16:56 +000042 anytype-latest
Skyler Turner4f5f11b2022-01-14 23:36:39 +000043 htop
Skyler Turnera6cfb632022-01-16 23:03:43 +000044 hue-cli
Skyler Turner041c1f72022-02-06 00:10:28 +000045 thefuck
Skyler Turner205aff12021-12-20 11:22:57 +000046 ];
47
Skyler Turnerb93743f2022-02-06 00:02:21 +000048 programs.zsh = {
49 enable = true;
50 oh-my-zsh = {
51 enable = true;
Skyler Turner041c1f72022-02-06 00:10:28 +000052 plugins = [ "git" "thefuck" ];
Skyler Turnerb93743f2022-02-06 00:02:21 +000053 theme = "crunch";
54 };
55 history = {
56 size = 10000;
57 path = "${config.xdg.dataHome}/zsh/history";
58 expireDuplicatesFirst = true;
59 extended = true;
60 };
61 initExtra = ''
62 bindkey "\'\'$\{key[Up]}" up-line-or-search
63 '';
64 enableSyntaxHighlighting = true;
Skyler Turner041c1f72022-02-06 00:10:28 +000065 enableAutosuggestions = true;
Skyler Turnerb93743f2022-02-06 00:02:21 +000066 autocd = true;
Skyler Turner06d5d1c2022-02-06 00:05:04 +000067 dotDir = ".local/share/zsh";
Skyler Turnerb93743f2022-02-06 00:02:21 +000068 };
69
Skyler Turner205aff12021-12-20 11:22:57 +000070 programs.git = {
71 enable = true;
72
73 userName = "Skyler Turner";
74 userEmail = "skyler@clicksminuteper.net";
75
76 signing = {
77 key = "24D31D3B1B986F33";
78 signByDefault = true;
79 gpgPath = "gpg2";
80 };
81
82 lfs.enable = true;
83 delta.enable = true;
84
85 extraConfig = {
86 init.defaultBranch = "development";
87 color.ui = "auto";
88 core.autocrlf = "input";
89 };
90 };
91
92 # This value determines the Home Manager release that your
93 # configuration is compatible with. This helps avoid breakage
94 # when a new Home Manager release introduces backwards
95 # incompatible changes.
96 #
97 # You can update Home Manager without changing this value. See
98 # the Home Manager release notes for a list of state version
99 # changes in each release.
100 home.stateVersion = "21.11";
101
102 # Let Home Manager install and manage itself.
103 programs.home-manager.enable = true;
104}