diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index f8777b8..72deeb8 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -p='sxhkd stalonetray lemonbar' +p='compton sxhkd stalonetray lemonbar' for i in $p; do pkill "$i"; done sxhkd & diff --git a/.config/nixpkgs/home.nix b/.config/nixpkgs/home.nix index 5acc2a9..e2db4e9 100644 --- a/.config/nixpkgs/home.nix +++ b/.config/nixpkgs/home.nix @@ -3,265 +3,297 @@ { programs.home-manager.enable = true; - home.username = "dgallant"; - home.homeDirectory = "/home/dgallant"; - home.stateVersion = "20.09"; - home.sessionVariables.LOCALES_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; - - home.packages = with pkgs; [ - awscli2 - bandwhich - bat - black - chromium - direnv - exa - fd - firefox - fzf - gimp - glibcLocales - go - golint - google-cloud-sdk - groovy - hadolint - htop - jdk - jq - nmap - openvpn - pavucontrol - postman - python38 - rfd - ripgrep - rtv - rustup - shellcheck - shfmt - signal-desktop - slack - spotify - ssm-session-manager-plugin - stalonetray - terraform - tflint - tmux - tree - unzip - vlc - youtube-dl - zathura - zip - zsh-fast-syntax-highlighting - - # fonts - aileron - comfortaa - dejavu_fonts - dina-font - eunomia - fantasque-sans-mono - fira - fira-code - fira-code-symbols - fira-mono - font-awesome - helvetica-neue-lt-std - hermit - ibm-plex - inconsolata - liberation_ttf - libre-baskerville - libre-bodoni - libre-caslon - libre-franklin - ]; - - fonts.fontconfig.enable = true; - - programs.zsh = { - enable = true; - enableAutosuggestions = true; - history.size = 1000000; - - localVariables = { - ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#838383,underline"; + home = { + username = "dgallant"; + homeDirectory = "/home/dgallant"; + stateVersion = "20.09"; + sessionVariables = { + EDITOR= "vim"; + LOCALE = "en_US.UTF8"; + LOCALES_ARCHIVE = ["${pkgs.glibcLocales}/lib/locale/locale-archive"]; }; + packages = with pkgs; [ + awscli2 + bandwhich + bat + chromium + direnv + exa + fd + firefox + fzf + gimp + glibcLocales + go + golint + google-cloud-sdk + groovy + hadolint + htop + jdk + jq + kbfs + keybase + keybase-gui + nmap + openvpn + pavucontrol + postman + python38 + pinentry-curses + ripgrep + rustup + shellcheck + shfmt + signal-desktop + slack + spotify + ssm-session-manager-plugin + stalonetray + terraform + tflint + tmux + tree + unzip + vlc + youtube-dl + zathura + zip + zsh-fast-syntax-highlighting - initExtra = '' - export EDITOR='neovim' - export GOPATH=$HOME/go - export GPG_TTY=$(tty) - export PATH=$PATH:~/.local/bin + # python packages + black + python38Packages.ipython + rfd + rtv - eval "$(direnv hook zsh)" - eval "$(_RFD_COMPLETE=source_zsh rfd)" - eval "$(starship init zsh)" - ''; - - shellAliases = { - ls = "exa -la --git"; - ".." = "cd .."; - config = "/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME"; - grep = "grep --color=auto --line-buffered"; - }; - - "oh-my-zsh" = { - enable = true; - plugins = [ - "fzf" - "git" - "last-working-dir" - ]; - }; - - plugins = [ - { - name = "fast-syntax-highlighting"; - src = "${pkgs.zsh-fast-syntax-highlighting}/share/zsh/site-functions"; - } + # fonts + aileron + comfortaa + dejavu_fonts + dina-font + eunomia + fantasque-sans-mono + fira + fira-code + fira-code-symbols + fira-mono + font-awesome + helvetica-neue-lt-std + hermit + ibm-plex + inconsolata + liberation_ttf + libre-baskerville + libre-bodoni + libre-caslon + libre-franklin ]; + }; + + services = { + gpg-agent = { + enable = true; + defaultCacheTtl = 3600; + defaultCacheTtlSsh = 3600; + enableSshSupport = true; + extraConfig = '' + pinentry-program ${pkgs.pinentry-curses}/bin/pinentry + ''; + }; + + keybase.enable = true; + kbfs.enable = true; }; - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - extraConfig = '' - call plug#begin('~/.vim/plugged') - Plug 'LnL7/vim-nix' - Plug 'ap/vim-css-color' - Plug 'fatih/vim-go' - Plug 'hashivim/vim-terraform' - Plug 'itchyny/lightline.vim' - Plug 'junegunn/fzf' - Plug 'junegunn/fzf.vim' - Plug 'neoclide/coc.nvim', {'branch': 'release'} - Plug 'rust-lang/rust.vim' - Plug 'scrooloose/nerdtree' - Plug 'tpope/vim-commentary' - Plug 'tpope/vim-fugitive' - Plug 'tpope/vim-surround' - Plug 'vifm/vifm.vim' - Plug 'vim-syntastic/syntastic' - Plug 'yuki-ycino/fzf-preview.vim' - call plug#end() - set autoread - set cursorline - set encoding=utf-8 - set expandtab - set foldlevel=99 - set foldmethod=indent - set hlsearch - set ignorecase - set incsearch - set laststatus=2 - set modelines=0 - set mouse=a - set nocompatible - set noswapfile - set number - set pastetoggle= - set ruler - set shiftwidth=2 - set showcmd - set showmode - set smartcase - set t_Co=256 - set tabstop=2 - set wildmenu + fonts.fontconfig.enable = true; - " Search down into subfolders - " Provides tab-completion for all file-related tasks - set path+=** + programs = { - filetype plugin indent on + firefox.enable = true; - " Enable folding with the spacebar - nnoremap za + zsh = { + enable = true; + enableAutosuggestions = true; + history.size = 1000000; - " replace visually selected - vnoremap "hy:%s/h//g + localVariables = { + ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#838383,underline"; + }; - " Custom Commands - command JsonFormat execute "::%!jq '.'" + initExtra = '' + export GOPATH=$HOME/go + export GPG_TTY=$(tty) + export PATH=$PATH:~/.local/bin - " Shortcuts - map r :Rg - map g :Rg - map f :FzfPreviewDirectoryFiles - map n :NERDTree - - noremap y "*y - noremap p "*p - noremap Y "+y - noremap P "+p - - " Python indentation - au BufNewFile,BufRead *.py set tabstop=4 softtabstop=4 shiftwidth=4 textwidth=79 expandtab autoindent fileformat=unix - - let python_highlight_all=1 - - syntax on - colorscheme xoria256 - " Transparency - hi Normal guibg=NONE ctermbg=NONE - - " highlight red lines - highlight ExtraWhitespace ctermbg=red guibg=red - match ExtraWhitespace /\s\+$/ - - " groovy syntax - au BufNewFile,BufRead *.groovy set tabstop=2 shiftwidth=2 expandtab - au BufNewFile,BufRead Jenkinsfile setf groovy - au BufNewFile,BufRead Jenkinsfile set tabstop=2 shiftwidth=2 expandtab - - " vim-go - let g:go_auto_sameids = 0 - let g:go_fmt_command = "goimports" - let g:go_fmt_experimental = 1 - let g:go_highlight_array_whitespace_error = 1 - let g:go_highlight_build_constraints = 1 - let g:go_highlight_chan_whitespace_error = 1 - let g:go_highlight_extra_types = 1 - let g:go_highlight_fields = 1 - let g:go_highlight_format_strings = 1 - let g:go_highlight_function_calls = 1 - let g:go_highlight_function_parameters = 1 - let g:go_highlight_functions = 1 - let g:go_highlight_generate_tags = 1 - let g:go_highlight_operators = 1 - let g:go_highlight_space_tab_error = 1 - let g:go_highlight_string_spellcheck = 1 - let g:go_highlight_trailing_whitespace_error = 0 - let g:go_highlight_types = 1 - let g:go_highlight_variable_assignments = 1 - let g:go_highlight_variable_declarations = 1 - let g:go_metalinter_autosave=1 - let g:go_metalinter_autosave_enabled=['golint', 'govet'] - let g:go_rename_command = 'gopls' - - " vim-terraform - let g:terraform_align=1 - let g:terraform_fmt_on_save=1 - let g:terraform_fold_sections=1 - - " rust.vim - let g:rustfmt_autosave = 1 - - " syntastic - set statusline+=%#warningmsg# - set statusline+=%{SyntasticStatuslineFlag()} - set statusline+=%* - - let g:syntastic_always_populate_loc_list = 1 - let g:syntastic_auto_loc_list = 1 - let g:syntastic_check_on_open = 1 - let g:syntastic_check_on_wq = 0 + eval "$(direnv hook zsh)" + eval "$(_RFD_COMPLETE=source_zsh rfd)" + eval "$(starship init zsh)" ''; + + shellAliases = { + ls = "exa -la --git"; + ".." = "cd .."; + config = "/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME"; + grep = "grep --color=auto --line-buffered"; + }; + + "oh-my-zsh" = { + enable = true; + plugins = [ + "fzf" + "git" + "last-working-dir" + ]; + }; + + plugins = [ + { + name = "fast-syntax-highlighting"; + src = "${pkgs.zsh-fast-syntax-highlighting}/share/zsh/site-functions"; + } + ]; + }; + + neovim = { + enable = true; + viAlias = true; + vimAlias = true; + extraConfig = '' + call plug#begin('~/.vim/plugged') + Plug 'LnL7/vim-nix' + Plug 'ap/vim-css-color' + Plug 'fatih/vim-go' + Plug 'hashivim/vim-terraform' + Plug 'itchyny/lightline.vim' + Plug 'junegunn/fzf' + Plug 'junegunn/fzf.vim' + Plug 'neoclide/coc.nvim', {'branch': 'release'} + Plug 'rust-lang/rust.vim' + Plug 'scrooloose/nerdtree' + Plug 'tpope/vim-commentary' + Plug 'tpope/vim-fugitive' + Plug 'tpope/vim-surround' + Plug 'vifm/vifm.vim' + Plug 'vim-syntastic/syntastic' + Plug 'yuki-ycino/fzf-preview.vim' + call plug#end() + + set autoread + set cursorline + set encoding=utf-8 + set expandtab + set foldlevel=99 + set foldmethod=indent + set hlsearch + set ignorecase + set incsearch + set laststatus=2 + set modelines=0 + set mouse=a + set nocompatible + set noswapfile + set number + set pastetoggle= + set ruler + set shiftwidth=2 + set showcmd + set showmode + set smartcase + set t_Co=256 + set tabstop=2 + set wildmenu + + " Search down into subfolders + " Provides tab-completion for all file-related tasks + set path+=** + + filetype plugin indent on + + " Enable folding with the spacebar + nnoremap za + + " replace visually selected + vnoremap "hy:%s/h//g + + " Custom Commands + command JsonFormat execute "::%!jq '.'" + + " Shortcuts + map r :Rg + map g :Rg + map f :FzfPreviewDirectoryFiles + map n :NERDTree + + noremap y "*y + noremap p "*p + noremap Y "+y + noremap P "+p + + " Python indentation + au BufNewFile,BufRead *.py set tabstop=4 softtabstop=4 shiftwidth=4 textwidth=79 expandtab autoindent fileformat=unix + + let python_highlight_all=1 + + syntax on + colorscheme xoria256 + " Transparency + hi Normal guibg=NONE ctermbg=NONE + + " highlight red lines + highlight ExtraWhitespace ctermbg=red guibg=red + match ExtraWhitespace /\s\+$/ + + " groovy syntax + au BufNewFile,BufRead *.groovy set tabstop=2 shiftwidth=2 expandtab + au BufNewFile,BufRead Jenkinsfile setf groovy + au BufNewFile,BufRead Jenkinsfile set tabstop=2 shiftwidth=2 expandtab + + " vim-go + let g:go_auto_sameids = 0 + let g:go_fmt_command = "goimports" + let g:go_fmt_experimental = 1 + let g:go_highlight_array_whitespace_error = 1 + let g:go_highlight_build_constraints = 1 + let g:go_highlight_chan_whitespace_error = 1 + let g:go_highlight_extra_types = 1 + let g:go_highlight_fields = 1 + let g:go_highlight_format_strings = 1 + let g:go_highlight_function_calls = 1 + let g:go_highlight_function_parameters = 1 + let g:go_highlight_functions = 1 + let g:go_highlight_generate_tags = 1 + let g:go_highlight_operators = 1 + let g:go_highlight_space_tab_error = 1 + let g:go_highlight_string_spellcheck = 1 + let g:go_highlight_trailing_whitespace_error = 0 + let g:go_highlight_types = 1 + let g:go_highlight_variable_assignments = 1 + let g:go_highlight_variable_declarations = 1 + let g:go_metalinter_autosave=1 + let g:go_metalinter_autosave_enabled=['golint', 'govet'] + let g:go_rename_command = 'gopls' + + " vim-terraform + let g:terraform_align=1 + let g:terraform_fmt_on_save=1 + let g:terraform_fold_sections=1 + + " rust.vim + let g:rustfmt_autosave = 1 + + " syntastic + set statusline+=%#warningmsg# + set statusline+=%{SyntasticStatuslineFlag()} + set statusline+=%* + + let g:syntastic_always_populate_loc_list = 1 + let g:syntastic_auto_loc_list = 1 + let g:syntastic_check_on_open = 1 + let g:syntastic_check_on_wq = 0 + ''; + }; }; } diff --git a/.config/nixpkgs/overlays/rfd.nix b/.config/nixpkgs/overlays/rfd.nix index 7683af2..420a884 100644 --- a/.config/nixpkgs/overlays/rfd.nix +++ b/.config/nixpkgs/overlays/rfd.nix @@ -1,9 +1,9 @@ self: super: rec { - python3 = with super; super.python3.override {}; + python38 = with super; super.python38.override {}; - pythonPackages = python3.pkgs; + pythonPackages = python38.pkgs; rfd = with self; pythonPackages.buildPythonApplication rec { pname = "rfd"; diff --git a/.gnupg/gpg-agent.conf b/.gnupg/gpg-agent.conf deleted file mode 100644 index 049b40e..0000000 --- a/.gnupg/gpg-agent.conf +++ /dev/null @@ -1 +0,0 @@ -pinentry-program /usr/bin/pinentry-curses