From: Samir Benmendil Date: Sun, 7 Dec 2025 21:16:25 +0000 (+0000) Subject: gpg: extend default cache to 30min X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/HEAD?hp=d48c22d4964bfaceae16cee976b1b0d9213ecc3f gpg: extend default cache to 30min --- diff --git a/bin/makesums b/bin/makesums index 617e809..11464cc 100755 --- a/bin/makesums +++ b/bin/makesums @@ -7,7 +7,7 @@ BEGIN { if (!newsums) exit 1 } -/^[[:blank:]]*(md|sha)[[:digit:]]+sums=/,/\)[[:blank:]]*$/ { +/^[[:blank:]]*(md|sha|b)[[:digit:]]+sums=/,/\)[[:blank:]]*$/ { if (!i) print newsums; i++ next } diff --git a/bugwarrior/bugwarrior.toml b/bugwarrior/bugwarrior.toml index fd5bb41..92e38f6 100644 --- a/bugwarrior/bugwarrior.toml +++ b/bugwarrior/bugwarrior.toml @@ -2,28 +2,47 @@ [general] taskrc = "~/.config/task/taskrc" -targets = ["fpp_gitlab", "fpp_gitlab_todo"] +targets = ["fpp_gitlab_mr", "fpp_gitlab_issue", "fpp_gitlab_todo"] -shorten = false -inline_links = true -annotation_links = true +shorten = false +inline_links = true -[fpp_gitlab] +annotation_links = false +annotation_comments = false + +[fpp_gitlab_mr] service = "gitlab" login = "samir.fpp" token = "@oracle:eval:pass fpp/gitlab.com/tokens/bugwarrior" host = "gitlab.com" include_repos = ["fppnt/sgnss/springfield"] -add_tags = ["work", "gitlab", "{{gitlabtype}}"] +add_tags = ["gitlab", "mr"] owned = false -include_issues = true +include_issues = false include_merge_requests = true include_todos = false -default_issue_priority = "L" default_mr_priority = "H" +project_template = "stm.!{{gitlabnumber}}" +description_template = "{{gitlabtitle}}" + +[fpp_gitlab_issue] +service = "gitlab" +login = "samir.fpp" +token = "@oracle:eval:pass fpp/gitlab.com/tokens/bugwarrior" +host = "gitlab.com" + +include_repos = ["fppnt/sgnss/springfield"] +add_tags = ["gitlab", "issue"] + +owned = false +include_issues = true +include_merge_requests = false +include_todos = false +default_issue_priority = "L" + project_template = "stm.#{{gitlabnumber}}" description_template = "{{gitlabtitle}}" @@ -33,7 +52,7 @@ login = "samir.fpp" token = "@oracle:eval:pass fpp/gitlab.com/tokens/bugwarrior" host = "gitlab.com" -add_tags = ["work", "gitlab", "todo"] +add_tags = ["gitlab", "todo"] owned = true include_issues = false diff --git a/gnupg/gpg-agent.conf b/gnupg/gpg-agent.conf index 880b47e..6fef332 100644 --- a/gnupg/gpg-agent.conf +++ b/gnupg/gpg-agent.conf @@ -1,6 +1,6 @@ pinentry-program /usr/local/bin/pinentry keep-display -default-cache-ttl 600 +default-cache-ttl 1800 # 30 min # for pam_gnupg allow-preset-passphrase max-cache-ttl 86400 # a day diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 9fa0e76..aa69e77 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,78 +1,78 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e5ca2c40986f415398dd5711625f0099b80b28b0" }, - "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, + "SchemaStore.nvim": { "branch": "main", "commit": "21645280ad06fce01ef109e82d76302dcbe62756" }, + "blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, "clangd_extensions.nvim": { "branch": "main", "commit": "b67cc417d9020fb4b83d46662351b4d16894905e" }, - "conform.nvim": { "branch": "master", "commit": "cde4da5c1083d3527776fee69536107d98dae6c9" }, + "cmake-tools.nvim": { "branch": "master", "commit": "87944a5d79b4da7458145d7476d5336557e11911" }, + "conform.nvim": { "branch": "master", "commit": "ffe26e8df8115c9665d24231f8a49fadb2d611ce" }, "crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" }, - "debugprint.nvim": { "branch": "main", "commit": "ece265d9a65b55511cce3aaa5e46f39d58b4340e" }, + "debugprint.nvim": { "branch": "main", "commit": "35fb81a081cf1a6f19f9e9e7f625c78d519a7f18" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "56ef6a969a4990d938c5fed40c370f65e125fc97" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "gitlab.nvim": { "branch": "main", "commit": "e29909cd1064a7b53c3150bff49449a548dadf8d" }, - "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" }, + "gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" }, "grug-far.nvim": { "branch": "main", "commit": "815d6832b6f04cd03e09831f099575fd3b8e6531" }, - "haskell-snippets.nvim": { "branch": "master", "commit": "06be2f61d2970a90e8c4db16ab8cd450233db5c1" }, + "haskell-snippets.nvim": { "branch": "master", "commit": "cbe4e20fccb2e527d370765c8248205b31571037" }, "haskell-tools.nvim": { "branch": "master", "commit": "65d6993eba1a56bbd5211ef13a100d26ce3e644a" }, - "hererocks": { "branch": "master", "commit": "160228946bed9998f5e3b168bd0b66ba2690f8f3" }, - "lazy.nvim": { "branch": "main", "commit": "e6a8824858757ca9cd4f5ae1a72d845fa5c46a39" }, - "lazydev.nvim": { "branch": "main", "commit": "371cd7434cbf95606f1969c2c744da31b77fcfa6" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, - "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, "luarocks.nvim": { "branch": "main", "commit": "1db9093915eb16ba2473cfb8d343ace5ee04130a" }, "luasnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "d7b5feb6e769e995f7fcf44d92f49f811c51d10c" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0b9bb925c000ae649ff7e7149c8cd00031f4b539" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" }, - "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, - "mini.ai": { "branch": "main", "commit": "0d3c9cf22e37b86b7a0dfbe7ef129ee7a5f4f93c" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "mini.ai": { "branch": "main", "commit": "bfb26d9072670c3aaefab0f53024b2f3729c8083" }, "mini.clue": { "branch": "main", "commit": "8b8598afa285f2a25cfd15a67e7eaa210ad405c3" }, - "mini.hipatterns": { "branch": "main", "commit": "45fde19f5af77ec2e04c7fe7e84572db16e552ac" }, + "mini.hipatterns": { "branch": "main", "commit": "add8d8abad602787377ec5d81f6b248605828e0f" }, "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" }, "mini.indentscope": { "branch": "main", "commit": "8ce41a77eed7f4121c83c67fda5e2e86af999e6d" }, - "mini.operators": { "branch": "main", "commit": "0670bfbfe492f630e37f240dbc31bdc652292e4e" }, - "mini.pairs": { "branch": "main", "commit": "b316e68f2d242d5bd010deaab645daa27ed86297" }, + "mini.operators": { "branch": "main", "commit": "59f5fdbaaed7cce160076e70926cb16faadea78c" }, + "mini.pairs": { "branch": "main", "commit": "472ec50092a3314ec285d2db2baa48602d71fe93" }, "mini.surround": { "branch": "main", "commit": "88c52297ed3e69ecf9f8652837888ecc727a28ee" }, "neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" }, "neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" }, - "neotest": { "branch": "master", "commit": "366175e1e74ff112787f9adbfb072eeaedd2a88e" }, - "neotest-golang": { "branch": "main", "commit": "2806bc07066a734d6ed94d45d2d2557a0e2195d8" }, - "neotest-haskell": { "branch": "master", "commit": "1e93a6f35e6409751acf99c34461c1bd2b8edc57" }, + "neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" }, + "neotest-golang": { "branch": "main", "commit": "b982da5f39980797c1bdec875d688a302245f31f" }, + "neotest-haskell": { "branch": "master", "commit": "a7182093aeb118b03d8dca90c1cba4b47841de3b" }, "neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" }, "neotest-rspec": { "branch": "main", "commit": "e7dc67c1167a9e593c804a6be6808ba9a5920d43" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-dap": { "branch": "master", "commit": "e97dc47e134ffb33da008658fecfae8f8547c528" }, + "nvim-dap": { "branch": "master", "commit": "5860c7c501eb428d3137ee22c522828d20cca0b3" }, "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, "nvim-dap-python": { "branch": "master", "commit": "64652d1ae1db80870d9aac7132d76e37acd86a26" }, "nvim-dap-ruby": { "branch": "main", "commit": "ba36f9905ca9c6d89e5af5467a52fceeb2bbbf6d" }, "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, - "nvim-lint": { "branch": "master", "commit": "8c694e1a1ee2ac14df931679cd54e6b8d402c2c2" }, - "nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" }, - "nvim-navic": { "branch": "master", "commit": "099b4c8cdc3e9ea026ea6b2a0d315e2d28362242" }, + "nvim-lint": { "branch": "master", "commit": "ebe535956106c60405b02220246e135910f6853d" }, + "nvim-lspconfig": { "branch": "master", "commit": "a2bd1cf7b0446a7414aaf373cea5e4ca804c9c69" }, + "nvim-navic": { "branch": "master", "commit": "7d914a39a1ef8f4e22c2c4381abeef7c556f5a13" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" }, - "oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" }, - "one-small-step-for-vimkind": { "branch": "main", "commit": "8fdbb4ed7bd20f92d3c1344b1e619af9017c743d" }, + "oil.nvim": { "branch": "master", "commit": "cbcb3f997f6f261c577b943ec94e4ef55108dd95" }, + "one-small-step-for-vimkind": { "branch": "main", "commit": "87eeca2bd4d90a94eed1ef0dbc66885117e7bacb" }, "onenord.nvim": { "branch": "main", "commit": "77ca72a9ef771239eb43bf4b745285396e909bf6" }, - "orgmode": { "branch": "master", "commit": "b7bcb90ef446a3e846ac7e0a84391fd737e9b793" }, + "orgmode": { "branch": "master", "commit": "ca572cccdf5f401deb478e64af90aff8fcd2c43a" }, "pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "render-markdown.nvim": { "branch": "main", "commit": "a1b2bf029c37397947082f31969b4aec0d1b92bd" }, - "rustaceanvim": { "branch": "master", "commit": "ae35f7592dcdef8f131f35ba1edcfaabdce3dd0a" }, - "snacks.nvim": { "branch": "main", "commit": "741f4b18994977db374d8e0ed2b49f0a32efce92" }, - "telescope.nvim": { "branch": "master", "commit": "47a8530e79a484d55ba5efa3768fc0b0c023d497" }, + "render-markdown.nvim": { "branch": "main", "commit": "b2b135347e299ffbf7f4123fb7811899b0c9f4b8" }, + "rustaceanvim": { "branch": "master", "commit": "0e8f01d55888f499a48af0752dae7de92ef12269" }, + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" }, "telescope_hoogle": { "branch": "master", "commit": "14be34fd5c464e3da0992ad094f157b0b8b098f9" }, - "todo-comments.nvim": { "branch": "main", "commit": "411503d3bedeff88484de572f2509c248e499b38" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "venv-selector.nvim": { "branch": "main", "commit": "f212a424fb29949cb5e683928bdd4038bbe0062d" }, "vim-snippets": { "branch": "master", "commit": "ededcf7581962ee616cadab360d5966f3307f11a" }, "vim-startuptime": { "branch": "master", "commit": "b6f0d93f6b8cf6eee0b4c94450198ba2d6a05ff6" }, - "vimtex": { "branch": "master", "commit": "be9deac3a23eeb145ccf11dd09080795838496ce" } + "vimtex": { "branch": "master", "commit": "32bcb3922c20588e00de68f73c86312eda2141ad" } } diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index aeaca61..31f96b7 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua @@ -20,6 +20,9 @@ vim.diagnostic.config({ virtual_text = false }) -- TODO: also try noinsert opt.completeopt = "menu,menuone,noselect" +-- TODO: review clipboard providers +-- :help provider-clipboard + -- Some settings taken from LazyVim's default options opt.pumblend = 10 -- Popup blend opt.pumheight = 10 -- Maximum number of entries in a popup diff --git a/nvim/lua/plugins/test.lua b/nvim/lua/plugins/test.lua index 9ed3fc4..68ad914 100644 --- a/nvim/lua/plugins/test.lua +++ b/nvim/lua/plugins/test.lua @@ -5,13 +5,7 @@ return { adapters = {}, status = { virtual_text = true }, output = { open_on_run = true }, - quickfix = { - open = function() - -- TODO: review if I'd prefer to just use quickfix here - -- vim.cmd("copen") - require("trouble").open({ mode = "quickfix", focus = false }) - end, - }, + quickfix = { enabled = true }, }, config = function(_, opts) local neotest_ns = vim.api.nvim_create_namespace("neotest") diff --git a/ssh/config b/ssh/config index fad44db..821f780 100644 --- a/ssh/config +++ b/ssh/config @@ -11,7 +11,7 @@ ForwardAgent yes Host libreelec.lan User root -Host wrt-*.lan +Host wrt-*.lan wrt-*.*.lan User root HostKeyAlgorithms=+ssh-rsa @@ -24,6 +24,12 @@ Port 22223 ForwardAgent yes ProxyJump rmz.io +Host deepthought +RemoteForward /run/user/1000/gnupg/d.1xtncmpif16g4astkntdim57/S.gpg-agent /run/user/1000/gnupg/d.1xtncmpif16g4astkntdim57/S.gpg-agent.extra + +Host fpp-nuc +RemoteForward /run/user/1000/gnupg/d.npnhfcga8k6z5k1d76imaij7/S.gpg-agent /run/user/1000/gnupg/d.1xtncmpif16g4astkntdim57/S.gpg-agent.extra + Host * ControlMaster auto ControlPersist 1h diff --git a/systemd/user/bugwarrior.service b/systemd/user/bugwarrior.service new file mode 100644 index 0000000..16bd947 --- /dev/null +++ b/systemd/user/bugwarrior.service @@ -0,0 +1,9 @@ +[Unit] +Description=Bugwarrior pull +After=network.target network-online.target dbus.socket + +[Service] +Type=oneshot +# do not log unit start/success messages +LogLevelMax=notice +ExecStart=/usr/bin/bugwarrior pull diff --git a/systemd/user/bugwarrior.timer b/systemd/user/bugwarrior.timer new file mode 100644 index 0000000..a606ad5 --- /dev/null +++ b/systemd/user/bugwarrior.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Bugwarrier pull timer + +[Timer] +OnBootSec=15min +OnUnitActiveSec=15min +RandomizedDelaySec=1min + +[Install] +WantedBy=timers.target diff --git a/task/taskrc b/task/taskrc index 7be6a3d..9c4848b 100644 --- a/task/taskrc +++ b/task/taskrc @@ -36,8 +36,8 @@ report.in.filter = ( status:waiting or status:pending ) limit:page (+in) report.in.sort = entry+ report.today.description = Tasks for today -report.today.columns = id,start.age,priority,project,tags,scheduled.remaining,due.relative,until.remaining,description,urgency -report.today.filter = status:pending (-maybe -BLOCKED) (+ACTIVE or due.by:eod or scheduled.by:eod or +next) limit:page +report.today.columns = id,start.age,priority,project,tags,scheduled.relative,due.relative,until.remaining,description,urgency +report.today.filter = +READY (+ACTIVE or due.by:eod or scheduled.by:eod or +next) limit:page report.today.sort = urgency- report.today.context = yes @@ -53,6 +53,11 @@ report.closed.filter = ( status:completed or status:deleted ) limit:page report.closed.sort = end- report.closed.context = yes +report.gitlab.description = Gitlab +report.gitlab.columns = id,project,gitlabmilestone,gitlabcreatedon,due,description.count,urgency +report.gitlab.filter = +gitlab status:pending +report.gitlab.sort = urgency- + # Urgency urgency.uda.priority.L.coefficient=-2 # setting priority to low reduces urgency @@ -81,18 +86,66 @@ report.recurring.filter = status:recurring #uda.rtype.label=Recur.Type #uda.rtype.type=string #uda.rtype.values=chained,periodic -uda.r.label=TwRecurrence -uda.r.type=string -uda.rparent.label=Parent task -uda.rparent.type=string -uda.rwait.label=Wait (instance) -uda.rwait.type=date -uda.runtil.label=Until WIP (instance) -uda.runtil.type=date -uda.rscheduled.label=Scheduled (instance) +uda.r.label=R +uda.r.type=duration +uda.rskip.label=rskip +uda.rskip.type=string +uda.rskip.values = no,yes +uda.rparent.label=Parent +uda.rparent.type=uuid +uda.rlastinstance.label=Last child +uda.rlastinstance.type=uuid +# TODO: Remove the UDAs once they are no longer in use uda.rscheduled.type=date -uda.rlastinstance.label=Last child task -uda.rlastinstance.type=string +uda.rnext_due.label=Due (next) +uda.rnext_due.type=date +uda.rnext_scheduled.label=Scheduled (next) +uda.rnext_scheduled.type=date +uda.rnext_wait.type=Wait (next) +uda.rnext_wait.type=date +uda.rnext_until.type=Until (next) +uda.rnext_until.type=date +uda.runtil.label=Until (instance) +uda.runtil.type=date + +# Bugwarrior UDAs +uda.gitlabtitle.type=string +uda.gitlabtitle.label=Title +uda.gitlabdescription.type=string +uda.gitlabdescription.label=Description +uda.gitlabcreatedon.type=date +uda.gitlabcreatedon.label=Created +uda.gitlabupdatedat.type=date +uda.gitlabupdatedat.label=Updated +uda.gitlabduedate.type=date +uda.gitlabduedate.label=Due Date +uda.gitlabmilestone.type=string +uda.gitlabmilestone.label=Milestone +uda.gitlaburl.type=string +uda.gitlaburl.label=URL +uda.gitlabrepo.type=string +uda.gitlabrepo.label=Repo Slug +uda.gitlabtype.type=string +uda.gitlabtype.label=Type +uda.gitlabnumber.type=string +uda.gitlabnumber.label=Issue/MR # +uda.gitlabstate.type=string +uda.gitlabstate.label=Issue/MR State +uda.gitlabupvotes.type=numeric +uda.gitlabupvotes.label=Upvotes +uda.gitlabdownvotes.type=numeric +uda.gitlabdownvotes.label=Downvotes +uda.gitlabwip.type=numeric +uda.gitlabwip.label=MR Work-In-Progress Flag +uda.gitlabauthor.type=string +uda.gitlabauthor.label=Author +uda.gitlabassignee.type=string +uda.gitlabassignee.label=Assignee +uda.gitlabnamespace.type=string +uda.gitlabnamespace.label=Namespace +uda.gitlabweight.type=numeric +uda.gitlabweight.label=Weight +# END Bugwarrior UDAs # taskd taskd.certificate=$XDG_DATA_HOME/task/hactar.cert.pem @@ -103,7 +156,7 @@ taskd.server=rmz.io:53589 # Context ## Combination of work and home related chores/habits -context.wfh.read = (work:yes or work:wfh or +habit or +chore) +context.wfh.read = (work:yes or work:wfh or +habit or +chore or +gitlab) context.wfh.write = work:yes ## Work only for planning (maybe not needed?) @@ -111,11 +164,12 @@ context.work.read = work.any: context.work.write = work:yes ## Home, no work -context.home.read = work.none: +context.home.read = (work.none: and -gitlab) ## Outside, meant to be for checking on phone for other things I should do while out context.outside.read=+outside # NOTE: a context setting may be updated/added automatically on the last line -news.version=3.3.1 +news.version=3.4.1 + context=home diff --git a/wezterm/wezterm.lua b/wezterm/wezterm.lua index 2689c2c..a3483a6 100644 --- a/wezterm/wezterm.lua +++ b/wezterm/wezterm.lua @@ -25,9 +25,23 @@ config.keys = { label = 'open url', patterns = { 'https?://\\S+', + 'stm\\.[#!]\\d+', }, action = wezterm.action_callback(function (win, pane) local url = win:get_selection_text_for_pane(pane) + wezterm.log_info('selected: ' .. url) + local found, _, proj, type, num = string.find(url, "^(stm)%.([#!])(%d+)$") + wezterm.log_info('selected: ' .. url) + if found ~= nil then + if type == "#" then type = "issues" + elseif type == "!" then type = "merge_requests" + else return + end + if proj == "stm" then proj = "springfield" + else proj = proj + end + url = string.format("https://gitlab.com/fppnt/sgnss/%s/-/%s/%d", proj, type, num) + end wezterm.log_info('opening: ' .. url) wezterm.open_with(url, "rifle") end), diff --git a/zsh/lib/50-taskwarrior.zsh b/zsh/lib/50-taskwarrior.zsh index 92f56bb..fc5b0c3 100644 --- a/zsh/lib/50-taskwarrior.zsh +++ b/zsh/lib/50-taskwarrior.zsh @@ -2,14 +2,18 @@ if (( ! $+commands[task] )); then return 1 fi -alias t="noglob task" +alias task="noglob task" +alias t="task" alias tt="task today" -alias tlatest="t +LATEST" -alias in="noglob task add +in" + +alias in="task add +in" alias inn="in rc.context=none" + alias tw="task context wfh" alias th="task context home" +alias tlatest="t +LATEST" + autoload -Uz task-quote-magic zle -N self-insert task-quote-magic @@ -19,6 +23,7 @@ function tparent() { } function tick() { + # TODO: have duration as an option to allow multiple filter if (( # < 1 || # > 2)); then print >&2 "Usage: $0 [duration]" return 1 @@ -26,6 +31,24 @@ function tick() { task $1 mod wait:${2:-1h} } +function turg() { + local context=$(task _get rc.context) + local context_read=$(task _get rc.context.$context.read) + local urg_task=$(task +READY $context_read _urgency | sort -k4 -n | tail -1 | cut -d" " -f2) + task $urg_task $@ +} + +function rnr() { + # Taken from https://cs-syd.eu/posts/2015-07-05-gtd-with-taskwarrior-part-4-processing + local link="$1" + title=$(curl --silent "$link" | htmlq --text title) + descr="'$title'" + task add +in +rnr $descr + task +LATEST annotate "$link" +} + +# TODO: function to show the latest report + function task_today_list() { local task_cmd=(task rc.verbose:nothing) local task_count=$($task_cmd $($task_cmd _get rc.report.today.filter) count) diff --git a/zshenv b/zshenv index 2a4f38d..db826fe 100644 --- a/zshenv +++ b/zshenv @@ -21,14 +21,19 @@ export SSH_AUTH_SOCK=${SSH_AUTH_SOCK:-"$XDG_RUNTIME_DIR/ssh-agent.socket"} export MAILDIR="$HOME/mail" +# pass +export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass" + if hash systemctl 2>/dev/null; then systemctl --user import-environment \ - XDG_CACHE_HOME \ - XDG_CONFIG_HOME \ - XDG_DATA_HOME \ GNUPGHOME \ MAILDIR \ - SSH_AUTH_SOCK + PATH \ + PASSWORD_STORE_DIR \ + SSH_AUTH_SOCK \ + XDG_CACHE_HOME \ + XDG_CONFIG_HOME \ + XDG_DATA_HOME fi # vim stuff @@ -53,9 +58,6 @@ export RXVT_SOCKET="$XDG_RUNTIME_DIR/urxvtd-$HOST" export MPV_HOME="$XDG_CONFIG_HOME/mpv" export MPLAYER_HOME="$XDG_CONFIG_HOME/mplayer" -# pass -export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass" - # weechat export WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"