archive a few unused modules

This commit is contained in:
Yan Lin 2025-12-11 21:22:05 +01:00
parent 46f98a4be4
commit 36a0de496b
9 changed files with 1 additions and 7 deletions

View file

@ -1,179 +0,0 @@
{ pkgs, lib, ... }:
let
# Platform-aware papis config directory
papisConfigDir = if pkgs.stdenv.isDarwin then "Library/Application Support/papis" else ".config/papis";
in
{
# Install papis package
home.packages = [
(pkgs.symlinkJoin {
name = "papis-wrapped";
paths = [
(pkgs.papis.overridePythonAttrs (old: {
doCheck = false;
}))
];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/papis \
--set PYTHONWARNINGS "ignore::UserWarning"
'';
})
];
# Papis configuration
home.file."${papisConfigDir}/config".text = ''
[settings]
default-library = main
editor = nvim
opentool = ${if pkgs.stdenv.isDarwin then "open -a Preview" else "evince"}
# Document management
ref-format = {doc[author]}{doc[year]}
# Search and display
sort-field = year
sort-reverse = True
match-format = {doc[tags]}{doc[author]}{doc[title]}{doc[year]}
# Database and storage
database-backend = papis
use-git = False
# Interface
fzf-binary = fzf
picktool = fzf
[main]
dir = ~/Documents/app-state/papis
# Local configuration for the main library
local-config-file = .papisrc
'';
# Create the papis library directory
home.activation.createPapisDir = ''
mkdir -p ~/Documents/app-state/papis
'';
# Papis bibliography template
home.file."${papisConfigDir}/templates/bibitem.template".text = ''
{doc[title]} ({doc[year]}). {doc[author]}.
Venue: {doc[journal]} {doc[booktitle]} {doc[eprinttype]} {doc[eprint]} {doc[eventtitle]}
Tags: {doc[tags]}
URL: {doc[url]}
---
'';
# Papis BibTeX template
home.file."${papisConfigDir}/templates/bibtex.template".text = ''
@{doc[type]}{{{doc[ref]},
author = {{{doc[author]}}},
title = {{{doc[title]}}},
year = {{{doc[year]}}},
journal = {{{doc[journal]}}},
booktitle = {{{doc[booktitle]}}},
volume = {{{doc[volume]}}},
number = {{{doc[number]}}},
pages = {{{doc[pages]}}},
doi = {{{doc[doi]}}},
url = {{{doc[url]}}}
}}
'';
# Papis citation template
home.file."${papisConfigDir}/templates/citation.template".text = ''
{doc[author]}. "{doc[title]}." {doc[journal]}{doc[booktitle]} ({doc[year]}).
'';
# Shell aliases for papis workflow
programs.zsh.shellAliases = {
# Bibliography formatting
pals = "papis list --template \"$HOME/${papisConfigDir}/templates/bibitem.template\"";
# Add new entry with bibtex
paadd = "papis add --from bibtex";
# Remove/delete entries
parm = "papis rm";
# BibTeX export
pabib = "papis list --template \"$HOME/${papisConfigDir}/templates/bibtex.template\"";
# Citation formatting
pacite = "papis list --template \"$HOME/${papisConfigDir}/templates/citation.template\"";
# File operations
paurl = "papis addto -u";
# Open documents
paopen = "papis open";
# Print document file path
papwd = "papis list --file";
# Cache management
pareset = "papis cache reset";
};
# Shell functions for papis workflow
programs.zsh.initContent = ''
# Papis add file function - add file to existing document with proper parameter handling
pafile() {
if [ $# -lt 1 ]; then
echo "Usage: pafile <filename> [query]"
echo "Example: pafile paper.pdf # Interactive selection"
echo "Example: pafile paper.pdf \"einstein relativity\" # Direct match"
echo "Example: pafile /path/to/paper.pdf \"quantum\" # Absolute path"
return 1
fi
local filename="$1"
shift # Remove first argument
local query="$*" # All remaining arguments as query (empty if none)
# Check if filename is absolute path or relative to Downloads
if [[ "$filename" == /* ]]; then
# Absolute path
if [ -n "$query" ]; then
papis addto -f "$filename" "$query"
else
papis addto -f "$filename"
fi
else
# Relative to Downloads
if [ -n "$query" ]; then
papis addto -f "$HOME/Downloads/$filename" "$query"
else
papis addto -f "$HOME/Downloads/$filename"
fi
fi
}
# Papis tag function - rewrite tags using hash-separated format
patag() {
if [ $# -ne 2 ]; then
echo "Usage: patag \"tag1#tag2#tag3\" <query>"
echo "Example: patag \"materials#ai4science\" amorphous"
echo "Example: patag \"quantum#computing\" \"author:einstein\""
return 1
fi
local tags_string="$1"
local query="$2"
# First, drop all existing tags
papis tag --drop "$query"
# Add each tag individually by splitting on #
echo "$tags_string" | tr '#' '\n' | while read tag; do
# Trim whitespace
tag=$(echo "$tag" | xargs)
if [ -n "$tag" ]; then
papis tag --add "$tag" "$query"
fi
done
}
'';
}