From 9d00443094505fcdf2f11d25dad181a3bde6f533 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sun, 15 Oct 2023 15:11:59 -0400 Subject: [PATCH] refactor: move some other stuff into common bash --- common/modules/bash/default.nix | 304 +++++++++++++++--------------- common/modules/neovim/default.nix | 188 +++++++++--------- hosts/wim/home/dotfiles.nix | 4 - hosts/wim/home/packages.nix | 11 -- 4 files changed, 254 insertions(+), 253 deletions(-) diff --git a/common/modules/bash/default.nix b/common/modules/bash/default.nix index 7f678717..ae3512f1 100644 --- a/common/modules/bash/default.nix +++ b/common/modules/bash/default.nix @@ -1,162 +1,170 @@ # Home-manager module -{ lib, ... }: - -{ - programs.starship = let - textColor = "#e3e5e5"; - firstColor = "#bd93f9"; - secondColor = "#715895"; - thirdColor = "#382c4a"; - fourthColor = "#120e18"; - in { - enable = true; - enableBashIntegration = true; - settings = { - format = lib.concatStrings [ - "╭╴" - "[](fg:${firstColor})" - "[  ](bg:${firstColor} fg:#090c0c)" - "[](bg:${secondColor} fg:${firstColor})" - "$username$hostname" - "$sudo" - "[](fg:${secondColor} bg:${thirdColor})" - "$directory" - "[](fg:${thirdColor} bg:${fourthColor})" - "$git_branch" - "[](fg:${fourthColor})" - "\n╰╴$shlvl$nix_shell$character" - ]; +{ lib, ... }: { + programs = { - sudo = { - disabled = false; - style = "fg:${textColor} bg:${secondColor}"; - format = "[as root ]($style)"; - }; + fzf = { + enable = true; + enableBashIntegration = true; + }; + jq.enable = true; + ripgrep.enable = true; - username = { - show_always = true; - style_user = "fg:${textColor} bg:${secondColor}"; - style_root = "fg:red bg:${secondColor} blink"; - format = "[ $user]($style)"; - }; + starship = let + textColor = "#e3e5e5"; + firstColor = "#bd93f9"; + secondColor = "#715895"; + thirdColor = "#382c4a"; + fourthColor = "#120e18"; + in { + enable = true; + enableBashIntegration = true; + settings = { + format = lib.concatStrings [ + "╭╴" + "[](fg:${firstColor})" + "[  ](bg:${firstColor} fg:#090c0c)" + "[](bg:${secondColor} fg:${firstColor})" + "$username$hostname" + "$sudo" + "[](fg:${secondColor} bg:${thirdColor})" + "$directory" + "[](fg:${thirdColor} bg:${fourthColor})" + "$git_branch" + "[](fg:${fourthColor})" + "\n╰╴$shlvl$nix_shell$character" + ]; - hostname = { - ssh_only = false; - style = "fg:${textColor} bg:${secondColor}"; - format = "[@$hostname ]($style)"; - }; + sudo = { + disabled = false; + style = "fg:${textColor} bg:${secondColor}"; + format = "[as root ]($style)"; + }; - directory = { - style = "fg:${firstColor} bg:${thirdColor}"; - format = "[ $path ]($style)"; - truncate_to_repo = false; - truncation_length = 0; + username = { + show_always = true; + style_user = "fg:${textColor} bg:${secondColor}"; + style_root = "fg:red bg:${secondColor} blink"; + format = "[ $user]($style)"; + }; - substitutions = { - "Documents" = "󰈙 "; - "Downloads" = " "; - "Music" = " "; - "Pictures" = " "; + hostname = { + ssh_only = false; + style = "fg:${textColor} bg:${secondColor}"; + format = "[@$hostname ]($style)"; + }; + + directory = { + style = "fg:${firstColor} bg:${thirdColor}"; + format = "[ $path ]($style)"; + truncate_to_repo = false; + truncation_length = 0; + + substitutions = { + "Documents" = "󰈙 "; + "Downloads" = " "; + "Music" = " "; + "Pictures" = " "; + }; + }; + + git_branch = { + style = "fg:${secondColor} bg:${fourthColor}"; + symbol = ""; + format = "[ $symbol $branch ]($style)"; + }; + + shlvl = { + disabled = false; + repeat = true; + symbol = "󰔳 "; + format = "[$symbol]($style)"; + threshold = 1; + }; + + nix_shell = { + symbol = "❄️ "; + format = "[$symbol]($style)"; + }; + + character = { + success_symbol = "[\\$](bold green)"; + error_symbol = "[\\$](bold red)"; }; }; - - git_branch = { - style = "fg:${secondColor} bg:${fourthColor}"; - symbol = ""; - format = "[ $symbol $branch ]($style)"; - }; - - shlvl = { - disabled = false; - repeat = true; - symbol = "󰔳 "; - format = "[$symbol]($style)"; - threshold = 1; - }; - - nix_shell = { - symbol = "❄️ "; - format = "[$symbol]($style)"; - }; - - character = { - success_symbol = "[\\$](bold green)"; - error_symbol = "[\\$](bold red)"; - }; - }; - }; - - programs.bash = { - enable = true; - enableCompletion = true; - - historyFile = "\$HOME/.cache/.bash_history"; - historyFileSize = 100000; # default - historySize = 10000; # default - historyControl = [ - "erasedups" - "ignorespace" - ]; - historyIgnore = [ - "ls" - "exit" - "logout" - ]; - - shellOptions = [ - "histappend" - "checkwinsize" - "extglob" - "globstar" - "checkjobs" - "autocd" - "cdspell" - "dirspell" - "dotglob" - ]; - - shellAliases = { - sudo = "sudo "; - frick = "sudo $(fc -ln -1)"; - - nivm = "nvim"; - nivim = "nvim"; - - tmux = "tmux -2"; - ls = "ls -lah --color=auto"; - cp = "cp -r"; - - chore = "(cd ~/.nix/nixos; git add flake.lock; git commit -m 'chore: update flake.lock'; git push)"; - - tup = "tailscale up --login-server https://headscale.nelim.org"; - - pc = "mosh matt@10.0.0.248 -- tmux -2u new -At laptop"; - oksys = "mosh matt@10.0.0.213 -- tmux -2u new -At laptop"; - pve = "mosh matt@10.0.0.121 -- tmux -2u new -At laptop"; - - mc = "mosh mc@10.0.0.124 -- tmux -2u new -At laptop"; - pod = "mosh matt@10.0.0.121 -- ssh -t -p 6768 matt@10.0.0.122 'tmux -2u new -At laptop'"; - jelly = "mosh matt@10.0.0.121 -- ssh -t matt@10.0.0.123 'tmux -2u new -At laptop'"; - qbit = "mosh matt@10.0.0.121 -- ssh -t matt@10.0.0.128 'tmux -2u new -At laptop'"; - }; - sessionVariables = { # see configuration.nix }; - profileExtra = '' - export POKE=true - [[ -f ~/.bashrc ]] && . ~/.bashrc - ''; - bashrcExtra = '' - ${lib.strings.fileContents ./config/dracula/less.sh} - ${lib.strings.fileContents ./config/dracula/fzf.sh} + bash = { + enable = true; + enableCompletion = true; - ${lib.strings.fileContents ./config/colorgrid.sh} - ${lib.strings.fileContents ./config/bashrc} - ''; - #initExtra = '' - #''; - #logoutExtra = '' - #''; + historyFile = "\$HOME/.cache/.bash_history"; + historyFileSize = 100000; # default + historySize = 10000; # default + historyControl = [ + "erasedups" + "ignorespace" + ]; + historyIgnore = [ + "ls" + "exit" + "logout" + ]; + + shellOptions = [ + "histappend" + "checkwinsize" + "extglob" + "globstar" + "checkjobs" + "autocd" + "cdspell" + "dirspell" + "dotglob" + ]; + + shellAliases = { + sudo = "sudo "; + frick = "sudo $(fc -ln -1)"; + + nivm = "nvim"; + nivim = "nvim"; + + tmux = "tmux -2"; + ls = "ls -lah --color=auto"; + cp = "cp -r"; + + chore = "(cd ~/.nix/nixos; git add flake.lock; git commit -m 'chore: update flake.lock'; git push)"; + + tup = "tailscale up --login-server https://headscale.nelim.org"; + + pc = "mosh matt@10.0.0.248 -- tmux -2u new -At laptop"; + oksys = "mosh matt@10.0.0.213 -- tmux -2u new -At laptop"; + pve = "mosh matt@10.0.0.121 -- tmux -2u new -At laptop"; + + mc = "mosh mc@10.0.0.124 -- tmux -2u new -At laptop"; + pod = "mosh matt@10.0.0.121 -- ssh -t -p 6768 matt@10.0.0.122 'tmux -2u new -At laptop'"; + jelly = "mosh matt@10.0.0.121 -- ssh -t matt@10.0.0.123 'tmux -2u new -At laptop'"; + qbit = "mosh matt@10.0.0.121 -- ssh -t matt@10.0.0.128 'tmux -2u new -At laptop'"; + }; + sessionVariables = { # see configuration.nix + }; + + profileExtra = '' + export POKE=true + [[ -f ~/.bashrc ]] && . ~/.bashrc + ''; + bashrcExtra = '' + ${lib.strings.fileContents ./config/dracula/less.sh} + ${lib.strings.fileContents ./config/dracula/fzf.sh} + + ${lib.strings.fileContents ./config/colorgrid.sh} + ${lib.strings.fileContents ./config/bashrc} + ''; + #initExtra = '' + #''; + #logoutExtra = '' + #''; + }; }; } diff --git a/common/modules/neovim/default.nix b/common/modules/neovim/default.nix index fe4eb3a9..c2b4958a 100644 --- a/common/modules/neovim/default.nix +++ b/common/modules/neovim/default.nix @@ -18,101 +18,109 @@ in ''; }; - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - package = pkgs.neovim-nightly; + programs = { - extraConfig = builtins.concatStringsSep "\n" [ - (lib.strings.fileContents ./config/base.vim) - '' - lua << EOF - ${lib.strings.fileContents ./config/config.lua} - EOF - '' - ]; - - extraPackages = with pkgs; [ - tree-sitter - nodejs_latest - gradle - bat - - python311Packages.pylint - nil - ]; - - coc = { + java = { enable = true; - settings = { - "colors.enable" = true; - "coc.preferences.formatOnType" = true; - "Lua.misc.parameters" = [ - "--metapath" - "~/.cache/sumneko_lua/meta" - "--logpath" - "~/.cache/sumneko_lua/log" - ]; - "Lua.workspace.library" = [ - "$\{3rd\}/luv/library" - ]; - sumneko-lua = { - serverDir = "${pkgs.lua-language-server}/share/lua-language-server"; - enableNvimLuaDev = true; - }; - "java.jdt.ls.java.home" = "${pkgs.temurin-bin-17}"; - "bashIde.shellcheckPath" = "${pkgs.shellcheck}/bin/shellcheck"; - languageserver = { - nix = { - command = "nil"; - filetypes = [ "nix" ]; - rootPatterns = [ "flake.nix" ]; + package = pkgs.temurin-bin-17; + }; + + neovim = { + enable = true; + viAlias = true; + vimAlias = true; + package = pkgs.neovim-nightly; + + extraConfig = builtins.concatStringsSep "\n" [ + (lib.strings.fileContents ./config/base.vim) + '' + lua << EOF + ${lib.strings.fileContents ./config/config.lua} + EOF + '' + ]; + + extraPackages = with pkgs; [ + tree-sitter + nodejs_latest + gradle + bat + + python311Packages.pylint + nil + ]; + + coc = { + enable = true; + settings = { + "colors.enable" = true; + "coc.preferences.formatOnType" = true; + "Lua.misc.parameters" = [ + "--metapath" + "~/.cache/sumneko_lua/meta" + "--logpath" + "~/.cache/sumneko_lua/log" + ]; + "Lua.workspace.library" = [ + "$\{3rd\}/luv/library" + ]; + sumneko-lua = { + serverDir = "${pkgs.lua-language-server}/share/lua-language-server"; + enableNvimLuaDev = true; + }; + "java.jdt.ls.java.home" = "${pkgs.temurin-bin-17}"; + "bashIde.shellcheckPath" = "${pkgs.shellcheck}/bin/shellcheck"; + languageserver = { + nix = { + command = "nil"; + filetypes = [ "nix" ]; + rootPatterns = [ "flake.nix" ]; + }; }; }; }; + + plugins = with pkgs.vimPlugins; [ + vim-which-key + + coc-java + coc-css + coc-sumneko-lua + coc-highlight + coc-json + coc-pyright + coc-sh + coc-snippets + coc-vimlsp + coc-yaml + coc-toml + coc-markdownlint + coc-tsserver + neodev-nvim + + coc-fzf + fzfWrapper + fzf-vim + + nvim-treesitter.withAllGrammars + nvim-treesitter + nvim-autopairs + + dracula-nvim + (plugin "lukas-reineke" + "indent-blankline.nvim" + "0fe34b4c1b926e106d105d3ae88ef6cbf6743572" + "sha256-e8gn4pJYALaQ6sGA66SFf8p6VLJBPxT/BimQhOd5eBs=") + gitsigns-nvim + lualine-nvim + minimap-vim + + neo-tree-nvim + + # to explore more + fugitive + todo-comments-nvim + ]; }; - - plugins = with pkgs.vimPlugins; [ - vim-which-key - - coc-java - coc-css - coc-sumneko-lua - coc-highlight - coc-json - coc-pyright - coc-sh - coc-snippets - coc-vimlsp - coc-yaml - coc-toml - coc-markdownlint - coc-tsserver - neodev-nvim - - coc-fzf - fzfWrapper - fzf-vim - - nvim-treesitter.withAllGrammars - nvim-treesitter - nvim-autopairs - - dracula-nvim - (plugin "lukas-reineke" - "indent-blankline.nvim" - "0fe34b4c1b926e106d105d3ae88ef6cbf6743572" - "sha256-e8gn4pJYALaQ6sGA66SFf8p6VLJBPxT/BimQhOd5eBs=") - gitsigns-nvim - lualine-nvim - minimap-vim - - neo-tree-nvim - - # to explore more - fugitive - todo-comments-nvim - ]; }; } diff --git a/hosts/wim/home/dotfiles.nix b/hosts/wim/home/dotfiles.nix index 498d92de..6442afa7 100644 --- a/hosts/wim/home/dotfiles.nix +++ b/hosts/wim/home/dotfiles.nix @@ -30,10 +30,6 @@ in }; programs = { - fzf = { - enable = true; - enableBashIntegration = true; - }; wofi = { enable = true; diff --git a/hosts/wim/home/packages.nix b/hosts/wim/home/packages.nix index c90eceb1..19af9a93 100644 --- a/hosts/wim/home/packages.nix +++ b/hosts/wim/home/packages.nix @@ -12,17 +12,6 @@ in }; btop.enable = true; - - jq.enable = true; - - ripgrep = { - enable = true; - }; - - java = { - enable = true; - package = pkgs.temurin-bin-17; - }; }; home.packages = [