Compare commits

...

11 Commits

8 changed files with 241 additions and 12 deletions

View File

@@ -123,6 +123,8 @@ in {
electrum
feather
gnupg
texpresso
python313Packages.pygments
# texlive.combined.scheme-full
# security

View File

@@ -41,10 +41,11 @@
vim-airline-themes
plenary-nvim
nvim-web-devicons
{
plugin = smear-cursor-nvim;
config = toLuaFile ./plugins/smear.lua;
}
texpresso-vim
# {
# plugin = smear-cursor-nvim;
# config = toLuaFile ./plugins/smear.lua;
# }
# {
# plugin = neovide;
# config = toLuaFile ./plugins/neovide.lua;
@@ -86,6 +87,10 @@
# plugin = vim-airline;
# config = toLuaFile ./plugins/airline.lua;
# }
{
plugin = markdown-preview-nvim;
config = toLuaFile ./plugins/markdown-preview-nvim.lua;
}
{
plugin = barbar-nvim;
config = toLuaFile ./plugins/barbar.lua;

View File

@@ -165,6 +165,31 @@ vim.api.nvim_create_autocmd("FileType", {
command = "setlocal wrap"
})
vim.api.nvim_create_augroup("vimrc", { clear = true })
-- vim.api.nvim_create_autocmd("FileType", {
-- desc = "texpresso compile",
-- group = "vimrc",
-- pattern = "tex",
-- callback = function(args)
-- -- start server on first BufWrite
-- vim.api.nvim_create_autocmd("BufWritePost", {
-- group = vim.api.nvim_create_augroup(
-- string.format("latex<buffer=%d>", args.buf),
-- { clear = true }
-- ),
-- buffer = args.buf,
-- callback = function()
-- if not vim.b.latex_started then
-- vim.cmd "TeXpresso %"
-- vim.b.latex_started = true
-- end
-- -- vim.cmd "VimtexView"
-- end,
-- })
-- end,
-- })
-- idk why i need to define it here bro
-- local builtin = require('telescope.builtin')
-- vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })

View File

@@ -0,0 +1,4 @@
-- browser
vim.g.mkdp_browser = "firefox"
-- keybindings
vim.keymap.set("n", "<leader>m", "<plug>MarkdownPreview")

View File

@@ -2,9 +2,10 @@ require('smear_cursor').setup({
scroll_buffer_space = false,
smear_between_buffers = false,
smear_between_neighbor_lines = false,
scroll_buffer_space = false,
stiffness = 0.5,
trailing_stiffness = 0.5,
matrix_pixel_threshold = 0.5,
damping = 0.95,
damping = 0.9999, -- how "bouncy" the cursor is. 1 makes the cursor freeze in the top left lmao
smear_insert_mode = false,
})

View File

@@ -7,11 +7,10 @@ vim.g.vimtex_view_method = 'zathura'
vim.g.vimtex_view_general_viewer = 'zathura'
vim.g.vimtex_view_general_options = '--unique file:@pdf#src:@line@tex'
-- Set the TeX flavor and quickfix mode.
vim.g.tex_flavor = 'latex'
vim.g.vimtex_quickfix_mode = 0
vim.g.vimtex_quickfix_enabled = 0
-- vim.g.vimtex_quickfix_mode = 0
-- vim.g.vimtex_quickfix_enabled = 0
-- Compiler backend.
-- vim.g.vimtex_compiler_method = 'latexmk'
@@ -48,7 +47,7 @@ vim.g.maplocalleader = ','
-- vim.g.Tex_IgnoreLevel = 8
-- Delete extra compilation files when a TeX buffer is deleted.
vim.api.nvim_create_autocmd("BufDelete", {
pattern = "*.tex",
command = "silent! !latexmk -c > /dev/null 2>&1 %:p",
})
-- vim.api.nvim_create_autocmd("BufDelete", {
-- pattern = "*.tex",
-- command = "silent! !latexmk -c > /dev/null 2>&1 %:p",
-- })

View File

