Skyler Turner | f0e4f3e | 2022-01-09 13:46:00 +0000 | [diff] [blame] | 1 | { config, pkgs, nixpkgs, ... }: |
Skyler Turner | 84ec77c | 2022-01-14 09:05:57 +0000 | [diff] [blame] | 2 | let |
| 3 | username = "minion"; |
| 4 | homedir = "/home/${username}"; |
Skyler Turner | 4ecd581 | 2022-02-06 00:18:09 +0000 | [diff] [blame] | 5 | |
| 6 | comma = import ( pkgs.fetchFromGitHub { |
| 7 | owner = "nix-community"; |
| 8 | repo = "comma"; |
| 9 | rev = "02e3e5545b0c62595a77f3d5de1223c536af0614"; |
Skyler Turner | f7995c5 | 2022-02-06 00:23:24 +0000 | [diff] [blame] | 10 | sha256 = "sha256-WBIQmwlkb/GMoOq+Dnyrk8YmgiM/wJnc5HYZP8Uw72E="; |
Skyler Turner | 4ecd581 | 2022-02-06 00:18:09 +0000 | [diff] [blame] | 11 | }) {}; |
| 12 | |
Skyler Turner | 84ec77c | 2022-01-14 09:05:57 +0000 | [diff] [blame] | 13 | in { |
Skyler Turner | 205aff1 | 2021-12-20 11:22:57 +0000 | [diff] [blame] | 14 | # Home Manager needs a bit of information about you and the |
| 15 | # paths it should manage. |
Skyler Turner | 84ec77c | 2022-01-14 09:05:57 +0000 | [diff] [blame] | 16 | home.username = username; |
| 17 | home.homeDirectory = homedir; |
Skyler Turner | 205aff1 | 2021-12-20 11:22:57 +0000 | [diff] [blame] | 18 | |
| 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 Turner | 2a7e574 | 2022-01-26 15:09:20 +0000 | [diff] [blame] | 32 | nixpkgs.overlays = [ |
| 33 | (import ./overlays/anytype.nix) |
| 34 | (import ./overlays/nur.nix) |
| 35 | ]; |
Skyler Turner | f0e4f3e | 2022-01-09 13:46:00 +0000 | [diff] [blame] | 36 | |
Skyler Turner | 205aff1 | 2021-12-20 11:22:57 +0000 | [diff] [blame] | 37 | home.packages = with pkgs; [ |
| 38 | steam-tui steam-run |
| 39 | minecraft |
| 40 | git-crypt gnupg pinentry_qt |
Skyler Turner | 32dbfb4 | 2021-12-24 15:50:22 +0000 | [diff] [blame] | 41 | spotify |
| 42 | keepassxc |
| 43 | grim slurp |
Skyler Turner | 2267c88 | 2022-01-12 10:02:54 +0000 | [diff] [blame] | 44 | neovim helix |
Skyler Turner | 9bf3740 | 2021-12-29 15:51:21 +0000 | [diff] [blame] | 45 | qemu |
Skyler Turner | 7c0c181 | 2022-01-01 18:19:07 +0000 | [diff] [blame] | 46 | bind |
Skyler Turner | f0e4f3e | 2022-01-09 13:46:00 +0000 | [diff] [blame] | 47 | file |
| 48 | nur.repos.kira-bruneau.rofi-wayland |
| 49 | rofimoji |
Skyler Turner | 4870c2a | 2022-01-26 15:16:56 +0000 | [diff] [blame] | 50 | anytype-latest |
Skyler Turner | 4f5f11b | 2022-01-14 23:36:39 +0000 | [diff] [blame] | 51 | htop |
Skyler Turner | a6cfb63 | 2022-01-16 23:03:43 +0000 | [diff] [blame] | 52 | hue-cli |
Skyler Turner | 041c1f7 | 2022-02-06 00:10:28 +0000 | [diff] [blame] | 53 | thefuck |
Skyler Turner | 97060bc | 2022-02-06 00:18:33 +0000 | [diff] [blame] | 54 | comma |
Skyler Turner | 205aff1 | 2021-12-20 11:22:57 +0000 | [diff] [blame] | 55 | ]; |
| 56 | |
Skyler Turner | b93743f | 2022-02-06 00:02:21 +0000 | [diff] [blame] | 57 | programs.zsh = { |
| 58 | enable = true; |
| 59 | oh-my-zsh = { |
| 60 | enable = true; |
Skyler Turner | 041c1f7 | 2022-02-06 00:10:28 +0000 | [diff] [blame] | 61 | plugins = [ "git" "thefuck" ]; |
Skyler Turner | b93743f | 2022-02-06 00:02:21 +0000 | [diff] [blame] | 62 | theme = "crunch"; |
| 63 | }; |
| 64 | history = { |
| 65 | size = 10000; |
| 66 | path = "${config.xdg.dataHome}/zsh/history"; |
| 67 | expireDuplicatesFirst = true; |
| 68 | extended = true; |
| 69 | }; |
| 70 | initExtra = '' |
| 71 | bindkey "\'\'$\{key[Up]}" up-line-or-search |
Skyler Turner | f7995c5 | 2022-02-06 00:23:24 +0000 | [diff] [blame] | 72 | |
Skyler Turner | a6e30e1 | 2022-02-06 00:24:34 +0000 | [diff] [blame] | 73 | command_not_found_handler () |
Skyler Turner | f7995c5 | 2022-02-06 00:23:24 +0000 | [diff] [blame] | 74 | { |
| 75 | local p='/nix/store/ycclzpk99snlrk8sg9n4j8pm1927gavw-command-not-found/bin/command-not-found'; |
| 76 | if [ -x "$p" ] && [ -f '/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite' ]; then |
Skyler Turner | 90f24a3 | 2022-02-06 00:30:56 +0000 | [diff] [blame] | 77 | , "$@"; |
Skyler Turner | a9a2dbe | 2022-02-06 00:32:26 +0000 | [diff] [blame^] | 78 | echo "$p" |
| 79 | echo "$@" |
| 80 | "$p" "$@"; |
| 81 | if [ $? = 126 ]; then |
| 82 | "$@"; |
| 83 | else |
| 84 | return 127; |
| 85 | fi; |
Skyler Turner | f7995c5 | 2022-02-06 00:23:24 +0000 | [diff] [blame] | 86 | else |
| 87 | echo "$1: command not found" 1>&2; |
| 88 | return 127; |
| 89 | fi |
| 90 | } |
Skyler Turner | b93743f | 2022-02-06 00:02:21 +0000 | [diff] [blame] | 91 | ''; |
| 92 | enableSyntaxHighlighting = true; |
Skyler Turner | 041c1f7 | 2022-02-06 00:10:28 +0000 | [diff] [blame] | 93 | enableAutosuggestions = true; |
Skyler Turner | b93743f | 2022-02-06 00:02:21 +0000 | [diff] [blame] | 94 | autocd = true; |
Skyler Turner | 06d5d1c | 2022-02-06 00:05:04 +0000 | [diff] [blame] | 95 | dotDir = ".local/share/zsh"; |
Skyler Turner | b93743f | 2022-02-06 00:02:21 +0000 | [diff] [blame] | 96 | }; |
| 97 | |
Skyler Turner | 205aff1 | 2021-12-20 11:22:57 +0000 | [diff] [blame] | 98 | programs.git = { |
| 99 | enable = true; |
| 100 | |
| 101 | userName = "Skyler Turner"; |
| 102 | userEmail = "skyler@clicksminuteper.net"; |
| 103 | |
| 104 | signing = { |
| 105 | key = "24D31D3B1B986F33"; |
| 106 | signByDefault = true; |
| 107 | gpgPath = "gpg2"; |
| 108 | }; |
| 109 | |
| 110 | lfs.enable = true; |
| 111 | delta.enable = true; |
| 112 | |
| 113 | extraConfig = { |
| 114 | init.defaultBranch = "development"; |
| 115 | color.ui = "auto"; |
| 116 | core.autocrlf = "input"; |
| 117 | }; |
| 118 | }; |
| 119 | |
| 120 | # This value determines the Home Manager release that your |
| 121 | # configuration is compatible with. This helps avoid breakage |
| 122 | # when a new Home Manager release introduces backwards |
| 123 | # incompatible changes. |
| 124 | # |
| 125 | # You can update Home Manager without changing this value. See |
| 126 | # the Home Manager release notes for a list of state version |
| 127 | # changes in each release. |
| 128 | home.stateVersion = "21.11"; |
| 129 | |
| 130 | # Let Home Manager install and manage itself. |
| 131 | programs.home-manager.enable = true; |
| 132 | } |