aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels.scm66
-rw-r--r--glide/.config/glide/glide.ts241
-rw-r--r--glide/.config/glide/sitesearch.glide.ts147
-rw-r--r--glide/.config/glide/tabbar.glide.ts256
l---------oni/home/config/8t88.scm1
-rw-r--r--oni/home/config/common.scm50
-rw-r--r--oni/home/config/data.scm150
-rw-r--r--oni/home/config/pop-os.scm148
-rw-r--r--oni/home/config/pop-os/emacs.el111
-rw-r--r--oni/home/config/rincewind.scm2
-rw-r--r--oni/home/services/emacs.scm39
-rw-r--r--oni/home/services/emacs/org-mem.el6
-rw-r--r--oni/home/services/stumpwm/stumpwm.lisp2
-rw-r--r--oni/home/services/zsh.scm41
-rw-r--r--oni/packages/atuin.scm1515
-rw-r--r--oni/packages/emacs-config.scm39
-rw-r--r--oni/packages/emacs.scm24
-rw-r--r--wezterm/.config/wezterm/wezterm.lua7
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',