blob: a25370c230f09fd4e5cc2f56dd7d12561fff4967 [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 Turner4ecd5812022-02-06 00:18:09 +00005
6 comma = import ( pkgs.fetchFromGitHub {
7 owner = "nix-community";
8 repo = "comma";
9 rev = "02e3e5545b0c62595a77f3d5de1223c536af0614";
10 sha256 = "0n5a3rnv9qnnsrl76kpi6dmaxmwj1mpdd2g0b4n1wfimqfaz6gi1";
11 }) {};
12
Skyler Turner84ec77c2022-01-14 09:05:57 +000013in {
Skyler Turner205aff12021-12-20 11:22:57 +000014 # Home Manager needs a bit of information about you and the
15 # paths it should manage.
Skyler Turner84ec77c2022-01-14 09:05:57 +000016 home.username = username;
17 home.homeDirectory = homedir;
Skyler Turner205aff12021-12-20 11:22:57 +000018
19 programs.vscode.enable = true;
20 programs.vscode.package = pkgs.vscode-fhs;
21
22 programs.go.enable = true;
23
24 # programs.steam.enable = true;
25
26 programs.gpg.enable = true;
27 services.gpg-agent = {
28 enable = true;
29 pinentryFlavor = "qt";
30 };
31
Skyler Turner2a7e5742022-01-26 15:09:20 +000032 nixpkgs.overlays = [
33 (import ./overlays/anytype.nix)
34 (import ./overlays/nur.nix)
35 ];
Skyler Turnerf0e4f3e2022-01-09 13:46:00 +000036
Skyler Turner205aff12021-12-20 11:22:57 +000037 home.packages = with pkgs; [
38 steam-tui steam-run
39 minecraft
40 git-crypt gnupg pinentry_qt
Skyler Turner32dbfb42021-12-24 15:50:22 +000041 spotify
42 keepassxc
43 grim slurp
Skyler Turner2267c882022-01-12 10:02:54 +000044 neovim helix
Skyler Turner9bf37402021-12-29 15:51:21 +000045 qemu
Skyler Turner7c0c1812022-01-01 18:19:07 +000046 bind
Skyler Turnerf0e4f3e2022-01-09 13:46:00 +000047 file
48 nur.repos.kira-bruneau.rofi-wayland
49 rofimoji
Skyler Turner4870c2a2022-01-26 15:16:56 +000050 anytype-latest
Skyler Turner4f5f11b2022-01-14 23:36:39 +000051 htop
Skyler Turnera6cfb632022-01-16 23:03:43 +000052 hue-cli
Skyler Turner041c1f72022-02-06 00:10:28 +000053 thefuck
Skyler Turner205aff12021-12-20 11:22:57 +000054 ];
55
Skyler Turnerb93743f2022-02-06 00:02:21 +000056 programs.zsh = {
57 enable = true;
58 oh-my-zsh = {
59 enable = true;
Skyler Turner041c1f72022-02-06 00:10:28 +000060 plugins = [ "git" "thefuck" ];
Skyler Turnerb93743f2022-02-06 00:02:21 +000061 theme = "crunch";
62 };
63 history = {
64 size = 10000;
65 path = "${config.xdg.dataHome}/zsh/history";
66 expireDuplicatesFirst = true;
67 extended = true;
68 };
69 initExtra = ''
70 bindkey "\'\'$\{key[Up]}" up-line-or-search
71 '';
72 enableSyntaxHighlighting = true;
Skyler Turner041c1f72022-02-06 00:10:28 +000073 enableAutosuggestions = true;
Skyler Turnerb93743f2022-02-06 00:02:21 +000074 autocd = true;
Skyler Turner06d5d1c2022-02-06 00:05:04 +000075 dotDir = ".local/share/zsh";
Skyler Turnerb93743f2022-02-06 00:02:21 +000076 };
77
Skyler Turner205aff12021-12-20 11:22:57 +000078 programs.git = {
79 enable = true;
80
81 userName = "Skyler Turner";
82 userEmail = "skyler@clicksminuteper.net";
83
84 signing = {
85 key = "24D31D3B1B986F33";
86 signByDefault = true;
87 gpgPath = "gpg2";
88 };
89
90 lfs.enable = true;
91 delta.enable = true;
92
93 extraConfig = {
94 init.defaultBranch = "development";
95 color.ui = "auto";
96 core.autocrlf = "input";
97 };
98 };
99
100 # This value determines the Home Manager release that your
101 # configuration is compatible with. This helps avoid breakage
102 # when a new Home Manager release introduces backwards
103 # incompatible changes.
104 #
105 # You can update Home Manager without changing this value. See
106 # the Home Manager release notes for a list of state version
107 # changes in each release.
108 home.stateVersion = "21.11";
109
110 # Let Home Manager install and manage itself.
111 programs.home-manager.enable = true;
112}