this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Modularize

+131 -146
+30 -124
home.nix
··· 1 1 { config, pkgs, ... }: 2 - 3 - let 4 - nvim-solarized-lua = pkgs.vimUtils.buildVimPlugin { 5 - name = "nvim-solarized-lua"; 6 - src = pkgs.fetchgit { 7 - url = "https://github.com/ishan9299/nvim-solarized-lua"; 8 - sha256 = "032gs63g3x62mym6nhznvywsqk1cxsgwx0fv2vyh2c929fb27ji7"; 9 - }; 10 - meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua"; 11 - }; 12 - 13 - nvim-comment = pkgs.vimUtils.buildVimPlugin { 14 - name = "nvim-comment"; 15 - src = pkgs.fetchgit { 16 - url = "https://github.com/terrortylor/nvim-comment"; 17 - sha256 = "039fznaldf6lzk0yp51wi7p1j3l5rvhwryvk5s3lrq78lxq2rzn2"; 18 - }; 19 - buildPhase = "# skip the makefile"; 20 - meta.homepage = "https://github.com//terrortylor/nvim-comment"; 21 - }; 22 - in 23 2 { 24 - # Let Home Manager install and manage itself. 25 - programs.home-manager.enable = true; 3 + # home-manager version 4 + home.stateVersion = "21.11"; 26 5 27 - # Home Manager needs a bit of information about you and the 28 - # paths it should manage. 29 6 home.username = "sethetter"; 30 7 home.homeDirectory = "/Users/sethetter"; 31 8 32 - # This value determines the Home Manager release that your 33 - # configuration is compatible with. This helps avoid breakage 34 - # when a new Home Manager release introduces backwards 35 - # incompatible changes. 36 - # 37 - # You can update Home Manager without changing this value. See 38 - # the Home Manager release notes for a list of state version 39 - # changes in each release. 40 - home.stateVersion = "21.11"; 9 + programs.home-manager.enable = true; 10 + programs.zsh = import ./zsh.nix { inherit pkgs; }; 11 + programs.neovim = import ./nvim/nvim.nix { inherit pkgs; }; 12 + programs.tmux = import ./tmux/tmux.nix { inherit pkgs; }; 41 13 42 - home.packages = [ 43 - pkgs.direnv 44 - pkgs.fd 45 - pkgs.git 46 - pkgs.ripgrep 47 - pkgs.tig 48 - pkgs.nmap 49 - pkgs.rnix-lsp 50 - pkgs.delta # TODO: configure as part of programs.git 51 - pkgs.wget 52 - # pkgs.vifm 14 + programs.git.enable = true; 15 + programs.gh.enable = true; 53 16 54 - # Non-free, or don't work on MacOS 55 - # ---------------- 56 - # pkgs.firefox 57 - # pkgs.obsidian 58 - # pkgs.slack 59 - ]; 17 + programs.lazygit.enable = true; 18 + programs.lazygit.settings = { 19 + gui.theme = { lightTheme = true; }; 20 + }; 60 21 61 22 programs.direnv = { 62 23 enable = true; ··· 64 25 nix-direnv.enableFlakes = true; 65 26 }; 66 27 67 - # TODO: Migrate nvim config to nix in it's own module, call from here 68 - programs.neovim = { 69 - enable = true; 70 - viAlias = true; 71 - plugins = with pkgs.vimPlugins; [ 72 - { 73 - plugin = gitsigns-nvim; 74 - config = "lua require('gitsigns').setup()"; 75 - } 76 - # { plugin = "hrsh7th/nvim-compe"; } 77 - { plugin = nvim-treesitter; } 78 - { plugin = telescope-nvim; } 79 - { 80 - plugin = nvim-comment; 81 - config = "lua require('nvim_comment').setup()"; 82 - } 83 - { plugin = vim-closer; } 84 - { plugin = nvim-tree-lua; } 85 - { plugin = nvim-web-devicons; } 86 - { plugin = nvim-solarized-lua; } 87 - { plugin = lualine-nvim; } 88 - { plugin = nvim-lspconfig; } 89 - { plugin = vim-nix; } 90 - ]; 91 - 92 - extraConfig = (builtins.readFile ./nvim/init.vim); 93 - }; 94 - 95 - programs.tmux = { 96 - enable = true; 97 - extraConfig = (builtins.readFile ./tmux.conf); 98 - }; 99 - 100 28 programs.bat = { 101 29 enable = true; 102 30 config = { theme = "Solarized (light)"; }; 103 31 }; 104 32 105 - programs.gh.enable = true; 106 - 107 - programs.zsh = { 108 - enable = true; 109 - enableSyntaxHighlighting = true; 110 - enableCompletion = true; 111 - enableAutosuggestions = true; 112 - initExtraFirst = '' 113 - alias gdc="git diff --cached" 114 - alias tma="tmux a" 115 - alias dc="docker compose" 116 - alias hmb="home-manager build" 117 - alias hms="home-manager switch" 118 - 119 - function tm { 120 - rootdir=$(pwd) 121 - if [ ! -z "$1" ]; then 122 - rootdir=$1 123 - fi 124 - cd $rootdir 125 - tmux new-session -A -s "''${rootdir##*/}" 126 - } 127 - 128 - . /Users/sethetter/.nix-profile/etc/profile.d/nix.sh 129 - ''; 130 - localVariables = { 131 - EDITOR = "nvim"; 132 - }; 133 - 134 - oh-my-zsh = { 135 - enable = true; 136 - theme = "robbyrussell"; 137 - plugins = [ 138 - "git" 139 - "vi-mode" 140 - # TODO: some way to know i'm in a nix shell? 141 - ]; 142 - }; 143 - }; 144 - 145 33 programs.fzf = { 146 34 enable = true; 147 35 enableZshIntegration = true; ··· 151 39 EDITOR = "nvim"; 152 40 ZSH_DISABLE_COMPFIX = "true"; 153 41 }; 42 + 43 + home.packages = [ 44 + pkgs.direnv 45 + pkgs.fd 46 + pkgs.ripgrep 47 + pkgs.tig 48 + pkgs.nmap 49 + pkgs.rnix-lsp 50 + pkgs.delta # TODO: configure as part of programs.git 51 + pkgs.wget 52 + # pkgs.vifm 53 + 54 + # Non-free, or don't work on MacOS 55 + # ---------------- 56 + # pkgs.firefox 57 + # pkgs.obsidian 58 + # pkgs.slack 59 + ]; 154 60 155 61 home.file = { 156 62 ".tigrc".source = config.lib.file.mkOutOfStoreSymlink ./tigrc;
+47
nvim/nvim.nix
··· 1 + { pkgs }: 2 + let 3 + nvim-solarized-lua = pkgs.vimUtils.buildVimPlugin { 4 + name = "nvim-solarized-lua"; 5 + src = pkgs.fetchgit { 6 + url = "https://github.com/ishan9299/nvim-solarized-lua"; 7 + sha256 = "032gs63g3x62mym6nhznvywsqk1cxsgwx0fv2vyh2c929fb27ji7"; 8 + }; 9 + meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua"; 10 + }; 11 + 12 + nvim-comment = pkgs.vimUtils.buildVimPlugin { 13 + name = "nvim-comment"; 14 + src = pkgs.fetchgit { 15 + url = "https://github.com/terrortylor/nvim-comment"; 16 + sha256 = "039fznaldf6lzk0yp51wi7p1j3l5rvhwryvk5s3lrq78lxq2rzn2"; 17 + }; 18 + buildPhase = "# skip the makefile"; 19 + meta.homepage = "https://github.com//terrortylor/nvim-comment"; 20 + }; 21 + in 22 + { 23 + enable = true; 24 + viAlias = true; 25 + plugins = with pkgs.vimPlugins; [ 26 + { 27 + plugin = gitsigns-nvim; 28 + config = "lua require('gitsigns').setup()"; 29 + } 30 + # { plugin = "hrsh7th/nvim-compe"; } 31 + { plugin = nvim-treesitter; } 32 + { plugin = telescope-nvim; } 33 + { 34 + plugin = nvim-comment; 35 + config = "lua require('nvim_comment').setup()"; 36 + } 37 + { plugin = vim-closer; } 38 + { plugin = nvim-tree-lua; } 39 + { plugin = nvim-web-devicons; } 40 + { plugin = nvim-solarized-lua; } 41 + { plugin = lualine-nvim; } 42 + { plugin = nvim-lspconfig; } 43 + { plugin = vim-nix; } 44 + ]; 45 + 46 + extraConfig = (builtins.readFile ./init.vim); 47 + }
-22
tmux.conf tmux/tmux.conf
··· 1 - # Prefix 2 - unbind C-b 3 - set -g prefix C-a 4 - 5 1 # Colors 6 - set -g default-terminal "xterm-256color" 7 2 set-option -ga terminal-overrides ",xterm-256color:Tc" 8 3 set -g @colors-solarized "light" 9 4 ··· 42 37 bind c new-window 43 38 bind , command-prompt "rename-window '%%'" 44 39 45 - # Session management 46 - bind C choose-session 47 - bind X kill-session # kill current session 48 - bind K kill-session -a # kill all sessions except current one 49 - 50 40 # Copy mode 51 41 setw -g mode-keys vi 52 42 bind-key -T copy-mode-vi 'v' send -X begin-selection ··· 55 45 56 46 # Status Bar 57 47 # ------------------------------------------------- 58 - 59 48 set -g window-status-separator " " 60 49 setw -g clock-mode-colour yellow 61 50 set -g status-justify centre 62 51 set -g status-left-length 40 63 52 set -g status-left ' #(if [ "$SSH_CONNECTION" ] then echo "☎ | "; fi)#[fg=green]#S #[default]#I:#P #[default]' 64 53 set -g status-right '#[fg=green]#H #[default]| #[fg=green]%m/%d/%y #[default]| #[fg=green]%I:%M ' 65 - 66 - # Plugins 67 - # ------------------------------------------------ 68 - set -g @plugin 'tmux-plugins/tpm' 69 - 70 - set -g @plugin 'seebi/tmux-colors-solarized' 71 - 72 - set -g @plugin 'tmux-plugins/tmux-sensible' 73 - set -g @plugin 'tmux-plugins/tmux-copycat' 74 - 75 - run '~/.tmux/plugins/tpm/tpm'
+15
tmux/tmux.nix
··· 1 + { pkgs }: 2 + { 3 + enable = true; 4 + prefix = "C-a"; 5 + terminal = "xterm-256color"; 6 + extraConfig = (builtins.readFile ./tmux.conf); 7 + plugins = with pkgs.tmuxPlugins; [ 8 + tmux-colors-solarized 9 + copycat 10 + sensible 11 + tmux-fzf 12 + fzf-tmux-url 13 + sessionist 14 + ]; 15 + }
+39
zsh.nix
··· 1 + { pkgs }: 2 + { 3 + enable = true; 4 + enableSyntaxHighlighting = true; 5 + enableCompletion = true; 6 + enableAutosuggestions = true; 7 + initExtraFirst = '' 8 + alias gdc="git diff --cached" 9 + alias tma="tmux a" 10 + alias dc="docker compose" 11 + alias hmb="home-manager build" 12 + alias hms="home-manager switch" 13 + alias lg="lazygit" 14 + 15 + function tm { 16 + rootdir=$(pwd) 17 + if [ ! -z "$1" ]; then 18 + rootdir=$1 19 + fi 20 + cd $rootdir 21 + tmux new-session -A -s "''${rootdir##*/}" 22 + } 23 + 24 + . /Users/sethetter/.nix-profile/etc/profile.d/nix.sh 25 + ''; 26 + localVariables = { 27 + EDITOR = "nvim"; 28 + }; 29 + 30 + oh-my-zsh = { 31 + enable = true; 32 + theme = "robbyrussell"; 33 + plugins = [ 34 + "git" 35 + "vi-mode" 36 + # TODO: some way to know i'm in a nix shell? 37 + ]; 38 + }; 39 + }