From 198d2001ba3de7984a3f7c4411c07193eb9eac94 Mon Sep 17 00:00:00 2001 From: Till Date: Thu, 11 May 2023 09:23:47 +0200 Subject: [PATCH] r packages seem to work if slow --- configuration.nix | 1 + flake.nix | 2 +- home-manager.nix | 192 ++++++++++++++++++++++++++++++++++++++++++ home-manager/home.nix | 70 --------------- 4 files changed, 194 insertions(+), 71 deletions(-) create mode 100644 home-manager.nix delete mode 100644 home-manager/home.nix diff --git a/configuration.nix b/configuration.nix index 42f5d4c..3f46714 100644 --- a/configuration.nix +++ b/configuration.nix @@ -25,6 +25,7 @@ "networkmanager" ]; packages = with pkgs; []; + shell = pkgs.fish; }; environment.systemPackages = with pkgs; [ diff --git a/flake.nix b/flake.nix index 5296f45..7387f66 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,7 @@ pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs; }; modules = [ - ./home-manager/home.nix + ./home-manager.nix ]; }; }; diff --git a/home-manager.nix b/home-manager.nix new file mode 100644 index 0000000..eae3729 --- /dev/null +++ b/home-manager.nix @@ -0,0 +1,192 @@ +{ config, pkgs, inputs, lib, ... }: + +{ + home.username = "till"; + home.homeDirectory = "/home/till"; + home.stateVersion = "22.11"; + + nixpkgs = { + config = { + allowUnfree = true; + allowUnfreePredicate = (_: true); + }; + }; + + programs.home-manager.enable = true; + + home.packages = with pkgs; + let + R-packed = rWrapper.override { + packages = with rPackages; [ + jsonlite + rlist + rvest + sf + tidyverse + tmap + ]; + }; + in [ + exa + firefox + fzf + jq + khal + khard + neomutt + nodejs + qutebrowser + R-packed + rstudio + ruby + silver-searcher + tmux + tree + vdirsyncer + ]; + + programs.neovim = { + enable = true; + defaultEditor = true; + extraConfig = '' + let mapleader=" " + let maplocalleader="\\" + + set colorcolumn=+1 + set expandtab + set ignorecase + set iskeyword+=ä,Ä,ö,Ö,ü,Ü,ß + set linebreak + set list listchars=tab:»\ ,trail:·,nbsp:~ + set number + set relativenumber + set scrolloff=7 + set shell=/bin/sh + set shiftwidth=2 + set shortmess=FfmnxoTIc + set signcolumn=no + set smartcase + set softtabstop=2 + set spelllang=en_us,de_20 + set splitbelow + set splitright + set tabstop=2 + set updatetime=300 + set termguicolors + + let g:netrw_liststyle = 3 + let g:netrw_fastbrowse = 0 + ''; + plugins = with pkgs.vimPlugins; [ + # todo: pandoc, completion, lsp + { + plugin = fzf-vim; + config = '' + nnoremap :Buffers + imap (fzf-complete-path) + nnoremap o :Files + nnoremap O :Files ~/ + nnoremap r :Read + nnoremap a :Ag + nnoremap b :Buffers + nnoremap . :Files ~/.config/ + command! -nargs=? -complete=dir Read call fzf#run( + \fzf#wrap({'sink': 'read', 'dir': }) + \) + ''; + } + + { + plugin = goyo; + config = '' + nnoremap yog :Goyo + nnoremap [og :Goyo 80 + nnoremap ]og :Goyo! + ''; + } + + { + plugin = limelight-vim; + config = '' + let g:limelight_conceal_ctermfg = 'darkgray' + nnoremap yof :Limelight!! + nnoremap [of :Limelight + nnoremap ]of :Limelight! + ''; + } + + { + plugin = nvim-colorizer-lua; + config = "lua require 'colorizer'.setup()"; + } + + { + plugin = papercolor-theme; + config = '' + set background=light + colorscheme PaperColor + ''; + } + + typescript-vim + + { + plugin = ultisnips; + config = "nnoremap se :UltiSnipsEdit!"; + } + + vim-commentary + { + plugin = vim-easy-align; + config = '' + xmap ga (EasyAlign) + nmap ga (EasyAlign) + ''; + } + vim-fish + vim-nix + vim-repeat + + { + plugin = vim-slime; + config = '' + let g:slime_target = "tmux" + let g:slime_default_config = {"socket_name": get(split($TMUX, ","), 0), "target_pane": ":.1"} + let g:slime_no_mappings = 1 + let g:slime_dont_ask_default = 1 + xmap s SlimeRegionSend + nmap s SlimeMotionSend + nmap ss SlimeLineSend + nnoremap s: :SlimeSend1 + " let g:slime_target = "neovim" + " autocmd TermOpen * let g:slime_default_config = {"jobid": &channel} + ''; + } + + vim-snippets + vim-speeddating + vim-surround + vim-surround + vim-unimpaired + ]; + }; + + home.shellAliases = { + ls = "exa"; + tree = "exa --tree"; + }; + + programs.fish = { + enable = true; + }; + + programs.git = { + enable = true; + userName = "Till"; + userEmail = "till@ktiu.net"; + lfs = { + enable = true; + } + } +} + diff --git a/home-manager/home.nix b/home-manager/home.nix deleted file mode 100644 index 29e9150..0000000 --- a/home-manager/home.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ config, pkgs, inputs, lib, ... }: - -{ - home.username = "till"; - home.homeDirectory = "/home/till"; - home.stateVersion = "22.11"; - nixpkgs = { - config = { - allowUnfree = true; - allowUnfreePredicate = (_: true); - }; - }; - - programs.home-manager.enable = true; - - home.packages = with pkgs; [ - exa - firefox - fzf - jq - khal - khard - neomutt - nodejs - qutebrowser - R - rstudio - ruby - tmux - tree - vdirsyncer - ]; - - programs.neovim = { - enable = true; - plugins = with pkgs.vimPlugins; [ - vim-surround - limelight-vim - goyo - vim-nix - vim-fish - ultisnips - typescript-nvim - vim-snippets - vim-slime - vim-easyalign - nvim-colorizer-lua - papercolor-theme - vim-commentary - vim-repeat - vim-speeddating - vim-surround - vim-unimpaired - ]; - }; - -# home.sessionVariables = { -# EDITOR="nvim"; -# }; -# home.shellAliases = { -# l = "exa"; -# ls = "exa"; -# cat = "bat"; -# }; - - programs.fish = { - enable = true; - }; -} -