Compare commits

...

2 Commits

Author SHA1 Message Date
2064e0acb1 feat: install further packages on setup 2024-12-01 11:05:34 +01:00
fd1592e035 feat: nvim snippets for rust 2024-12-01 11:05:15 +01:00
5 changed files with 158 additions and 31 deletions

View File

@ -0,0 +1,66 @@
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local c = ls.choice_node
local d = ls.dynamic_node
local l = require("luasnip.extras").lambda
local r = require("luasnip.extras").rep
local p = require("luasnip.extras").partial
local m = require("luasnip.extras").match
local n = require("luasnip.extras").nonempty
local dl = require("luasnip.extras").dynamic_lambda
local types = require("luasnip.util.types")
return {
s('derivedebug', t '#[derive(Debug)]'),
s(':turbofish', { t { '::<' }, i(0), t { '>' } }),
s('print', {
-- t {'println!("'}, i(1), t {' {:?}", '}, i(0), t {');'}}),
t { 'println!("' }, i(1), t { ' {' }, i(0), t { ':?}");' } }),
s('for',
{
t { 'for ' }, i(1), t { ' in ' }, i(2), t { ' {', '' },
i(0),
t { '}', '' },
}),
s('struct',
{
t { '#[derive(Debug)]', '' },
t { 'struct ' }, i(1), t { ' {', '' },
i(0),
t { '}', '' },
}),
s('test',
{
t { '#[test]', '' },
t { 'fn ' }, i(1), t { '() {', '' },
t { ' assert' }, i(0), t { '', '' },
t { '}' },
}),
s('testcfg',
{
t { '#[cfg(test)]', '' },
t { 'mod ' }, i(1), t { ' {', '' },
t { ' #[test]', '' },
t { ' fn ' }, i(2), t { '() {', '' },
t { ' assert' }, i(0), t { '', '' },
t { ' }', '' },
t { '}' },
}),
s('if',
{
t { 'if ' }, i(1), t { ' {', '' },
i(0),
t { '}' },
}),
}

View File

@ -27,28 +27,28 @@ rec_ls = function()
end end
return { return {
s({trig = "ul", dscr = "Itemize with endless items"}, { s({ trig = "ul", dscr = "Itemize with endless items" }, {
t({ "\\begin{itemize}", "\t\\item " }), t({ "\\begin{itemize}", "\t\\item " }),
i(1), i(1),
d(2, rec_ls, {}), d(2, rec_ls, {}),
t({ "", "\\end{itemize}" }), t({ "", "\\end{itemize}" }),
}), }),
s({trig = "ol", dscr = "Enumerate with endless items"}, { s({ trig = "ol", dscr = "Enumerate with endless items" }, {
t({ "\\begin{enumerate}", "\t\\item " }), t({ "\\begin{enumerate}", "\t\\item " }),
i(1), i(1),
d(2, rec_ls, {}), d(2, rec_ls, {}),
t({ "", "\\end{enumerate}" }), t({ "", "\\end{enumerate}" }),
}), }),
s({trig = "sec", dscr = "Section" }, { s({ trig = "sec", dscr = "Section" }, {
c(1, { c(1, {
t '\\section{', t '\\section{',
t '\\subsection{', t '\\subsection{',
t '\\subsubsection{' t '\\subsubsection{'
}), i(2), t '}', i(0) }), i(2), t '}', i(0)
}), }),
s({trig = "bf", dscr = "textbf"}, { t({"\\textbf{"}), i(1), t({"}"}), i(0) }), s({ trig = "bf", dscr = "textbf" }, { t({ "\\textbf{" }), i(1), t({ "}" }), i(0) }),
s({trig = "it", dscr = "textit"}, { t({"\\textit{"}), i(1), t({"}"}), i(0) }), s({ trig = "it", dscr = "textit" }, { t({ "\\textit{" }), i(1), t({ "}" }), i(0) }),
s({trig = "rm", dscr = "textrm"}, { t({"\\textrm{"}), i(1), t({"}"}), i(0) }), s({ trig = "rm", dscr = "textrm" }, { t({ "\\textrm{" }), i(1), t({ "}" }), i(0) }),
s({trig = "verb", dscr = "verb"}, { t({"\\verb|"}), i(1), t({"|"}), i(0) }), s({ trig = "verb", dscr = "verb" }, { t({ "\\verb|" }), i(1), t({ "|" }), i(0) }),
s({trig = "frame", dscr="New frame"}, {t {'\\begin{frame}', '\t'}, i(0), t {'', '\\end{frame}'}}) s({ trig = "frame", dscr = "New frame" }, { t { '\\begin{frame}', '\t' }, i(0), t { '', '\\end{frame}' } })
} }

