mirror of
https://github.com/davegallant/nix-config
synced 2025-08-06 11:23:40 +00:00
Add keybase and kbfs
This commit is contained in:
@@ -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 &
|
||||
|
@@ -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=<F3>
|
||||
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 <space> za
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
history.size = 1000000;
|
||||
|
||||
" replace visually selected
|
||||
vnoremap <C-r> "hy:%s/<C-r>h//g<left><left>
|
||||
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 <Leader>r :Rg<CR>
|
||||
map <Leader>g :Rg<CR>
|
||||
map <Leader>f :FzfPreviewDirectoryFiles<CR>
|
||||
map <Leader>n :NERDTree<CR>
|
||||
|
||||
noremap <Leader>y "*y
|
||||
noremap <Leader>p "*p
|
||||
noremap <Leader>Y "+y
|
||||
noremap <Leader>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=<F3>
|
||||
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 <space> za
|
||||
|
||||
" replace visually selected
|
||||
vnoremap <C-r> "hy:%s/<C-r>h//g<left><left>
|
||||
|
||||
" Custom Commands
|
||||
command JsonFormat execute "::%!jq '.'"
|
||||
|
||||
" Shortcuts
|
||||
map <Leader>r :Rg<CR>
|
||||
map <Leader>g :Rg<CR>
|
||||
map <Leader>f :FzfPreviewDirectoryFiles<CR>
|
||||
map <Leader>n :NERDTree<CR>
|
||||
|
||||
noremap <Leader>y "*y
|
||||
noremap <Leader>p "*p
|
||||
noremap <Leader>Y "+y
|
||||
noremap <Leader>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
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -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";
|
||||
|
Reference in New Issue
Block a user