@@ -171,6 +171,155 @@ ls.add_snippets("tex", {
}))
})
ls.add_snippets("tex", {
s("template-report", fmta([[
\documentclass[10pt]{article}
\usepackage{graphicx} % Required for inserting images
\usepackage[margin=1in]{geometry}
\usepackage[dvipsnames]{xcolor}
\usepackage{url}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{fullpage}
\usepackage{listings}
\usepackage[utf8]{inputenc}
\usepackage{parskip}
\usepackage{hyperref}
\usepackage{bookmark}
\usepackage[linguistics]{forest}
\usepackage{tikz}
\usepackage{float}
\usepackage[minted,skins]{tcolorbox} % 'skins' needed for shadows
% Define a new command \rustshadowfile that replaces \rustfile
\newtcbinputlisting{\rustshadowfile}[2][]{%
listing engine=minted,
minted language=rust,
minted options={linenos, numbersep=5pt, fontsize=\footnotesize, baselinestretch=1.05},
listing file={#2}, % The file to read
enhanced, % Enable skins for shadows
drop shadow, % Add the shadow
colback=white, % Background color
colframe=black!70, % Border color
boxrule=0.5pt, % Border width
arc=2pt, % Rounded corners (optional)
listing only, % Display code only (no title bar inside box)
#1 % Pass extra options like labels
}
\newtcblisting{rustcode}[1][]{
listing engine=minted,
minted language=rust,
minted options={linenos, numbersep=5pt, fontsize=\footnotesize, baselinestretch=1.05},
enhanced,
drop shadow, % Adds the shadow
colback=white, % Background color
colframe=black!70,% Border color
boxrule=0.5pt, % Border width
arc=2pt, % Rounded corners
listing only, % Hides the internal tcolorbox title bar
#1 % Allows passing extra options
}
% \usepackage{enumitem}
% \usepackage{euler}
% \usepackage{libertine}
\usepackage{import}
\usepackage{pdfpages}
\usepackage{transparent}
\newtheoremstyle{definitionstyle}
{}
{}
{\normalfont}
{}
{\bfseries}
{:}
{0.5em}
{}
\theoremstyle{definitionstyle}
\newtheorem{definition}{Definition}[section]
\newtheorem{all}{Theorem}[section]
\newtheorem{corollary}[all]{Corollary}
\newtheorem{lemma}[all]{Lemma}
\newtheorem{exercise}[all]{Exercise}
\newtheorem{proposition}[all]{Proposition}
\newtheorem{example}[all]{Example}
\newtheorem{theorem}{Theorem}
\newcommand{\namedcomment}[3]{{\sf \scriptsize \color{#2} #1: #3}}
\newcommand{\jake}[1]{\namedcomment{jake}{red}{#1}}
\title{<>}
\author{Jake Ginesin \and <>}
\date{December 5th, 1999}
\begin{document}
\maketitle
\end{document}
]], {i(1), i(0)}, {
indent_string = ""
}))
})
ls.add_snippets("tex", {
s("beamer", fmta([[
\documentclass{beamer}
\usetheme{metropolis} % Use metropolis theme
\title{<>}
\date{\today}
\author{Jacob Ginesin}
\institute{<>}
\begin{document}
\maketitle
\section{First Section}
\begin{frame}{First Frame}
Hello, world!
\end{frame}
\end{document}
]], {i(1), i(0)}, {
indent_string = ""
}))
})
ls.add_snippets("tex", {
s("beamer", fmta([[
\documentclass{beamer}
\usetheme{metropolis} % Use metropolis theme
\title{<>}
\date{\today}
\author{Jacob Ginesin}
\institute{<>}
\begin{document}
\maketitle
\section{First Section}
\begin{frame}{First Frame}
Hello, world!
\end{frame}
\end{document}
]], {i(1), i(0)}, {
indent_string = ""
}))
})
ls.add_snippets("tex", {
s("bib", fmta([[
\bibliographystyle{plain}
\bibliography{<>}
]], {i(0)}, {
indent_string = ""
}))
})
-- ----
@@ -461,6 +610,19 @@ ls.add_snippets("tex", {
{condition = in_mathzone}
),
s({trig = "rustcode"},
fmta(
[[
\begin{listing}[H]
\begin{rustcode}
<>
\end{rustcode}
\end{listing}
]],
{ i(1) }
)
),
s({
trig = "notin",
snippetType="autosnippet",

View File

@@ -0,0 +1,31 @@
#!/usr/bin/env bash
# designed to compile tex with isolation, in the case something like minted is used
set -euo pipefail
if [[ $# -lt 1 ]]; then
echo "Usage: $0 <texfile> [tectonic args...]"
exit 1
fi
TEXFILE="$1"
shift
mkdir -p ~/.cache/Tectonic
nix-shell -p bubblewrap tectonic cacert python313Packages.pygments which --run "
bwrap --ro-bind /nix /nix \
--bind \$(pwd) /workspace \
--bind ~/.cache/Tectonic ~/.cache/Tectonic \
--chdir /workspace \
--dev /dev \
--proc /proc \
--tmpfs /tmp \
--symlink \$(which bash) /bin/sh \
--ro-bind /etc/resolv.conf /etc/resolv.conf \
--ro-bind /etc/hosts /etc/hosts \
--ro-bind /etc/nsswitch.conf /etc/nsswitch.conf \
--setenv SSL_CERT_FILE \"\$SSL_CERT_FILE\" \
--setenv TMPDIR /tmp \
--setenv PATH \"\$PATH\" \
tectonic -Z shell-escape '$TEXFILE' --keep-intermediates $*
"