View File

@ -17,6 +17,14 @@
mode: '0755' mode: '0755'
tags: [always, setup] tags: [always, setup]
- name: Create symlink for vim to nvim
ansible.builtin.file:
src: /usr/bin/nvim
dest: /usr/local/bin/vim
state: link
become: true
tags: [always, setup]
- name: Server specific nvim tasks - name: Server specific nvim tasks
tags: server tags: server
block: block:

View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Liberation Serif</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Iosevka</family>
</prefer>
</alias>
</fontconfig>

View File

@ -23,10 +23,41 @@
- zathura - zathura
- zathura-pdf-mupdf - zathura-pdf-mupdf
- ttc-iosevka - ttc-iosevka
- ttf-liberation
- imlib2
- libxext
- libxrandr
state: present state: present
become: true become: true
tags: [pc, setup] tags: [pc, setup]
- name: Install packages from AUR
tags: [pc, setup]
block:
- name: Enable user to use sudo pacman without password
become: true
ansible.builtin.lineinfile:
path: /etc/sudo.conf
line: 'max ALL=(ALL) NOPASSWD: /usr/bin/pacman'
state: present
validate: 'visudo -cf %s'
- name: Install language server from AUR
kewlfft.aur.aur:
use: paru
state: present
name:
- pmount
- advmvcp
always:
- name: Disable user to use sudo pacman without password
become: true
ansible.builtin.lineinfile:
path: /etc/sudo.conf
line: 'max ALL=(ALL) NOPASSWD: /usr/bin/pacman'
state: absent
validate: 'visudo -cf %s'
- name: Install laptop specific packages - name: Install laptop specific packages
ansible.builtin.package: ansible.builtin.package:
name: name:
@ -80,6 +111,8 @@
- ~/.config/nsxiv/exec - ~/.config/nsxiv/exec
- ~/.config/zathura - ~/.config/zathura
- ~/.config/feh - ~/.config/feh
- ~/.config/nnn
- ~/.config/fontconfig
tags: [pc, setup] tags: [pc, setup]
- name: Copy over cmus config - name: Copy over cmus config
@ -90,13 +123,6 @@
with_fileglob: "cmus/*" with_fileglob: "cmus/*"
tags: pc tags: pc
- name: Create nnn config directory
ansible.builtin.file:
path: "~/.config/nnn"
state: directory
mode: '0755'
tags: [pc, setup]
- name: Clone nnn repository into temp - name: Clone nnn repository into temp
ansible.builtin.git: ansible.builtin.git:
repo: https://github.com/jarun/nnn.git repo: https://github.com/jarun/nnn.git
@ -125,6 +151,7 @@
- { src: redshiftrc, dest: redshift/redshiftrc } - { src: redshiftrc, dest: redshift/redshiftrc }
- { src: zathurarc, dest: zathura/zathurarc } - { src: zathurarc, dest: zathura/zathurarc }
- { src: feh_keys, dest: feh/keys } - { src: feh_keys, dest: feh/keys }
- { src: fonts.conf, dest: fontconfig/fonts.conf }
- name: Copy over nsixv key handler script - name: Copy over nsixv key handler script
ansible.builtin.copy: ansible.builtin.copy: