Git Product home page Git Product logo

dotfiles's Introduction

Jack's Dotfiles

My dotfiles for Vim, ZSH, Fish (which I'm trying!) and many other things. Mostly taken from endless googling and reading of other people's dotfiles.

Note that these aren't designed to be droppable onto your machine - lots of stuff is specific to me :)

Files are symlinked into the proper location, and have the . added. For example:

~/dotfiles/vim/vim => ~/.vim
~/dotfiles/vim/vimrc => ~/.vimrc
~/dotfiles/zsh/zshrc => ~/.zshrc
~/dotfiles/git/gitignore_global => ~/.gitignore_global
...and so on

Windows & WSL

  • Install Windows Terminal experimental (currently need the new text rendering engine with better cursor colour contrast)
  • Add Catpuccin theme for Win terminal + enable. Set Ubuntu as the default profile when opening the terminal / new tab.

Building nvim

  1. Clone nvim to ~/git/neovim.
  2. git pull if required on master.
  3. git checkout <tag> if you want a stable version.
  4. Build with the right flags:
    make CMAKE_BUILD_TYPE=Release CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=$HOME/neovim
    
  5. make install

Fonts and Kitty terminal

To get the MonoLisa font (note: do not commit the font files to this repo, it's a purchased font!) working, we need to (for whatever reason) convince Kitty that all its variants (including italic/script) are monospace.

Install the font (files in Google Drive); on Linux most reliable way is to copy files into ~/.local/share/fonts and run fc-cache -r.

Then create ~/.config/fonts/fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="scan">
    <test name="family">
        <string>MonoLisa script</string>
    </test>
    <edit name="spacing">
        <int>100</int>
    </edit>
</match>
</fontconfig>

The font-family name should be whatever Kitty shows when you run kitty +list-fonts.

Setting up Alacritty

  • Install latest version from GitHub
  • [WINDOWS] make sync_alacritty_windows to copy the config into the right place
  • Ensure alacritty.info is installed properly [https://github.com/alacritty/alacritty/blob/master/INSTALL.md#terminfo]. Note that you can drop the sudo from the command (at least for me).
  • Make sure echo $TERM gives you alacritty, and infocmp alacritty works.
  • Check it is all configured with the right fonts by running echo -e "\e[3mItalic" and seeing if it outputs italic.

Fonts

Fonts I have purchased are all in the Purchased Fonts folder of Google Drive (do not put them into the repo or public!).

Lua LS

Install the release from GitHub and then create the wrapper script and put it on the PATH:

https://github.com/luals/lua-language-server/wiki/Getting-Started#command-line

Setting up Lua things

Slow performance on large TS files

Seems to be an nvim-treesitter issue: nvim-treesitter/nvim-treesitter#3581. Even though that is marked as closed, it still causes me issues. The fix is to manually go into the nvim-treesitter install (.local/share/nvim/site/pack...) and comment out the injection that is mentioned in the opening post on that GH issue:

((comment) @_gql_comment
  (#eq? @_gql_comment "/* GraphQL */")
  (template_string) @graphql)

That makes it snappy on the larger files again.

Update on 19th April 2023: this commit to nvim-treesitter has updated the above injection and it seems much quicker now. So likely do not need to do this change by default.

Treesitter errors

If random errors are seen during syntax highlighting, it might be that the Treesitter parsers are not up to date with the version of Treesitter.

To fix, load up NeoVim and run :TSUpdate to force them to be updated. See nvim-treesitter/nvim-treesitter#3092 for more.

Installing fd

Installing fd swaps fzf-lua to use it and it is a bit snappier than the find command.

dotfiles's People

Contributors

bryant1410 avatar googya avatar jackfranklin avatar kamilogorek avatar michaeldfallen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dotfiles's Issues

The curl for homebrew install is outdated

In your ensure homebrew file, you run an outdate and therefore not working curl, instead it shoud be:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

The `` syntax is deprecated, switch to $() instead.

In line 113 of the zshrc, we see a case statement that uses `` for inline command evaluation rather than $().

According to this, this syntax is deprecated and is legacy and $() is the new `` but with things like better nesting and quoting.

fix vim tab suggestion

make it so it shows suggestions when you hit tab rather than just cycling through them blind

Duplicate settings

Just went through your vimrc for inspiration, nicked some settings and noticed you've defined 'ttyfast' and 'timeoutlen' twice in it :)

dot ctags

You may want to run Exuberant Ctags with specific command line options, for example the code_complete plug-in requires the signature field to be present. To do this you can create a configuration file for Exuberant Ctags, e.g. ~/.ctags on UNIX

Add script to setup rbenv

Post homebrew install, it should install Ruby 1.9.2, 1.9.3 and 2, and then set 1.9.3 to the default for the system.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.