diff options
| -rw-r--r-- | channels.scm | 66 | ||||
| -rw-r--r-- | glide/.config/glide/glide.ts | 241 | ||||
| -rw-r--r-- | glide/.config/glide/sitesearch.glide.ts | 147 | ||||
| -rw-r--r-- | glide/.config/glide/tabbar.glide.ts | 256 | ||||
| l--------- | oni/home/config/8t88.scm | 1 | ||||
| -rw-r--r-- | oni/home/config/common.scm | 50 | ||||
| -rw-r--r-- | oni/home/config/data.scm | 150 | ||||
| -rw-r--r-- | oni/home/config/pop-os.scm | 148 | ||||
| -rw-r--r-- | oni/home/config/pop-os/emacs.el | 111 | ||||
| -rw-r--r-- | oni/home/config/rincewind.scm | 2 | ||||
| -rw-r--r-- | oni/home/services/emacs.scm | 39 | ||||
| -rw-r--r-- | oni/home/services/emacs/org-mem.el | 6 | ||||
| -rw-r--r-- | oni/home/services/stumpwm/stumpwm.lisp | 2 | ||||
| -rw-r--r-- | oni/home/services/zsh.scm | 41 | ||||
| -rw-r--r-- | oni/packages/atuin.scm | 1515 | ||||
| -rw-r--r-- | oni/packages/emacs-config.scm | 39 | ||||
| -rw-r--r-- | oni/packages/emacs.scm | 24 | ||||
| -rw-r--r-- | wezterm/.config/wezterm/wezterm.lua | 7 |
18 files changed, 1084 insertions, 1761 deletions
diff --git a/channels.scm b/channels.scm new file mode 100644 index 0000000..47f5833 --- /dev/null +++ b/channels.scm @@ -0,0 +1,66 @@ +(list (channel + (name 'guix) + (url "https://git.guix.gnu.org/guix.git") + (branch "master") + (commit + "e6e301ac5614c922a8c4f9c355d053ee80faa6d7") + (introduction + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) + (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + (branch "master") + (commit + "a6376bff79bfccc5e9519cf20954a89197884fac") + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + (channel + (name 'guix-gaming-games) + (url "https://gitlab.com/guix-gaming-channels/games.git") + (branch "master") + (commit + "acc252d2f7fed939ace5a5a98d7750197696dac3") + (introduction + (make-channel-introduction + "c23d64f1b8cc086659f8781b27ab6c7314c5cca5" + (openpgp-fingerprint + "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))) + (channel + (name 'rosenthal) + (url "https://codeberg.org/hako/rosenthal.git") + (branch "trunk") + (commit + "f15c27b931bb07cf76d6f8774730860263234676") + (introduction + (make-channel-introduction + "7677db76330121a901604dfbad19077893865f35" + (openpgp-fingerprint + "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))) + (channel + (name 'guix-rust-past-crates) + (url "https://codeberg.org/guix/guix-rust-past-crates.git") + (branch "trunk") + (commit + "b8b7ffbd1cec9f56f93fae4da3a74163bbc9c570") + (introduction + (make-channel-introduction + "1db24ca92c28255b28076792b93d533eabb3dc6a" + (openpgp-fingerprint + "F4C2 D1DF 3FDE EA63 D1D3 0776 ACC6 6D09 CA52 8292")))) + (channel + (name 'guix-past) + (url "https://codeberg.org/guix-science/guix-past.git") + (branch "master") + (commit + "473c942b509ab3ead35159d27dfbf2031a36cd4d") + (introduction + (make-channel-introduction + "0c119db2ea86a389769f4d2b9c6f5c41c027e336" + (openpgp-fingerprint + "3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5"))))) diff --git a/glide/.config/glide/glide.ts b/glide/.config/glide/glide.ts index 445091f..49c66de 100644 --- a/glide/.config/glide/glide.ts +++ b/glide/.config/glide/glide.ts @@ -24,6 +24,8 @@ glide.prefs.set("sidebar.visibility", "hide-sidebar"); // glide.prefs.set("browser.urlbar.placeholderName", "DuckDuckGo"); // glide.prefs.set("browser.urlbar.placeholderName.private", "DuckDuckGo"); +glide.keymaps.set("normal", "<C-x><C-c>", "quit"); + // Previous tab glide.keymaps.set("normal", "<A-p>", "tab_prev"); glide.keymaps.del('normal', '<C-k>'); @@ -48,7 +50,7 @@ glide.keymaps.set('command', '<C-n>', 'commandline_focus_next'); // Scroll up glide.keymaps.set('normal', '<C-p>', 'caret_move up'); -glide.keymaps.set('normal', 'k'); +glide.keymaps.del('normal', 'k'); glide.keymaps.set('command', '<C-p>', 'commandline_focus_back'); // Go back @@ -65,6 +67,7 @@ glide.keymaps.set("op-pending", "<C-g>", "mode_change normal"); // Close tab glide.keymaps.set('normal', 'x', 'tab_close'); glide.keymaps.del('normal', '<leader>d'); +glide.keymaps.set('normal', 'X', 'tab_reopen'); // Scroll down glide.keymaps.set('normal', '<C-v>', 'scroll_page_down'); @@ -79,8 +82,62 @@ glide.keymaps.set('normal', '<A-x>', 'commandline_show'); glide.keymaps.set('normal', 't', 'commandline_show tab_new '); glide.keymaps.del('normal', ':'); +const keyboard_quit = glide.excmds.create({ + name: "keyboard_quit", + description: 'Cancel whatever is going on and return to normal', +}, () => { + if (glide.findbar.is_open()) { + glide.findbar.close(); + } + + if (glide.commandline.is_active()) { + glide.commandline.close(); + } + + glide.excmds.execute('mode_change normal'); +}); + +glide.keymaps.set(['insert', 'command', 'normal'], '<C-g>', 'keyboard_quit'); + +// Search +const search_next = glide.excmds.create({ + name: "search_next", + description: "Open search or find the next result", +}, () => { + if (glide.findbar.is_focused()) { + glide.findbar.next_match(); + } + else { + glide.findbar.open(); + glide.excmds.execute('mode_change insert'); + } +}); + +const search_prev = glide.excmds.create({ + name: "search_prev", + description: "Open search of find the previous result", +}, () => { + if (glide.findbar.is_focused()) { + glide.findbar.previous_match(); + } + else { + glide.findbar.open(); + glide.excmds.execute('mode_change insert'); + } +}); + +glide.keymaps.set('normal', '<C-s>', 'search_next'); +glide.keymaps.set('normal', '<C-r>', 'search_prev'); +glide.keymaps.set('insert', '<C-s>', 'search_next'); +glide.keymaps.set('insert', '<C-r>', 'search_prev'); + async function installPuntAddons() { - await glide.addons.install("https://addons.mozilla.org/firefox/downloads/file/4677239/1password_x_password_manager-8.12.1.3.xpi"); + await glide.addons.install("https://addons.mozilla.org/firefox/downloads/file/4677239/1password_x_password_manager-8.12.1.3.xpi"); + await glide.addons.install('https://addons.mozilla.org/firefox/downloads/file/4508409/vue_js_devtools-7.7.7.xpi'); +} + +async function installPersonalAddons() { + await glide.addons.install('https://addons.mozilla.org/firefox/downloads/file/4628286/keepassxc_browser-1.9.11.xpi'); } glide.keymaps.set('normal', '<leader>m', async function() { @@ -99,10 +156,10 @@ async function open_or_activate(url) { const tabs = await glide.tabs.query({url: `*://${url.hostname}/*`}); const tab = tabs.find(t => t.url.startsWith(url.href)); - if (tabs.length === 0) { - glide.excmds.execute(`tab_new ${url}`); - } else { + if (tab) { await browser.tabs.update(tab.id, { active: true }); + } else { + glide.excmds.execute(`tab_new ${url}`); } } @@ -121,3 +178,177 @@ glide.keymaps.set('normal', '<leader>gd', async function() { ], }); }); + +glide.addons.install("https://addons.mozilla.org/firefox/downloads/file/4675310/ublock_origin-1.69.0.xpi"); + +// From https://github.com/glide-browser/glide/discussions/147#discussioncomment-15617575 + +interface Heading { + text: string; + tag: string; + id: string; + xpath: string; +} + +glide.keymaps.set("normal", "gh", async () => { + const activeTabId = await glide.tabs.active(); + + // Extract all visible headings from the page + const headings = await glide.content.execute((): Heading[] => { + function isVisible(element: HTMLElement): boolean { + const style = window.getComputedStyle(element); + return style.display !== 'none' && + style.visibility !== 'hidden' && + style.opacity !== '0' && + element.offsetParent !== null; + } + + function getXPath(element: Element): string { + let path = ''; + for (let el: Element | null = element; el && el.nodeType === Node.ELEMENT_NODE; el = el.parentElement) { + let index = 0; + for (let sibling = el.previousSibling; sibling; sibling = sibling.previousSibling) { + if (sibling.nodeType === Node.ELEMENT_NODE && (sibling as Element).tagName === el.tagName) { + index++; + } + } + const tagName = el.tagName.toLowerCase(); + const pathIndex = `[${index + 1}]`; + path = `/${tagName}${pathIndex}${path}`; + } + return path; + } + + return Array.from(document.querySelectorAll('h1, h2, h3, h4, h5, h6')) + .filter((heading) => isVisible(heading as HTMLElement)) + .map((heading): Heading => ({ + text: heading.textContent?.trim() || '', + tag: heading.tagName.toLowerCase(), + id: heading.id || '', + xpath: getXPath(heading) + })); + }, { tab_id: activeTabId }); + + if (headings.length === 0) { + glide.commandline.show({ + title: "No visible headings found", + options: [] + }); + return; + } + + glide.commandline.show({ + title: "Jump to heading", + options: headings.map((heading) => { + const level = parseInt(heading.tag.substring(1)); + const indent = '*'.repeat(level); + + return { + label: `${indent}${indent ? ' ' : ''}${heading.text}`, + async execute() { + await glide.content.execute((xpath: string) => { + const target = document.evaluate( + xpath, + document, + null, + XPathResult.FIRST_ORDERED_NODE_TYPE, + null + ).singleNodeValue as HTMLElement | null; + + if (target) { + target.scrollIntoView({ behavior: 'smooth', block: 'start' }); + target.style.outline = '2px solid orange'; + setTimeout(() => { target.style.outline = ''; }, 2000); + } + }, { + tab_id: activeTabId, + args: [heading.xpath] + }); + }, + }; + }), + }); +}, { description: "Jump to heading in current page" }); + +glide.keymaps.set('normal', 'ab', async () => { + const currentTab = await glide.tabs.get_first({ active: true }); + + glide.commandline.show({ + title: 'Add', + options: [{ + label: currentTab.title, + async execute({ input }) { + await browser.bookmarks.create({ + url: currentTab.url, + title: input || currentTab.title, + }); + } + }], + }); +}); + +glide.keymaps.set('normal', 'kb', async () => { + const bookmarks = await browser.bookmarks.search({}); + + glide.commandline.show({ + title: 'Remove', + options: bookmarks.map((b) => ({ + label: b.title, + async execute() { + await browser.bookmarks.remove(b.id); + }, + })), + }); +}); + + +// Split windows + +const split_window = glide.excmds.create({ + name: 'split_window', + description: 'Ask for a tab and show it in a split with this window', +}, async () => { + const activeTab = await glide.tabs.active(); + const tabs = await glide.tabs.query({}); + + glide.commandline.show({ + title: "Show other", + options: tabs.map(t => ({ + label: t.title, + async execute() { + glide.unstable.split_views.create([activeTab.id, t.id]); + } + })), + }); +}); + +const unsplit_window = glide.excmds.create({ + name: 'unsplit_window', + description: 'Remove the current split of windows', +}, ({ tab_id }) => { + glide.unstable.split_views.separate(tab_id); +}); + +const other_window = glide.excmds.create({ + name: 'other_window', + description: 'Focus other window', +}, async ({ tab_id }) => { + const split_tabs = await glide.unstable.split_views.get(tab_id); + const other_tab = split_tabs.tabs.filter(t => t.id !== tab_id)[0]; + + await browser.tabs.update(other_tab.id, { active: true }); +}); + +glide.keymaps.set('normal', '<C-x>4b', 'split_window'); +glide.keymaps.set('normal', '<C-x>1', 'unsplit_window'); +glide.keymaps.set('normal', '<A-o>', 'other_window'); + +glide.include('sitesearch.glide.ts'); +glide.include('tabbar.glide.ts'); + +const toggle_reader_mode = glide.excmds.create({ + name: 'toggle_reader_mode', + description: 'Toggle Reader Mode for the current tab', +}, () => { + browser.tabs.toggleReaderMode(); +}); diff --git a/glide/.config/glide/sitesearch.glide.ts b/glide/.config/glide/sitesearch.glide.ts new file mode 100644 index 0000000..f575015 --- /dev/null +++ b/glide/.config/glide/sitesearch.glide.ts @@ -0,0 +1,147 @@ +// From https://github.com/glide-browser/glide/discussions/147#discussioncomment-15337351 + +/** + * custom search providers + */ +const search_info: Record<string, { url: string, sep: string }> = { + 'youtube': { + url: "https://www.youtube.com/results?search_query=", sep: "+" + } +} as const + +/* + * pick tabs via a selection of bookmarks and history + */ +glide.keymaps.set("normal", "<leader>t", async () => { + + //let combined: Array<Browser.Bookmarks.BookmarkTreeNode | Browser.History.HistoryItem> = [] + let combined = [] + const tabs = await browser.tabs.query({}); + tabs.forEach(entry => combined.push({ + title: entry.title ?? 'Unnamed Tab', + url: entry.url, + type: 'T', + favIconUrl: entry.favIconUrl + })); + + const bookmarks = await browser.bookmarks.search({}); + bookmarks + .filter(bmark => bmark.type !== 'folder') + .forEach(bmark => combined.push({ title: bmark.title, url: bmark.url, type: 'B', favIconUrl: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAE/ElEQVR4Xu2cW2wUVRjHvzPdXdou0gvUemniegnRQtquimBNa4kpJfrCJrQ+Gewjb5oQfJPLG8akjzxawpMtyeKDpuBDkWqEBNMFEcUINEQTTEVrwbZ7mTmeb9xZ5j6zZXbd7X4n2YdOz3xz5rf//3fOmZ1zGPgsyelvY7m0vIcz/jpw3iNOi/k8teKqMQYLHNg5YNJnI7teG3drIPNq/cTZb95lirKPAx/wqlul/5+TGLy/d6j/tF37HQEJMD0CzNgaBmPmMT6yu3/UfNAWkKoaLo9xDs1VqorVNtsCyQII4YAif+J0hXAoBO2bWqCxfh20Nm8wVNto+nu1rSzleXcXFuHXO/Pqx64IuyX0djMAOnXm/B6FQ9KpgZtjHRDreBzCobpS3kNZYi/eX4JLV6/D8krafL05YbWntYMFQMnp2eZc5t4tJ1v1vdwFG9Y3lqXx5bpINifDzKUrVkhS3ajWuxUATU59/R4HZcyucR2PtUH388+Wq91lvQ4qCSEZCmOnR4b6EnisAGjizMxsfnxjaeDAti5oa20qScNvdg8GGveZy19a4nFxRJYVyIoPFxYxl8s/3TDkJBwnDQ/1txgBTZ23npmPVO2ANCB4g+lMDhQTJEzcF1LXDNxEHlLF80BBLoBiT7bDtq2bA/2mtWDlUJC+4QhpRUAyK+nzcxdWDwjP3PLcU9DW0hS41coNCO8lJ6yWEQlaXx4aUEnkI4K+dPBooKG/++hDQzzMnbEn2gFdoLfacjpLgPQEmh+JQm+8E6IN9erhJQJkFSbOAgZ74yokAuRgXFTSYO+LpQe0vWdLILkjt+vtQOJoQUJnP4W//r4Hd+bvwuL9f2xjY4/86KbW0uagSgak3fn8nwtw8/ZvFkiYuF/peoEAIQEnSG8N7CBAGoEff5mz2I0A6fSBOennW7cNiiFApsxzMfUDAUIC2IvZFQKUp0KAPEZNBIgAPdzAmhRECiIFGQiUYrJK3byLyCgHUQ6iHEQ5qBgNUJL2oEWACFAxhrLWJQWRgkhBtgSq4WcffcPpiSI9UfRnZZqL0VzMn1KcapGCSEFWAlLiTfWgkvzCU141pyDW3gZ1x4+pYOT9HwD/3X4JgUau5gDVfXwIWFenev/8yjWQDxxxVVFNAUJrSfv3GYAox0+4Wq1mABWstT5qVIx4a8zNajUDSG8ts6fcrFYTgOysZYbkZLU1D8jRWmZCDlZb84DcrOXHakEAYmJF9PDuvp14PV+LWez61aAedygnT4FyclK9hPTOsPjs9RwM6iv4Pb+oxx12C+omXFb7lBKQGlt7n9ncYxWFyr2yb0CMpcRiurgW7X9XUIAMXEP5AYQL6UKRcDyx89U5AmR+T/qri6lwJJTQw6mIHFQpCorWR2z3ECCL5b8hAuTxnjQBcgGE457G+rA67jEXshiOvyRptCESGidAOgKFtRoMUtF1kcK4hxSUJ6ACYmxBioTiDYwVxj2OgCanZqaL2SsoqKlGObp5XHmIS6K0grvU7Ih3pqRIOOEGxzgO8tgWx3wj1QQIVx3iwroCoJamI29s7z7s58sxDI7c9u+oVkBLyyvw/fUbD5pvmmt5QTIAUjdyy2Rn/ew8VQ0KkmVZhZPO/LeJgN1cqyhAWBkhZTO5pNNOMFrASgeEysFVhhocQcd2rlU0IO0Er93vKhUQJuQ/RL7Rcg4OArkknfDaDtAJ1L+Y5wqFFVK3lAAAAABJRU5ErkJggg==' })); + + const topsites = await browser.topSites.get({includeFavicon: true}); + topsites + .forEach(s => combined.push({ title: s.title, url: s.url, type: 'S', favIconUrl: s.favicon})); + + const history = await browser.history.search({ text: "", maxResults: 100 }); + history.forEach(entry => combined.push({ title: entry.title, url: entry.url, type: 'H', favIconUrl: null })); + + // filtering + const newtab = (await browser.runtime.getManifest()).chrome_url_overrides?.newtab + const startpage = glide.prefs.get("browser.startup.homepage") + + let filtered_combined = combined.filter(e => e.url !== startpage && e.url !== newtab) + + glide.commandline.show({ + title: "open", + options: filtered_combined.map((entry) => ({ + label: entry.title, + render() { + return DOM.create_element("div", { + style: { + display: "flex", + alignItems: "center", + gap: "8px", + }, + children: [ + entry.favIconUrl + ? DOM.create_element("img", [], { + src: entry.favIconUrl, + style: { + width: '16px', + height: '16px', + } + }) + : DOM.create_element("span", [entry.type], { + style: { color: "#777", fontSize: "0.9em" }, + }), + DOM.create_element("span", [entry.title]), + DOM.create_element("span", [entry.url], { + style: { color: "#777", fontSize: "0.9em" }, + }), + ], + }); + }, + async execute({ input: input }) { + if (entry.title.toLowerCase().includes(input.toLowerCase())) { + const tab = await glide.tabs.get_first({ + url: entry.url, + }); + if (tab) { + const windowid = tab.windowId; + if (windowid === undefined) { + return + } + await browser.windows.update(windowid, { + focused: true + }) + await browser.tabs.update(tab.id, { + active: true, + }); + } else { + + await browser.tabs.create({ + active: true, + url: entry.url, + windowId: browser.windows.getCurrent().id, + }); + } + } else { + const terms = input.split(" ",) + const first = terms[0] + if (terms.length > 1 && first !== undefined && first in search_info) { + let info = search_info[first]; + let query = info?.url + terms.slice(1).join(info?.sep) + browser.tabs.create({ + active: true, + url: query + }); + return; + } + + let url: URL; + try { + url = new URL(input) + } catch (_) { + try { + url = new URL("http://" + input) // firefox automatically makes this https + + // avoids single word searches becoming URLs + if (url.hostname.split(".").length == 1 && url.hostname !== "localhost") { + throw "probably not a hostname"; + } + } catch (_) { // probably not a url + browser.search.search({ + query: terms.filter(s => s).join(" "), + disposition: "NEW_TAB", + }) + return + } + + } + // so it IS a URL! + + const tab = await glide.tabs.get_first({ url: url.href }); + + if (tab) { + browser.tabs.update(tab.id, { active: true }); + } + else { + browser.tabs.create({ active: true, url }); + } + } + + }, + })), + }); +}, { description: "Open the site searcher" }); diff --git a/glide/.config/glide/tabbar.glide.ts b/glide/.config/glide/tabbar.glide.ts new file mode 100644 index 0000000..3ad7817 --- /dev/null +++ b/glide/.config/glide/tabbar.glide.ts @@ -0,0 +1,256 @@ +// Status bar +// https://github.com/glide-browser/glide/discussions/147#discussioncomment-15573076 + +const status_bar_id = "glide-status-bar" + +const mode_colors: Record<keyof GlideModes, string> = { + "command": "--glide-mode-command", + "hint": "--glide-mode-hint", + "ignore": "--glide-mode-ignore", + "insert": "--glide-mode-insert", + "normal": "--glide-mode-normal", + "op-pending": "--glide-mode-op-pending", + "visual": "--glide-mode-visual", +} +const fallback_mode_color = "--glide-fallback-mode" + +glide.autocmds.create("ConfigLoaded", async () => { + const existing = document.getElementById(status_bar_id) + if (existing) { + existing.remove() + } + + const status_bar = DOM.create_element("div", { + id: status_bar_id, + children: [ + DOM.create_element("div", { + className: "glide-status-tabs", + children: [] + }), + DOM.create_element("div", { + className: "glide-status-right", + children: [] + }) + ] + }) + + const browser = document.getElementById("browser") + if (browser) { + browser.appendChild(status_bar) + } + + setTimeout(() => { + update_status_bar() + }, 100) +}) + +glide.autocmds.create("WindowLoaded", async () => { + let status_bar = document.getElementById(status_bar_id) as HTMLElement + if (!status_bar) { + status_bar = DOM.create_element("div", { + id: status_bar_id, + children: [ + DOM.create_element("div", { + className: "glide-status-tabs", + children: [] + }), + DOM.create_element("div", { + className: "glide-status-right", + children: [] + }) + ] + }) as HTMLElement + + const browser = document.getElementById("browser") + if (browser) { + browser.appendChild(status_bar) + } + } + + await update_status_bar() +}) + +function ensure_status_bar() { + let status_bar = document.getElementById(status_bar_id) as HTMLElement + if (!status_bar) { + status_bar = DOM.create_element("div", { + id: status_bar_id, + children: [ + DOM.create_element("div", { + className: "glide-status-tabs", + children: [] + }), + DOM.create_element("div", { + className: "glide-status-right", + children: [] + }) + ] + }) as HTMLElement + + const browser = document.getElementById("browser") + if (browser) { + browser.appendChild(status_bar) + } + } else { + let tabs = status_bar.querySelector(".glide-status-tabs") + let right = status_bar.querySelector(".glide-status-right") + if (!tabs || !right) { + status_bar.innerHTML = "" + status_bar.appendChild(DOM.create_element("div", { + className: "glide-status-tabs", + children: [] + })) + status_bar.appendChild(DOM.create_element("div", { + className: "glide-status-right", + children: [] + })) + } + } + return status_bar +} + +async function update_status_bar() { + // Ensure status bar exists + const status_bar = ensure_status_bar() as HTMLElement + if (!status_bar) return + + const tabs_container = status_bar.querySelector(".glide-status-tabs") + const right = status_bar.querySelector(".glide-status-right") + if (!tabs_container || !right) { + // If elements don't exist, recreate them + ensure_status_bar() + return + } + + try { + const current_window = await browser.windows.getCurrent(); + const tabs = await browser.tabs.query({ + windowId: current_window.id, + }); + const active_tab = await glide.tabs.active(); + const tab_index = tabs.findIndex(t => t.id == active_tab.id); + const url = active_tab.url; + const title = active_tab.title || "Untitled"; + + let display_url = url || "about:blank"; + + if (display_url.length > 50) { + display_url = display_url.substring(0, 47) + "..."; + } + + tabs_container.textContent = `[${tab_index + 1}/${tabs.length}]`; + right.textContent = `${title} | ${display_url}`; + } catch (e) { + tabs_container.textContent = e; + right.textContent = "Error loading tabs" + } +} + +glide.autocmds.create("ModeChanged", "*", (args) => { + const style_id = "glide-custom-mode-indicator" + glide.styles.remove(style_id) + glide.styles.add(` + #browser { + border-bottom: 3px solid var(${mode_colors[args.new_mode] ?? fallback_mode_color}) + } + `, { id: style_id }) +}) + +glide.autocmds.create("UrlEnter", /.*/, async () => { + await update_status_bar() +}) + +browser.tabs.onActivated.addListener(async () => { + await update_status_bar() +}) + +browser.tabs.onUpdated.addListener(async (tabId, changeInfo) => { + if (changeInfo.url || changeInfo.title) { + await update_status_bar() + } +}) + +browser.tabs.onCreated.addListener(async () => { + await update_status_bar() +}) + +browser.tabs.onRemoved.addListener(async () => { + await update_status_bar() +}); + +browser.windows.onFocusChanged.addListener(async (windowId) => { + await update_status_bar(); +}); + +glide.styles.add(` + #${status_bar_id} { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 24px; + background-color: #1e1e1e; + color: #d4d4d4; + font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'Courier New', monospace; + font-size: 12px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 12px; + border-top: 1px solid #3e3e3e; + z-index: 10000; + box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.3); + overflow: hidden; + } + + #${status_bar_id} .glide-status-tabs { + display: flex; + align-items: center; + gap: 0; + flex: 1; + overflow-x: auto; + overflow-y: hidden; + scrollbar-width: none; + -ms-overflow-style: none; + } + + #${status_bar_id} .glide-status-tabs::-webkit-scrollbar { + display: none; + } + + #${status_bar_id} .glide-tab-item { + color: #858585; + cursor: pointer; + padding: 2px 4px; + border-radius: 2px; + white-space: nowrap; + transition: background-color 0.2s ease, color 0.2s ease; + } + + #${status_bar_id} .glide-tab-item:hover { + background-color: #2e2e2e; + color: #d4d4d4; + } + + #${status_bar_id} .glide-tab-item.active { + color: #569cd6; + font-weight: 600; + background-color: #2a2a2a; + } + + #${status_bar_id} .glide-tab-separator { + color: #3e3e3e; + user-select: none; + } + + #${status_bar_id} .glide-status-right { + color: #858585; + margin-left: 12px; + white-space: nowrap; + flex-shrink: 0; + } + + #browser { + padding-bottom: 24px; + } + `, { id: "glide-status-bar-styles" }); diff --git a/oni/home/config/8t88.scm b/oni/home/config/8t88.scm new file mode 120000 index 0000000..e47e8ec --- /dev/null +++ b/oni/home/config/8t88.scm @@ -0,0 +1 @@ +data.scm
\ No newline at end of file diff --git a/oni/home/config/common.scm b/oni/home/config/common.scm index c8c6e56..2b52f58 100644 --- a/oni/home/config/common.scm +++ b/oni/home/config/common.scm @@ -209,14 +209,14 @@ LocalForward 19999 localhost:19999")) "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) - (channel - (name 'guix-gaming-games) - (url "https://gitlab.com/guix-gaming-channels/games.git") - (introduction - (make-channel-introduction - "c23d64f1b8cc086659f8781b27ab6c7314c5cca5" - (openpgp-fingerprint - "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))) + ;; (channel + ;; (name 'guix-gaming-games) + ;; (url "https://gitlab.com/guix-gaming-channels/games.git") + ;; (introduction + ;; (make-channel-introduction + ;; "c23d64f1b8cc086659f8781b27ab6c7314c5cca5" + ;; (openpgp-fingerprint + ;; "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))) (channel (name 'rosenthal) (url "https://codeberg.org/hako/rosenthal.git") @@ -225,16 +225,7 @@ LocalForward 19999 localhost:19999")) (make-channel-introduction "7677db76330121a901604dfbad19077893865f35" (openpgp-fingerprint - "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7")))) - (channel - (name 'guix-rust-past-crates) - (url "https://codeberg.org/guix/guix-rust-past-crates.git") - (branch "trunk") - (introduction - (make-channel-introduction - "1db24ca92c28255b28076792b93d533eabb3dc6a" - (openpgp-fingerprint - "F4C2D1DF3FDEEA63D1D30776ACC66D09CA528292"))))))) + "13E7 6CD6 E649 C28C 3385 4DF5 5E5A A665 6149 17F7"))))))) (define home-zsh-services (list (service home-zsh-service-type @@ -270,19 +261,25 @@ LocalForward 19999 localhost:19999")) "bindkey -e '^[b' emacs-backward-word\n" "bindkey -e '^[B' emacs-backward-word\n" "autoload -Uz compinit\n" - "compinit\n" + "compinit -u\n" "function pipestr() {\n" " if [[ \"$pipestatus\" != \"0\" ]]; then\n" " echo -n \"[\\033[1;31m${(pj.|.)pipestatus}\\033[0m]\"\n" " fi\n" "}\n" - "function horizontal-rule() {\n" - " local width=$(tput cols)\n" - " echo -e \"\\033[0;32m${(pl:$width::━:)}\\033[0m\"\n" - "}\n" - "preexec_functions+=(horizontal-rule)\n" - "precmd_functions+=(horizontal-rule)\n" + "autoload -Uz add-zsh-hook\n" + "autoload -Uz vcs_info\n" + "add-zsh-hook precmd vcs_info\n" + "zstyle ':vcs_info:*' actionformats '%u%c%B%F{1}%a%f%%b %F{3}%s%f:%F{5}%r%f:%F{4}%b%f'" + "zstyle ':vcs_info:*' enable bzr git hg svn\n" + "zstyle ':vcs_info:*' formats '%u%c%F{3}%s%f:%F{5}%r%f:%F{4}%b%f'\n" + "zstyle ':vcs_info:*' nvcsformats ''\n" + "zstyle ':vcs_info:bzr:*' branchformat '%b'\n" + "zstyle ':vcs_info:git:*' check-for-changes 1\n" + "zstyle ':vcs_info:*' stagedstr '%F{2}Δ%f'\n" + "zstyle ':vcs_info:*' unstagedstr '%F{1}Δ%f'\n" "PROMPT=\"%T \\$(spwd) \\$(pipestr)%B%(?.%F{2}.%F{1})>%f%b \"\n" + "RPROMPT='${vcs_info_msg_0_}'\n" ;; Prevent aliases from being expanded before looking up ;; completions. "setopt completealiases\n" @@ -346,4 +343,5 @@ LocalForward 19999 localhost:19999")) ,(local-file "../../../zsh/.zsh/functions/x-yank")) (".zsh/functions/_abcde" ,(local-file "../../../zsh/.zsh/functions/_abcde")))) - (service home-zsh-completions-service-type))) + (service home-zsh-completions-service-type) + (service home-zsh-direnv-service-type))) diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm index 2738f64..2cf41a0 100644 --- a/oni/home/config/data.scm +++ b/oni/home/config/data.scm @@ -1,10 +1,11 @@ (define-module (oni home config data) #:use-module (gnu home services desktop) #:use-module (gnu home services) + #:use-module (gnu home services gnupg) + #:use-module (gnu home services niri) #:use-module (gnu home) #:use-module (gnu packages admin) - #:use-module ((gnu packages emacs) - #:select (emacs)) + #:use-module (gnu packages emacs) #:use-module ((gnu packages emacs-xyz) #:select (emacs-guix emacs-org-contacts)) @@ -19,10 +20,6 @@ #:use-module (gnu services) #:use-module (guix gexp) #:use-module (oni home config common) - #:use-module ((oni home services admin) - #:select (home-cbatticon-service-type)) - #:use-module (oni home services cmst) - #:use-module (oni home services dunst) #:use-module ((oni home services emacs) #:select (home-emacs-service-type home-emacs-configuration @@ -36,94 +33,38 @@ home-emacs-org-caldav-service-type home-emacs-envrc-configuration)) #:use-module (oni home services environment) + #:use-module (oni home services git) #:use-module (oni home services kdeconnect) #:use-module ((oni home services mail) #:select (home-mbsync-service-type)) - #:use-module ((oni home services picom) - #:select (home-picom-service-type - home-picom-configuration)) - #:use-module (oni home services polybar) - #:use-module (oni home services rofi) - #:use-module (oni home services sawfish) #:use-module (oni home services syncthing) - #:use-module (oni home services unclutter) - #:use-module ((oni home services xdisorg) - #:select (home-xss-lock-service-type)) - #:use-module (oni home services xsession) + #:use-module (oni home services wm) #:use-module ((oni packages emacs) #:select (emacs-outli emacs-syncthing-status)) - #:use-module ((oni packages emacs-config) - #:select (emacs-oni-org-roam - emacs-oni-vterm - emacs-oni-elisp - emacs-oni-eshell - emacs-oni-core - emacs-oni-compilation - emacs-oni-common-lisp - emacs-oni-gui - emacs-oni-magit - emacs-oni-project - emacs-oni-bookmark - emacs-oni-dired - emacs-oni-browse-url - emacs-oni-c - emacs-oni-circe - emacs-oni-conf - emacs-oni-css - emacs-oni-diff-hl - emacs-oni-ediff - emacs-oni-eww - emacs-oni-grep - emacs-oni-highlight-indent-guides - emacs-oni-html - emacs-oni-json - emacs-oni-log-edit - emacs-oni-lua - emacs-oni-makefile - emacs-oni-nxml - emacs-oni-package - emacs-oni-projectile - emacs-oni-scheme - emacs-oni-sh - emacs-oni-shr - emacs-oni-tramp - emacs-oni-embrace - emacs-oni-git-commit - emacs-oni-python - emacs-oni-yaml - emacs-oni-gnus)) - #:use-module (oni packages pick-random-wallpaper) - #:use-module (oni packages sawfish) - #:use-module (oni packages shutdown-rofi)) - -(define data-picom-service - (service home-picom-service-type - (home-picom-configuration - (detect-transient #t) - (shadow #t) - (wintypes '((dnd (shadow . #f)) - (dock (shadow . #f)))) - (shadow-radius 10) - (shadow-exclude '("name = 'mowedline'" - "class_g = 'trayer'" - "bounding_shaped"))))) + #:use-module (oni packages emacs-config) + #:use-module (oni packages pick-random-wallpaper)) (home-environment (packages (append foreign-distro-compatibility-packages - (list (specification->package+output "font-fantasque-sans") - (specification->package+output "font-comic-neue") - font-dosis + (map specification->package '("font-fantasque-sans" + "font-comic-neue" + "fuzzel" + "wezterm" + "signal-desktop" + "openssh" + "keepassxc" + "font-dosis" + "swaybg")) + (list pick-random-wallpaper - shutdown-rofi - emacs-sawfish emacs-org-contacts emacs-syncthing-status emacs-outli emacs-guix - (emacs-oni-org-roam emacs) + (emacs-oni-org-roam emacs-pgtk) emacs-oni-vterm emacs-oni-elisp emacs-oni-core @@ -161,6 +102,7 @@ emacs-oni-python emacs-oni-yaml emacs-oni-gnus + emacs-oni-elfeed gforth))) @@ -170,43 +112,21 @@ (list home-channels-service home-environment-service - home-rofi-default-service - home-dunst-default-service home-redshift-service home-guile-service - home-xmodmap-service home-openssh-service home-kitty-service - data-picom-service - - (service home-xsession-service-type - (home-xsession-configuration - (configuration - (list - (mixed-text-file - "xsession" - "xrdb -cpp m4 -merge \"${HOME}/.config/X11/Xresources\" -I\"${HOME}/.config/X11/Xresources.d\"\n" - "xrandr --setprovideroutputsource modesetting NVIDIA-0\n" - "xrandr --auto\n" - "xrandr --dpi 96\n"))))) - (service home-sawfish-service-type) - - (service home-polybar-service-type - (home-polybar-configuration - (bar "data"))) + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (ssh-support? #t) + (extra-content + "allow-emacs-pinentry\n"))) (service home-kdeconnect-service-type) - (service home-cmst-service-type) - (service home-syncthing-service-type) - (service home-unclutter-service-type - (home-unclutter-configuration - (package unclutter-xfixes) - (exclude-root #t))) - (service home-emacs-service-type (home-emacs-configuration (helpful-configuration @@ -218,6 +138,7 @@ (home-emacs-yasnippet-capf-configuration)) (envrc (home-emacs-envrc-configuration)) + (package emacs-pgtk) (configurations (list (local-file "../services/emacs/init.el") @@ -238,8 +159,23 @@ (service home-emacs-golden-ratio-service-type) (service home-emacs-pinentry-service-type) (service home-emacs-org-caldav-service-type) + (service home-emacs-org-mem-service-type) + + (service home-mbsync-service-type) - (service home-xss-lock-service-type) - (service home-cbatticon-service-type) + (service home-git-service-type + (home-git-configuration + (user-name "Tom Willemse") + (user-email "tom@ryuslash.org") + (sendemail-sendmailcmd "/usr/bin/msmtp") + (init-default-branch "main") + (init-default-branchname "main") + (advice-detached-head #f) + (extra " +[diff \"org\"] + xfuncname = \"^\\\\*+ +(.+)\" +[diff \"lisp\"] + xfuncname = \"^[[:space:]]*?\\\\(def\\\\w+? ((\\\\w|-|'|:|=|<|>)+)\" +"))) - (service home-mbsync-service-type))))) + (service home-niri-service-type))))) diff --git a/oni/home/config/pop-os.scm b/oni/home/config/pop-os.scm index ab6b7c0..8bae7c7 100644 --- a/oni/home/config/pop-os.scm +++ b/oni/home/config/pop-os.scm @@ -4,21 +4,10 @@ #:use-module ((gnu home services gnupg) #:select (home-gpg-agent-service-type home-gpg-agent-configuration)) - #:use-module ((gnu packages) - #:select (specification->package+output)) - #:use-module ((gnu packages admin) - #:select (htop)) - #:use-module ((gnu packages emacs) - #:select (emacs)) - #:use-module (gnu packages emacs-xyz) - #:use-module ((gnu packages hunspell) - #:select (hunspell - hunspell-dict-en-ca)) - #:use-module ((gnu packages music) - #:select (playerctl)) - #:use-module ((gnu packages pulseaudio) - #:select (pamixer)) - #:use-module (gnu packages xdisorg) + #:use-module (gnu packages) + #:use-module (gnu packages emacs) + #:use-module (gnu packages music) + #:use-module (gnu packages pulseaudio) #:use-module ((gnu services) #:select (service)) #:use-module ((guix gexp) @@ -32,6 +21,7 @@ #:select (home-environment-service)) #:use-module ((oni home services flameshot) #:select (home-flameshot-service-type)) + #:use-module (oni home services git) #:use-module (oni home services herbstluftwm) #:use-module ((oni home services mail) #:select (home-mbsync-service-type)) @@ -39,37 +29,7 @@ #:use-module (oni home services rofi) #:use-module (oni home services xdisorg) #:use-module (oni packages emacs) - #:use-module ((oni packages emacs-config) - #:select (emacs-oni-bookmark - emacs-oni-browse-url - emacs-oni-common-lisp - emacs-oni-compilation - emacs-oni-core - emacs-oni-css - emacs-oni-diff-hl - emacs-oni-dired - emacs-oni-elisp - emacs-oni-git-commit - emacs-oni-grep - emacs-oni-gui - emacs-oni-html - emacs-oni-log-edit - emacs-oni-magit - emacs-oni-org - emacs-oni-org-roam - emacs-oni-package - emacs-oni-php - emacs-oni-project - emacs-oni-projectile - emacs-oni-scheme - emacs-oni-shr - emacs-oni-tramp - emacs-oni-web-mode - emacs-oni-yaml - emacs-oni-lua - emacs-oni-sh - emacs-oni-js - emacs-oni-elfeed)) + #:use-module (oni packages emacs-config) #:use-module ((oni packages fonts) #:select (font-comfortaa font-annotation-mono)) @@ -128,7 +88,7 @@ '(("focus=on") ("class=Emacs" "tag=dev" "index=01" "switchtag=on" "hook=emacs") - ("class~'URxvt|kitty'" "tag=dev" "index=1" + ("class~'URxvt|kitty|wezterm'" "tag=dev" "index=1" "switchtag=on" "hook=urxvt") ("class~'Conkeror|[Ff]irefox|Chromium|glide-glide'" "tag=web" "index=0" "switchtag=on") @@ -206,10 +166,38 @@ (home-module (packages (append foreign-distro-compatibility-packages - (list (specification->package+output "font-fantasque-sans") - (specification->package+output "font-dosis") - (specification->package+output "font-comic-neue") - emacs-oni-core + (map specification->package '("font-fantasque-sans" + "font-dosis" + "wezterm" + "tree-sitter-vue" + "tree-sitter-typescript" + "tree-sitter-css" + "emacs-popup" + "emacs-git-messenger" + "emacs-csv-mode" + "htop" + "emacs-deft" + "emacs-dashboard" + "emacs-typescript-mode" + "hunspell" + "hunspell-dict-en-ca" + "emacs-dired-git-info" + "playerctl" + "pamixer" + ;; need to have a file + ;; /etc/udev/rules.d/40-monitor-hotplug.rules + ;; ACTION=="change", SUBSYSTEM=="drm", RUN+="/var/guix/profiles/per-user/tomwillemsen/guix-home/profile/bin/autorandr --batch --change --default default" + "autorandr" + "emacs-guix" + "emacs-rainbow-identifiers" + "emacs-forge" + "emacs-vundo" + "emacs-sops" + "emacs-dockerfile-mode" + "emacs-slack" + "emacs-combobulate" + "emacs-prodigy")) + (list emacs-oni-core emacs-oni-compilation emacs-oni-common-lisp emacs-oni-browse-url @@ -231,47 +219,28 @@ emacs-oni-grep emacs-oni-shr emacs-oni-css - emacs-dockerfile-mode emacs-oni-yaml - emacs-oni-web-mode + ;; emacs-oni-web-mode emacs-oni-php emacs-oni-projectile - htop - ;; emacs-php-ts-mode emacs-oni-lua emacs-oni-sh - emacs-deft - emacs-dashboard - emacs-flycheck-phpstan - emacs-org-mem - emacs-typescript-mode emacs-oni-js - hunspell - hunspell-dict-en-ca - emacs-dired-git-info emacs-oni-elfeed + emacs-oni-eshell + emacs-oni-outline + emacs-oni-sql + emacs-oni-logview - shutdown-rofi - playerctl - pamixer - ;; need to have a file - ;; /etc/udev/rules.d/40-monitor-hotplug.rules - ;; ACTION=="change", SUBSYSTEM=="drm", RUN+="/var/guix/profiles/per-user/tomwillemsen/guix-home/profile/bin/autorandr --batch --change --default default" - autorandr - - emacs-guix - emacs-rainbow-identifiers - emacs-forge - - emacs-vundo + emacs-flycheck-phpstan + emacs-vue-ts-mode - emacs-sops))) + shutdown-rofi))) (services (append home-zsh-services (list home-channels-service home-dunst-default-service home-environment-service - home-kitty-service home-rofi-default-service (service home-emacs-service-type @@ -294,7 +263,8 @@ "(with-eval-after-load 'project (require 'oni-project))\n" "(require 'oni-gui)\n" "(provide 'oni-gnus)\n" - "(add-to-list 'auto-mode-alist '(\"\\.vue$\" . web-mode))\n"))))) + ;; "(add-to-list 'auto-mode-alist '(\"\\.vue$\" . web-mode))\n" + ))))) (service home-emacs-org-journal-service-type) (service home-wakatime-service-type (home-wakatime-configuration @@ -312,4 +282,22 @@ (home-gpg-agent-configuration (ssh-support? #t) (extra-content - "allow-emacs-pinentry\n")))))))) + "allow-emacs-pinentry\n"))) + + (service home-git-service-type + (home-git-configuration + (user-name "Tom Willemse") + (user-email "tom@ryuslash.org") + (sendemail-sendmailcmd "/usr/bin/msmtp") + (init-default-branch "main") + (init-default-branchname "main") + (advice-detached-head #f) + (extra " +[diff \"org\"] + xfuncname = \"^\\\\*+ +(.+)\" +[diff \"lisp\"] + xfuncname = \"^[[:space:]]*?\\\\(def\\\\w+? ((\\\\w|-|'|:|=|<|>)+)\" +") + (ignore-patterns '("GPATH" "GTAGS" "GRTAGS")))) + + (service home-emacs-org-mem-service-type)))))) diff --git a/oni/home/config/pop-os/emacs.el b/oni/home/config/pop-os/emacs.el index c4aa16e..8b517ef 100644 --- a/oni/home/config/pop-os/emacs.el +++ b/oni/home/config/pop-os/emacs.el @@ -57,18 +57,24 @@ ;; ("t" "Test" artisan-test-transient) ("mm" "Make Migration" artisan-make-migration-transient) ("mM" "Make Model" artisan-make-model-transient) - ("mf" "Make Factory" artisan-make-factory-transient) - ("mFf" "Make Filament Form" artisan-make-filament-form-transient)]) + ("mf" "Make Factory" artisan-make-factory-transient)]) (defun artisan-punt-composer-install () (interactive) (let ((default-directory (expand-file-name "punt" (project-root (project-current))))) (async-shell-command "docker exec -it punt-backend composer install"))) -(defun artisan-chanced-composer-install () - (interactive) - (let ((default-directory (expand-file-name "chanced" (project-root (project-current))))) - (async-shell-command "docker exec -it chanced-backend composer install"))) +(defun artisan-chanced-composer-install (brand) + (interactive + (list (oni-read-brand))) + (mapcar (lambda (b) + (let ((default-directory (expand-file-name b (project-root (project-current)))) + (containers '(("chanced" . "chanced-backend") + ("punt" . "punt-backend") + ("filament" . "chanced-admin-panel")))) + (async-shell-command (format "docker exec -it %s composer install" (map-elt containers b)) + (get-buffer-create (format "*%s-composer*" (upcase b)))))) + (if (string= brand "all") '("chanced" "punt" "filament") (list brand)))) (defun artisan-punt-run-command (command) (interactive @@ -128,8 +134,11 @@ buffers.") (defun oni-read-brand () "Ask for Chanced or Punt." - (nth 1 (read-multiple-choice "Chanced or Punt? " '((?c "chanced" "Chanced") - (?p "punt" "Punt"))))) + (nth 1 (read-multiple-choice "Which application? " + '((?a "all" "All") + (?c "chanced" "Chanced") + (?p "punt" "Punt") + (?f "filament" "Filament"))))) (cl-defun artisan-run-test (name &key file filter stop-on-failure-p) (interactive @@ -147,7 +156,7 @@ buffers.") (command (with-current-buffer buffer (format "../../chanced-scripts/test %s %s %s %s" name - (if filter (format "--filter='::%s$'" filter) "") + (if filter (format "--filter='::%s( |$)'" filter) "") (if stop-on-failure-p "--stop-on-defect" "") (or file ""))))) (cl-letf (((symbol-function 'compilation-buffer-name) @@ -390,9 +399,9 @@ Optional argument STOPP means stop on any defect." (add-hook 'dashboard-mode-hook 'olivetti-mode) (add-hook 'dashboard-after-initialize-hook (lambda () (setq truncate-lines t))) -(setq browse-url-browser-function #'browse-url-firefox) -(setq browse-url-generic-args '("run" "--branch=stable" "--arch=x86_64" "--command=launch-script.sh" "--file-forwarding" "app.zen_browser.zen")) -(setq browse-url-generic-program "/usr/bin/flatpak") +(setq browse-url-browser-function #'browse-url-generic) +(setq browse-url-generic-args nil) +(setq browse-url-generic-program "~/Downloads/glide/glide") (defun oni-fixup-phpstan-filenames (errors) "Change the file name from each error in ERRORS to one on local disk." @@ -1247,8 +1256,10 @@ Optional argument STOPP means stop on any defect." (require 'oni-js) -(with-eval-after-load 'sh-script - (require 'oni-sh)) +(with-eval-after-load 'sh-script (require 'oni-sh)) +(with-eval-after-load 'sql (require 'oni-sql)) +(with-eval-after-load 'outline (require 'oni-outline)) +(with-eval-after-load 'logview (require 'oni-logview)) (eval-when-compile (require 'magit-section)) @@ -1270,5 +1281,73 @@ Optional argument STOPP means stop on any defect." (add-hook 'magit-status-sections-hook #'oni-magit-insert-locked-files 20)) -(setq elfeed-feeds - '("https://www.reddit.com/r/PHP/.rss")) +(with-eval-after-load 'elfeed + (setq elfeed-feeds + '(("https://www.reddit.com/r/PHP/.rss" php) + ("https://phpreads.com/feed" php) + ("https://phpstan.org/rss.xml" php) + ("https://lobste.rs/t/php.rss" php)) + elfeed-curl-program-name "curl")) + +(setq git-messenger:show-detail t) +(global-set-key (kbd "C-c g .") '("Show commit at point" . git-messenger:popup-message)) +(global-set-key (kbd "C-c g b") '("Git Blame current file" . magit-blame)) +(global-set-key (kbd "C-c g l") '("Show file's git log" . magit-log-buffer-file)) + +(defun my-set-agenda-files (&rest _) + (setq org-agenda-files + (cl-loop + for file in (org-mem-all-files) + unless (string-search "archive" file) + when (seq-find (lambda (entry) + (or (org-mem-entry-active-timestamps entry) + (org-mem-entry-todo-state entry) + (org-mem-entry-scheduled entry) + (org-mem-entry-deadline entry))) + (org-mem-entries-in file)) + collect file))) +(add-hook 'org-mem-post-full-scan-functions #'my-set-agenda-files) + +;;; Prodigy services + +(with-eval-after-load 'prodigy + (prodigy-define-tag + :name 'tunnel + :command "~/code/diamond-interactive/social-api/toolbox/connect_db.sh" + :args (lambda (&rest args) + (let ((service (map-elt args :service))) + (list "-e" + (if (prodigy-service-tagged-with? service 'production) + "prd" + "stg") + "-a" + (cond + ((prodigy-service-tagged-with? service 'chanced) + "chanced") + ((prodigy-service-tagged-with? service 'punt) + "punt") + (t (error "Unknown project"))) + "-k" + (expand-file-name "~/.ssh/id_ed25519.pub")))) + :cwd "~/code/diamond-interactive/social-api" + :stop-signal 'kill + :ready-message "Waiting for connections...") + + (prodigy-define-service + :name "Chanced Production Database Connection" + :tags '(chanced production tunnel)) + + (prodigy-define-service + :name "Chanced Staging Database Connection" + :tags '(chanced staging tunnel)) + + (prodigy-define-service + :name "Punt Production Database Connection" + :tags '(punt production tunnel)) + + (prodigy-define-service + :name "Punt Staging Database Connection" + :tags '(punt staging tunnel))) + +(autoload 'vue-ts-mode "vue-ts-mode" nil t) +(add-to-list 'auto-mode-alist (cons (rx ".vue" eos) 'vue-ts-mode)) diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index b84bcbe..d9da737 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -419,7 +419,7 @@ (home-emacs-org-modern-configuration (package emacs-next-org-modern))) (service home-emacs-org-journal-service-type) - (service home-emacs-flyover-service-type) + (service home-emacs-org-mem-service-type) (service home-wakatime-service-type (home-wakatime-configuration diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index be0fc7c..cf8b862 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -87,7 +87,10 @@ home-emacs-org-journal-configuration home-emacs-flyover-service-type - home-emacs-flyover-configuration)) + home-emacs-flyover-configuration + + home-emacs-org-mem-service-type + home-emacs-org-mem-configuration)) (define-maybe string) @@ -889,3 +892,37 @@ (compose identity) (default-value (home-emacs-flyover-configuration)) (description "Install and configure emacs-flyover"))) + +;;; Org-mem + +(define-configuration/no-serialization home-emacs-org-mem-configuration + (package + (package emacs-org-mem) + "Package to installnd configure for org-mem.") + (extra-content + (text-config '()) + "Extra content for org-mem configuration.")) + +(define (add-emacs-org-mem-configuration config) + (home-emacs-extension + (configurations + (append + (list (local-file "emacs/org-mem.el")) + (home-emacs-org-mem-configuration-extra-content config))))) + +(define (add-emacs-org-mem-packages config) + (list (home-emacs-org-mem-configuration-package config))) + +(define home-emacs-org-mem-service-type + (service-type + (name 'home-org-mem) + (extensions + (list (service-extension + home-emacs-service-type + add-emacs-org-mem-configuration) + (service-extension + home-profile-service-type + add-emacs-org-mem-packages))) + (compose identity) + (default-value (home-emacs-org-mem-configuration)) + (description "Installnd configure emacs-org-mem."))) diff --git a/oni/home/services/emacs/org-mem.el b/oni/home/services/emacs/org-mem.el new file mode 100644 index 0000000..55b521f --- /dev/null +++ b/oni/home/services/emacs/org-mem.el @@ -0,0 +1,6 @@ +(use-package org-mem + :ensure nil + :init + (setq org-mem-watch-dirs (list (expand-file-name "~/documents/gtd/")) + org-mem-do-sync-with-org-id t) + (org-mem-updater-mode)) diff --git a/oni/home/services/stumpwm/stumpwm.lisp b/oni/home/services/stumpwm/stumpwm.lisp index b8d8207..93484a4 100644 --- a/oni/home/services/stumpwm/stumpwm.lisp +++ b/oni/home/services/stumpwm/stumpwm.lisp @@ -30,7 +30,7 @@ after it has been unlocked." (defcommand raise-browser () () "Open or show my browser" - (run-or-raise "firefox" '(:class "firefox|zen(-beta)?|Org\.chromium\.Chromium"))) + (run-or-raise "firefox" '(:class "firefox|zen(-beta)?|Org\.chromium\.Chromium|glide-glide"))) (defcommand raise-emacs () () "Open or show Emacs" diff --git a/oni/home/services/zsh.scm b/oni/home/services/zsh.scm index e8b6a14..aa2eb60 100644 --- a/oni/home/services/zsh.scm +++ b/oni/home/services/zsh.scm @@ -7,8 +7,7 @@ #:use-module (gnu home services utils) #:use-module (guix packages) #:use-module (guix gexp) - #:use-module ((oni packages atuin) - #:select (rust-atuin-18)) + #:use-module (rosenthal packages rust-apps) #:use-module (oni packages zsh) #:export (home-zsh-autosuggestions-service-type @@ -22,7 +21,9 @@ home-zsh-atuin-service-type home-zsh-atuin-configuration home-zsh-completions-service-type - home-zsh-completions-configuration)) + home-zsh-completions-configuration + home-zsh-direnv-service-type + home-zsh-direnv-configuration)) (define-maybe string) @@ -178,7 +179,7 @@ (define-configuration home-zsh-atuin-configuration (package - (package rust-atuin-18) + (package atuin) "Package to use for setting atuin.") (inline-height (integer 40) @@ -276,3 +277,35 @@ statistics. For example, consider kubectl get rather than just kubectl.") (compose identity) (default-value (home-zsh-completions-configuration)) (description "Install and configure zsh-completions."))) + +(define-configuration home-zsh-direnv-configuration + (package + (package direnv) + "Package to use for setting direnv.")) + +(define (add-zsh-direnv-packages config) + (list (home-zsh-direnv-configuration-package config))) + +(define (add-zsh-direnv config) + (home-zsh-extension + (zshrc + (list + (mixed-text-file + "zshrc" + "eval \"$(" + (home-zsh-direnv-configuration-package config) + "/bin/direnv hook zsh)\""))))) + +(define home-zsh-direnv-service-type + (service-type + (name 'home-zsh-direnv) + (extensions + (list (service-extension + home-profile-service-type + add-zsh-direnv-packages) + (service-extension + home-zsh-service-type + add-zsh-direnv))) + (compose identity) + (default-value (home-zsh-direnv-configuration)) + (description "Install and configure direnv."))) diff --git a/oni/packages/atuin.scm b/oni/packages/atuin.scm deleted file mode 100644 index 72a085f..0000000 --- a/oni/packages/atuin.scm +++ /dev/null @@ -1,1515 +0,0 @@ -(define-module (oni packages atuin) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system cargo) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages sqlite) - #:use-module (past-crates packages crates-io)) - -(define-public rust-tracing-tree-0.4 - (package - (name "rust-tracing-tree") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "tracing-tree" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "175lqyfp6zq7jbj8m026xdp8p765pzgfdzfxahfggmdhy5wwlngl")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-nu-ansi-term" ,rust-nu-ansi-term-0.50) - ("rust-time" ,rust-time-0.3) - ("rust-tracing-core" ,rust-tracing-core-0.1) - ("rust-tracing-log" ,rust-tracing-log-0.2) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) - (home-page "https://github.com/davidbarsky/tracing-tree") - (synopsis "Tracing Layer which prints a tree of spans and events.") - (description - "This package provides a Tracing Layer which prints a tree of spans and events.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-runtime-format-0.1 - (package - (name "rust-runtime-format") - (version "0.1.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "runtime-format" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "154c7jq7kbpc5acn2ysa2ilab2x0i5y7d34jwznni9xw71dqv589")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-tinyvec" ,rust-tinyvec-1)))) - (home-page "https://github.com/conradludgate/strfmt") - (synopsis "rust library for formatting dynamic strings") - (description - "This package provides rust library for formatting dynamic strings.") - (license license:expat))) - -(define-public rust-atuin-server-postgres-18 - (package - (name "rust-atuin-server-postgres") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-server-postgres" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0k4bv7fzzpdh1yl2bg5b04gp0mlkb861x545wp8gggijk280ih99")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-atuin-server-database" - ,rust-atuin-server-database-18) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-metrics" ,rust-metrics-0.21) - ("rust-serde" ,rust-serde-1) - ("rust-sqlx" ,rust-sqlx-0.8) - ("rust-time" ,rust-time-0.3) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-url" ,rust-url-2) - ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://atuin.sh") - (synopsis "server postgres database library for atuin") - (description - "This package provides server postgres database library for atuin.") - (license license:expat))) - -(define-public rust-postmark-0.10 - (package - (name "rust-postmark") - (version "0.10.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "postmark" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "10vd1xdlk189p8qphmihm9j28wdn5fclcgwc6z65fs43i4irihd8")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-bytes" ,rust-bytes-1) - ("rust-http" ,rust-http-1) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-reqwest" ,rust-reqwest-0.12) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-typed-builder" ,rust-typed-builder-0.18) - ("rust-url" ,rust-url-2)))) - (home-page "https://github.com/pastjean/postmark-rs") - (synopsis "Postmark rust client") - (description "This package provides Postmark rust client.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sketches-ddsketch-0.2 - (package - (name "rust-sketches-ddsketch") - (version "0.2.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "sketches-ddsketch" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0p6n1v0p0773d0b5qnsnw526g7hhlb08bx95wm0zb09xnwa6qqw5")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-serde" ,rust-serde-1)))) - (home-page "https://github.com/mheffner/rust-sketches-ddsketch") - (synopsis "direct port of the Golang DDSketch implementation.") - (description - "This package provides a direct port of the Golang DDSketch implementation.") - (license license:asl2.0))) - -(define-public rust-prost-types-0.11 - (package - (name "rust-prost-types") - (version "0.11.9") - (source - (origin - (method url-fetch) - (uri (crate-uri "prost-types" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "04ryk38sqkp2nf4dgdqdfbgn6zwwvjraw6hqq6d9a6088shj4di1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-prost" ,rust-prost-0.11)))) - (home-page "https://github.com/tokio-rs/prost") - (synopsis "Prost definitions of Protocol Buffers well known types") - (description - "This package provides Prost definitions of Protocol Buffers well known types.") - (license license:asl2.0))) - -(define-public rust-quanta-0.11 - (package - (name "rust-quanta") - (version "0.11.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "quanta" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1axrw0nqc90bq671w05jd9460pmwg86c4r132mjsi4c2g8m6czm1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) - ("rust-libc" ,rust-libc-0.2) - ("rust-mach2" ,rust-mach2-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-prost-types" ,rust-prost-types-0.11) - ("rust-raw-cpuid" ,rust-raw-cpuid-10) - ("rust-wasi" ,rust-wasi-0.11) - ("rust-web-sys" ,rust-web-sys-0.3) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/metrics-rs/quanta") - (synopsis "high-speed timing library") - (description "This package provides high-speed timing library.") - (license license:expat))) - -(define-public rust-hashbrown-0.13 - (package - (name "rust-hashbrown") - (version "0.13.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "hashbrown" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0f602rk7pgdhw1s57g81822g7b2m5i2wibrpaqp11afk5kk8mzrk")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8) - ("rust-bumpalo" ,rust-bumpalo-3) - ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rayon" ,rust-rayon-1) - ("rust-rustc-std-workspace-alloc" - ,rust-rustc-std-workspace-alloc-1) - ("rust-rustc-std-workspace-core" - ,rust-rustc-std-workspace-core-1) - ("rust-serde" ,rust-serde-1)))) - (home-page "https://github.com/rust-lang/hashbrown") - (synopsis "Rust port of Google's SwissTable hash map") - (description - "This package provides a Rust port of Google's @code{SwissTable} hash map.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-metrics-util-0.15 - (package - (name "rust-metrics-util") - (version "0.15.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "metrics-util" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0glpkmrj7zkg9b290x6qxf93kmd9b4b4sbkk1fs19l8y95pfvqjd")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8) - ("rust-aho-corasick" ,rust-aho-corasick-1) - ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9) - ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) - ("rust-hashbrown" ,rust-hashbrown-0.13) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-metrics" ,rust-metrics-0.21) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-ordered-float" ,rust-ordered-float-3) - ("rust-quanta" ,rust-quanta-0.11) - ("rust-radix-trie" ,rust-radix-trie-0.2) - ("rust-sketches-ddsketch" ,rust-sketches-ddsketch-0.2)))) - (home-page "https://github.com/metrics-rs/metrics") - (synopsis "Helper types/functions used by the metrics ecosystem") - (description - "This package provides Helper types/functions used by the metrics ecosystem.") - (license license:expat))) - -(define-public rust-metrics-exporter-prometheus-0.12 - (package - (name "rust-metrics-exporter-prometheus") - (version "0.12.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "metrics-exporter-prometheus" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0l19s21jfmwm72cxfjq35xb79a5wi4fv7c1p993dnqj8gk7afkqx")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-base64" ,rust-base64-0.21) - ("rust-hyper" ,rust-hyper-0.14) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-ipnet" ,rust-ipnet-2) - ("rust-metrics" ,rust-metrics-0.21) - ("rust-metrics-util" ,rust-metrics-util-0.15) - ("rust-quanta" ,rust-quanta-0.11) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-tokio" ,rust-tokio-1) - ("rust-tracing" ,rust-tracing-0.1)))) - (home-page "https://github.com/metrics-rs/metrics") - (synopsis "metrics-compatible exporter for sending metrics to Prometheus.") - (description - "This package provides a metrics-compatible exporter for sending metrics to -Prometheus.") - (license license:expat))) - -(define-public rust-metrics-macros-0.7 - (package - (name "rust-metrics-macros") - (version "0.7.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "metrics-macros" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0krmj7zyr4g14jdpk1jasi1w2nw64hqdxb2lfx4zxphp0vqgmd1q")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-2)))) - (home-page "https://github.com/metrics-rs/metrics") - (synopsis "Macros for the metrics crate") - (description "This package provides Macros for the metrics crate.") - (license license:expat))) - -(define-public rust-metrics-0.21 - (package - (name "rust-metrics") - (version "0.21.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "metrics" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1ibndxzk0sja8cgwrr73b9vzbgfvwzwxwkxqiivnmmwy00dazqzx")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8) - ("rust-metrics-macros" ,rust-metrics-macros-0.7) - ("rust-portable-atomic" ,rust-portable-atomic-1)))) - (home-page "https://github.com/metrics-rs/metrics") - (synopsis "lightweight metrics facade.") - (description "This package provides a lightweight metrics facade.") - (license license:expat))) - -(define-public rust-axum-server-0.7 - (package - (name "rust-axum-server") - (version "0.7.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "axum-server" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1n67cx39cm9zsm0dwm0nla67qjswj90ccqrwq0x3kagn904ckfjn")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1) - ("rust-bytes" ,rust-bytes-1) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-http" ,rust-http-1) - ("rust-http-body" ,rust-http-body-1) - ("rust-http-body-util" ,rust-http-body-util-0.1) - ("rust-hyper" ,rust-hyper-1) - ("rust-hyper-util" ,rust-hyper-util-0.1) - ("rust-openssl" ,rust-openssl-0.10) - ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) - ("rust-rustls" ,rust-rustls-0.23) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-2) - ("rust-rustls-pki-types" ,rust-rustls-pki-types-1) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-openssl" ,rust-tokio-openssl-0.6) - ("rust-tokio-rustls" ,rust-tokio-rustls-0.26) - ("rust-tower" ,rust-tower-0.4) - ("rust-tower-service" ,rust-tower-service-0.3)))) - (home-page "https://github.com/programatik29/axum-server") - (synopsis "High level server designed to be used with axum framework") - (description - "This package provides High level server designed to be used with axum framework.") - (license license:expat))) - -(define-public rust-atuin-server-database-18 - (package - (name "rust-atuin-server-database") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-server-database" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "08g1pim38jpixa6d13z5vcir9y7f85a2799w7rwm8r19b24y5yhz")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-serde" ,rust-serde-1) - ("rust-time" ,rust-time-0.3) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://atuin.sh") - (synopsis "server database library for atuin") - (description "This package provides server database library for atuin.") - (license license:expat))) - -(define-public rust-atuin-server-18 - (package - (name "rust-atuin-server") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-server" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "15p074z5ng24ln89bwcvicw3zvp140aily5aclyydlsfr81l8w5a")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-argon2" ,rust-argon2-0.5) - ("rust-async-trait" ,rust-async-trait-0.1) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-atuin-server-database" - ,rust-atuin-server-database-18) - ("rust-axum" ,rust-axum-0.7) - ("rust-axum-server" ,rust-axum-server-0.7) - ("rust-base64" ,rust-base64-0.22) - ("rust-config" ,rust-config-0.13) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-fs-err" ,rust-fs-err-2) - ("rust-metrics" ,rust-metrics-0.21) - ("rust-metrics-exporter-prometheus" - ,rust-metrics-exporter-prometheus-0.12) - ("rust-postmark" ,rust-postmark-0.10) - ("rust-rand" ,rust-rand-0.8) - ("rust-reqwest" ,rust-reqwest-0.11) - ("rust-rustls" ,rust-rustls-0.23) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-2) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-time" ,rust-time-0.3) - ("rust-tokio" ,rust-tokio-1) - ("rust-tower" ,rust-tower-0.4) - ("rust-tower-http" ,rust-tower-http-0.5) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://atuin.sh") - (synopsis "server library for atuin") - (description "This package provides server library for atuin.") - (license license:expat))) - -(define-public rust-tonic-types-0.12 - (package - (name "rust-tonic-types") - (version "0.12.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "tonic-types" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0rxkz100jaiqlr47dim69mfhyq54c3lynnia75qi5l2713pdi080")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-prost" ,rust-prost-0.13) - ("rust-prost-types" ,rust-prost-types-0.13) - ("rust-tonic" ,rust-tonic-0.12)))) - (home-page "https://github.com/hyperium/tonic") - (synopsis - "collection of useful protobuf types that can be used with `tonic`.") - (description - "This package provides a collection of useful protobuf types that can be used -with `tonic`.") - (license license:expat))) - -(define-public rust-protox-parse-0.7 - (package - (name "rust-protox-parse") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "protox-parse" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1pld0s1cg9favgy9bafkwlvmg65ky13rmhh0w050hb262p8n5953")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-logos" ,rust-logos-0.14) - ("rust-miette" ,rust-miette-7) - ("rust-prost-types" ,rust-prost-types-0.13) - ("rust-thiserror" ,rust-thiserror-1)))) - (home-page "https://github.com/andrewhickman/protox") - (synopsis "Parsing of protobuf source files") - (description "This package provides Parsing of protobuf source files.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-prost-reflect-derive-0.14 - (package - (name "rust-prost-reflect-derive") - (version "0.14.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "prost-reflect-derive" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0rfbgs03m05w2pcdvnf7asyk6ar056nrhaqa826qvk0m5yrfdz7l")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-2)))) - (home-page "https://github.com/andrewhickman/prost-reflect") - (synopsis - "derive macro for prost-reflect to generate ReflectMessage implementations") - (description - "This package provides a derive macro for prost-reflect to generate -@code{ReflectMessage} implementations.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-prost-reflect-0.14 - (package - (name "rust-prost-reflect") - (version "0.14.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "prost-reflect" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0npvpgfnmgc0fxhyldl3kc2rg2mw91dvbgnhl4nkwnp04jfraaz9")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-base64" ,rust-base64-0.22) - ("rust-logos" ,rust-logos-0.14) - ("rust-miette" ,rust-miette-7) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-prost" ,rust-prost-0.13) - ("rust-prost-reflect-derive" - ,rust-prost-reflect-derive-0.14) - ("rust-prost-types" ,rust-prost-types-0.13) - ("rust-serde" ,rust-serde-1) - ("rust-serde-value" ,rust-serde-value-0.7)))) - (home-page "https://github.com/andrewhickman/prost-reflect") - (synopsis - "protobuf library extending prost with reflection support and dynamic messages.") - (description - "This package provides a protobuf library extending prost with reflection support -and dynamic messages.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-protox-0.7 - (package - (name "rust-protox") - (version "0.7.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "protox" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0jmmcil88n15kdpac51fz9qjagchpy3pq3vjrj77nqxz67rjldbg")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-bytes" ,rust-bytes-1) - ("rust-clap" ,rust-clap-4) - ("rust-miette" ,rust-miette-7) - ("rust-prost" ,rust-prost-0.13) - ("rust-prost-reflect" ,rust-prost-reflect-0.14) - ("rust-prost-types" ,rust-prost-types-0.13) - ("rust-protox-parse" ,rust-protox-parse-0.7) - ("rust-thiserror" ,rust-thiserror-1)))) - (home-page "https://github.com/andrewhickman/protox") - (synopsis "rust implementation of the protobuf compiler.") - (description - "This package provides a rust implementation of the protobuf compiler.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-atuin-history-18 - (package - (name "rust-atuin-history") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-history" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1qy0x84cjjrj5ix9x5gxbdn042drrrr9v2d02dl8fz07w60rbmz5")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-atuin-client" ,rust-atuin-client-18) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-base64" ,rust-base64-0.22) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-directories" ,rust-directories-5) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-fs-err" ,rust-fs-err-2) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-indicatif" ,rust-indicatif-0.17) - ("rust-interim" ,rust-interim-0.1) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-log" ,rust-log-0.4) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sysinfo" ,rust-sysinfo-0.30) - ("rust-time" ,rust-time-0.3) - ("rust-tokio" ,rust-tokio-1) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-uuid" ,rust-uuid-1) - ("rust-whoami" ,rust-whoami-1)))) - (home-page "https://atuin.sh") - (synopsis "The history crate for Atuin") - (description "This package provides The history crate for Atuin.") - (license license:expat))) - -(define-public rust-atuin-dotfiles-18 - (package - (name "rust-atuin-dotfiles") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-dotfiles" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0adln7gfrr38zy9slxi33k0ma4a0iabz5jqpv8anrag2fab0951k")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-atuin-client" ,rust-atuin-client-18) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-crypto-secretbox" ,rust-crypto-secretbox-0.1) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-rand" ,rust-rand-0.8) - ("rust-rmp" ,rust-rmp-0.8) - ("rust-serde" ,rust-serde-1) - ("rust-tokio" ,rust-tokio-1)))) - (home-page "https://atuin.sh") - (synopsis "The dotfiles crate for Atuin") - (description "This package provides The dotfiles crate for Atuin.") - (license license:expat))) - -(define-public rust-atuin-daemon-18 - (package - (name "rust-atuin-daemon") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-daemon" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0wlyrpjm30khd7m51z6xfiny2wc63hdbvzqv6fxwa1lfsffxa3ma")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-atuin-client" ,rust-atuin-client-18) - ("rust-atuin-dotfiles" ,rust-atuin-dotfiles-18) - ("rust-atuin-history" ,rust-atuin-history-18) - ("rust-dashmap" ,rust-dashmap-5) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-hyper-util" ,rust-hyper-util-0.1) - ("rust-listenfd" ,rust-listenfd-1) - ("rust-prost" ,rust-prost-0.13) - ("rust-prost-types" ,rust-prost-types-0.13) - ("rust-protox" ,rust-protox-0.7) - ("rust-rand" ,rust-rand-0.8) - ("rust-time" ,rust-time-0.3) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-stream" ,rust-tokio-stream-0.1) - ("rust-tonic" ,rust-tonic-0.12) - ("rust-tonic-build" ,rust-tonic-build-0.12) - ("rust-tonic-types" ,rust-tonic-types-0.12) - ("rust-tower" ,rust-tower-0.4) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) - ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://atuin.sh") - (synopsis "The daemon crate for Atuin") - (description "This package provides The daemon crate for Atuin.") - (license license:expat))) - -(define-public rust-tiny-bip39-1 - (package - (name "rust-tiny-bip39") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "tiny-bip39" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0q98iv3wgbd41wyxxd5is8sddi53k9ary45rbi5fi8dmb39r9k32")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-hmac" ,rust-hmac-0.12) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-pbkdf2" ,rust-pbkdf2-0.11) - ("rust-rand" ,rust-rand-0.8) - ("rust-rustc-hash" ,rust-rustc-hash-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-unicode-normalization" - ,rust-unicode-normalization-0.1) - ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) - ("rust-zeroize" ,rust-zeroize-1)))) - (home-page "https://github.com/maciejhirsz/tiny-bip39/") - (synopsis - "fork of the bip39 crate with fixes to v0.6. Rust implementation of BIP-0039") - (description - "This package provides a fork of the bip39 crate with fixes to v0.6. Rust -implementation of BIP-0039.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sql-builder-3 - (package - (name "rust-sql-builder") - (version "3.1.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "sql-builder" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1h5xp47zz9chv545lpmal51fq3z162z2f99mb4lhcbgcsaaqs05i")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-thiserror" ,rust-thiserror-1)))) - (home-page "https://github.com/perdumonocle/sql-builder.git") - (synopsis "Simple SQL code generator") - (description "This package provides Simple SQL code generator.") - (license license:expat))) - -(define-public rust-rusty-paseto-0.7 - (package - (name "rust-rusty-paseto") - (version "0.7.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "rusty_paseto" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "09kqhfi2lnjhl9wjb26j6xg26k3w41i1ll3ardjw1ifali0ihl05")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-aes" ,rust-aes-0.7) - ("rust-base64" ,rust-base64-0.22) - ("rust-blake2" ,rust-blake2-0.10) - ("rust-chacha20" ,rust-chacha20-0.9) - ("rust-chacha20poly1305" ,rust-chacha20poly1305-0.10) - ("rust-digest" ,rust-digest-0.10) - ("rust-ed25519-dalek" ,rust-ed25519-dalek-2) - ("rust-erased-serde" ,rust-erased-serde-0.4) - ("rust-hex" ,rust-hex-0.4) - ("rust-hmac" ,rust-hmac-0.12) - ("rust-iso8601" ,rust-iso8601-0.6) - ("rust-p384" ,rust-p384-0.13) - ("rust-rand-core" ,rust-rand-core-0.6) - ("rust-ring" ,rust-ring-0.17) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-time" ,rust-time-0.3) - ("rust-zeroize" ,rust-zeroize-1)))) - (home-page "https://github.com/rrrodzilla/rusty_paseto") - (synopsis - "type-driven, ergonomic alternative to JWT for secure stateless PASETO tokens.") - (description - "This package provides a type-driven, ergonomic alternative to JWT for secure -stateless PASETO tokens.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-rusty-paserk-0.4 - (package - (name "rust-rusty-paserk") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rusty_paserk" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0f0xqrjbvx7mb2ynnqni9ql8qlg3zzn504vnyjmyh7ilrlgailx1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-aes" ,rust-aes-0.8) - ("rust-arbitrary" ,rust-arbitrary-1) - ("rust-argon2" ,rust-argon2-0.5) - ("rust-base64" ,rust-base64-0.22) - ("rust-base64ct" ,rust-base64ct-1) - ("rust-blake2" ,rust-blake2-0.10) - ("rust-chacha20" ,rust-chacha20-0.9) - ("rust-cipher" ,rust-cipher-0.4) - ("rust-ctr" ,rust-ctr-0.9) - ("rust-curve25519-dalek" ,rust-curve25519-dalek-4) - ("rust-digest" ,rust-digest-0.10) - ("rust-ed25519-dalek" ,rust-ed25519-dalek-2) - ("rust-generic-array" ,rust-generic-array-0.14) - ("rust-hmac" ,rust-hmac-0.12) - ("rust-p384" ,rust-p384-0.13) - ("rust-pbkdf2" ,rust-pbkdf2-0.12) - ("rust-rand" ,rust-rand-0.8) - ("rust-rusty-paseto" ,rust-rusty-paseto-0.7) - ("rust-serde" ,rust-serde-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-subtle" ,rust-subtle-2)))) - (home-page "https://github.com/conradludgate/rusty-paserk") - (synopsis - "Platform Agnostic Serializable Keys (PASERK) is an extension on PASETO for key management") - (description - "This package provides Platform Agnostic Serializable Keys (PASERK) is an extension on PASETO for key -management.") - (license license:expat))) - -(define-public rust-minspan-0.1 - (package - (name "rust-minspan") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "minspan" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0053r44iqmfilibz8da3367adxjjwibw6d849xifxq0yhfgf99pf")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t)) - (home-page "https://github.com/mwotton/minspan") - (synopsis - "a package for determining the minimum span of one vector within another") - (description - "This package provides a package for determining the minimum span of one vector within another.") - (license license:expat))) - -(define-public rust-logos-codegen-0.14 - (package - (name "rust-logos-codegen") - (version "0.14.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "logos-codegen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0gwnx7lk4y7xc4yk6pr0knrddard5z22rxaz9xrnc38cc1lh1y2r")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-beef" ,rust-beef-0.5) - ("rust-fnv" ,rust-fnv-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-regex-syntax" ,rust-regex-syntax-0.8) - ("rust-syn" ,rust-syn-2)))) - (home-page "https://logos.maciej.codes/") - (synopsis "Create ridiculously fast Lexers") - (description "This package provides Create ridiculously fast Lexers.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-logos-derive-0.14 - (package - (name "rust-logos-derive") - (version "0.14.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "logos-derive" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "07bk3q4jry9f8blrnsiy872ivilzy62xaglnn2ni5p590qmp5yr4")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-logos-codegen" ,rust-logos-codegen-0.14)))) - (home-page "https://logos.maciej.codes/") - (synopsis "Create ridiculously fast Lexers") - (description "This package provides Create ridiculously fast Lexers.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-logos-0.14 - (package - (name "rust-logos") - (version "0.14.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "logos" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0n349vin9mx326fkz68bsa4vc5sdn9n8qnfz7n1yqynbz1p3albj")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-logos-derive" ,rust-logos-derive-0.14)))) - (home-page "https://logos.maciej.codes/") - (synopsis "Create ridiculously fast Lexers") - (description "This package provides Create ridiculously fast Lexers.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-interim-0.1 - (package - (name "rust-interim") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "interim" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1x5ykyv8bkv13398q3dpycg5943rw1jycvjbhi2yih30zw5hzzcs")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-logos" ,rust-logos-0.14) - ("rust-time" ,rust-time-0.3)))) - (home-page "https://github.com/conradludgate/interim") - (synopsis - "parses simple English dates, inspired by Linux date command, and forked from chrono-english") - (description - "This package provides parses simple English dates, inspired by Linux date command, and forked from -chrono-english.") - (license license:expat))) - -(define-public rust-typed-builder-macro-0.18 - (package - (name "rust-typed-builder-macro") - (version "0.18.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "typed-builder-macro" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0qwfq0q2lkg4bkmcpsqajy3ss2sb2h47dj5zhfwvbp27ygx8sw8z")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-2)))) - (home-page "https://github.com/idanarye/rust-typed-builder") - (synopsis "Compile-time type-checked builder derive") - (description - "This package provides Compile-time type-checked builder derive.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-typed-builder-0.18 - (package - (name "rust-typed-builder") - (version "0.18.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "typed-builder" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1p9s9p7f3mnylrzdqbxj73d9dw95syma6pnnyfp3ys801s49qwvp")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-typed-builder-macro" ,rust-typed-builder-macro-0.18)))) - (home-page "https://github.com/idanarye/rust-typed-builder") - (synopsis "Compile-time type-checked builder derive") - (description - "This package provides Compile-time type-checked builder derive.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-sqlite-0.8 - (package - (name "rust-sqlx-sqlite") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx-sqlite" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0h05ca26g428h4337k4nm0ww75bcdkiqzp883m7fc92v78fsfp7q")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-atoi" ,rust-atoi-2) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-flume" ,rust-flume-0.11) - ("rust-futures-channel" ,rust-futures-channel-0.3) - ("rust-futures-core" ,rust-futures-core-0.3) - ("rust-futures-executor" ,rust-futures-executor-0.3) - ("rust-futures-intrusive" ,rust-futures-intrusive-0.5) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.30) - ("rust-log" ,rust-log-0.4) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7) - ("rust-sqlx-core" ,rust-sqlx-core-0.8) - ("rust-time" ,rust-time-0.3) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-url" ,rust-url-2) - ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "SQLite driver implementation for SQLx. Not for direct use; see the `sqlx` crate for details") - (description - "This package provides SQLite driver implementation for SQLx. Not for direct use; see the `sqlx` crate -for details.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-postgres-0.8 - (package - (name "rust-sqlx-postgres") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx-postgres" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "04wnjl51kfx0qbfsfmhqdshpmw32vzz2p8dksmj6gvb3ydbqmff5")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-atoi" ,rust-atoi-2) - ("rust-base64" ,rust-base64-0.22) - ("rust-bigdecimal" ,rust-bigdecimal-0.4) - ("rust-bit-vec" ,rust-bit-vec-0.6) - ("rust-bitflags" ,rust-bitflags-2) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-crc" ,rust-crc-3) - ("rust-dotenvy" ,rust-dotenvy-0.15) - ("rust-etcetera" ,rust-etcetera-0.8) - ("rust-futures-channel" ,rust-futures-channel-0.3) - ("rust-futures-core" ,rust-futures-core-0.3) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-hex" ,rust-hex-0.4) - ("rust-hkdf" ,rust-hkdf-0.12) - ("rust-hmac" ,rust-hmac-0.12) - ("rust-home" ,rust-home-0.5) - ("rust-ipnetwork" ,rust-ipnetwork-0.20) - ("rust-itoa" ,rust-itoa-1) - ("rust-log" ,rust-log-0.4) - ("rust-mac-address" ,rust-mac-address-1) - ("rust-md-5" ,rust-md-5-0.10) - ("rust-memchr" ,rust-memchr-2) - ("rust-num-bigint" ,rust-num-bigint-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-rand" ,rust-rand-0.8) - ("rust-rust-decimal" ,rust-rust-decimal-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-sqlx-core" ,rust-sqlx-core-0.8) - ("rust-stringprep" ,rust-stringprep-0.1) - ("rust-thiserror" ,rust-thiserror-2) - ("rust-time" ,rust-time-0.3) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-uuid" ,rust-uuid-1) - ("rust-whoami" ,rust-whoami-1)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "PostgreSQL driver implementation for SQLx. Not for direct use; see the `sqlx` crate for details") - (description - "This package provides @code{PostgreSQL} driver implementation for SQLx. Not for direct use; see the -`sqlx` crate for details.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-mysql-0.8 - (package - (name "rust-sqlx-mysql") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx-mysql" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0czjzzjm2y6lkhxvvzrzwgp0pmlhymcnym20hn9n9kh01s7jfq25")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-atoi" ,rust-atoi-2) - ("rust-base64" ,rust-base64-0.22) - ("rust-bigdecimal" ,rust-bigdecimal-0.4) - ("rust-bitflags" ,rust-bitflags-2) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-bytes" ,rust-bytes-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-crc" ,rust-crc-3) - ("rust-digest" ,rust-digest-0.10) - ("rust-dotenvy" ,rust-dotenvy-0.15) - ("rust-either" ,rust-either-1) - ("rust-futures-channel" ,rust-futures-channel-0.3) - ("rust-futures-core" ,rust-futures-core-0.3) - ("rust-futures-io" ,rust-futures-io-0.3) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-generic-array" ,rust-generic-array-0.14) - ("rust-hex" ,rust-hex-0.4) - ("rust-hkdf" ,rust-hkdf-0.12) - ("rust-hmac" ,rust-hmac-0.12) - ("rust-itoa" ,rust-itoa-1) - ("rust-log" ,rust-log-0.4) - ("rust-md-5" ,rust-md-5-0.10) - ("rust-memchr" ,rust-memchr-2) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-rand" ,rust-rand-0.8) - ("rust-rsa" ,rust-rsa-0.9) - ("rust-rust-decimal" ,rust-rust-decimal-1) - ("rust-serde" ,rust-serde-1) - ("rust-sha1" ,rust-sha1-0.10) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-sqlx-core" ,rust-sqlx-core-0.8) - ("rust-stringprep" ,rust-stringprep-0.1) - ("rust-thiserror" ,rust-thiserror-2) - ("rust-time" ,rust-time-0.3) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-uuid" ,rust-uuid-1) - ("rust-whoami" ,rust-whoami-1)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "MySQL driver implementation for SQLx. Not for direct use; see the `sqlx` crate for details") - (description - "This package provides @code{MySQL} driver implementation for SQLx. Not for direct use; see the `sqlx` -crate for details.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-macros-core-0.8 - (package - (name "rust-sqlx-macros-core") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx-macros-core" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1bg7sn6l8dc4pzrqx2dwc3sp7dbn97msfqahpycnl55bqnn917sf")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-std" ,rust-async-std-1) - ("rust-dotenvy" ,rust-dotenvy-0.15) - ("rust-either" ,rust-either-1) - ("rust-heck" ,rust-heck-0.5) - ("rust-hex" ,rust-hex-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-sqlx-core" ,rust-sqlx-core-0.8) - ("rust-sqlx-mysql" ,rust-sqlx-mysql-0.8) - ("rust-sqlx-postgres" ,rust-sqlx-postgres-0.8) - ("rust-sqlx-sqlite" ,rust-sqlx-sqlite-0.8) - ("rust-syn" ,rust-syn-2) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-tokio" ,rust-tokio-1) - ("rust-url" ,rust-url-2)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "Macro support core for SQLx, the Rust SQL toolkit. Not intended to be used directly") - (description - "This package provides Macro support core for SQLx, the Rust SQL toolkit. Not intended to be used -directly.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-macros-0.8 - (package - (name "rust-sqlx-macros") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx-macros" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "047k67sylscv0gdhwwqrn0s33jy1mvq8rmqq6s8fygv4g2ny44ii")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-sqlx-core" ,rust-sqlx-core-0.8) - ("rust-sqlx-macros-core" ,rust-sqlx-macros-core-0.8) - ("rust-syn" ,rust-syn-2)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "Macros for SQLx, the rust SQL toolkit. Not intended to be used directly") - (description - "This package provides Macros for SQLx, the rust SQL toolkit. Not intended to be used directly.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-hashlink-0.10 - (package - (name "rust-hashlink") - (version "0.10.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "hashlink" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1h8lzvnl9qxi3zyagivzz2p1hp6shgddfmccyf6jv7s1cdicz0kk")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.15) - ("rust-serde" ,rust-serde-1)))) - (home-page "https://github.com/kyren/hashlink") - (synopsis - "HashMap-like containers that hold their key-value pairs in a user controllable order") - (description - "This package provides @code{HashMap-like} containers that hold their key-value pairs in a user -controllable order.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-core-0.8 - (package - (name "rust-sqlx-core") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx-core" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1q31dawr61wc6q2f12my4fw082mbv8sxwz1082msjsk76rlpn03a")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-io" ,rust-async-io-1) - ("rust-async-std" ,rust-async-std-1) - ("rust-bigdecimal" ,rust-bigdecimal-0.4) - ("rust-bit-vec" ,rust-bit-vec-0.6) - ("rust-bstr" ,rust-bstr-1) - ("rust-bytes" ,rust-bytes-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-crc" ,rust-crc-3) - ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3) - ("rust-either" ,rust-either-1) - ("rust-event-listener" ,rust-event-listener-5) - ("rust-futures-core" ,rust-futures-core-0.3) - ("rust-futures-intrusive" ,rust-futures-intrusive-0.5) - ("rust-futures-io" ,rust-futures-io-0.3) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-hashbrown" ,rust-hashbrown-0.15) - ("rust-hashlink" ,rust-hashlink-0.10) - ("rust-indexmap" ,rust-indexmap-2) - ("rust-ipnetwork" ,rust-ipnetwork-0.20) - ("rust-log" ,rust-log-0.4) - ("rust-mac-address" ,rust-mac-address-1) - ("rust-memchr" ,rust-memchr-2) - ("rust-native-tls" ,rust-native-tls-0.2) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-regex" ,rust-regex-1) - ("rust-rust-decimal" ,rust-rust-decimal-1) - ("rust-rustls" ,rust-rustls-0.23) - ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.8) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-2) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-thiserror" ,rust-thiserror-2) - ("rust-time" ,rust-time-0.3) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-stream" ,rust-tokio-stream-0.1) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-url" ,rust-url-2) - ("rust-uuid" ,rust-uuid-1) - ("rust-webpki-roots" ,rust-webpki-roots-0.26)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "Core of SQLx, the rust SQL toolkit. Not intended to be used directly") - (description - "This package provides Core of SQLx, the rust SQL toolkit. Not intended to be used directly.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-sqlx-0.8 - (package - (name "rust-sqlx") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "sqlx" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0pvlpq0plgyxf5kikcv786pf0pjv8dx5shlvz72l510d7hxyf424")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-sqlx-core" ,rust-sqlx-core-0.8) - ("rust-sqlx-macros" ,rust-sqlx-macros-0.8) - ("rust-sqlx-mysql" ,rust-sqlx-mysql-0.8) - ("rust-sqlx-postgres" ,rust-sqlx-postgres-0.8) - ("rust-sqlx-sqlite" ,rust-sqlx-sqlite-0.8)))) - (home-page "https://github.com/launchbadge/sqlx") - (synopsis - "ð§° The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite") - (description - "This package provides ð§° The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time -checked queries without a DSL. Supports @code{PostgreSQL}, @code{MySQL}, and -SQLite.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-atuin-common-18 - (package - (name "rust-atuin-common") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-common" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1l3hprwyvc95343l1ls0hqn8pixr5w9vnpshfbrb1n2p8yg5zzpw")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-base64" ,rust-base64-0.22) - ("rust-directories" ,rust-directories-5) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-getrandom" ,rust-getrandom-0.2) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-rand" ,rust-rand-0.8) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-sqlx" ,rust-sqlx-0.8) - ("rust-sysinfo" ,rust-sysinfo-0.30) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-time" ,rust-time-0.3) - ("rust-typed-builder" ,rust-typed-builder-0.18) - ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://atuin.sh") - (synopsis "common library for atuin") - (description "This package provides common library for atuin.") - (license license:expat))) - -(define-public rust-atuin-client-18 - (package - (name "rust-atuin-client") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin-client" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1ryg3cj1hayr774rswj7nk71bvjgkw91s80jc3finfk0sapi6pq1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-base64" ,rust-base64-0.22) - ("rust-clap" ,rust-clap-4) - ("rust-config" ,rust-config-0.13) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-crypto-secretbox" ,rust-crypto-secretbox-0.1) - ("rust-directories" ,rust-directories-5) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-fs-err" ,rust-fs-err-2) - ("rust-futures" ,rust-futures-0.3) - ("rust-generic-array" ,rust-generic-array-0.14) - ("rust-hex" ,rust-hex-0.4) - ("rust-humantime" ,rust-humantime-2) - ("rust-indicatif" ,rust-indicatif-0.17) - ("rust-interim" ,rust-interim-0.1) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-memchr" ,rust-memchr-2) - ("rust-minspan" ,rust-minspan-0.1) - ("rust-palette" ,rust-palette-0.7) - ("rust-rand" ,rust-rand-0.8) - ("rust-regex" ,rust-regex-1) - ("rust-reqwest" ,rust-reqwest-0.11) - ("rust-rmp" ,rust-rmp-0.8) - ("rust-rusty-paserk" ,rust-rusty-paserk-0.4) - ("rust-rusty-paseto" ,rust-rusty-paseto-0.7) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-regex" ,rust-serde-regex-1) - ("rust-serde-with" ,rust-serde-with-3) - ("rust-sha2" ,rust-sha2-0.10) - ("rust-shellexpand" ,rust-shellexpand-3) - ("rust-sql-builder" ,rust-sql-builder-3) - ("rust-sqlx" ,rust-sqlx-0.8) - ("rust-strum" ,rust-strum-0.26) - ("rust-strum-macros" ,rust-strum-macros-0.26) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-time" ,rust-time-0.3) - ("rust-tiny-bip39" ,rust-tiny-bip39-1) - ("rust-tokio" ,rust-tokio-1) - ("rust-typed-builder" ,rust-typed-builder-0.18) - ("rust-urlencoding" ,rust-urlencoding-2) - ("rust-uuid" ,rust-uuid-1) - ("rust-whoami" ,rust-whoami-1)))) - (home-page "https://atuin.sh") - (synopsis "client library for atuin") - (description "This package provides client library for atuin.") - (license license:expat))) - -(define-public rust-arboard-3 - (package - (name "rust-arboard") - (version "3.4.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "arboard" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1x2p8dfhzm3w0cpw81ab2rbyzvkzqs9g66xcakq4y0fd2v5rq2fz")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-clipboard-win" ,rust-clipboard-win-5) - ("rust-core-graphics" ,rust-core-graphics-0.23) - ("rust-image" ,rust-image-0.25) - ("rust-log" ,rust-log-0.4) - ("rust-objc2" ,rust-objc2-0.5) - ("rust-objc2-app-kit" ,rust-objc2-app-kit-0.2) - ("rust-objc2-foundation" ,rust-objc2-foundation-0.2) - ("rust-parking-lot" ,rust-parking-lot-0.12) - ("rust-windows-sys" ,rust-windows-sys-0.48) - ("rust-wl-clipboard-rs" ,rust-wl-clipboard-rs-0.8) - ("rust-x11rb" ,rust-x11rb-0.13)))) - (home-page "https://github.com/1Password/arboard") - (synopsis "Image and text handling for the OS clipboard") - (description - "This package provides Image and text handling for the OS clipboard.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-atuin-18 - (package - (name "rust-atuin") - (version "18.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "atuin" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0ylr51crjq55d4m3108bwl0ahlrwrda6m7mgc6xgcnjrj0j23cly")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-arboard" ,rust-arboard-3) - ("rust-async-trait" ,rust-async-trait-0.1) - ("rust-atuin-client" ,rust-atuin-client-18) - ("rust-atuin-common" ,rust-atuin-common-18) - ("rust-atuin-daemon" ,rust-atuin-daemon-18) - ("rust-atuin-dotfiles" ,rust-atuin-dotfiles-18) - ("rust-atuin-history" ,rust-atuin-history-18) - ("rust-atuin-server" ,rust-atuin-server-18) - ("rust-atuin-server-postgres" - ,rust-atuin-server-postgres-18) - ("rust-base64" ,rust-base64-0.22) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-complete-nushell" - ,rust-clap-complete-nushell-4) - ("rust-colored" ,rust-colored-2) - ("rust-crossterm" ,rust-crossterm-0.27) - ("rust-directories" ,rust-directories-5) - ("rust-env-logger" ,rust-env-logger-0.11) - ("rust-eyre" ,rust-eyre-0.6) - ("rust-fs-err" ,rust-fs-err-2) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) - ("rust-indicatif" ,rust-indicatif-0.17) - ("rust-interim" ,rust-interim-0.1) - ("rust-itertools" ,rust-itertools-0.13) - ("rust-log" ,rust-log-0.4) - ("rust-ratatui" ,rust-ratatui-0.27) - ("rust-regex" ,rust-regex-1) - ("rust-rpassword" ,rust-rpassword-7) - ("rust-runtime-format" ,rust-runtime-format-0.1) - ("rust-rustix" ,rust-rustix-0.38) - ("rust-semver" ,rust-semver-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-sysinfo" ,rust-sysinfo-0.30) - ("rust-time" ,rust-time-0.3) - ("rust-tiny-bip39" ,rust-tiny-bip39-1) - ("rust-tokio" ,rust-tokio-1) - ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-uuid" ,rust-uuid-1) - ("rust-whoami" ,rust-whoami-1)) - #:cargo-development-inputs (("rust-tracing-tree" ,rust-tracing-tree-0.4)) - ;; These tests all try to connect to a locally running server instance. - #:cargo-test-flags - '("--" "--skip" "sync" "--skip" "change_password" "--skip" - "multi_user_test" "--skip" "registration"))) - (native-inputs (list sqlite)) - (home-page "https://atuin.sh") - (synopsis "atuin - magical shell history") - (description "This package provides atuin - magical shell history.") - (license license:expat))) diff --git a/oni/packages/emacs-config.scm b/oni/packages/emacs-config.scm index 112267c..6794a62 100644 --- a/oni/packages/emacs-config.scm +++ b/oni/packages/emacs-config.scm @@ -38,7 +38,7 @@ (define-public emacs-oni-config (let - ((commit "ea20080f5ce3a4e7f87455308afc30d21d5a8a24") + ((commit "b3b63e7322acd6fe373454bf5c8a41a97f000938") (revision "0")) (package (name "emacs-oni-config") (version (git-version "0.0.1" revision commit)) @@ -52,10 +52,9 @@ (file-name (git-file-name name version)) (sha256 (base32 - "10vm54szp1dwxlk9gmk22jjq27ci129c0cpg788m6xz8yc69sinf")))) + "0nj8gyzvajza2bsq20a2k1hljsmqw6a18l6bakff4d8l0wbmamzn")))) (build-system emacs-build-system) - (home-page - "https://code.ryuslash.org/emacs-config/") + (home-page "https://code.ryuslash.org/emacs-config/") (synopsis "My Emacs configuration") (description "This package provides my configuration for emacs") @@ -1022,3 +1021,35 @@ Emacs"))) (synopsis "My configuration for JavaScript.") (description "This package provides my configuration for editing JavaScript files."))) + +(define-public emacs-oni-outline + (package + (inherit emacs-oni-config) + (name "emacs-oni-outline") + (arguments + '(#:include '("oni-outline\\.el$"))) + (synopsis "My configuration for outline-mode and outline-minor-mode") + (description + "This package provides my configuration for outline modes."))) + +(define-public emacs-oni-sql + (package + (inherit emacs-oni-config) + (name "emacs-oni-sql") + (arguments + '(#:include '("oni-sql\\.el$"))) + (synopsis "My configuration for sql-mode") + (description + "This package provides my configuration for sql mode."))) + +(define-public emacs-oni-logview + (package + (inherit emacs-oni-config) + (name "emacs-oni-logview") + (arguments + '(#:include '("oni-logview\\.el$"))) + (synopsis "My configuration for logview-mode") + (propagated-inputs + (list emacs-logview)) + (description + "This package provides my configuration for logview mode."))) diff --git a/oni/packages/emacs.scm b/oni/packages/emacs.scm index dbbfc05..105a855 100644 --- a/oni/packages/emacs.scm +++ b/oni/packages/emacs.scm @@ -996,4 +996,26 @@ enabled.") (description "Major mode for editing Phel language source files.") (license license:gpl3+)))) -emacs-phel-mode +(define-public emacs-vue-ts-mode + (let ((commit "efc7031f50bbfd2a3293aee4fcb34bf0503b7f83") + (revision "0")) + (package + (name "emacs-vue-ts-mode") + (version (git-version "0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/8uff3r/vue-ts-mode.git") + (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 "148czg4vk301ikl60rw2pxmgapmlwz32jkg4jj5dkym0nrcq04vh")))) + (arguments + (list #:include + #~(list "^vue-ts-mode.el"))) + (build-system emacs-build-system) + (home-page "https://github.com/8uff3r/vue-ts-mode") + (synopsis "Emacs major mode for Vue based on Tree-sitter") + (description "Emacs major mode for Vue based on Tree-sitter") + (license license:gpl3+)))) diff --git a/wezterm/.config/wezterm/wezterm.lua b/wezterm/.config/wezterm/wezterm.lua index dc03d78..c122e66 100644 --- a/wezterm/.config/wezterm/wezterm.lua +++ b/wezterm/.config/wezterm/wezterm.lua @@ -1,6 +1,13 @@ local wezterm = require 'wezterm' local config = {} +config.default_cursor_style = 'SteadyBar' + +config.colors = { + foreground = '#bfbfbf', + background = '#222424', +} + config.keys = { { key = 'E', |
