diff --git a/entropy/.vimrc b/entropy/.vimrc index 81bad4b..9dd07b2 100644 --- a/entropy/.vimrc +++ b/entropy/.vimrc @@ -60,7 +60,7 @@ call plug#end() set laststatus=2 let g:airline#extensions#tabline#enabled = 1 -let g:airline_powerline_fonts = 1 +let g:airline_powerline_fonts = 0 " window switching by # let g:airline_section_c = '[%{winnr()}] %t' diff --git a/entropy/alacritty/alacritty.yml b/entropy/alacritty/alacritty.yml index 9f6f925..c8c7888 100644 --- a/entropy/alacritty/alacritty.yml +++ b/entropy/alacritty/alacritty.yml @@ -151,7 +151,7 @@ font: #style: Bold Italic # Point size - size: 10.0 + size: 9.0 # Offset is the extra space around each character. `offset.y` can be thought # of as modifying the line spacing, and `offset.x` as modifying the letter diff --git a/entropy/initialize.sh b/entropy/initialize.sh index 96c2eef..f331bdd 100755 --- a/entropy/initialize.sh +++ b/entropy/initialize.sh @@ -49,6 +49,13 @@ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.c ln -s $PWD/.vimrc ~/.vimrc vim -c "PlugInstall" +# set up nvim +printf "\033[33m[info] Setting up nvim\033[39m" +sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \ + https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' +ln -s $PWD/nvim ~/.config/nvim +nvim -c "PlugInstall" + # set up emacs printf "\033[33m[info] Setting up emacs\033[39m" git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d diff --git a/entropy/nixos/configuration.nix b/entropy/nixos/configuration.nix index 6e29e05..2036231 100644 --- a/entropy/nixos/configuration.nix +++ b/entropy/nixos/configuration.nix @@ -197,8 +197,9 @@ in ## terminal, browsers, text editing, note taking alacritty vscodium + neovim firefox-wayland - obsidian + unstable.obsidian ## time tracking watson ## file managers @@ -218,7 +219,7 @@ in ## the eternal pain continues libreoffice-fresh ## video and media applications - zoom-us + unstable.zoom-us teams youtube-dl mpv @@ -237,7 +238,7 @@ in ]; xdg.portal = { - #enable = true; + enable = true; gtkUsePortal = true; wlr = { enable = true; diff --git a/entropy/nixos/modules/video.nix b/entropy/nixos/modules/video.nix index 996a4c8..ff74178 100644 --- a/entropy/nixos/modules/video.nix +++ b/entropy/nixos/modules/video.nix @@ -20,6 +20,7 @@ hardware.opengl = { enable = true; extraPackages = with pkgs; [ + intel-compute-runtime intel-media-driver # LIBVA_DRIVER_NAME=iHD vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) vaapiVdpau diff --git a/entropy/nvim/init.vim b/entropy/nvim/init.vim new file mode 100644 index 0000000..7e78048 --- /dev/null +++ b/entropy/nvim/init.vim @@ -0,0 +1,145 @@ +" this is enabled by default in nvim +" filetype plugin indent on +" syntax on + +" enable autocompletion of ale +let g:ale_completion_enabled = 1 +" disable latex linting from ale as i've got my own plugin for that +let g:ale_linters = {'rust': ['analyzer'], 'haskell': ['hls', 'hindent'], 'tex': []} +"let g:ale_fixers = {'c': ['clang-format']} + + +" Initialize plugin system +call plug#begin(stdpath('data') . '/plugged') + +" Make sure you use single quotes + +" Shorthand notation; fetches https://github.com/morhetz/gruvbox +" Plug 'morhetz/gruvbox' +Plug 'drewtempelmeyer/palenight.vim' + +" Any valid git URL is allowed +Plug 'https://github.com/scrooloose/nerdcommenter.git' + +" On-demand loading for languages +Plug 'rust-lang/rust.vim', { 'for': 'rust' } +Plug 'cespare/vim-toml', { 'for': 'toml' } +Plug 'keith/swift.vim', { 'for': 'swift' } +Plug 'neovimhaskell/haskell-vim', { 'for': 'haskell' } +Plug 'jalvesaq/Nvim-R', {'branch': 'stable', 'for': 'r'} +Plug 'rhysd/vim-llvm' + +" Lingua Franca +Plug 'lf-lang/lingua-franca.vim' + +Plug 'vim-syntastic/syntastic' +Plug 'vim-airline/vim-airline' +Plug 'tpope/vim-fugitive' +Plug 'airblade/vim-gitgutter' +Plug 'justinmk/vim-sneak' +Plug 'lervag/vimtex' +Plug 'editorconfig/editorconfig-vim' +Plug 'LnL7/vim-nix' +Plug 'preservim/nerdtree' + +" wayland clipboard +Plug 'jasonccox/vim-wayland-clipboard' + +" Plugin outside ~/.vim/plugged with post-update hook +Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } +Plug 'junegunn/fzf.vim' + +" ale language server client +Plug 'dense-analysis/ale' + +" Initialize plugin system +call plug#end() + +" open fzf files in new tab instead of new buffer +"command! -bang -nargs=? -complete=dir Files + "\ call fzf#vim#files(, {'sink': 'tabedit', 'options': ['--info=inline', '--preview', '~/.vim/plugged/fzf.vim/bin/preview.sh {}']}, 0) + +set laststatus=2 +let g:airline#extensions#tabline#enabled = 1 +let g:airline_powerline_fonts = 0 + +" window switching by # +let g:airline_section_c = '[%{winnr()}] %t' +nnoremap 1 1w +nnoremap 2 2w +nnoremap 3 3w +nnoremap 4 4w +nnoremap 5 5w +nnoremap 6 6w +nnoremap 7 7w +nnoremap 8 8w +nnoremap 9 9w +nnoremap 0 10w + +" set haskell highlighting +let g:haskell_enable_quantification = 1 " to enable highlighting of `forall` +let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec` +let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc` +let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern` +let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles +let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static` +let g:haskell_backpack = 1 " to enable highlighting of backpack keywords + +" possible setting as alternative for easymotion +" let g:sneak#label = 1 + +set backspace=indent,eol,start + +" map the leader key to , +let mapleader="," + +let $FZF_DEFAULT_COMMAND = 'rg --files --hidden' + +" Cycling through windows and tabs +" nnoremap j +" nnoremap k +" nnoremap l +" nnoremap h +" nnoremap _ +" nnoremap _ +" nnoremap \| +" nnoremap \| +map h :tabp +map l :tabn +map :bprevious +map :bnext +map f :Files +map b :Buffers + +" fix auto-completion +set wildmenu " show a completion menu +set wildignorecase +set wildignore=*.o,*~,*.pyc,*.aux,*.bbl,*.blg,*-blx.bib,*.log,*.out,*.run.xml, + \*.toc,*.nav,*.snm " ignore auxiliary files +" set completeopt-=preview + +" automatically reload files changed on disk but not in buffer +set autoread +" hide buffers on switch +set hidden + +" tex configuration +let g:tex_flavor='latex' +" Optics +colorscheme palenight "gruvbox +set background=dark " Setting dark mode + +set number +set relativenumber +set tabstop=4 +set shiftwidth=4 +set expandtab + +" keep 5 lines of context above/below the cursor (if possible) +set scrolloff=5 + +" Search +set hlsearch " Highlight all search results +set smartcase " Enable smart-case search +set ignorecase " Always case-insensitive +set incsearch " Searches for strings incrementally