From 9fdeb99a6179d2aca1cc3546282a79f7f936b06d Mon Sep 17 00:00:00 2001 From: Till Date: Thu, 12 Feb 2026 15:28:48 +0100 Subject: [PATCH] diesdas --- home/aichat.nix | 6 ++ home/calendars.nix | 4 +- home/mail/bindings.neomuttrc | 82 ++++++++----------- home/mail/config.neomuttrc | 41 ++-------- home/mail/default.nix | 143 +++++++++------------------------ home/mail/smime.neomuttrc | 24 ------ home/nvim/config.vim | 4 +- home/nvim/default.nix | 27 ++++++- home/nvim/nvim-cmp.lua | 37 +++------ system/desktop/yubikey-pam.nix | 3 +- system/web-server/dex.nix | 2 +- 11 files changed, 122 insertions(+), 251 deletions(-) delete mode 100644 home/mail/smime.neomuttrc diff --git a/home/aichat.nix b/home/aichat.nix index e2a927a..cdbc120 100644 --- a/home/aichat.nix +++ b/home/aichat.nix @@ -5,4 +5,10 @@ aichat glow ]; + + programs.fish.shellAliases = { + vibe = "aichat -c"; + clank = "aichat -e"; + slop = "aichat"; + }; } diff --git a/home/calendars.nix b/home/calendars.nix index e645f50..da4c27e 100644 --- a/home/calendars.nix +++ b/home/calendars.nix @@ -3,7 +3,7 @@ let myRemote = slug: { - passwordCommand = [ "pass" "ktiu/radicale" ]; + passwordCommand = [ "pass" "accounts/ktiu-radicale" ]; userName = "ktiu"; type = "caldav"; url = "https://kalender.ktiu.net/ktiu/${slug}"; @@ -127,7 +127,7 @@ in remote = { type = "caldav"; url = "https://cloud.gridisnotajournal.de/remote.php/dav/calendars/till/grid/"; - passwordCommand = [ "pass" "grid/nextcloud" ]; + passwordCommand = [ "pass" "uni/grid-caldav-nextcloud" ]; userName = "till"; }; }; diff --git a/home/mail/bindings.neomuttrc b/home/mail/bindings.neomuttrc index 92a2f00..be89bbd 100644 --- a/home/mail/bindings.neomuttrc +++ b/home/mail/bindings.neomuttrc @@ -1,25 +1,18 @@ # Navigation bind pager k previous-entry bind pager j next-entry -# bind index,pager \Cu half-up -# bind index,pager \Cd half-down -# bind pager gg top -# bind index gg first-entry -# bind pager G bottom -# bind index G last-entry -# bind index,pager N search-opposite bind index display-message bind index collapse-thread bind index,pager gf change-folder # Read HTML bind index,pager V noop -macro index,pager V "html" +macro index,pager V "html" "View as HTML" # compose bind compose p postpone-message bind compose P pgp-menu -# macro compose I "`tmpfile=$(mktemp -u --suffix .png -t XXXXXXXXXXXX -p ~/tmp) && wl-paste -t image/png > "$tmpfile" && echo "$tmpfile"`" "attach image from clipboard" +macro compose I "\`tmpfile=$(mktemp -u --suffix .png -t XXXXXXXXXXXX -p ~/tmp) && wl-paste -t image/png > \"$tmpfile\" && echo \"$tmpfile\"\`" "attach image from clipboard" bind editor complete-query bind editor ^T complete @@ -28,58 +21,47 @@ bind index,pager m noop macro index,pager mar "newn*" "Mark all read" # compose with signature management -macro index,pager @ "set signature=$my_signature" "Compose to sender" macro index,pager c "set signature=$my_signature" "Compose new message" -macro index,pager r "unset signature" "Reply to message" -macro index,pager a "unset signature" "Reply all" -macro index,pager f "unset signature" "Forward message" +macro index,pager r "unset signature" "Reply to message" +macro index,pager a "unset signature" "Reply all" +macro index,pager f "unset signature" "Forward message" # moving messages -macro index,pager J ":set resolve=no\nn:set resolve=yes\n$my_junk" \ - "Move to junk folder" -macro index,pager y ":set resolve=no\nn:set resolve=yes\n$mbox" \ - "Move message to the archive" -macro index,pager I "$spoolfile" "Move message to the inbox" +macro index,pager J ":set resolve=no\nn:set resolve=yes\n$my_junk" "Move to junk" +macro index,pager y ":set resolve=no\nn:set resolve=yes\n$mbox" "Move to archive" +macro index,pager I "$spoolfile" "Move to inbox" # switch folders -macro index,pager g! "$spoolfile" "Go to inbox" -macro index,pager gd "$postponed" "Go to drafts" -macro index,pager g< "$record" "Go to sent" -macro index,pager ga "$mbox" "Go to archive" -macro index,pager g> "$mbox" "Go to archive" -macro index,pager gt "$trash" "Go to trash" -macro index,pager gj "$my_junk" "Go to junk" +macro index,pager g! "$spoolfile" "Go to inbox" +macro index,pager gd "$postponed" "Go to drafts" +macro index,pager g< "$record" "Go to sent" +macro index,pager g> "$mbox" "Go to archive" +macro index,pager gt "$trash" "Go to trash" +macro index,pager gj "$my_junk" "Go to junk" # accounts -macro index,pager gu "~/.local/share/mail/gu/Inbox" "Go to GU" -# macro index,pager gp "+systemli/IMAP/Inbox" "Go to Systemli" -macro index,pager gm "~/.local/share/mail/t9e/Inbox" "Go to t9e" -# macro index,pager gm "+gmail/IMAP/Inbox" "Go to Gmail" -macro index,pager gk "~/.local/share/mail/ksh/Inbox" "Go to KSH" -macro index,pager gi "~/.local/share/mail/ktiu/Inbox" "Go to ktiu" -# macro index,pager gf "~/.local/share/mail/dkg/Inbox" "Go to DKG" +macro index,pager gu "~/.local/share/mail/gu/Inbox" "Go to gu" +macro index,pager gm "~/.local/share/mail/t9e/Inbox" "Go to t9e" +macro index,pager gk "~/.local/share/mail/ksh/Inbox" "Go to ksh" +macro index,pager gi "~/.local/share/mail/ktiu/Inbox" "Go to ktiu" macro index,pager L "all\n" "Show all messages (undo limit)" -# macro index,pager go "mbsync -c ~/.config/mbsync/mbsyncrc $my_mbsync_acct && notmuch new &" \ -# "Run mbsync to sync mail for this account" +macro index,pager go "mbsync $my_account && notmuch new" "Sync this account" +macro index,pager gO "mbsync -a && notmuch new" "Sync all accounts" -macro index,pager go "mbsync $my_mbsync_acct && notmuch new" \ +bind index,pager / noop +macro index,pager // "folder:/$my_account/" "Find in account" +macro index,pager g/ "" "Find in all accounts" +macro index,pager /! "folder:+$my_account/$my_nm_spoolfile" "Find in inbox" +macro index,pager /< "folder:+$my_account/$my_nm_record" "Find in sent" +macro index,pager /> "folder:+$my_account/$my_nm_mbox" "Find in archive" +macro index,pager /d "folder:+$my_account/$my_nm_postponed" "Find in drafts" +macro index,pager /t "folder:+$my_account/$my_nm_trash" "Find in trash" +macro index,pager /j "folder:+$my_account/$my_nm_junk" "Find in junk" -macro index,pager g/ "" "find in nm" +macro index,pager A "khard add-email --vcard-version=4.0" "Add sender to khard" -macro index,pager A \ - "khard add-email --vcard-version=4.0" \ - "add the sender email address to khard" +macro index,pager S " ripmime -i - -d ~/tmp && rm ~/tmp/textfile*" "Save all attachments" -macro index,pager S \ - " ripmime -i - -d ~/tmp && rm ~/tmp/textfile*" \ - "save all non-text attachments using ripmime" - -macro index,pager gb \ - " urlscan" \ - "extract URLs out of a message" - -macro index,pager gO \ - "mbsync -a && notmuch new" \ - "run mbsync to sync all mail" +macro index,pager gb " urlscan" "Extract URLs" diff --git a/home/mail/config.neomuttrc b/home/mail/config.neomuttrc index 870ebec..a41cf1a 100644 --- a/home/mail/config.neomuttrc +++ b/home/mail/config.neomuttrc @@ -3,10 +3,10 @@ source $alias_file set mailcap_path = ~/.config/neomutt/mailcap -# source ./smime.neomuttrc - set my_download_folder = ~/tmp +set shell = /bin/sh + # Caching and tmp set header_cache = $XDG_CACHE_HOME/neomutt/headers set message_cachedir = $XDG_CACHE_HOME/neomutt/bodies @@ -16,42 +16,24 @@ set tmpdir = $XDG_CACHE_HOME/neomutt/tmp # Basic options unset wait_key set mbox_type = Maildir -# set delete set mail_check_stats unset confirm_append unset beep unset mark_old set sleep_time = 0 -# set shell = /bin/bash # Sending set use_envelope_from -unset reverse_realname +unset reverse_real_name # Searching set nm_default_url = "notmuch:///home/till/.local/share/mail/" +set my_nm_spoolfile = 'Inbox' +set my_nm_postponed = 'Drafts' +set my_nm_record = 'Sent' +set my_nm_trash = 'Trash' -# Multi-account setup -# source ~/.config/neomutt/accounts/dkg.neomuttrc -# source ~/.config/neomutt/accounts/gu.neomuttrc -# bind index,pager g noop - -# folder-hook $folder/gu/ source ~/.config/neomutt/accounts/gu.neomuttrc -# folder-hook $folder/systemli/ source ~/.config/neomutt/accounts/systemli.neomuttrc -# folder-hook $folder/ks/ source ~/.config/neomutt/accounts/ks.neomuttrc -# folder-hook $folder/gmail/ source ~/.config/neomutt/accounts/gmail.neomuttrc -# folder-hook $folder/ktiu/ source ~/.config/neomutt/accounts/ktiu.neomuttrc -# folder-hook $folder/dkg/ source ~/.config/neomutt/accounts/dkg.neomuttrc -# folder-hook $folder/papa/ source ~/.config/neomutt/accounts/papa.neomuttrc - -folder-hook . source ~/.config/neomutt/bindings.neomuttrc - -# # Source config -# source ~/.config/neomutt/views.neomuttrc -# source ~/.config/neomutt/sidebar.neomuttrc -# source ~/.config/neomutt/colors.neomuttrc -# source ~/.config/neomutt/smime.neomuttrc -# source ~/.config/neomutt/pgp.neomuttrc +folder-hook . source ~/.config/neomutt/bindings.neomuttrc # Compose set editor = "nvim -c 'call woof#init#Init()'" @@ -118,13 +100,6 @@ color header brightgreen default "^(Subject)" color header yellow default "^(From|To|CC|BCC)" color header blue default "^Date" -## Status -# color status yellow default '\[ ↻ \]' -# color status green default '\[ ✔ \]' -# color status magenta default '\[ ٪ \]' -# color status black default '\[ [0-9]+ new \]' -# color status red default '\[ [0-9]+ to delete \]' - ## Mutt color message cyan default color error red default diff --git a/home/mail/default.nix b/home/mail/default.nix index 1eebf52..b00c1b9 100644 --- a/home/mail/default.nix +++ b/home/mail/default.nix @@ -1,37 +1,26 @@ { config, pkgs, lib, ... }: { - programs.msmtp = { - enable = true; - configContent = lib.mkOrder 1200 '' - defaults - logfile ${config.xdg.stateHome}/msmtp/msmtp.log - port 587 - - account ktiu : t9e - from *@ktiu.net - ''; - }; + programs.msmtp.enable = true; programs.mbsync.enable = true; + programs.notmuch.enable = true; + programs.neomutt = { enable = true; vimKeys = true; extraConfig = builtins.readFile ./config.neomuttrc; }; - programs.notmuch.enable = true; - xdg.configFile."neomutt/bindings.neomuttrc".source = ./bindings.neomuttrc; - xdg.configFile."neomutt/smime.neomuttrc".source = ./smime.neomuttrc; xdg.configFile."neomutt/mailcap".source = ./neomutt_mailcap; accounts.email = { maildirBasePath = "${config.xdg.dataHome}/mail"; accounts = { - gu = { + gu = { name, ... }: { primary = true; address = "straube@geo.uni-frankfurt.de"; realName = "Till Straube"; @@ -39,7 +28,6 @@ smtp.host = "smtpauth.rz.uni-frankfurt.de"; smtp.tls.useStartTls = true; userName = "tstraube"; - notmuch.enable = true; passwordCommand = "pass uni/hrz"; signature = { text = '' @@ -49,6 +37,7 @@ ''; showSignature = "append"; }; + notmuch.enable = true; mbsync = { enable = true; create = "maildir"; @@ -57,11 +46,15 @@ msmtp.enable = true; neomutt = { enable = true; - sendMailCommand = lib.getExe pkgs.msmtp; + sendMailCommand = "${lib.getExe pkgs.msmtp} -a ${ name }"; extraConfig = '' + set my_account='${ name }' + set mbox='+Archive' + set my_nm_mbox='Archive' + set my_junk='+Spamverdacht' - set my_mbsync_acct='gu' + set my_nm_junk='Spamverdacht' set crypt_auto_smime unset crypt_auto_pgp @@ -71,10 +64,8 @@ set crypt_replysign set crypt_replysignencrypted set crypt_verify_sig - # set smime_default_key = "f1355556.0" set smime_sign_as = "f1355556.0" set pgp_default_key = "" - # unset crypt_use_gpgme unalternates * alternates ^straube@em.uni-frankfurt.de$ \ @@ -82,40 +73,37 @@ ^tstraube@rz.uni-frankfurt.de$ \ ^tstraube@uni-frankfurt.de$ unset reverse_name - set my_signature = ${ - pkgs.writeText - "signature.txt" - config.accounts.email.accounts.gu.signature.text - } + + set my_signature = ${ pkgs.writeText "signature.txt" config.accounts.email.accounts.gu.signature.text } color status blue default ''; }; }; - t9e = { + t9e = { name, ... }: { address = "till.straube@t9e.me"; realName = "Till Straube"; imap.host = "arielle.ktiu.net"; smtp.host = "arielle.ktiu.net"; smtp.tls.useStartTls = true; - notmuch.enable = true; userName = "till.straube@t9e.me"; signature.text = '' Till Straube (he/him) PGP key: https://keys.openpgp.org/search?q=till.straube@t9e.me ''; - signature.showSignature = "append"; - gpg = { - key = "5FA6782F543D12ED07110780BA1B73F10BABF8E3"; - signByDefault = true; - }; + gpg.signByDefault = true; + notmuch.enable = true; neomutt = { enable = true; - sendMailCommand = lib.getExe pkgs.msmtp; + sendMailCommand = "${lib.getExe pkgs.msmtp} -a ${ name }"; extraConfig = '' - set my_mbsync_acct='t9e' + set my_mbsync_account='${ name }' + set mbox='+Archive' + set my_nm_mbox='Archive' + set my_junk='+Junk' + set my_nm_junk='Junk' set crypt_auto_pgp unset crypt_auto_smime @@ -124,11 +112,7 @@ alternates @t9e.me$ @ktiu.net$ set reverse_name - set my_signature = ${ - pkgs.writeText - "signature.txt" - config.accounts.email.accounts.t9e.signature.text - } + set my_signature = ${ pkgs.writeText "signature.txt" config.accounts.email.accounts.t9e.signature.text } color status green default ''; }; @@ -139,87 +123,37 @@ }; msmtp = { enable = true; - extraConfig.from = "*@t9e.me"; + extraConfig.port = "587"; }; - passwordCommand = "pass mail/arielle.ktiu.net"; + passwordCommand = "pass accounts/ktiu-imap"; }; - ktiu = { - address = "till@ktiu.net"; - realName = "Till Straube"; - imap.host = "shorbut.ktiu.net"; - smtp.host = "shorbut.ktiu.net"; - smtp.tls.useStartTls = true; - notmuch.enable = true; - userName = "till"; - signature.text = '' - Till Straube (he/him) - PGP key: https://keys.openpgp.org/search?q=till@ktiu.net - ''; - signature.showSignature = "append"; - gpg = { - key = "5FA6782F543D12ED07110780BA1B73F10BABF8E3"; - signByDefault = true; - }; - neomutt = { - enable = true; - sendMailCommand = lib.getExe pkgs.msmtp; - extraConfig = '' - set my_mbsync_acct='ktiu' - - set mbox='+Archive' - set my_junk='+Junk' - - set crypt_auto_pgp - unset crypt_auto_smime - - unalternates * - alternates @ktiu.net$ - set reverse_name - set my_signature = ${ - pkgs.writeText - "signature.txt" - config.accounts.email.accounts.ktiu.signature.text - } - color status green default - ''; - }; - mbsync = { - enable = true; - create = "maildir"; - expunge = "both"; - }; - msmtp = { - enable = false; - # extraConfig.from = "*@ktiu.net"; - }; - passwordCommand = "secret-tool lookup server shorbut.ktiu.net account till"; - }; - - ksh = { + ksh = { name, ...}: { address = "kein_schlussstrich_hessen@systemli.org"; realName = "Kein Schlussstrich Hessen"; imap.host = "mail.systemli.org"; smtp.host = "mail.systemli.org"; smtp.tls.useStartTls = true; - notmuch.enable = true; userName = "kein_schlussstrich_hessen@systemli.org"; signature.text = '' Kein Schlussstrich Hessen PGP Key: https://keys.openpgp.org/search?q=kein_schlussstrich_hessen@systemli.org ''; signature.showSignature = "append"; + gpg.signByDefault = true; + notmuch.enable = true; neomutt = { enable = true; - # sendMailCommand = "/home/till/.nix-profile/bin/msmtp"; - sendMailCommand = lib.getExe pkgs.msmtp; + sendMailCommand = "${lib.getExe pkgs.msmtp} -a ${ name }"; extraConfig = '' - set my_mbsync_acct='ksh' + set my_mbsync_account='${ name }' + set mbox='+Erledigt' + set my_nm_mbox='Erledigt' + set my_junk='+Junk' - set postponed='+Drafts' - set record='+Sent' - set trash='+Trash' + set my_nm_junk='Junk' + set crypt_auto_pgp unset crypt_auto_smime @@ -238,11 +172,8 @@ create = "maildir"; expunge = "both"; }; - msmtp = { - enable = true; - extraConfig.from = "kein_schlussstrich_hessen@systemli.org"; - }; - passwordCommand = "pass other/ksh_systemli"; + msmtp.enable = true; + passwordCommand = "pass ksh/systemli"; }; }; }; diff --git a/home/mail/smime.neomuttrc b/home/mail/smime.neomuttrc deleted file mode 100644 index 60f57e5..0000000 --- a/home/mail/smime.neomuttrc +++ /dev/null @@ -1,24 +0,0 @@ -# Locations -# set smime_ca_location="~/.keys/neomutt/smime/ca" -# set smime_certificates="~/.keys/neomutt/smime/public" -# set smime_keys="~/.keys/neomutt/smime/private" - -# Commands (smime_keys) -set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" -set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" -set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" -set smime_get_cert_email_command="openssl x509 -in %f -noout -email" -set smime_import_cert_command="smime_keys add_cert %f" - -# Outgoing -set smime_encrypt_with="aes256" -set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" -set smime_sign_digest_alg="sha256" -set smime_sign_command="openssl smime -sign -md %d -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" - -# Incoming -set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" -set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" -set smime_verify_opaque_command="\ -openssl smime -verify -inform DER -in %s %C || \ -openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" diff --git a/home/nvim/config.vim b/home/nvim/config.vim index 5213e5f..b4cda0b 100644 --- a/home/nvim/config.vim +++ b/home/nvim/config.vim @@ -23,8 +23,8 @@ set splitright set tabstop=2 set updatetime=300 -" set foldmethod=expr -" set foldexpr=nvim_treesitter#foldexpr() +set foldmethod=expr +set foldexpr=nvim_treesitter#foldexpr() let g:netrw_liststyle = 3 let g:netrw_fastbrowse = 0 diff --git a/home/nvim/default.nix b/home/nvim/default.nix index c83d287..7d3e0ff 100644 --- a/home/nvim/default.nix +++ b/home/nvim/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, ... }: +{ pkgs, lib, ... }: { home.packages = with pkgs; [ @@ -73,7 +73,7 @@ nnoremap [og :Goyo 80 nnoremap ]og :Goyo! ''; - } + } { plugin = limelight-vim; config = '' @@ -115,7 +115,23 @@ ''; } - (nvim-treesitter.withPlugins (p: [ p.nix p.lua p.r p.typescript ])) + { + plugin = (nvim-treesitter.withPlugins (p: [ p.nix p.lua p.r p.typescript ])); + type = "lua"; + config = '' + vim.api.nvim_create_autocmd('FileType', { + pattern = { 'nix', 'markdown', 'lua', 'r' }, + callback = function() + -- Enable Tree-sitter-based folding + vim.o.foldexpr = 'v:lua.vim.treesitter.foldexpr()' + vim.o.foldmethod = 'expr' + -- Optional: configure fold behavior + vim.o.foldlevel = 99 + vim.o.foldlevelstart = 99 + end, + }) + ''; + } { plugin = papercolor-theme; @@ -154,7 +170,10 @@ ''; } - vim-fish + { + plugin = vim-fish; + } + vim-nix { diff --git a/home/nvim/nvim-cmp.lua b/home/nvim/nvim-cmp.lua index 9d64ae5..7ac7e74 100644 --- a/home/nvim/nvim-cmp.lua +++ b/home/nvim/nvim-cmp.lua @@ -8,18 +8,15 @@ cmp.setup({ end, }, - window = { - -- completion = cmp.config.window.bordered(), - -- documentation = cmp.config.window.bordered(), - }, - - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = true }), - }), + mapping = cmp.mapping.preset.insert( + { + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = false }), + } + ), sources = cmp.config.sources({ { name = 'cmp_pandoc' }, @@ -34,17 +31,6 @@ cmp.setup({ }) --- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below --- Set configuration for specific filetype. ---[[ cmp.setup.filetype('gitcommit', { - sources = cmp.config.sources({ - { name = 'git' }, - }, { - { name = 'buffer' }, - }) -}) -require("cmp_git").setup() ]]-- - -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline({ '/', '?' }, { mapping = cmp.mapping.preset.cmdline(), @@ -66,8 +52,3 @@ cmp.setup.cmdline(':', { -- Set up lspconfig. local capabilities = require('cmp_nvim_lsp').default_capabilities() --- Replace with each lsp server you've enabled. --- vim.lsp.config('', { --- capabilities = capabilities --- }) --- vim.lsp.enable('') diff --git a/system/desktop/yubikey-pam.nix b/system/desktop/yubikey-pam.nix index 8ef8248..3544d2d 100644 --- a/system/desktop/yubikey-pam.nix +++ b/system/desktop/yubikey-pam.nix @@ -4,8 +4,9 @@ services.pcscd.enable = true; environment.systemPackages = with pkgs; [ - yubikey-personalization keymapp + yubikey-personalization + yubikey-manager ]; services.udev = { diff --git a/system/web-server/dex.nix b/system/web-server/dex.nix index 1708e36..d9ad4cc 100644 --- a/system/web-server/dex.nix +++ b/system/web-server/dex.nix @@ -19,7 +19,7 @@ in { { id = "outline"; name = "Outline Client"; - redirectURIs = [ "https://${outline.hostname}/auth/oidc.callback" ]; + redirectURIs = [ "https://${config.services.outline.hostname}/auth/oidc.callback" ]; secretFile = "/var/custom-access/outline-oidc-secret.txt"; } ];