major refactor and reorg

This commit is contained in:
Matt Nish-Lapidus 2025-02-04 10:21:52 -05:00
parent fd3cedfa93
commit 3c69cf9c74
86 changed files with 811 additions and 984 deletions

791
homes/emenel/default.nix Normal file
View file

@ -0,0 +1,791 @@
{ config, lib, pkgs, inputs, outputs, ... }:
{
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = { inherit inputs variables; };
home-manager.users.emenel = {
home = {
packages = with pkgs; [
inputs.affinity-nix.packages.x86_64-linux.photo
inputs.affinity-nix.packages.x86_64-linux.publisher
inputs.affinity-nix.packages.x86_64-linux.designer
inputs.shikane.packages.x86_64-linux.default
guix
unstable.thonny
inputs.isd.packages.x86_64-linux.default
wayback
just
yt-dlp
erdtree
age
figlet
ffmpeg-full
rlwrap
pinentry
gcr
gnutar
libnotify
unzip
zip
stdenv
tldr
delta
htop
dconf
dconf2nix
readline
gnupg
imagemagick
gnutls
gettext
xorg.libX11
xorg.libxcb
freetype
gnumake
flex
bison
mesa
neofetch
nvd
nitch
ripgrep-all
silver-searcher
maestral
maestral-gui
nix-index
fstl
godot_4
sane-airscan
xsane
dbus
gst_all_1.gstreamer
alsa-oss
powertop
unstable.hypridle
age
sops
nix-du
usbutils
pciutils
util-linux
coreutils
binutils
protonplus
ispell
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
texlive.combined.scheme-full
appimage-run
libappimage
transmission_4-gtk
lsof
guile
python311
python311Packages.pip
python311Packages.mido
python311Packages.simpleeval
python311Packages.parsedatetime
python311Packages.pytz
python311Packages.pint
python311Packages.babel
python311Packages.requests
python311Packages.distutils-extra
python311Packages.distlib
ruff
(sbcl.withPackages (ps: with ps; [
cffi
arrow-macros
alexandria
serapeum
]))
kdlfmt
kdotool
ccl
racket
gdu
poppler_utils
editorconfig-core-c
cljfmt
libxml2
gdtoolkit_4
openssl.out
nixfmt-rfc-style
wl-clipboard
unstable.clipse
maim
php
rustup
shfmt
html-tidy
libsecret
samba4Full
shellcheck
wayland-utils
libffi.dev
nodejs_18
platformio-core
icloudpd
libheif.out
openal
pkg-config
ftgl
gperf
numbat
glpng
nurl
freecad
procs
rpi-imager
caligula
prusa-slicer
# global node packages
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
nodePackages.prettier
nodePackages.javascript-typescript-langserver
nodePackages.stylelint
nodePackages.svelte-language-server
nodePackages.typescript
nodePackages.js-beautify
nixd
nixdoc
nix-init
git-annex
fishPlugins.foreign-env
fishPlugins.z
fishPlugins.fzf-fish
fishPlugins.bass
fishPlugins.autopair
fishPlugins.forgit
fishPlugins.colored-man-pages
imgcat
via
vial
bitwarden-cli
bitwarden-desktop
tailscale
trayscale
font-manager
scribus
pdfarranger
tdf
pdfchain
pdftk
ghostscript
zathura
gpu-viewer
mesa-demos
gnomeExtensions.just-perfection
gnomeExtensions.dash-to-dock
gnomeExtensions.paperwm
gnomeExtensions.custom-hot-corners-extended
gnomeExtensions.media-controls
gnomeExtensions.looking-glass-button
gnomeExtensions.auto-power-profile
gnomeExtensions.appindicator
gnome-software
gnome-tweaks
gnome-photos
gnome-keyring
ulauncher
wl-mirror
unstable.nwg-look
soundconverter
gtop
wmctrl
colloid-gtk-theme
colloid-icon-theme
whitesur-gtk-theme
whitesur-cursors
whitesur-icon-theme
bibata-cursors
adwaita-qt
icloudpd
squirreldisk
papers
newsflash
planify
borgbackup
vorta
stirling-pdf
trash-cli
ripdrag
wineWowPackages.stagingFull
winetricks
(yabridge.override {
wine = wineWowPackages.stagingFull;
})
(yabridgectl.override {
wine = wineWowPackages.stagingFull;
})
chayang
sway-launcher-desktop
unstable.swayosd
spice
spice-gtk
spice-protocol
virt-viewer
virt-manager
bfg-repo-cleaner
thunderbird-latest
emojify
smile
gnomeExtensions.smile-complementary-extension
impression
zoom-us
nyxt
unstable.ungoogled-chromium
obsidian
vlc
unstable.polychromatic
discord
slack
signal-desktop
eyedropper
calcurse
onlyoffice-desktopeditors
libreoffice
hyphenDicts.en_US
unstable.plexamp
rmpc
resources
carla
switcheroo
tenacity
supercollider-with-plugins
bitwig-studio-beta
blender
davinci-resolve-studio
steam
unstable.processing
zotero
jre
tesseract
handbrake
renoise
krita
darling
darling-dmg
rawtherapee
inkscape
gimp
epsonscan2
kicad
turbocase
openscad-unstable
openscad-lsp
picard
evolutionWithPlugins
plugdata
pavucontrol
qpwgraph
helvum
coppwr
alsa-utils
alsa-tools
clapper
ardour
dockfmt
impala
unstable.playerctl
mioctl
oculante
unstable.door-knocker
inputs.hyprpicker.packages.x86_64-linux.default
farge
unstable.halloy
paleta
tree-sitter
(tree-sitter.withPlugins (_: tree-sitter.allGrammars))
# Audio plugins (LV2, VST2, VST3, LADSPA)
eq10q
geonkick
bespokesynth
helm
surge
odin2
calf
chow-kick
chow-phaser
chow-centaur
chow-tape-model
easyeffects
vcv-rack
cardinal
roomeqwizard
guitarix
# paulxstretch
vital
helio-workstation
stochas
tal-bassline
tal-j8
tal-u-no-lx
amplocker
chair-snare
chair-cymb
tus-vavra
tus-nodal-red
tus-xenia
tus-ostirus
tus-osirus
# Fonts
fira-code
fira
cooper-hewitt
ibm-plex
jetbrains-mono
iosevka
spleen
fira-code-symbols
powerline-fonts
nerdfonts
noto-fonts-color-emoji
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
];
username = "emenel";
homeDirectory = "/home/emenel";
sessionPath = [ "/home/emenel/.config/emacs/bin" "/home/emenel/.npm-packages/bin" "/home/emenel/Applications" "/home/emenel/.local/bin" "/home/emenel/.local/share" "/home/emenel/.nix-profile/lib"];
sessionVariables = {
WINEFSYNC = 1;
PKG_CONFIG_PATH = "/home/emenel/.nix-profile/lib/pkgconfig:/home/emenel/.nix-profile/lib64/pkgconfig:/home/emenal/.nix-profile/share/pkgconfig";
GI_TYPELIB_PATH = "/run/current-system/sw/lib/girepository-1.0";
BW_CLIENTID = "$(cat ${config.sops.defaultSymlinkPath}/bw_client_id)";
BW_CLIENTSECRET = "$(cat ${config.sops.defaultSymlinkPath}/bw_api_key)";
NIXOS_OZONE_WL = "1";
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
};
pointerCursor = {
package = pkgs.bibata-cursors;
name = "Bibtata-Modern-Classic";
size = 24;
gtk.enable = true;
x11.enable = true;
};
stateVersion = "24.05";
};
gtk.cursorTheme = {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
};
fonts.fontconfig = {
enable = true;
};
sops = {
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
defaultSopsFile = ./secrets.yaml;
defaultSymlinkPath = "/run/user/1000/secrets";
defaultSecretsMountPoint = "/run/user/1000/secrets.d";
secrets = {
bw_client_id = {
path = "${config.sops.defaultSymlinkPath}/bw_client_id";
};
bw_api_key = {
path = "${config.sops.defaultSymlinkPath}/bw_api_key";
};
ssh_key = {
path = "${config.sops.defaultSymlinkPath}/ssh_key";
};
borg_url = {
path = "${config.sops.defaultSymlinkPath}/borg_url";
};
};
};
programs = {
home-manager.enable = true;
mpv = {
enable = true;
package = (pkgs.unstable.mpv-unwrapped.wrapper {
scripts = with pkgs.unstable.mpvScripts; [
thumbfast
modernz
];
mpv = pkgs.unstable.mpv-unwrapped.override {
waylandSupport = true;
ffmpeg = pkgs.ffmpeg-full;
};
});
config = {
osc = "no";
profile = "high-quality";
ytdl-format = "bestvideo+bestaudio";
cache-default = 4000000;
};
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
yazi = {
enable = true;
enableFishIntegration = true;
package = inputs.yazi.packages.x86_64-linux.default;
};
fish = {
enable = true;
shellAliases = {
"ls" = "eza";
".j" = "just -g";
"em" = "emacsclient -n -r";
"mkdir" = "mkdir -pv";
};
interactiveShellInit = ''
bind --erase \ct
'';
plugins = [
{
name = "upto";
src = pkgs.fetchFromGitHub {
owner = "Markcial";
repo = "upto";
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
};
}
];
};
zoxide = {
enable = true;
};
starship = {
enable = true;
};
mu.enable = true;
mbsync.enable = true;
msmtp.enable = true;
emacs = {
enable = true;
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
epkgs: [
epkgs.vterm
epkgs.all-the-icons
epkgs.mu4e
epkgs.sly
epkgs.sly-quicklisp
epkgs.geiser-racket
epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.manualPackages.tree-sitter-langs
epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
));
};
ripgrep = {
enable = true;
};
thefuck = {
enable = true;
};
wezterm = {
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
};
bat = {
enable = true;
};
borgmatic = {
enable = true;
backups = {
eddie = {
location = {
patterns = [
"R /home/emenel"
"- home/emenel/.cache"
"- home/emenel/.nix*"
"- home/emenel/.steam*"
"- home/emenel/Dropbox"
"- home/emenel/Sync"
"- home/emenel/.dropbox*"
"- home/emenel/.BitwigStudio"
"- home/emenel/.local/share/bitwig"
];
repositories = [
{
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
"label" = "eddie on borgbase";
}
];
};
retention = {
keepDaily = 3;
keepHourly = 3;
keepMonthly = 2;
};
};
};
};
eza = {
enable = true;
};
fd = {
enable = true;
};
fzf = {
enable = true;
enableFishIntegration = false;
};
broot = {
enable = true;
};
git = {
enable = true;
lfs.enable = true;
};
htop.enable = true;
nnn = {
enable = true;
};
pandoc.enable = true;
password-store.enable = true;
wlogout = {
enable = true;
};
hyprlock = {
enable = true;
};
waybar = {
enable = true;
package = pkgs.unstable.waybar;
# systemd = {
# enable = true;
# # target = "graphical-session.target";
# };
};
eww = {
enable = true;
configDir = ../dotfiles/dot_config/eww;
};
lazygit.enable = true;
jq.enable = true;
firefox.enable = true;
rbw = {
enable = true;
package = pkgs.rbw-latest;
};
};
dconf.settings = {
"org/gnome/desktop/background" = {
picture-options = "none";
primary-color = "#000000";
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/shell/keybindings" = {
shift-overview-up = ["disabled"];
shift-overview-down = ["disabled"];
switch-to-application-1 = ["disabled"];
switch-to-application-2 = ["disabled"];
switch-to-application-3 = ["disabled"];
switch-to-application-4 = ["disabled"];
switch-to-application-5 = ["disabled"];
switch-to-application-6 = ["disabled"];
switch-to-application-7 = ["disabled"];
switch-to-application-8 = ["disabled"];
switch-to-application-9 = ["disabled"];
switch-to-application-10 = ["disabled"];
};
"org/gnome/desktop/wm/keybindings" = {
switch-to-workspace-up = ["disabled"];
switch-to-workspace-down = ["disabled"];
move-to-workspace-up = ["disabled"];
move-to-workspace-down = ["disabled"];
};
};
nixpkgs.config.packageOverrides = pkgs: {
renoise = pkgs.renoise.override {
releasePath = ../binary-installers/rns_344_linux_x86_64.tar.gz;
};
};
services = {
playerctld = {
enable = true;
package = pkgs.unstable.playerctl;
};
mako = {
enable = true;
};
flatpak.enable = true;
syncthing = {
enable = true;
# tray.enable = true;
};
borgmatic = {
enable = true;
};
gpg-agent = {
enable = true;
};
emacs = {
enable = true;
defaultEditor = true;
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
epkgs: [
epkgs.vterm
epkgs.mu4e
epkgs.sly
epkgs.sly-quicklisp
epkgs.geiser-racket
epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.manualPackages.tree-sitter-langs
epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
));
socketActivation.enable = true;
client = {
enable = true;
arguments = ["-n" "-r"];
};
};
};
# stylix = {
# enable = true;
# base16Scheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-dark.yaml";
# image = ./akira.png;
# cursor = {
# package = pkgs.bibata-cursors;
# name = "Bibtata-Modern-Classic";
# size = 24;
# };
# };
xdg.systemDirs.data = [
"/home/emenel/.local/share/applications/wine/Programs"
"/home/emenel/.local/share/applications"
"/var/lib/flatpak/exports/share"
"/home/emenel/.local/share/flatpak/exports/share"
"/home/emenel/.nix-profile/share/applications"
];
services.flatpak.packages = [
"com.github.tchx84.Flatseal"
"nl.hjdskes.gcolor3"
"dev.qwery.AddWater"
];
systemd.user = {
enable = true;
startServices = "sd-switch"; # auto reload services when home is rebuilt
sessionVariables = {
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
};
};
# moving files!
xdg.configFile."mako".source = ../dotfiles/dot_config/mako;
xdg.configFile."hypr".source = ../dotfiles/dot_config/hypr;
xdg.configFile."halloy/config.toml".source = ../dotfiles/dot_config/halloy/config.toml;
xdg.configFile."waybar".source = ../dotfiles/dot_config/waybar;
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
xdg.configFile."starship.toml".source = ../dotfiles/dot_config/starship.toml;
xdg.configFile."ghostty".source = ../dotfiles/dot_config/ghostty;
xdg.configFile."wezterm".source = ../dotfiles/dot_config/wezterm;
xdg.configFile."git".source = ../dotfiles/dot_config/git;
xdg.configFile."rbw".source = ../dotfiles/dot_config/rbw;
xdg.configFile."niri/config.kdl".source = ../dotfiles/dot_config/niri/config.kdl;
xdg.configFile."shikane".source = ../dotfiles/dot_config/shikane;
home.file.".ssh/config".source = ../dotfiles/dot_ssh/config;
home.file.".npmrc".source = ../dotfiles/dot_npmrc;
home.file.".vst3/yabridge/yabridge.toml".source = ../dotfiles/dot_vst3/yabridge.toml;
home.file.".sbclrc".source = ../dotfiles/dot_sbclrc;
home.file.".signature".source = ../dotfiles/dot_signature;
home.file.".config/fish/functions" = {
source = ../dotfiles/dot_config/fish/functions;
recursive = true;
};
home.file.".config/fish/completions" = {
source = ../dotfiles/dot_config/fish/completions;
recursive = true;
};
xdg.configFile."yazi" = {
source = ../dotfiles/dot_config/yazi;
recursive = true;
};
xdg.configFile."emacs".enable = false;
home.file.".msmtprc".source = ../dotfiles/dot_msmtprc;
home.file.".mbsyncrc".source = ../dotfiles/dot_mbsyncrc;
xdg.configFile."isyncrc".enable = false;
home.file.".local/bin" = {
source = ../dotfiles/dot_local/bin;
recursive = true;
};
home.file.".local/share/flf".source = ../dotfiles/dot_local/share/flf;
home.file.".local/share/The Usual Suspects/Vavra" = {
recursive = true;
source = ../packages/the-usual-suspects/vavra;
};
home.file.".local/share/The Usual Suspects/Xenia" = {
recursive = true;
source = ../packages/the-usual-suspects/xenia;
};
home.file.".local/share/The Usual Suspects/Osirus" = {
recursive = true;
source = ../packages/the-usual-suspects/osirus;
};
home.file.".local/share/The Usual Suspects/OsTIrus" = {
recursive = true;
source = ../packages/the-usual-suspects/ostirus;
};
home.file.".local/share/The Usual Suspects/NodalRed2x" = {
recursive = true;
source = ../packages/the-usual-suspects/nodal-red;
};
};
}

View file

@ -0,0 +1,12 @@
(defwindow mainbar
:monitor 0
:geometry (geometry :x "0%"
:y "20px"
:width "90%"
:height "30px"
:anchor "top center")
:stacking "fg"
:reserve (struts :distance "40px" :side "top")
:windowtype "dock"
:wm-ignore false
)

View file

@ -0,0 +1,439 @@
function __borgmatic_check_version
set -fx this_filename (status current-filename)
fish -c '
if test -f "$this_filename"
set this_script (cat $this_filename 2> /dev/null)
set installed_script (borgmatic --fish-completion 2> /dev/null)
if [ "$this_script" != "$installed_script" ] && [ "$installed_script" != "" ]
echo "
Your fish completions script is from a different version of borgmatic than is
currently installed. Please upgrade your script so your completions match the
command-line flags in your installed borgmatic! Try this to upgrade:
borgmatic --fish-completion | sudo tee $this_filename
source $this_filename
"
end
end
' &
end
__borgmatic_check_version
function __borgmatic_current_arg --description 'Check if any of the given arguments are the last on the command line before the cursor'
set -l all_args (commandline -poc)
# premature optimization to avoid iterating all args if there aren't enough
# to have a last arg beyond borgmatic
if [ (count $all_args) -lt 2 ]
return 1
end
for arg in $argv
if [ "$arg" = "$all_args[-1]" ]
return 0
end
end
return 1
end
set --local action_parser_condition "not __fish_seen_subcommand_from rcreate init -I transfer prune -p compact create -C check -k delete extract -x config export-tar mount -m umount -u rdelete restore -r rlist list -l rinfo info -i break-lock key borg"
set --local exact_option_condition "not __borgmatic_current_arg -e --encryption -e --encryption -e --encryption --source-repository -a --match-archives --glob-archives --sort-by --first --last --threshold -a --match-archives --glob-archives --only -a --match-archives --glob-archives --only --checkpoint-interval -a --match-archives --glob-archives --sort-by --first --last --archive --path --restore-path --destination --strip-components --archive --path --restore-path --destination --strip-components --archive --path --destination --strip-components --mount-point --path --first --last --mount-point --path --first --last --mount-point --mount-point --archive --archive -a --match-archives --glob-archives --sort-by --first --last --path --find -a --match-archives --glob-archives --sort-by --first --last -e --exclude --exclude-from --patterns-from --path --find -a --match-archives --glob-archives --sort-by --first --last -e --exclude --exclude-from --patterns-from -a --match-archives --glob-archives --sort-by --first --last -a --match-archives --glob-archives --sort-by --first --last -- -c --config -v --verbosity --syslog-verbosity --log-file-verbosity --monitoring-verbosity --log-file --log-file-format"
# action_parser completions
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'rcreate' -d 'Create a new, empty Borg repository'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'init' -d 'Create a new, empty Borg repository'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-I' -d 'Create a new, empty Borg repository'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'transfer' -d 'Transfer archives from one repository to another, optionally upgrading the transferred data [Borg 2.0+ only]'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'prune' -d 'Prune archives according to the retention policy (with Borg 1.2+, you must run compact afterwards to actually free space)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-p' -d 'Prune archives according to the retention policy (with Borg 1.2+, you must run compact afterwards to actually free space)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'compact' -d 'Compact segments to free space [Borg 1.2+, borgmatic 1.5.23+ only]'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'create' -d 'Create an archive (actually perform a backup)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-C' -d 'Create an archive (actually perform a backup)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'check' -d 'Check archives for consistency'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-k' -d 'Check archives for consistency'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'delete' -d 'Delete an archive from a repository or delete an entire repository (with Borg 1.2+, you must run compact afterwards to actually free space)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'extract' -d 'Extract a named archive to the current directory'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-x' -d 'Extract a named archive to the current directory'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'config' -d 'Perform configuration file related operations'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'export-tar' -d 'Export an archive to a tar-formatted file or stream'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'mount' -d 'Mount a named archive as a FUSE filesystem'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-m' -d 'Mount a named archive as a FUSE filesystem'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'umount' -d 'Unmount a mounted FUSE filesystem'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-u' -d 'Unmount a mounted FUSE filesystem'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'rdelete' -d 'Delete an entire repository (with Borg 1.2+, you must run compact afterwards to actually free space)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'restore' -d 'Restore data source (e.g. database) dumps from a named archive. (To extract files instead, use "borgmatic extract".)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-r' -d 'Restore data source (e.g. database) dumps from a named archive. (To extract files instead, use "borgmatic extract".)'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'rlist' -d 'List the archives in a repository'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'list' -d 'List the files in an archive or search for a file across archives'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-l' -d 'List the files in an archive or search for a file across archives'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'rinfo' -d 'Show repository summary information such as disk space used'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'info' -d 'Show archive summary information such as disk space used'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a '-i' -d 'Show archive summary information such as disk space used'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'break-lock' -d 'Break Borg repository and cache locks left behind by Borg aborting'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'key' -d 'Perform repository key related operations'
complete -c borgmatic -f -n "$action_parser_condition" -n "$exact_option_condition" -a 'borg' -d 'Run an arbitrary Borg command based on borgmatic'"'"'s configuration'
# global flags
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'show this help message and exit'
complete -c borgmatic -f -n "$exact_option_condition" -a '-c --config' -d 'Configuration filename or directory, can specify flag multiple times, defaults to: /etc/borgmatic/config.yaml /etc/borgmatic.d /home/emenel/.config/borgmatic/config.yaml /home/emenel/.config/borgmatic.d'
complete -c borgmatic -Fr -n "__borgmatic_current_arg -c --config"
complete -c borgmatic -f -n "$exact_option_condition" -a '-n --dry-run' -d 'Go through the motions, but do not actually write to any repositories'
complete -c borgmatic -f -n "$exact_option_condition" -a '-nc --no-color' -d 'Disable colored output'
complete -c borgmatic -f -n "$exact_option_condition" -a '-v --verbosity' -d 'Display verbose progress to the console: -2 (disabled), -1 (errors only), 0 (responses to actions, the default), 1 (info about steps borgmatic is taking), or 2 (debug)'
complete -c borgmatic -f -a '-2 -1 0 1 2' -n "__borgmatic_current_arg -v --verbosity"
complete -c borgmatic -f -n "$exact_option_condition" -a '--syslog-verbosity' -d 'Log verbose progress to syslog: -2 (disabled, the default), -1 (errors only), 0 (responses to actions), 1 (info about steps borgmatic is taking), or 2 (debug)'
complete -c borgmatic -f -a '-2 -1 0 1 2' -n "__borgmatic_current_arg --syslog-verbosity"
complete -c borgmatic -f -n "$exact_option_condition" -a '--log-file-verbosity' -d 'When --log-file is given, log verbose progress to file: -2 (disabled), -1 (errors only), 0 (responses to actions), 1 (info about steps borgmatic is taking, the default), or 2 (debug)'
complete -c borgmatic -f -a '-2 -1 0 1 2' -n "__borgmatic_current_arg --log-file-verbosity"
complete -c borgmatic -f -n "$exact_option_condition" -a '--monitoring-verbosity' -d 'When a monitoring integration supporting logging is configured, log verbose progress to it: -2 (disabled), -1 (errors only), responses to actions (0), 1 (info about steps borgmatic is taking, the default), or 2 (debug)'
complete -c borgmatic -f -a '-2 -1 0 1 2' -n "__borgmatic_current_arg --monitoring-verbosity"
complete -c borgmatic -f -n "$exact_option_condition" -a '--log-file' -d 'Write log messages to this file instead of syslog'
complete -c borgmatic -x -n "__borgmatic_current_arg --log-file"
complete -c borgmatic -f -n "$exact_option_condition" -a '--log-file-format' -d 'Log format string used for log messages written to the log file'
complete -c borgmatic -x -n "__borgmatic_current_arg --log-file-format"
complete -c borgmatic -f -n "$exact_option_condition" -a '--log-json' -d 'Write log messages and console output as one JSON object per log line instead of formatted text'
complete -c borgmatic -f -n "$exact_option_condition" -a '--override' -d 'Configuration file option to override with specified value, see documentation for overriding list or key/value options, can specify flag multiple times'
complete -c borgmatic -f -n "$exact_option_condition" -a '--no-environment-interpolation' -d 'Do not resolve environment variables in configuration file'
complete -c borgmatic -f -n "$exact_option_condition" -a '--bash-completion' -d 'Show bash completion script and exit'
complete -c borgmatic -f -n "$exact_option_condition" -a '--fish-completion' -d 'Show fish completion script and exit'
complete -c borgmatic -f -n "$exact_option_condition" -a '--version' -d 'Display installed version number of borgmatic and exit'
# action_parser flags
complete -c borgmatic -f -n "$exact_option_condition" -a '-e --encryption' -d 'Borg repository encryption mode' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -x -n "__borgmatic_current_arg -e --encryption"
complete -c borgmatic -f -n "$exact_option_condition" -a '--source-repository --other-repo' -d 'Path to an existing Borg repository whose key material should be reused [Borg 2.x+ only]' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of the new repository to create (must be already specified in a borgmatic configuration file), defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '--copy-crypt-key' -d 'Copy the crypt key used for authenticated encryption from the source repository, defaults to a new random key [Borg 2.x+ only]' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '--append-only' -d 'Create an append-only repository' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '--storage-quota' -d 'Create a repository with a fixed storage quota' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '--make-parent-dirs' -d 'Create any missing parent directories of the repository directory' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from rcreate"
complete -c borgmatic -f -n "$exact_option_condition" -a '-e --encryption' -d 'Borg repository encryption mode' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -x -n "__borgmatic_current_arg -e --encryption"
complete -c borgmatic -f -n "$exact_option_condition" -a '--source-repository --other-repo' -d 'Path to an existing Borg repository whose key material should be reused [Borg 2.x+ only]' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of the new repository to create (must be already specified in a borgmatic configuration file), defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '--copy-crypt-key' -d 'Copy the crypt key used for authenticated encryption from the source repository, defaults to a new random key [Borg 2.x+ only]' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '--append-only' -d 'Create an append-only repository' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '--storage-quota' -d 'Create a repository with a fixed storage quota' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '--make-parent-dirs' -d 'Create any missing parent directories of the repository directory' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from init"
complete -c borgmatic -f -n "$exact_option_condition" -a '-e --encryption' -d 'Borg repository encryption mode' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -x -n "__borgmatic_current_arg -e --encryption"
complete -c borgmatic -f -n "$exact_option_condition" -a '--source-repository --other-repo' -d 'Path to an existing Borg repository whose key material should be reused [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of the new repository to create (must be already specified in a borgmatic configuration file), defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '--copy-crypt-key' -d 'Copy the crypt key used for authenticated encryption from the source repository, defaults to a new random key [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '--append-only' -d 'Create an append-only repository' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '--storage-quota' -d 'Create a repository with a fixed storage quota' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '--make-parent-dirs' -d 'Create any missing parent directories of the repository directory' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -I"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of existing destination repository to transfer archives to, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--source-repository' -d 'Path of existing source repository to transfer archives from' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -x -n "__borgmatic_current_arg --source-repository"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of single archive to transfer (or "latest"), defaults to transferring all archives' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--upgrader' -d 'Upgrader type used to convert the transferred data, e.g. "From12To20" to upgrade data from Borg 1.2 to 2.0 format, defaults to no conversion' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress as each archive is transferred' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only transfer archives with names matching this pattern' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'Only transfer first N archives after other filters are applied' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'Only transfer last N archives after other filters are applied' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Transfer archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Transfer archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Transfer archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Transfer archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from transfer"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to prune (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--stats' -d 'Display statistics of the pruned archive' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list' -d 'List archives kept/pruned' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Prune archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Prune archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Prune archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Prune archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from prune"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to prune (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--stats' -d 'Display statistics of the pruned archive' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list' -d 'List archives kept/pruned' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Prune archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Prune archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Prune archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Prune archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -p"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to compact (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from compact"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress as each segment is compacted' -n "__fish_seen_subcommand_from compact"
complete -c borgmatic -f -n "$exact_option_condition" -a '--cleanup-commits' -d 'Cleanup commit-only 17-byte segment files left behind by Borg 1.1 [flag in Borg 1.2 only]' -n "__fish_seen_subcommand_from compact"
complete -c borgmatic -f -n "$exact_option_condition" -a '--threshold' -d 'Minimum saved space percentage threshold for compacting a segment, defaults to 10' -n "__fish_seen_subcommand_from compact"
complete -c borgmatic -x -n "__borgmatic_current_arg --threshold"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from compact"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to backup to (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from create"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress for each file as it is backed up' -n "__fish_seen_subcommand_from create"
complete -c borgmatic -f -n "$exact_option_condition" -a '--stats' -d 'Display statistics of archive' -n "__fish_seen_subcommand_from create"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list --files' -d 'Show per-file details' -n "__fish_seen_subcommand_from create"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from create"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from create"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to backup to (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from -C"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress for each file as it is backed up' -n "__fish_seen_subcommand_from -C"
complete -c borgmatic -f -n "$exact_option_condition" -a '--stats' -d 'Display statistics of archive' -n "__fish_seen_subcommand_from -C"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list --files' -d 'Show per-file details' -n "__fish_seen_subcommand_from -C"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from -C"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -C"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to check (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress for each file as it is checked' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repair' -d 'Attempt to repair any inconsistencies found (for interactive use)' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -n "$exact_option_condition" -a '--max-duration' -d 'How long to check the repository before interrupting the check, defaults to no interruption' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only check archives with names matching this pattern' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--only' -d 'Run a particular consistency check (repository, archives, data, extract, or spot) instead of configured checks (subject to configured frequency, can specify flag multiple times)' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -a 'repository archives data extract spot' -n "__borgmatic_current_arg --only"
complete -c borgmatic -f -n "$exact_option_condition" -a '--force' -d 'Ignore configured check frequencies and run checks unconditionally' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from check"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of specific existing repository to check (must be already specified in a borgmatic configuration file), quoted globs supported' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress for each file as it is checked' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repair' -d 'Attempt to repair any inconsistencies found (for interactive use)' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -n "$exact_option_condition" -a '--max-duration' -d 'How long to check the repository before interrupting the check, defaults to no interruption' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only check archives with names matching this pattern' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--only' -d 'Run a particular consistency check (repository, archives, data, extract, or spot) instead of configured checks (subject to configured frequency, can specify flag multiple times)' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -a 'repository archives data extract spot' -n "__borgmatic_current_arg --only"
complete -c borgmatic -f -n "$exact_option_condition" -a '--force' -d 'Ignore configured check frequencies and run checks unconditionally' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -k"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to delete or delete archives from, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Archive to delete' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list' -d 'Show details for the deleted archives' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--stats' -d 'Display statistics for the deleted archives' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--cache-only' -d 'Delete only the local cache for the given repository' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--force' -d 'Force deletion of corrupted archives, can be given twice if once does not work' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--keep-security-info' -d 'Do not delete the local security info when deleting a repository' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--save-space' -d 'Work slower, but using less space [Not supported in Borg 2.x+]' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--checkpoint-interval' -d 'Write a checkpoint at the given interval, defaults to 1800 seconds (30 minutes)' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -x -n "__borgmatic_current_arg --checkpoint-interval"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only delete archives matching this pattern' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'Delete first N archives after other filters are applied' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'Delete last N archives after other filters are applied' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Delete archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Delete archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Delete archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Delete archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from delete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to extract, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to extract (or "latest")' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -x -n "__borgmatic_current_arg --archive"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path --restore-path' -d 'Path to extract from archive, can specify flag multiple times, defaults to the entire archive' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path --restore-path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--destination' -d 'Directory to extract files into, defaults to the current directory' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --destination"
complete -c borgmatic -f -n "$exact_option_condition" -a '--strip-components' -d 'Number of leading path components to remove from each extracted path or "all" to strip all leading path components. Skip paths with fewer elements' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -x -n "__borgmatic_current_arg --strip-components"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress for each file as it is extracted' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from extract"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to extract, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to extract (or "latest")' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -x -n "__borgmatic_current_arg --archive"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path --restore-path' -d 'Path to extract from archive, can specify flag multiple times, defaults to the entire archive' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path --restore-path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--destination' -d 'Directory to extract files into, defaults to the current directory' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --destination"
complete -c borgmatic -f -n "$exact_option_condition" -a '--strip-components' -d 'Number of leading path components to remove from each extracted path or "all" to strip all leading path components. Skip paths with fewer elements' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -x -n "__borgmatic_current_arg --strip-components"
complete -c borgmatic -f -n "$exact_option_condition" -a '--progress' -d 'Display progress for each file as it is extracted' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -x"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from config"
complete -c borgmatic -f -n "$exact_option_condition" -a '' -d '' -n "__fish_seen_subcommand_from config"
complete -c borgmatic -f -a 'bootstrap generate validate' -n "__borgmatic_current_arg "
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to export from, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to export (or "latest")' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -x -n "__borgmatic_current_arg --archive"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path' -d 'Path to export from archive, can specify flag multiple times, defaults to the entire archive' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--destination' -d 'Path to destination export tar file, or "-" for stdout (but be careful about dirtying output with --verbosity or --list)' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --destination"
complete -c borgmatic -f -n "$exact_option_condition" -a '--tar-filter' -d 'Name of filter program to pipe data through' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list --files' -d 'Show per-file details' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -f -n "$exact_option_condition" -a '--strip-components' -d 'Number of leading path components to remove from each exported path. Skip paths with fewer elements' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -x -n "__borgmatic_current_arg --strip-components"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from export-tar"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to use, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to mount (or "latest")' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--mount-point' -d 'Path where filesystem is to be mounted' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --mount-point"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path' -d 'Path to mount from archive, can specify multiple times, defaults to the entire archive' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--foreground' -d 'Stay in foreground until ctrl-C is pressed' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'Mount first N archives after other filters are applied' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'Mount last N archives after other filters are applied' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Mount archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Mount archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Mount archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Mount archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--options' -d 'Extra Borg mount options' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from mount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to use, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to mount (or "latest")' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--mount-point' -d 'Path where filesystem is to be mounted' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --mount-point"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path' -d 'Path to mount from archive, can specify multiple times, defaults to the entire archive' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--foreground' -d 'Stay in foreground until ctrl-C is pressed' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'Mount first N archives after other filters are applied' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'Mount last N archives after other filters are applied' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Mount archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Mount archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Mount archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Mount archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--options' -d 'Extra Borg mount options' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -m"
complete -c borgmatic -f -n "$exact_option_condition" -a '--mount-point' -d 'Path of filesystem to unmount' -n "__fish_seen_subcommand_from umount"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --mount-point"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from umount"
complete -c borgmatic -f -n "$exact_option_condition" -a '--mount-point' -d 'Path of filesystem to unmount' -n "__fish_seen_subcommand_from -u"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --mount-point"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -u"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to delete, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from rdelete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--list' -d 'Show details for the archives in the given repository' -n "__fish_seen_subcommand_from rdelete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--force' -d 'Force deletion of corrupted archives, can be given twice if once does not work' -n "__fish_seen_subcommand_from rdelete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--cache-only' -d 'Delete only the local cache for the given repository' -n "__fish_seen_subcommand_from rdelete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--keep-security-info' -d 'Do not delete the local security info when deleting a repository' -n "__fish_seen_subcommand_from rdelete"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from rdelete"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to restore from, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to restore from (or "latest")' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -x -n "__borgmatic_current_arg --archive"
complete -c borgmatic -f -n "$exact_option_condition" -a '--data-source --database' -d 'Name of data source (e.g. database) to restore from archive, must be defined in borgmatic'"'"'s configuration, can specify flag multiple times, defaults to all data sources in the archive' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--schema' -d 'Name of schema to restore from the data source, can specify flag multiple times, defaults to all schemas. Schemas are only supported for PostgreSQL and MongoDB databases' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--hostname' -d 'Database hostname to restore to. Defaults to the "restore_hostname" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--port' -d 'Database port to restore to. Defaults to the "restore_port" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--username' -d 'Username with which to connect to the database. Defaults to the "restore_username" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--password' -d 'Password with which to connect to the restore database. Defaults to the "restore_password" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--restore-path' -d 'Path to restore SQLite database dumps to. Defaults to the "restore_path" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from restore"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to restore from, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to restore from (or "latest")' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -x -n "__borgmatic_current_arg --archive"
complete -c borgmatic -f -n "$exact_option_condition" -a '--data-source --database' -d 'Name of data source (e.g. database) to restore from archive, must be defined in borgmatic'"'"'s configuration, can specify flag multiple times, defaults to all data sources in the archive' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--schema' -d 'Name of schema to restore from the data source, can specify flag multiple times, defaults to all schemas. Schemas are only supported for PostgreSQL and MongoDB databases' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--hostname' -d 'Database hostname to restore to. Defaults to the "restore_hostname" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--port' -d 'Database port to restore to. Defaults to the "restore_port" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--username' -d 'Username with which to connect to the database. Defaults to the "restore_username" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--password' -d 'Password with which to connect to the restore database. Defaults to the "restore_password" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--restore-path' -d 'Path to restore SQLite database dumps to. Defaults to the "restore_path" option in borgmatic'"'"'s configuration' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -r"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to list, defaults to the configured repositories, quoted globs supported' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--short' -d 'Output only archive names' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--format' -d 'Format for archive listing' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only list archive names matching this pattern' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'List first N archives after other filters are applied' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'List last N archives after other filters are applied' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'List archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'List archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'List archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'List archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from rlist"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository containing archive to list, defaults to the configured repositories, quoted globs supported' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of the archive to list (or "latest")' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path' -d 'Path or pattern to list from a single selected archive (via "--archive"), can specify flag multiple times, defaults to listing the entire archive' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--find' -d 'Partial path or pattern to search for and list across multiple archives, can specify flag multiple times' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --find"
complete -c borgmatic -f -n "$exact_option_condition" -a '--short' -d 'Output only path names' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '--format' -d 'Format for file listing' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only list archive names matching this pattern' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'List first N archives after other filters are applied' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'List last N archives after other filters are applied' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '-e --exclude' -d 'Exclude paths matching the pattern' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -x -n "__borgmatic_current_arg -e --exclude"
complete -c borgmatic -f -n "$exact_option_condition" -a '--exclude-from' -d 'Exclude paths from exclude file, one per line' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --exclude-from"
complete -c borgmatic -f -n "$exact_option_condition" -a '--pattern' -d 'Include or exclude paths matching a pattern' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '--patterns-from' -d 'Include or exclude paths matching patterns from pattern file, one per line' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --patterns-from"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from list"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository containing archive to list, defaults to the configured repositories, quoted globs supported' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of the archive to list (or "latest")' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '--path' -d 'Path or pattern to list from a single selected archive (via "--archive"), can specify flag multiple times, defaults to listing the entire archive' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --path"
complete -c borgmatic -f -n "$exact_option_condition" -a '--find' -d 'Partial path or pattern to search for and list across multiple archives, can specify flag multiple times' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --find"
complete -c borgmatic -f -n "$exact_option_condition" -a '--short' -d 'Output only path names' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '--format' -d 'Format for file listing' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only list archive names matching this pattern' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'List first N archives after other filters are applied' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'List last N archives after other filters are applied' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '-e --exclude' -d 'Exclude paths matching the pattern' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -x -n "__borgmatic_current_arg -e --exclude"
complete -c borgmatic -f -n "$exact_option_condition" -a '--exclude-from' -d 'Exclude paths from exclude file, one per line' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --exclude-from"
complete -c borgmatic -f -n "$exact_option_condition" -a '--pattern' -d 'Include or exclude paths matching a pattern' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '--patterns-from' -d 'Include or exclude paths matching patterns from pattern file, one per line' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -Fr -n "__borgmatic_current_arg --patterns-from"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -l"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to show info for, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from rinfo"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from rinfo"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from rinfo"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository containing archive to show info for, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to show info for (or "latest")' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only show info for archive names matching this pattern' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'Show info for first N archives after other filters are applied' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'Show info for last N archives after other filters are applied' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Show info for archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Show info for archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Show info for archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Show info for archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from info"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository containing archive to show info for, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to show info for (or "latest")' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '--json' -d 'Output results as JSON' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '-a --match-archives --glob-archives' -d 'Only show info for archive names matching this pattern' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -x -n "__borgmatic_current_arg -a --match-archives --glob-archives"
complete -c borgmatic -f -n "$exact_option_condition" -a '--sort-by' -d 'Comma-separated list of sorting keys' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -x -n "__borgmatic_current_arg --sort-by"
complete -c borgmatic -f -n "$exact_option_condition" -a '--first' -d 'Show info for first N archives after other filters are applied' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -x -n "__borgmatic_current_arg --first"
complete -c borgmatic -f -n "$exact_option_condition" -a '--last' -d 'Show info for last N archives after other filters are applied' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -x -n "__borgmatic_current_arg --last"
complete -c borgmatic -f -n "$exact_option_condition" -a '--oldest' -d 'Show info for archives within a specified time range starting from the timestamp of the oldest archive (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newest' -d 'Show info for archives within a time range that ends at timestamp of the newest archive and starts a specified time range ago (e.g. 7d or 12m) [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '--older' -d 'Show info for archives that are older than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '--newer' -d 'Show info for archives that are newer than the specified time range (e.g. 7d or 12m) from the current time [Borg 2.x+ only]' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from -i"
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to break the lock for, defaults to the configured repository if there is only one, quoted globs supported' -n "__fish_seen_subcommand_from break-lock"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from break-lock"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from key"
complete -c borgmatic -f -n "$exact_option_condition" -a '' -d '' -n "__fish_seen_subcommand_from key"
complete -c borgmatic -f -a 'export' -n "__borgmatic_current_arg "
complete -c borgmatic -f -n "$exact_option_condition" -a '--repository' -d 'Path of repository to pass to Borg, defaults to the configured repositories, quoted globs supported' -n "__fish_seen_subcommand_from borg"
complete -c borgmatic -f -n "$exact_option_condition" -a '--archive' -d 'Name of archive to pass to Borg (or "latest")' -n "__fish_seen_subcommand_from borg"
complete -c borgmatic -f -n "$exact_option_condition" -a '--' -d 'Options to pass to Borg, command first ("create", "list", etc). "--" is optional. To specify the repository or the archive, you must use --repository or --archive instead of providing them here.' -n "__fish_seen_subcommand_from borg"
complete -c borgmatic -x -n "__borgmatic_current_arg --"
complete -c borgmatic -f -n "$exact_option_condition" -a '-h --help' -d 'Show this help message and exit' -n "__fish_seen_subcommand_from borg"

View file

@ -0,0 +1,36 @@
complete -c erd -s c -l config -d 'Use configuration of named table rather than the top-level table in .erdtree.toml' -r
complete -c erd -s C -l color -d 'Mode of coloring output' -r -f -a "{none Print plainly without ANSI escapes,auto Attempt to colorize output,force Turn on colorization always}"
complete -c erd -s d -l disk-usage -d 'Print physical or logical file size' -r -f -a "{logical How many bytes does a file contain,physical How many actual bytes on disk\, taking into account blocks\, sparse files\, and compression,line How many total lines a file contains,word How many total words a file contains,block How many blocks are allocated to store the file}"
complete -c erd -l time -d 'Which kind of timestamp to use; modified by default' -r -f -a "{create Time created (alias: ctime),access Time last accessed (alias: atime),mod Time last modified (alias: mtime)}"
complete -c erd -l time-format -d 'Which format to use for the timestamp; default by default' -r -f -a "{iso Timestamp formatted following the iso8601\, with slight differences and the time-zone omitted,iso-strict Timestamp formatted following the exact iso8601 specifications,short Timestamp only shows date without time in YYYY-MM-DD format,default Timestamp is shown in DD MMM HH:MM format}"
complete -c erd -s L -l level -d 'Maximum depth to display' -r
complete -c erd -s p -l pattern -d 'Regular expression (or glob if \'--glob\' or \'--iglob\' is used) used to match files' -r
complete -c erd -s t -l file-type -d 'Restrict regex or glob search to a particular file-type' -r -f -a "{file A regular file,dir A directory,link A symlink}"
complete -c erd -s s -l sort -d 'How to sort entries' -r -f -a "{name Sort entries by file name in lexicographical order,rname Sort entries by file name in reversed lexicographical order,size Sort entries by size smallest to largest\, top to bottom,rsize Sort entries by size largest to smallest\, bottom to top,access Sort entries by newer to older Accessing Date,raccess Sort entries by older to newer Accessing Date,create Sort entries by newer to older Creation Date,rcreate Sort entries by older to newer Creation Date,mod Sort entries by newer to older Alteration Date,rmod Sort entries by older to newer Alteration Date}"
complete -c erd -l dir-order -d 'Sort directories before or after all other file types' -r -f -a "{none Directories are ordered as if they were regular nodes,first Sort directories above files,last Sort directories below files}"
complete -c erd -s T -l threads -d 'Number of threads to use' -r
complete -c erd -s u -l unit -d 'Report disk usage in binary or SI units' -r -f -a "{bin Displays disk usage using binary prefixes,si Displays disk usage using SI prefixes}"
complete -c erd -s y -l layout -d 'Which kind of layout to use when rendering the output' -r -f -a "{regular Outputs the tree with the root node at the bottom of the output,inverted Outputs the tree with the root node at the top of the output,flat Outputs a flat layout using paths rather than an ASCII tree,iflat Outputs an inverted flat layout with the root at the top of the output}"
complete -c erd -l completions -d 'Print completions for a given shell to stdout' -r -f -a "{bash ,elvish ,fish ,powershell ,zsh }"
complete -c erd -s f -l follow -d 'Follow symlinks'
complete -c erd -s H -l human -d 'Print disk usage in human-readable format'
complete -c erd -s i -l no-ignore -d 'Do not respect .gitignore files'
complete -c erd -s I -l icons -d 'Display file icons'
complete -c erd -s l -l long -d 'Show extended metadata and attributes'
complete -c erd -l group -d 'Show file\'s groups'
complete -c erd -l ino -d 'Show each file\'s ino'
complete -c erd -l nlink -d 'Show the total number of hardlinks to the underlying inode'
complete -c erd -l octal -d 'Show permissions in numeric octal format instead of symbolic'
complete -c erd -l glob -d 'Enables glob based searching'
complete -c erd -l iglob -d 'Enables case-insensitive glob based searching'
complete -c erd -s P -l prune -d 'Remove empty directories from output'
complete -c erd -s x -l one-file-system -d 'Prevent traversal into directories that are on different filesystems'
complete -c erd -s . -l hidden -d 'Show hidden files'
complete -c erd -l no-git -d 'Disable traversal of .git directory when traversing hidden files'
complete -c erd -l dirs-only -d 'Only print directories'
complete -c erd -l no-config -d 'Don\'t read configuration file'
complete -c erd -l no-progress -d 'Hides the progress indicator'
complete -c erd -l suppress-size -d 'Omit disk usage from output'
complete -c erd -l truncate -d 'Truncate output to fit terminal emulator window'
complete -c erd -s h -l help -d 'Print help (see more with \'--help\')'
complete -c erd -s V -l version -d 'Print version'

View file

@ -0,0 +1,18 @@
function _maestral_completion;
set -l response (env _MAESTRAL_COMPLETE=fish_complete COMP_WORDS=(commandline -cp) COMP_CWORD=(commandline -t) maestral);
for completion in $response;
set -l metadata (string split "," $completion);
if test $metadata[1] = "dir";
__fish_complete_directories $metadata[2];
else if test $metadata[1] = "file";
__fish_complete_path $metadata[2];
else if test $metadata[1] = "plain";
echo $metadata[2];
end;
end;
end;
complete --no-files --command maestral --arguments "(_maestral_completion)";

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function beet-import --description 'import new music on media server from the import dir'
ssh media@media-server -x "beet import -amw ~/import/"
end

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function doomup --description 'doom update and gc'
doom sync $argv && doom gc && systemctl --user restart emacs.service
end

View file

@ -0,0 +1,8 @@
function fish_greeting
status --is-login
if [ $status = 0 ]
if which figlet > /dev/null
figlet -f "/home/emenel/.local/share/flf/wavy.flf" "welcome"
end
end
end

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function flakeup --description 'update flake sources'
nix flake update --flake /home/emenel/source/nixos-config
end

View file

@ -0,0 +1,3 @@
function la --description 'alias ls -la'
ls -la $argv
end

View file

@ -0,0 +1,4 @@
function lg --wraps=lazygit --description 'alias lg=lazygit'
lazygit $argv
end

View file

@ -0,0 +1,3 @@
function ll --description 'alias ls -l'
ls -l $argv
end

View file

@ -0,0 +1,3 @@
function lla --wraps='eza -la' --description 'alias lla eza -la'
eza -la $argv
end

View file

@ -0,0 +1,7 @@
function ls --wraps=eza --description 'eza instead of ls'
if type --quiet eza
eza --git --header --icons $argv
else
command ls --color=auto $argv
end
end

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function nixgc --description 'update home manager'
nix-collect-garbage $argv
end

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function nixgcboot --description 'fix full boot'
sudo nixos-rebuild boot --flake ~/source/nixos-config/#eddie $argv
end

View file

@ -0,0 +1,9 @@
#!/usr/bin/env fish
begin
set -lx __NV_PRIME_RENDER_OFFLOAD=1
set -lx __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
set -lx __GLX_VENDOR_LIBRARY_NAME=nvidia
set -lx __VK_LAYER_NV_optimus=NVIDIA_only
exec $argv
end

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function pdf-compress --description 'compress a pdf using ghostscript. produces output.pdf'
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dNOPAUSE -dBATCH -sOutputFile=output.pdf $argv
end

View file

@ -0,0 +1,10 @@
function pullall
for dir in *
if test -d $dir
cd $dir
echo "---- " $dir "----"
git pull
cd ..
end
end
end

View file

@ -0,0 +1,3 @@
function sbcl --description 'alias sbcl=rlwrap sbcl'
rlwrap sbcl $argv
end

View file

@ -0,0 +1,10 @@
#!/usr/bin/env fish
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function yabup --description 'update yabridge'
yabridgectl sync --prune $argv
end

View file

@ -0,0 +1,41 @@
command = /home/emenel/.nix-profile/bin/fish --login --interactive
shell-integration = fish
shell-integration-features = true
theme = Adventure
font-family = "JetBrains Mono"
font-size = 12
background = 111111
selection-foreground = ffffff
selection-background = 444444
bold-is-bright = true
cursor-style = bar
adjust-cursor-thickness = 2
resize-overlay = never
cursor-click-to-move = true
clipboard-paste-protection = true
keybind = ctrl+t=new_tab
keybind = ctrl+w=close_surface
keybind = ctrl+enter=new_split:down
keybind = ctrl+shift+enter=new_split:right
keybind = ctrl+alt+enter=equalize_splits
keybind = ctrl+alt+z=toggle_split_zoom
keybind = ctrl+alt+left=previous_tab
keybind = ctrl+alt+right=next_tab
keybind = ctrl+alt+up=goto_split:left
keybind = ctrl+alt+down=goto_split:right
keybind = ctrl+backspace=text:\x1b\x7f
# keybind = ctrl+shift+k=clear_screen
# disabled bindings for testing zellij
# keybind = ctrl+t=unbind
# keybind = ctrl+w=unbind
# keybind = ctrl+alt+right=unbind
# keybind = ctrl+alt+left=unbind
# keybind = ctrl+alt+up=unbind
# keybind = ctrl+alt+down=unbind
# keybind = ctrl+enter=unbind
# keybind = ctrl+shift+enter=unbind

View file

@ -0,0 +1,17 @@
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
name = Matt Nish-Lapidus
email = matt@emenel.ca
[core]
editor = emacsclient -r
excludesfile = /home/emenel/.config/git/ignore
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[pull]
rebase = false
[init]
defaultBranch = main

View file

@ -0,0 +1 @@
.DS_Store

View file

@ -0,0 +1,25 @@
# Halloy config.
#
# For a complete list of available options,
# please visit https://halloy.squidowl.org/configuration/index.html
theme = "oxocarbon"
[font]
family = "Jetbrains-Mono"
size = 18
[servers.liberachat]
nickname = "emenel"
nick_password_file = "/home/emenel/.config/halloy/password"
server = "irc.libera.chat"
channels = ["#halloy", "#shirakumo", "#guix", "#nonguix", "#msg", "#systemcrafters"]
[servers.oftc]
nickname = "emenel"
nick_password_file = "/home/emenel/.config/halloy/password"
server = "irc.oftc.net"
channels = ["#suckless"]
[buffer.channel.topic]
enabled = true

View file

@ -0,0 +1,11 @@
name = "oxocarbon"
[palette]
background = "#161616"
text = "#dde1e6"
action = "#525252"
accent = "#33b1ff"
alert = "#ff7eb6"
error = "#e46876"
info = "#82cfff"
success = "#be95ff"

View file

@ -0,0 +1,50 @@
general {
lock_cmd = pidof hyprlock || hyprlock
before_sleep_cmd = loginctl lock-session
}
# battery timers
listener {
timeout = 30
on-timeout = systemd-ac-power || light -S 0
on-resume = systemd-ac-power || light -I
}
listener {
timeout = 30
on-timeout = systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 0
on-resume = systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 40
}
listener {
timeout = 120
on-timeout = systemd-ac-power || systemd-ac-power && loginctl lock-session
}
listener {
timeout = 600
on-timeout = systemd-ac-power || systemctl suspend
}
# ac power timers
listener {
timeout = 60
on-timeout = systemd-ac-power && light -S 0
on-resume = systemd-ac-power && light -I
}
listener {
timeout = 60
on-timeout = systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 0
on-resume = systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 40
}
listener {
timeout = 300
on-timeout = systemd-ac-power && loginctl lock-session
}
listener {
timeout = 1800
on-timeout = systemd-ac-power && systemctl suspend
}

View file

@ -0,0 +1,53 @@
general {
grace = 1
hide_cursor = true
}
background {
color = rgb(0,0,0)
}
input-field {
monitor =
# size = 250, 60
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(0, 0, 0, 0)
inner_color = rgba(225, 225, 225, 0.25)
font_color = rgb(0,0,0)
fade_on_empty = false
rounding = -1
check_color = rgb(204, 136, 34)
placeholder_text = <i><span foreground="##cdd6f4">hm ...</span></i>
hide_input = false
position = 0, 0
halign = center
valign = center
font_family = JetBrains Mono
}
# DATE
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
color = rgba(242, 243, 244, 0.75)
font_size = 32
font_family = JetBrains Mono
position = 0, 300
halign = center
valign = center
}
# TIME
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgba(242, 243, 244, 0.75)
font_size = 32
font_family = JetBrains Mono Extrabold
position = 0, 200
halign = center
valign = center
}

View file

@ -0,0 +1,24 @@
(defcfg
input (device-file "/dev/input/by-id/usb-Keebio_Quefrency_Rev._5-event-if02")
output (uinput-sink "kmonad-quefrency")
fallthrough true
)
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = \ del
tab q w e r t y u i o p [ ] bspc
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl nlck lmet lalt spc ralt rmet)
(defalias
supesc (tap-hold-next-release 200 esc lmet)
sp-lsft (tap-hold-next-release 200 \( lsft)
sp-rsft (tap-hold-next-release 200 \) lsft))
(deflayer qwerty
grv 1 2 3 4 5 6 7 8 9 0 - = \ del
tab q w e r t y u i o p [ ] bspc
@supesc a s d f g h j k l ; ' ret
@sp-lsft z x c v b n m , . / @sp-rsft
lctl lctl lalt lmet spc rmet ralt)

View file

@ -0,0 +1,23 @@
(defcfg
input (device-file "/dev/input/by-id/usb-Razer_Razer_Blade-if01-event-kbd")
output (uinput-sink "kmonad-razer")
fallthrough true)
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctrl lmet lalt spc ralt rctrl)
(defalias
supesc (tap-hold-next-release 200 esc lmet)
sp-lsft (tap-hold-next-release 200 \( lsft)
sp-rsft (tap-hold-next-release 200 \) lsft))
(deflayer qwerty
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
@supesc a s d f g h j k l ; ' ret
@sp-lsft z x c v b n m , . / @sp-rsft
lmet lalt lctrl spc rctrl ralt)

View file

@ -0,0 +1,35 @@
(defcfg
input (device-file "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd")
output (uinput-sink "kmonad-sinc")
fallthrough true)
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 KeyPrint KeyInsert
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
tab q w e r t y u i o p [ ] bspc end
caps a s d f g h j k l ; ' ret pgup
lsft z x c v b n m , . / rsft up pgdn
lctl slck lmet lalt spc ralt rmet rctrl left down right)
(defalias
supesc (tap-hold-next-release 200 esc lmet)
sp-lsft (tap-hold-next-release 200 \( lsft)
sp-rsft (tap-hold-next-release 200 \) lsft)
controls (layer-toggle controls))
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 KeyPrint KeyInsert
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
tab q w e r t y u i o p [ ] bspc end
@supesc a s d f g h j k l ; ' ret pgup
@sp-lsft z x c v b n m , . / @sp-rsft up pgdn
lmet @controls lalt lctrl spc rctrl ralt rmet left down right)
(deflayer controls
esc KeyMute KeyVolumeDown KeyVolumeUp f4 f5 KeyPlayPause KeyPreviousSong KeyNextSong f9 f10 f11 f12 KeyPrint KeyInsert
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
tab q w e r t y u i o p [ ] bspc end
@supesc a s d f g h j k l ; ' ret pgup
@sp-lsft z x c v b n m , . / @sp-rsft pgup _
lmet lmet lalt lctrl spc rctrl ralt rmet home pgdn end)

View file

@ -0,0 +1,36 @@
(defcfg
input (device-file "/dev/input/by-id/usb-nullbits_SNAP-event-kbd")
output (uinput-sink "kmonad-snap")
fallthrough true)
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ins del
f13 grv 1 2 3 4 5 6 7 8 9 0 - = bspc home
f14 tab q w e r t y u i o p [ ] \ end
f15 caps a s d f g h j k l ; ' ret pgup
f16 lsft z x c v b n m , . / rsft pgdn
f17 lctl slck lmet lalt spc ralt rmet rctrl)
(defalias
supesc (tap-hold-next-release 200 esc lmet)
sp-lsft (tap-hold-next-release 200 \( lsft)
sp-rsft (tap-hold-next-release 200 \) lsft))
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prnt del
f13 grv 1 2 3 4 5 6 7 8 9 0 - = bspc home
f14 tab q w e r t y u i o p [ ] \ end
f15 @supesc a s d f g h j k l ; ' ret pgup
f16 @sp-lsft z x c v b n m , . / @sp-rsft pgdn
f17 lctrl lmet lalt lctrl spc rctrl ralt rmet)
;; (defalias
;; toggle-scratch ())
(deflayer paperwm
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prnt del
f13 grv 1 2 3 4 5 6 7 8 9 0 - = bspc home
f14 tab q w e r t y u i o p [ ] \ end
f15 @supesc a s d f g h j k l ; ' ret pgup
f16 @sp-lsft z x c v b n m , . / @sp-rsft pgdn
f17 lctrl lmet lalt lctrl spc rctrl ralt rmet)

View file

@ -0,0 +1,25 @@
max-visible=5
sort=-time
layer=top
anchor=top-right
font=JetbrainsMono-Light 12
background-color=#111111
text-color=#eeeeee
width=300
height=100
margin=24
padding=16
border-size=2
border-color=#eeeeee
border-radius=6
progress-color=over #5588AAFF
icons=true
max-icon-size=64
markup=true
actions=true
format=<b>%s</b>\n%b
default-timeout=5000
ignore-timeout=false

View file

@ -0,0 +1,342 @@
// This config is in the KDL format: https://kdl.dev
// "/-" comments out the following node.
// Check the wiki for a full description of the configuration:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Overview
// debug {
// wait-for-frame-completion-before-queueing
// }
input {
keyboard {
xkb {
layout "us"
}
}
touchpad {
natural-scroll
scroll-method "two-finger"
dwt
tap-button-map "left-right-middle"
click-method "clickfinger"
}
mouse {
natural-scroll
accel-speed 0.1
accel-profile "adaptive"
}
workspace-auto-back-and-forth
}
output "eDP-1" {
mode "2560x1600"
background-color "#000000"
scale 1
transform "normal"
}
output "PNP(BNQ) BenQ PD2725U N2N00414019" {
mode "3840x2160@59.997"
background-color "#000000"
scale 1
transform "normal"
}
// TODO setup defaults for hdmi output
environment {
DISPLAY ":0"
QT_QPA_PLATFORM "wayland"
//XDG_CURRENT_DESKTOP "niri"
//XDG_SESSION_TYPE "wayland"
MOZ_ENABLE_WAYLAND "1"
}
cursor {
xcursor-theme "Bibata-Modern-Classic"
xcursor-size 24
hide-after-inactive-ms 30000
}
layout {
gaps 10
center-focused-column "never"
always-center-single-column
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
//active-color "#d8bfffee"
active-gradient from="#d8bfffdd" to="#BD93FF99" angle=0 in="srgb-linear"
width 2
}
border {
//active-gradient from="#ffbb66aa" to="#ffc880aa" angle=45 in="oklch longer hue"
inactive-gradient from="#333333" to="#000000" angle=180 in="srgb-linear"
active-color "#000"
//inactive-color "#323232"
width 2
}
}
prefer-no-csd
workspace "main"
workspace "scratchpad"
spawn-at-startup "maestral_qt"
spawn-at-startup "xwayland-satellite" ":0"
spawn-at-startup "clipse" "-listen"
spawn-at-startup "waybar"
// spawn-at-startup "eww" "daemon"
spawn-at-startup "swayosd-server"
spawn-at-startup "plexamp"
// spawn-at-startup "shikane"
spawn-at-startup "hypridle"
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
animations {
slowdown 1.0
}
// global window rule for shared config
window-rule {
geometry-corner-radius 8
clip-to-geometry true
}
window-rule {
match app-id="Calculator"
match app-id="Color Picker"
match app-id="Volume Control"
open-floating true
}
window-rule {
match app-id="Plexamp"
match app-id="scratchpad"
open-on-workspace "scratchpad"
open-floating true
}
window-rule {
match app-id="launcher"
open-floating true
}
// Open the Firefox picture-in-picture player as floating by default.
window-rule {
// This app-id regular expression will work for both:
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true
}
binds {
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+Space { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "sway-launcher-desktop"; }
Mod+Ctrl+T { spawn "wezterm"; }
Mod+Ctrl+E { spawn "emacsclient" "-r" "-n"; }
Mod+Ctrl+B { spawn "firefox"; }
Mod+Ctrl+V { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "clipse"; }
Mod+Ctrl+F { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process" "yazi"; }
Super+Shift+L { spawn "hyprlock"; }
// Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked.
XF86AudioRaiseVolume allow-when-locked=true { spawn "swayosd-client" "--output-volume" "raise"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "swayosd-client" "--output-volume" "lower"; }
XF86AudioMute allow-when-locked=true { spawn "swayosd-client" "--output-volume" "mute-toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn "swayosd-client" "--input-volume" "mute-toggle"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "swayosd-client" "--brightness" "raise"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "swayosd-client" "--brightness" "lower"; }
Mod+Q { close-window; }
Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
Mod+Ctrl+Left { move-column-left; }
Mod+Ctrl+Down { move-window-down; }
Mod+Ctrl+Up { move-window-up; }
Mod+Ctrl+Right { move-column-right; }
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
Mod+Ctrl+Home { move-column-to-first; }
Mod+Ctrl+End { move-column-to-last; }
Mod+Shift+Left { focus-monitor-left; }
Mod+Shift+Down { focus-monitor-down; }
Mod+Shift+Up { focus-monitor-up; }
Mod+Shift+Right { focus-monitor-right; }
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
Mod+Shift+L { focus-monitor-right; }
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
// Alternatively, there are commands to move just a single window:
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
// ...
// And you can also move a whole workspace to another monitor:
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
// ...
Mod+Page_Down { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
Mod+Alt+Down { move-column-to-workspace-down; }
Mod+Alt+Up { move-column-to-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
Mod+Ctrl+I { move-column-to-workspace-up; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
// ...
Mod+Shift+Page_Down { move-workspace-down; }
Mod+Shift+Page_Up { move-workspace-up; }
Mod+Shift+U { move-workspace-down; }
Mod+Shift+I { move-workspace-up; }
// You can bind mouse wheel scroll ticks using the following syntax.
// These binds will change direction based on the natural-scroll setting.
//
// To avoid scrolling through workspaces really fast, you can use
// the cooldown-ms property. The bind will be rate-limited to this value.
// You can set a cooldown on any bind, but it's most useful for the wheel.
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
Mod+WheelScrollRight { focus-column-right; }
Mod+WheelScrollLeft { focus-column-left; }
Mod+Ctrl+WheelScrollRight { move-column-right; }
Mod+Ctrl+WheelScrollLeft { move-column-left; }
// Usually scrolling up and down with Shift in applications results in
// horizontal scrolling; these binds replicate that.
Mod+Shift+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-column-left; }
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
// You can refer to workspaces by index. However, keep in mind that
// niri is a dynamic workspace system, so these commands are kind of
// "best effort". Trying to refer to a workspace index bigger than
// the current workspace count will instead refer to the bottommost
// (empty) workspace.
//
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
// will all refer to the 3rd workspace.
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+6 { focus-workspace 6; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+Ctrl+6 { move-column-to-workspace 6; }
Mod+Ctrl+7 { move-column-to-workspace 7; }
Mod+Ctrl+8 { move-column-to-workspace 8; }
Mod+Ctrl+9 { move-column-to-workspace 9; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+1 { move-window-to-workspace 1; }
// Switches focus between the current and the previous workspace.
// Mod+Tab { focus-workspace-previous; }
// The following binds move the focused window in and out of a column.
// If the window is alone, they will consume it into the nearby column to the side.
// If the window is already in a column, they will expel it out.
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
// Consume one window from the right to the bottom of the focused column.
Mod+Comma { consume-window-into-column; }
// Expel the bottom window from the focused column to the right.
Mod+Period { expel-window-from-column; }
Mod+R { switch-preset-column-width; }
Mod+Shift+R { switch-preset-window-height; }
Mod+Ctrl+R { reset-window-height; }
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
Mod+C { center-column; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
Mod+Shift+Minus { set-window-height "-10%"; }
Mod+Shift+Equal { set-window-height "+10%"; }
// Move the focused window between the floating and the tiling layout.
Mod+Ctrl+X { toggle-window-floating; }
Mod+Alt+X { switch-focus-between-floating-and-tiling; }
Mod+X { focus-workspace "scratchpad"; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
// a matching layout switch hotkey configured in xkb options above.
// Having both at once on the same hotkey will break the switching,
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
// Mod+Space { switch-layout "next"; }
// Mod+Shift+Space { switch-layout "prev"; }
Print { screenshot; }
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
// The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; }
//Ctrl+Alt+Delete { quit; }
// Powers off the monitors. To turn them back on, do any input like
// moving the mouse or pressing any other key.
Mod+Shift+P { power-off-monitors; }
}

View file

@ -0,0 +1,12 @@
{
"email": "matt@emenel.ca",
"sso_id": null,
"base_url": null,
"identity_url": null,
"ui_url": null,
"notifications_url": null,
"lock_timeout": 3600,
"sync_interval": 999999999,
"pinentry": "rbw-pinentry-keyring",
"client_cert_path": null
}

View file

@ -0,0 +1,67 @@
[[profile]]
name = "desk-dual"
exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
[[profile.output]]
enable = true
search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
mode = "2560x1600@240Hz"
position = "3840,0"
scale = 1.0
transform = "normal"
adaptive_sync = false
[[profile.output]]
enable = true
search = ["m=BenQ PD2725U", "s=N2N00414019", "v=PNP(BNQ)"]
mode = "3840x2160@59.997Hz"
position = "0,0"
scale = 1.0
transform = "normal"
adaptive_sync = false
[[profile]]
name = "desk-clam"
exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
[[profile.output]]
enable = false
search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
[[profile.output]]
enable = true
search = ["m=BenQ PD2725U", "s=N2N00414019", "v=PNP(BNQ)"]
mode = "3840x2160@59.997Hz"
position = "0,0"
scale = 1.0
transform = "normal"
adaptive_sync = false
[[profile]]
name = "laptop"
exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
[[profile.output]]
enable = true
search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
mode = "2560x1600@240Hz"
position = "0,0"
scale = 1.0
transform = "normal"
adaptive_sync = false
[[profile]]
name = "laptop-misc"
exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
[[profile.output]]
enable = true
search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
mode = "2560x1600@240Hz"
position = "3840,0"
scale = 1.0
transform = "normal"
adaptive_sync = false
[[profile.output]]
enable = true
match = "/.*/"

View file

@ -0,0 +1,201 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = "$all$line_break$character"
[directory]
truncation_length = 0
truncate_to_repo = false
fish_style_pwd_dir_length = 0
use_logical_path = true
format = "[$path]($style)[$read_only]($read_only_style) "
repo_root_format = "[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) "
style = "blue bold"
disabled = false
read_only = " 󰌾"
read_only_style = "red"
truncation_symbol = ""
home_symbol = "~"
use_os_path_sep = true
[cmd_duration]
style = '#444444'
format = '([\($duration\)]($style))'
[aws]
symbol = " "
[buf]
symbol = " "
[c]
symbol = " "
[conda]
symbol = " "
[crystal]
symbol = " "
[dart]
symbol = " "
[docker_context]
symbol = " "
[elixir]
symbol = " "
[elm]
symbol = " "
[fennel]
symbol = " "
[fossil_branch]
symbol = " "
[git_branch]
symbol = " "
format = "[$symbol$branch(:$remote_branch)]($style) "
[git_status]
style = 'blue'
format = '([$all_status$ahead_behind${count}]($style) )'
conflicted = '=$count'
ahead = '⇡$count'
behind = '⇣$count'
diverged = '⇕$count'
up_to_date = '$count'
untracked = '?$count'
stashed = '$$count'
modified = '!$count'
staged = '[+$count](yellow)'
renamed = '»$count'
deleted = '✘$count'
typechanged = ""
[golang]
symbol = " "
[guix_shell]
symbol = " "
[haskell]
symbol = " "
[haxe]
symbol = " "
[hg_branch]
symbol = " "
[hostname]
ssh_symbol = " "
[java]
symbol = " "
[julia]
symbol = " "
[kotlin]
symbol = " "
[lua]
symbol = " "
[memory_usage]
symbol = "󰍛 "
[meson]
symbol = "󰔷 "
[nim]
symbol = "󰆥 "
[nix_shell]
symbol = " "
[nodejs]
symbol = " "
[ocaml]
symbol = " "
[os.symbols]
Alpaquita = " "
Alpine = " "
AlmaLinux = " "
Amazon = " "
Android = " "
Arch = " "
Artix = " "
CentOS = " "
Debian = " "
DragonFly = " "
Emscripten = " "
EndeavourOS = " "
Fedora = " "
FreeBSD = " "
Garuda = "󰛓 "
Gentoo = " "
HardenedBSD = "󰞌 "
Illumos = "󰈸 "
Kali = " "
Linux = " "
Mabox = " "
Macos = " "
Manjaro = " "
Mariner = " "
MidnightBSD = " "
Mint = " "
NetBSD = " "
NixOS = " "
OpenBSD = "󰈺 "
openSUSE = " "
OracleLinux = "󰌷 "
Pop = " "
Raspbian = " "
Redhat = " "
RedHatEnterprise = " "
RockyLinux = " "
Redox = "󰀘 "
Solus = "󰠳 "
SUSE = " "
Ubuntu = " "
Unknown = " "
Void = " "
Windows = "󰍲 "
[package]
symbol = "󰏗 "
[perl]
symbol = " "
[php]
symbol = " "
[pijul_channel]
symbol = " "
[python]
symbol = " "
[rlang]
symbol = "󰟔 "
[ruby]
symbol = " "
[rust]
symbol = " "
[scala]
symbol = " "
[swift]
symbol = " "
[zig]
symbol = " "

View file

@ -0,0 +1,5 @@
[files-provider]
list_cmd=
preview_cmd=
launch_cmd=
purge_cmd=

View file

@ -0,0 +1,59 @@
{
"parser-directories": [
"/home/emenel/github",
"/home/emenel/src",
"/home/emenel/source",
"/home/emenel/projects",
"/home/emenel/dev",
"/home/emenel/git"
],
"theme": {
"attribute": {
"italic": true,
"color": 124
},
"number": {
"bold": true,
"color": 94
},
"constant.builtin": {
"color": 94,
"bold": true
},
"type": 23,
"function.builtin": {
"color": 26,
"bold": true
},
"keyword": 56,
"embedded": null,
"constructor": 136,
"variable.builtin": {
"bold": true
},
"operator": {
"bold": true,
"color": 239
},
"constant": 94,
"punctuation.delimiter": 239,
"comment": {
"color": 245,
"italic": true
},
"tag": 18,
"string": 28,
"type.builtin": {
"color": 23,
"bold": true
},
"module": 136,
"string.special": 30,
"property": 124,
"function": 26,
"punctuation.bracket": 239,
"variable.parameter": {
"underline": true
}
}
}

View file

@ -0,0 +1,101 @@
{
"modules-left": [
"clock",
"niri/workspaces",
"mpris"
],
"modules-right": [
"wlr/taskbar",
"tray",
"cpu",
"memory",
"network",
"wireplumber",
"power-profiles-daemon",
"upower"
],
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"memory": {
"interval": 30,
"format": "{used:0.1f}G/{total:0.1f}G ",
"on-click": "gnome-system-monitor"
},
"cpu": {
"interval": 10,
"format": "{}% ",
"max-length": 10,
"on-click": "gnome-system-monitor"
},
"network": {
"format-wifi": "{essid} ",
"format-ethernet": "{ifname} ",
"format-disconnected": "",
"max-length": 50,
"on-click": "wezterm --config-file /home/emenel/.config/wezterm/launcher.lua start --class launcher --always-new-process nmtui",
},
"tray": {
"icon-size": 20,
"spacing": 10
},
"clock": {
"format": "{:%a %d %b %Y %I:%M}",
"on-click": "gnome-calendar",
},
"wireplumber": {
"format": "{volume}% {icon}",
"format-muted": "",
"on-click": "helvum",
"format-icons": [
"",
"",
""
],
"on-click": "pavucontrol"
},
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
"dynamic-len": 100,
"player-icons": {
"default": "▶",
},
"status-icons": {
"paused": "⏸"
},
},
"wlr/taskbar": {
"format": "{icon}",
"icon-size": 20,
"icon-theme": "Numix-Circle",
"tooltip-format": "{title}",
"on-click": "activate",
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition"
},
"ignore-list": [
"Signal"
],
"rewrite": {
"Firefox Web Browser": "Firefox",
"Foot Server": "Terminal"
}
},
"niri/workspaces": {
"format": "{icon}",
"format-icons": {
"main": "",
"scratchpad": "",
}
}
}

View file

@ -0,0 +1,127 @@
* {
border: none;
font-size: 12pt;
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF" ;
min-height: 25px;
}
window#waybar {
background: transparent;
margin: 5px;
}
.modules-right {
padding-left: 5px;
margin-top: 2px;
color: #ccc;
}
.modules-center {
padding: 0 15px;
margin-top: 2px;
color: #ccc;
}
.modules-left {
margin-top: 2px;
color: #ccc;
padding-right: 5px;
}
#network {
padding: 0 10px 0 15px;
}
#battery,
#custom-clipboard,
#custom-colorpicker,
#custom-powerDraw,
#bluetooth,
#pulseaudio,
#wireplumber,
#disk,
#memory,
#taskbar
#cpu,
#temperature,
#custom-weather,
#idle_inhibitor,
#jack,
#upower,
#power-profiles-daemon
#tray,
#window,
#workspaces,
#clock {
padding: 0 20px;
}
#power-profiles-daemon {
min-width: 40px;
}
#temperature.critical,
#pulseaudio.muted {
color: #FF0000;
padding-top: 0;
}
#cpu {
padding-right: 30px;
}
#clock{
color: #d8bfff;
}
#battery.charging {
color: #ffffff;
background-color: #26A65B;
}
#battery.warning:not(.charging) {
background-color: #ffbe61;
color: black;
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#mpris {
margin-left: 15px;
}
#workspaces button {
color: #666;
}
#workspaces button.empty {
color: #222;
}
#workspaces button.focused
{
color: #ccc;
}
#taskbar, #tray {
padding-right: 30px;
}
#taskbar button.active {
background: #333;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}

View file

@ -0,0 +1,56 @@
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
local act = wezterm.action
local io = require 'io'
local os = require 'os'
config.enable_wayland = false;
-- config.front_end = "WebGpu";
config.font_size = 14
config.font = wezterm.font {
family = 'JetBrains Mono',
weight = 'Medium'
}
-- config.enable_scroll_bar = true
config.color_scheme = 'Adventure'
config.colors = {
background = "#111111",
tab_bar = {
background = "#111111",
inactive_tab = {
fg_color = "#444444",
bg_color = "#111111"
}
}
}
config.background = {
{
source = {
Color = '#111111'
},
width = "100%",
height = "100%",
opacity = 1
}
}
config.window_decorations = "RESIZE"
config.window_padding = {
left = 4,
right = 4,
top = 4,
bottom = 4,
}
config.cursor_thickness = 2
config.default_cursor_style = 'SteadyBar'
config.enable_tab_bar = false;
config.enable_kitty_keyboard = true
return config

View file

@ -0,0 +1,264 @@
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
local act = wezterm.action
local io = require 'io'
local os = require 'os'
-- config.default_prog = { 'fish', '-l' }
wezterm.on('trigger-emacs-with-scrollback', function(window, pane)
-- Retrieve the text from the pane
local text = pane:get_lines_as_text(pane:get_dimensions().scrollback_rows)
-- Create a temporary file to pass to vim
local name = os.tmpname()
local f = io.open(name, 'w+')
f:write(text)
f:flush()
f:close()
-- Open a new window running vim and tell it to open the file
window:perform_action(
act.SpawnCommandInNewWindow {
args = { 'em', name },
},
pane
)
-- Wait "enough" time for vim to read the file before we remove it.
-- The window creation and process spawn are asynchronous wrt. running
-- this script and are not awaitable, so we just pick a number.
--
-- Note: We don't strictly need to remove this file, but it is nice
-- to avoid cluttering up the temporary directory.
wezterm.sleep_ms(1000)
os.remove(name)
end)
-- plugins
local domains = wezterm.plugin.require("https://github.com/DavidRR-F/quick_domains.wezterm")
local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez")
local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/smart_workspace_switcher.wezterm")
config.enable_wayland = false;
-- config.front_end = "WebGpu";
config.font_size = 14
config.font = wezterm.font {
family = 'JetBrains Mono',
weight = 'Medium'
}
-- config.enable_scroll_bar = true
config.color_scheme = 'Adventure'
config.colors = {
background = "#111111",
tab_bar = {
background = "#111111",
inactive_tab = {
fg_color = "#444444",
bg_color = "#111111"
}
}
}
config.background = {
{
source = {
Color = '#111111'
},
width = "100%",
height = "100%",
opacity = 1
}
}
config.window_decorations = "RESIZE"
config.window_padding = {
left = 12,
right = 12,
top = 6,
bottom = 6,
}
config.cursor_thickness = 2
config.default_cursor_style = 'SteadyBar'
config.use_fancy_tab_bar = false
config.tab_bar_at_bottom = true
config.enable_kitty_keyboard = true
config.unzoom_on_switch_pane = true
config.keys = {
{
key = 'Enter',
mods = 'CTRL',
action = act.SplitVertical { domain = 'CurrentPaneDomain' },
},
{
key = 'Enter',
mods = 'CTRL|SHIFT',
action = act.SplitHorizontal { domain = 'CurrentPaneDomain' },
},
{
key = 'w',
mods = 'CTRL',
action = wezterm.action.CloseCurrentTab { confirm = true },
},
{
key = 'w',
mods = 'CTRL|SHIFT',
action = act.DetachDomain 'CurrentPaneDomain',
},
{
key = 'k',
mods = 'CTRL|SHIFT',
action = act.Multiple {
act.ClearScrollback 'ScrollbackAndViewport',
act.SendKey { key = 'L', mods = 'CTRL' },
},
},
{
key = 'z',
mods = 'CTRL|META',
action = wezterm.action.TogglePaneZoomState,
},
{
key = 'E',
mods = 'CTRL',
action = act.EmitEvent 'trigger-emacs-with-scrollback',
},
{
key = 'o',
mods = 'CTRL',
action = wezterm.action.ShowLauncher
},
{ key="Backspace", mods="CTRL", action=act.SendKey { key="Backspace", mods="META" } },
{ key='t', mods='CTRL', action=act { SpawnCommandInNewTab = { cwd = wezterm.home_dir } } },
{ key="LeftArrow", mods="CTRL|META", action=act.ActivateTabRelative(-1) },
{ key="RightArrow", mods="CTRL|META", action=act.ActivateTabRelative(1) },
{ key="UpArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Prev") },
{ key="DownArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Next") },
{ key='h', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Left"} },
{ key='l', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Right"} },
{ key='j', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Up"} },
{ key='k', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Down"} },
}
tabline.setup({
options = {
theme = 'Adventure',
theme_overrides = {
background = "#111111",
tab = {
active = { fg = '#eeeeee', bg = '#111111' },
inactive = { fg = '#999999', bg = '#111111' },
inactive_hover = { fg = '#cccccc', bg = '#111111' },
},
normal_mode = {
a = { bg = "#333333", fg = "#eeeeee" },
b = { bg = "#111111", fg = "#eeeeee" },
c = { bg = "#111111", fg = "#eeeeee" },
x = { bg = "#111111", fg = "#eeeeee" },
y = { bg = "#111111", fg = "#eeeeee" },
z = { bg = "#333333", fg = "#eeeeee" },
},
copy_mode = {
b = { bg = "#222222", fg = "#eeeeee" }
}
},
section_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thick,
right = wezterm.nerdfonts.ple_left_half_circle_thick,
},
component_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thin,
right = wezterm.nerdfonts.ple_left_half_circle_thin,
},
tab_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thick,
right = wezterm.nerdfonts.ple_left_half_circle_thick,
},
icons_enabled = true,
tabs_enabled = true,
},
sections = {
tabline_a = { 'workspace' },
tabline_b = { '' },
tabline_c = { '' },
tab_active = {
'index',
{ 'process', icons_only = true, process_to_icon = { ['fish'] = wezterm.nerdfonts.cod_terminal } },
{ 'parent', padding = 0 },
'/',
{ 'cwd', padding = { left = 0, right = 1 } },
{ 'zoomed', padding = 0 },
},
tab_inactive = {
'index',
{ 'process', process_to_icon = { ['fish'] = wezterm.nerdfonts.cod_terminal } },
{ 'parent', padding = 0 },
'/',
{ 'cwd', padding = { left = 0, right = 1 } },
{ 'zoomed', padding = 0 },
},
tabline_x = { '' },
tabline_y = { '' },
tabline_z = { 'domain' },
},
extensions = {
smart_workspace_switcher,
quick_domains
},
})
tabline.apply_to_config(config)
domains.apply_to_config(
config,
{
keys = {
-- open domain in new tab
attach = {
-- mod keys for fuzzy domain finder
mods = 'CTRL|SHIFT',
-- base key for fuzzy domain finder
key = 'a',
-- key table to insert key map to if any
tbl = '',
},
-- open domain in split pane
-- excludes remote domains
-- add remote domains as exec domain for split binds
vsplit = {
key = 'v',
mods = 'CTRL',
tbl = 'tmux'
},
hsplit = {
key = 'h',
mods = 'CTRL',
tbl = 'tmux'
}
},
auto = {
ssh_ignore = false,
exec_ignore = {
ssh = false
}
}
}
)
workspace_switcher.apply_to_config(config)
return config

View file

@ -0,0 +1,12 @@
bar:
height: 26
location: top
spacing: 5
margin: 7
background: 000000ff
right:
- clock:
time-format: "%H:%M %Z"
content:
- string: {text: "{time}"}

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Lukas Manera
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Lukas Manera
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,40 @@
<div align="center">
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
</div>
<h3 align="center">
Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## Monokai Vibrant
I like Monokai. I like Monokai with vibrant colors and minimal styling even more. Borders are only slightly visible. Kept a lot of things plain white to counteract the colorfulness.
## Theme
Monokai Vibrant Theme based on jonotansberg "tweaked Monokai Dark Soda" .tmTheme. https://github.com/jonatansberg/Monokai-Dark-Soda.tmTheme
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
<!-- Please replace "username/example" with your repository name. -->
```bash
ya pack -a sanjinso/monokai-vibrant
```
## ⚙️ Usage
Add the these lines to your `theme.toml` configuration file to use it:
```toml
[flavor]
use = "monokai-vibrant"
```
## 📜 License
The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.

View file

@ -0,0 +1,95 @@
#E373CE
#FFD945
#FF9700
#81F900
#FF3F4F
#19D1E5
#528bff
[manager]
cwd = { fg = "white" }
hovered = { reversed = true }
preview_hovered = { reversed = true }
tab_active = { reversed = true }
tab_inactive = {}
tab_width = 1
# default bg
count_copied = { fg = "#1f1f28", bg = "#81F900" }
count_cut = { fg = "#1f1f28", bg = "#FF3F4F" }
count_selected = { fg = "#1f1f28", bg = "#FFD945" }
# Find
find_keyword = { bg = "white", fg = "#FF3F4F", bold = true, italic = false, underline = false }
# Border
border_symbol = "│"
border_style = { bg = "#292B30", fg = "#333341" }
[which]
cols = 2
separator = " | "
separator_style = { fg = "#292B30" }
mask = { bg = "#16161d" } # dark bg
rest = { fg = "#727169" } # darkgrey
cand = { fg = "white" }
desc = { fg = "#565666" }
[status]
separator_open = ""
separator_close = ""
separator_style = { fg = "reset", bg = "#363646" }
# default bg
mode_normal = { fg = "#1f1f28", bg = "white", bold = true }
mode_select = { fg = "#1f1f28", bg = "#FF3F4F", bold = true }
mode_unset = { fg = "#1f1f28", bg = "#FFD945", bold = true }
progress_label = { fg = "#19D1E5", bg = "#363646", bold = true }
progress_normal = { fg = "#363646", bg = "#1f1f28" }
progress_error = { fg = "#363646", bg = "#1f1f28" }
permissions_t = { fg = "#81F900" }
permissions_r = { fg = "#FFD945" }
permissions_w = { fg = "#FF3F4F" }
permissions_x = { fg = "#FF9700" }
permissions_s = { fg = "#19D1E5" }
[input]
border = { fg = "#7fb4ca" } # blue
title = {}
value = {}
selected = { reversed = true }
[completion]
border = { fg = "#7fb4ca" } # blue
active = { reversed = true }
inactive = {}
[tasks]
border = { fg = "#7fb4ca" } # blue
title = {}
hovered = { fg = "#938aa9" } # magenta
[help]
on = { fg = "#7aa89f" } # cyan
run = { fg = "#938aa9" } # magenta
desc = {}
hovered = { reversed = true, bold = true }
footer = { fg = "#090618", bg = "#dcd7ba" } # white
# files
[filetype]
rules = [
{ mime = "image/*", fg = "#FFD945" },
{ mime = "{audio,video}/*", fg = "#81F900" },
{ mime = "application/{,g}zip", fg = "#FF3F4F" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#FF3F4F" },
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#0D96DE" },
{ name = "*", is = "orphan", fg = "#FF3F4F" },
{ name = "*", is = "exec", fg = "#81F900" },
{ name = "*/", fg = "#19D1E5"}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

View file

@ -0,0 +1,675 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Monokai Dark</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#242424</string>
<key>caret</key>
<string>#F8F8F0</string>
<key>foreground</key>
<string>#F8F8F2</string>
<key>invisibles</key>
<string>#3B3A32</string>
<key>lineHighlight</key>
<string>#3D3D3D55</string>
<key>selection</key>
<string>#403d3d</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>underline</string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic underline</string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#FF9700</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespaces</string>
<key>scope</key>
<string>support.other.namespace, entity.name.type.namespace</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespace Alias</string>
<key>scope</key>
<string>support.other.namespace.use-as.php</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespace Keyword</string>
<key>scope</key>
<string>variable.language.namespace.php</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D66990</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespace Separator</string>
<key>scope</key>
<string>punctuation.separator.inheritance.php</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS Functions / Property Values</string>
<key>scope</key>
<string>support.function.misc.css, support.constant.property-value.css, support.constant.font-name.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Tagbraces</string>
<key>scope</key>
<string>meta.tag.template.value.twig, meta.tag.template.block.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CD5AC5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Keywords</string>
<key>scope</key>
<string>keyword.control.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E05D8C</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Objects</string>
<key>scope</key>
<string>variable.other.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E5A5E0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Object Properties</string>
<key>scope</key>
<string>variable.other.property.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFE1FC</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Language Constants</string>
<key>scope</key>
<string>constant.language.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Numerical Constants</string>
<key>scope</key>
<string>constant.numeric.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD0FB</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Filters</string>
<key>scope</key>
<string>support.function.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#90E7F7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig User-Defined Filters</string>
<key>scope</key>
<string>meta.function-call.other.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF9700</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Macros</string>
<key>scope</key>
<string>meta.function-call.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF9700</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF3F4F</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#E373CE</string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Embedded Source</string>
<key>scope</key>
<string>text source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#3D3D3D55</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: header</string>
<key>scope</key>
<string>meta.diff, meta.diff.header</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#E0EDDD</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: deleted</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#D3201F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#BF3904</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: inserted</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: range</string>
<key>scope</key>
<string>meta.diff, meta.diff.range</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#3bc0f0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Headings</string>
<key>scope</key>
<string>markup.heading.markdown, markup.heading.1.markdown, markup.heading.2.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Bold</string>
<key>scope</key>
<string>markup.bold.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#F8F8F2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Italic</string>
<key>scope</key>
<string>markup.italic.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#F8F8F2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Punctuation for Bold, Italic, and Inline Block</string>
<key>scope</key>
<string>punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.raw.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D3201F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Bulleted List</string>
<key>scope</key>
<string>markup.list.unnumbered.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Numbered List</string>
<key>scope</key>
<string>markup.list.numbered.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Block and Inline Block</string>
<key>scope</key>
<string>markup.raw.block.markdown, markup.raw.inline.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Quote Block and Punctuation</string>
<key>scope</key>
<string>markup.quote.markdown, punctuation.definition.blockquote.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#00A0E4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Seperator</string>
<key>scope</key>
<string>meta.separator.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Link and Reference URL</string>
<key>scope</key>
<string>meta.image.inline.markdown, markup.underline.link.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Link Title, Image Description</string>
<key>scope</key>
<string>string.other.link.title.markdown, string.other.link.description.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Angle Brakets on Link and Image</string>
<key>scope</key>
<string>punctuation.definition.link.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Parens on Link and Image </string>
<key>scope</key>
<string>punctuation.definition.metadata.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Square Brakets on Link, Image, and Reference</string>
<key>scope</key>
<string>punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.constant.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>255F0694-0C8C-93E3-114A-EBBCF44F5573</string>
</dict>
</plist>

View file

@ -0,0 +1,22 @@
Status:children_add(function(self)
local h = self._current.hovered
if h and h.link_to then
return " -> " .. tostring(h.link_to)
else
return ""
end
end, 3300, Status.LEFT)
Status:children_add(function()
local h = cx.active.current.hovered
if h == nil or ya.target_family() ~= "unix" then
return ""
end
return ui.Line {
ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
":",
ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
" ",
}
end, 500, Status.RIGHT)

View file

@ -0,0 +1,6 @@
[manager]
prepend_keymap = [
{ on = "<C-d>", run = "shell 'ripdrag \"$@\" -x 2>/dev/null &' --confirm" },
{ on = "y", run = ["shell 'for path in \"$@\"; do echo \"file://$path\"; done | wl-copy -t text/uri-list'\n", "yank"] },
{ on = ["g", "r"], run = "shell 'ya emit cd \"$(git rev-parse --show-toplevel)\"'\n" }
]

View file

@ -0,0 +1,6 @@
[flavor]
dark = "monokai-vibrant"
light = "monokai-vibrant"
[manager]
hovered = { bg = "#cccccc", fg = "#000000" }

View file

@ -0,0 +1,10 @@
corepack
javascript-typescript-langserver
npm
prettier
stylelint-config-standard-scss
stylelint
svelte-language-server
typescript-language-server
typescript
vscode-langservers-extracted

View file

@ -0,0 +1,100 @@
#!/bin/sh
# TODO: support config locations:
# ./.piku-server
# ~/.piku-server
# git config --get remote.piku.url
# git config --get remote.paas.url
if grep -q WSL /proc/version 2>/dev/null
then
# On WSL, use the Windows ssh.exe to benefit from 1Password integration
SSH="ssh.exe"
else
SSH="ssh"
fi
remote_name="piku"
if [ "$1" = "--remote" ] || [ "$1" = "-r" ]
then
shift
remote_name="$1"
shift
fi
gitremote=$(git config --get remote."$remote_name".url)
remote=${gitremote:-"${PIKU_SERVER}:${PIKU_APP}"}
githome="https://raw.githubusercontent.com/piku/piku/master/"
out() { printf "%s\n" "$*" >&2; }
if [ "$1" = "init" ]
then
if [ -f "ENV" ]
then
echo "ENV file already exists."
else
curl -s "${githome}examples/ENV" > ENV && echo "Wrote ./ENV file."
fi
if [ -f "Procfile" ]
then
echo "Procfile already exists."
else
curl -s "${githome}examples/Procfile" > Procfile && echo "Wrote ./Procfile."
fi
if [ "$gitremote" = "" ]
then
echo "Now set up your piku remote for this app:"
echo "git remote add piku piku@HOSTNAME:APPNAME"
fi
exit
fi
out "Piku remote operator."
if [ "$remote" = "" ] || [ "$remote" = ":" ]
then
out
out "Error: no piku server configured."
out "Use PIKU_SERVER=piku@MYSERVER.NET or configure a git remote called 'piku'."
out
else
server=$(echo "$remote" | cut -f1 -d":" 2>/dev/null)
app=$(echo "$remote" | cut -f2 -d":" 2>/dev/null)
# gather SSH flags
while [ "${1#\-}"x != "${1}x" ];
do
sshflags="${sshflags} ${1}"
shift
done
# check the Piku command to be run
cmd="$1"
out "Server: $server"
out "App: $app"
out
case "$cmd" in
""|help)
command $SSH -o LogLevel=QUIET ${sshflags:+${sshflags}} "$server" "$@" | grep -v "INTERNAL"
echo " shell Local command to start an SSH session in the remote."
echo " init Local command to download an example ENV and Procfile."
echo " download Local command to scp down a remote file. args: REMOTE-FILE(s) LOCAL-PATH"
echo " Remote file path is relative to the app folder."
;;
apps|setup|setup:ssh|update)
# shellcheck disable=SC2029 # caused by the final "$@", expanded on the client side
command $SSH ${sshflags:+${sshflags}} "$server" "$@"
;;
shell)
$SSH -t "$server" run "$app" bash
;;
download)
scp "$server:~/.piku/apps/${app}/${2}" "${3:-'.'}"
;;
*)
shift # remove cmd arg
# shellcheck disable=SC2029 # caused by the final "$@", expanded on the client side
command $SSH ${sshflags:+${sshflags}} "$server" "$cmd" "$app" "$@"
;;
esac
fi

View file

@ -0,0 +1,903 @@
flf2a$ 4 3 10 0 6
Wavy by Brian Krog 10/05
Includes ISO Latin-1
figlet release 2.2.2 -- 05 Jul 2005
Permission is hereby given to modify this font, as long as the
modifier's name is placed on a comment line.
$$@
$$@
$$@
$$@@
$ @
|$@
o$@
$ @@
$ @
||$@
$ @
$ @@
$ @
_/_/_$@
-/-/-$ @
$ @@
$ @
(I`$@
.I)$@
$ @@
$@
o/$@
/o$@
$ @@
_$ @
\)$@
(X$@
$@@
$ @
|$@
$ @
$ @@
/$@
($ @
\$@
$@@
\$ @
)$@
/$ @
$ @@
$ @
_\/_$@
/\$ @
$ @@
$ @
$_|_$@
$|$ @
$ @@
$ @
$ @
o$@
/$@@
$ @
$__$@
$ @
$ @@
$ @
$ @
o$@
$ @@
$@
/$@
/$ @
$ @@
_$ @
(.\$ @
\_)$@
$ @@
$ @
/($ @
_)_$@
$@@
_$ @
)$@
/_$@
$@@
_$ @
_)$@
_)$@
$ @@
$ @
/_(_$@
)$@
$ @@
__$ @
)_$ @
_)$@
$ @@
_$ @
(__$ @
\_)$@
$ @@
__$ @
)$@
($ @
$ @@
_$ @
(_)$@
(_)$@
$ @@
_$ @
(_\$ @
_)$@
$ @@
$ @
o$@
o$@
$ @@
$ @
o$@
o$@
/$@@
$ @
/$@
\$@
$ @@
$ @
__$@
--$@
$ @@
$ @
\$@
/$@
$ @@
_$ @
)$@
o$ @
$ @@
___$ @
/ _ )$@
( (_($ @
\___/$@@
_$ @
/_)$@
/ /$ @
$ @@
__$ @
)_)$@
/__)$@
$ @@
_$ @
/ `$@
(_.$ @
$ @@
__$ @
) )$@
/_/$ @
$ @@
___$@
)_$ @
(__$ @
$ @@
___$@
)_$ @
($ @
$ @@
_$ @
/ _$@
(__/$@
$ @@
$ @
)_)$@
( ($ @
$ @@
___$@
)$ @
_(_$ @
$ @@
___$ @
($ @
\__)$@
$ @@
$@
)_/$@
/ )$@
$ @@
$ @
)$ @
(__$@
$ @@
$ @
)\/)$@
( ($ @
$ @@
$ @
)\ )$@
( ($ @
$ @@
_$ @
/ )$@
(_/$ @
$ @@
__$ @
)_)$@
/$ @
$ @@
_$ @
/ )$@
(_X$ @
@@
__$ @
)_)$@
/ \$ @
$ @@
__$ @
(_ `$@
.__)$ @
$ @@
___$@
)$ @
($ @
$ @@
@
/ /$@
(_/$ @
$ @@
$@
\ /$@
\/$ @
$ @@
$@
\ X /$@
\/ \/$ @
$ @@
$ @
(/$@
/)$@
$ @@
@
\_)$@
/$ @
$ @@
__$@
/$@
/_$@
$ @@
_$@
|$ @
|_$@
$ @@
$ @
\$ @
\$@
$@@
_$ @
|$@
_|$@
$ @@
$ @
/\$@
$ @
$ @@
$ @
$ @
$ @
__$@@
$ @
\$@
$ @
$ @@
$ @
_$ @
(_($@
$ @@
$ @
( _$ @
)_)$@
$ @@
$ @
_$@
(_$@
$ @@
$ @
_ )$@
(_($ @
$ @@
$ @
_$ @
)_)$@
(_$ @@
$ @
_(_$@
)$@
$ @@
$ @
_$ @
(_($ @
_)$@@
$ @
( _$ @
) )$@
$ @@
$ @
o$@
($@
$ @@
$ @
o$ @
($ @
_)$@@
$ @
( _$@
)\$@
$ @@
$ @
)$@
($ @
$ @@
$ @
_ _$ @
) ) )$@
$ @@
$ @
_$ @
) )$@
$ @@
$ @
_$ @
(_)$@
$ @@
$ @
_$ @
)_)$@
( $ @@
$ @
_$ @
(_($ @
)$@@
$ @
_$@
)$ @
$ @@
$ @
_$@
($ @
_)$@@
$ @
_)_$@
(_$ @
$ @@
$ @
$ @
(_($@
$ @@
$ @
$ @
\)$@
$ @@
$ @
$ @
)_)_)$@
$ @@
$ @
$ @
\)$@
(\$@@
$ @
$ @
(_($ @
_)$@@
$ @
__$ @
)$ @
(__$@@
_$@
_|$ @
|_$@
$ @@
$ @
|$@
|$@
|$@@
_$ @
|_$@
_|$ @
$ @@
$ @
/\/$@
$ @
$ @@
o_o$@
/_)$@
/ /$ @
$ @@
o_o$@
/ )$@
(_/$ @
$ @@
o o$@
/ /$ @
(_/$ @
$ @@
o o$@
_ $@
(_($@
$@@
o o$@
_$ @
(_)$@
$ @@
o o$@
$@
(_($@
$@@
__$ @
) )$@
/ )$@
$ @@
160 NO-BREAK SPACE
$$@
$$@
$$@
$$@@
161 INVERTED EXCLAMATION MARK
$ @
o$@
|$@
$ @@
162 CENT SIGN
$ @
|$ @
(_`$@
|$ @@
163 POUND SIGN
_$ @
_(_`$@
o)_$@
$ @@
164 CURRENCY SIGN
$ @
`o'$@
' `$@
$ @@
165 YEN SIGN
$ @
_\_)_$@
--/--$@
$ @@
166 BROKEN BAR
$ @
|$@
'$@
|$@@
167 SECTION SIGN
_$@
($ @
()$@
_)$@@
168 DIAERESIS
o o$@
$ @
$ @
$ @@
169 COPYRIGHT SIGN
_$ @
(C)$@
$ @
$ @@
170 FEMININE ORDINAL INDICATOR
_ $@
(_($@
---$@
$ @@
171 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
$@
//$@
\\$@
$@@
172 NOT SIGN
$ @
__$ @
|$@
$ @@
173 SOFT HYPHEN
$ @
_$@
$ @
$ @@
174 REGISTERED SIGN
_$ @
(R)$@
$ @
$ @@
175 MACRON
__$@
$ @
$ @
$ @@
176 DEGREE SIGN
O$@
$ @
$ @
$ @@
177 PLUS-MINUS SIGN
$ @
_|_$@
_|_$@
$ @@
178 SUPERSCRIPT TWO
2$@
@
@
@@
179 SUPERSCRIPT THREE
3$@
$ @
$ @
$ @@
180 ACUTE ACCENT
/$@
$ @
$ @
$ @@
181 MICRO SIGN
$ @
$ @
)_)$@
/$ @@
182 PILCROW SIGN
__$@
(||$@
||$@
$ @@
183 MIDDLE DOT
$ @
o$@
$ @
$ @@
184 CEDILLA
$ @
$ @
$ @
S$@@
185 SUPERSCRIPT ONE
1$@
$ @
$ @
$ @@
186 MASCULINE ORDINAL INDICATOR
_$ @
(_)$@
---$@
$ @@
187 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
$ @
\\$@
//$@
$ @@
188 VULGAR FRACTION ONE QUARTER
$@
1/$@
/4$@
$ @@
189 VULGAR FRACTION ONE HALF
$@
1/$@
/2$@
$ @@
190 VULGAR FRACTION THREE QUARTERS
$@
3/$@
/4$@
$ @@
191 INVERTED QUESTION MARK
$ @
o$@
(_$@
$ @@
192 LATIN CAPITAL LETTER A WITH GRAVE
\$ @
/_)$@
/ /$ @
$ @@
193 LATIN CAPITAL LETTER A WITH ACUTE
_/$@
/_)$@
/ /$ @
$ @@
194 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
/\$@
/_)$@
/ /$ @
$ @@
195 LATIN CAPITAL LETTER A WITH TILDE
/\/$@
/_)$@
/ /$ @
$ @@
196 LATIN CAPITAL LETTER A WITH DIAERESIS
o_o$@
/_)$@
/ /$ @
$ @@
197 LATIN CAPITAL LETTER A WITH RING ABOVE
O$ @
/_)$@
/ /$ @
$ @@
198 LATIN CAPITAL LETTER AE
____$@
/_)_$ @
/ /__$ @
$ @@
199 LATIN CAPITAL LETTER C WITH CEDILLA
_$ @
/ `$@
(_.$ @
S$ @@
200 LATIN CAPITAL LETTER E WITH GRAVE
_\_$@
)_$ @
(__$ @
$ @@
201 LATIN CAPITAL LETTER E WITH ACUTE
_/_$@
)_$ @
(__$ @
$ @@
202 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
_/\$@
)_$ @
(__$ @
$ @@
203 LATIN CAPITAL LETTER E WITH DIAERESIS
o_o$@
)_$ @
(__$ @
$ @@
204 LATIN CAPITAL LETTER I WITH GRAVE
_\_$@
)$ @
_(_$ @
$ @@
205 LATIN CAPITAL LETTER I WITH ACUTE
_/_$@
)$ @
_(_$ @
$ @@
206 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
_/\$@
)$ @
_(_$ @
$ @@
207 LATIN CAPITAL LETTER I WITH DIAERESIS
o_o$@
)$ @
_(_$ @
@@
208 LATIN CAPITAL LETTER ETH
__$ @
_)_)$@
/_/$ @
$ @@
209 LATIN CAPITAL LETTER N WITH TILDE
/\/$@
)\ )$@
( ($ @
$ @@
210 LATIN CAPITAL LETTER O WITH GRAVE
\$ @
/ )$@
(_/$ @
$ @@
211 LATIN CAPITAL LETTER O WITH ACUTE
_/$@
/ )$@
(_/$ @
$ @@
212 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
/\$@
/ )$@
(_/$ @
$ @@
213 LATIN CAPITAL LETTER O WITH TILDE
/\/$@
/ )$@
(_/$ @
$ @@
214 LATIN CAPITAL LETTER O WITH DIAERESIS
o_o$@
/ )$@
(_/$ @
$ @@
215 MULTIPLICATION SIGN
$ @
X$@
$ @
$ @@
216 LATIN CAPITAL LETTER O WITH STROKE
_$ @
//)$@
(//$ @
$ @@
217 LATIN CAPITAL LETTER U WITH GRAVE
\$ @
/ /$@
(_/$ @
$ @@
218 LATIN CAPITAL LETTER U WITH ACUTE
/$@
/ /$@
(_/$ @
$ @@
219 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
/\$@
/ /$@
(_/$ @
$ @@
220 LATIN CAPITAL LETTER U WITH DIAERESIS
o o$@
/ /$ @
(_/$ @
$ @@
221 LATIN CAPITAL LETTER Y WITH ACUTE
/$ @
\_)$@
/$ @
$ @@
222 LATIN CAPITAL LETTER THORN
( _$ @
)_)$@
($ @
$ @@
223 LATIN SMALL LETTER SHARP S
__$ @
) )$@
/ )$@
$ @@
224 LATIN SMALL LETTER A WITH GRAVE
\$ @
_ $@
(_($@
$@@
225 LATIN SMALL LETTER A WITH ACUTE
/$ @
_ $@
(_($@
$@@
226 LATIN SMALL LETTER A WITH CIRCUMFLEX
/\$@
_ $@
(_($@
$@@
227 LATIN SMALL LETTER A WITH TILDE
/\/$@
_ $@
(_($@
$@@
228 LATIN SMALL LETTER A WITH DIAERESIS
o o$@
_ $@
(_($@
$@@
229 LATIN SMALL LETTER A WITH RING ABOVE
O$ @
_ $@
(_($@
$@@
230 LATIN SMALL LETTER AE
$ @
_ _$ @
_ )_)$@
(_(_$ @@
231 LATIN SMALL LETTER C WITH CEDILLA
$ @
_$@
(_$@
S$@@
232 LATIN SMALL LETTER E WITH GRAVE
\$ @
_$ @
)_)$@
(_$ @@
233 LATIN SMALL LETTER E WITH ACUTE
/$ @
_$ @
)_)$@
(_$ @@
234 LATIN SMALL LETTER E WITH CIRCUMFLEX
/\$ @
_ $@
)_)$@
(_$ @@
235 LATIN SMALL LETTER E WITH DIAERESIS
o o$@
_ $@
)_)$@
(_$ @@
236 LATIN SMALL LETTER I WITH GRAVE
$ @
\$@
($@
$@@
237 LATIN SMALL LETTER I WITH ACUTE
$ @
/$@
($@
$@@
238 LATIN SMALL LETTER I WITH CIRCUMFLEX
$ @
/\$@
($ @
$ @@
239 LATIN SMALL LETTER I WITH DIAERESIS
$ @
oo$@
($ @
$ @@
240 LATIN SMALL LETTER ETH
X$ @
_ )$@
(_($ @
$ @@
241 LATIN SMALL LETTER N WITH TILDE
/\/$@
_$ @
) )$@
$ @@
242 LATIN SMALL LETTER O WITH GRAVE
\$ @
_$ @
(_)$@
$ @@
243 LATIN SMALL LETTER O WITH ACUTE
/$ @
_$ @
(_)$@
$ @@
244 LATIN SMALL LETTER O WITH CIRCUMFLEX
/\$@
_$ @
(_)$@
@@
245 LATIN SMALL LETTER O WITH TILDE
/\/$@
_$ @
(_)$@
$ @@
246 LATIN SMALL LETTER O WITH DIAERESIS
o o$@
_$ @
(_)$@
$ @@
247 DIVISION SIGN
o$ @
---$@
o$ @
$ @@
248 LATIN SMALL LETTER O WITH STROKE
$ @
_$ @
(/)$@
$ @@
249 LATIN SMALL LETTER U WITH GRAVE
\$ @
$@
(_($@
$@@
250 LATIN SMALL LETTER U WITH ACUTE
/$@
$@
(_($@
$@@
251 LATIN SMALL LETTER U WITH CIRCUMFLEX
/\$@
$@
(_($@
$@@
252 LATIN SMALL LETTER U WITH DIAERESIS
o o$@
$@
(_($@
$@@
253 LATIN SMALL LETTER Y WITH ACUTE
/$ @
$ @
(_($ @
_)$@@
254 LATIN SMALL LETTER THORN
$ @
(_$ @
)_)$@
($ @@
255 LATIN SMALL LETTER Y WITH DIAERESIS
o o$ @
$ @
(_($ @
_)$@@

View file

@ -0,0 +1,626 @@
flf2a$ 6 5 10 0 13
weird.flf (version 2)
by: Bas Meijer meijer@info.win.tue.nl bas@damek.kth.se
fixed by: Ryan Youck youck@cs.uregina.ca
some special characters '#%*' etc. are not matching, they are from other fonts.
Explanation of first line:
flf2 - "magic number" for file identification
a - should always be `a', for now
$ - the "hardblank" -- prints as a blank, but can't be smushed
6 - height of a character
5 - height of a character, not including descenders
20 - max line length (excluding comment lines) + a fudge factor
15 - default smushmode for this font (like "-m 15" on command line)
13 - number of comment lines
$ $@
$ $@
$ $@
$ $@
$ $@
$ $@@
@
$ / $@
$( $@
$| $@
$_ $@
@@
@
$//$@
$ $@
$ $@
$ @
@@
@
. . @
-+-+-@
-+-+-@
` ` @
@@
$ ,_$@
$/| |@
(_|_$@
| )@
|_|/$@
$ ` $@@
@
o /@
$ /$@
$/ $@
/ o@
@@
_ @
$/ |$@
(__/$@
$/ \)@
|__/\@
@@
@
$/$@
$ $@
$ $@
$ @
@@
@
/@
| @
| @
| @
\@@
@
\ @
|@
|@
|@
/ @@
@
@
.|.@
-*-@
'|`@
@@
@
@
| @
-+- @
| @
@@
@
$ $@
$ $@
$ $@
$ $@
/ $@@
@
$ $@
$___$@
$ $@
$ $@
@@
@
$ $@
$ $@
$ $@
$ $@
- $@@
@
/@
/ @
/ @
/ @
@@
__ @
$/ |@
( |@
| )@
|__/$@
@@
_ @
$/| $@
( | $@
$ | )@
$_|/$@
@@
__ @
$/ )@
( /$@
$ / )@
$/_/$@
@@
__ @
$ |@
$___|@
$ )@
$__/$@
@@
@
$/ |@
(___|@
$ )@
$ /$@
@@
__ @
$/ $@
|___$@
$ )@
$__/$@
@@
__ @
$/ $@
(___$@
| )@
|__/$@
@@
__ @
$/ |@
( |@
$ )@
$ /$@
@@
__ @
$/ |@
(___|@
| )@
|__/$@
@@
__ @
$/ |@
(___|@
$ )@
$__/$@
@@
@
$ $@
$_ $@
$ $@
$- $@
@@
@
$ $@
$_ $@
$ $@
$/ $@
@@
@
$/@
/$@
\$@
$\@
@@
$@
$@
___$@
___$@
$@
$@@
@
\$@
$\@
$/@
/$@
@@
__ @
$/ |@
( _|@
$ / $@
$_ $@
@@
__ @
$/ |@
( O_/@
| $@
|__/$@
@@
__ @
$/ |@
(___|@
| )@
| /$@
@@
__ @
|/ |@
|___|@
| )@
|__/$@
@@
__ @
$/ $@
( $@
| )@
|__/$@
@@
__ @
|/ |@
| |@
| )@
|__/$@
@@
__ @
$/ $@
(___$@
| $@
|__ $@
@@
___@
$/ $@
(___$@
| $@
| $@
@@
__ @
$/ $@
( __$@
| )@
|__/$@
@@
@
$/ |@
(___|@
| )@
| /$@
@@
@
$/@
($@
|$@
|$@
@@
@
$|@
$|@
$)@
_/$@
@@
@
$/ |@
(___|@
|\ $@
| \ $@
@@
@
$/ $@
( $@
| )@
|__/$@
@@
@
$/|/|@
( / |@
| )@
| /$@
@@
@
$/| |@
( | |@
| | )@
| |/$@
@@
__ @
$/ |@
( |@
| )@
|__/$@
@@
__ @
$/ |@
(___|@
| $@
| $@
@@
__ @
$/ |@
( |@
| \)@
|__/\@
@@
__ @
$/ |@
(___|@
|\ $@
| \ $@
@@
__ @
$/ $@
(___$@
$ )@
$__/$@
@@
__@
$/|$@
( |$@
$ |$@
$ |$@
@@
@
$/ |@
( |@
| )@
|__/$@
@@
@
$/ |@
( |@
$\ )@
$ \/$@
@@
@
$/ |@
( |@
| / )@
|/|/$@
@@
@
$/ /$@
(_/_$@
$/ )@
/ /$@
@@
@
$/ |@
(___|@
$ )@
$__/$@
@@
__ @
$/ /$@
( / $@
$/ )@
/__/$@
@@
_@
| @
| @
: @
| @
`-@@
@
\ @
\ @
\ @
\@
@@
_ @
|@
|@
:@
|@
-'@@
_ @
/ \@
$ $@
$ $@
@
@@
@
@
$ $@
$ $@
$ $@
$---$@@
@
$\$@
$ $@
$ $@
$ @
@@
@
@
$___$@
| )@
|__/|@
@@
@
$/ @
(___$@
| )@
|__/$@
@@
@
@
$___$@
| $@
|__ $@
@@
@
|@
$___|@
| )@
|__/$@
@@
@
@
$___$@
|___)@
|__ $@
@@
__ @
$/ $@
( $@
|___$@
| $@
@@
@
@
$___$@
| )@
|__/$@
__/ @@
@
$/ @
(___$@
| )@
| /$@
@@
@
$/@
$$@
|$@
|$@
@@
@
$ |@
$ $@
$ )@
$/$@
__/ @@
@
$/ @
( $@
|___)@
| \ $@
@@
@
$/@
($@
|$@
|$@
@@
@
@
$_ _$@
| | )@
| /$@
@@
@
@
$___$@
| )@
| /$@
@@
@
@
$___$@
| )@
|__/$@
@@
@
@
$___$@
| )@
|__/$@
| @@
@
@
$___$@
| )@
|__/|@
|@@
@
@
$___$@
| )@
| $@
@@
@
@
$___$@
|___$@
$__/$@
@@
@
$/ @
(___$@
| $@
|__ $@
@@
@
@
$ $@
| )@
|__/$@
@@
@
@
$ $@
$\ )@
$ \/$@
@@
@
@
$ $@
| )@
|/\/$@
@@
@
@
$ $@
(_/_$@
$/ /$@
@@
@
@
$ $@
\ )@
$\_/$@
/ @@
@
@
$___$@
$__/$@
/__ $@
@@
_@
$| @
_| @
: @
$| @
`-@@
$@
|$@
($@
|$@
|$@
$@@
_ @
|$@
|_@
: @
|$@
-' @@
_ @
/ \_/@
$ $@
$ $@
@
@@
$-__-@
$/ |@
(___|@
| )@
| /$@
@@
$-__-@
$/ |@
( |@
| )@
|__/$@
@@
$- -@
$/ |@
( |@
| )@
|__/$@
@@
@
$ $@
-___-@
| )@
|__/|@
@@
@
$ $@
-___-@
| )@
|__/$@
@@
@
$ $@
- -$@
| )@
|__/$@
@@
__ @
|/ |@
|___|@
| )@
|__/$@
| $@@

View file

@ -0,0 +1,55 @@
IMAPAccount emenel-fastmail
Host imap.fastmail.com
User matt@emenel.ca
PassCmd "rbw get mu4e-fastmail"
Port 993
TLSType IMAPS
AuthMechs Login
CertificateFile ~/.maildir/certificates/root-certificates.pem
IMAPStore emenel-fastmail-remote
Account emenel-fastmail
MaildirStore emenel-fastmail-local
SubFolders Verbatim
Path ~/.maildir/matt@emenel.ca/
Inbox ~/.maildir/matt@emenel.ca/INBOX
Channel emenel-fastmail
Far :emenel-fastmail-remote:
Near :emenel-fastmail-local:
Patterns *
Create Near
Sync All
Expunge Both
SyncState *
#######
IMAPAccount admin-studyoftime
Host imap.dreamhost.com
User admin@studyoftime.org
PassCmd "rbw get admin@studyoftime"
Port 993
TLSType IMAPS
AuthMechs Login
CertificateFile ~/.maildir/certificates/root-certificates.pem
IMAPStore admin-studyoftime-remote
Account admin-studyoftime
MaildirStore admin-studyoftime-local
SubFolders Verbatim
Path ~/.maildir/admin@studyoftime.org/
Inbox ~/.maildir/admin@studyoftime.org/INBOX
Channel admin-studyoftime
Far :admin-studyoftime-remote:
Near :admin-studyoftime-local:
Patterns *
Create Near
Sync All
Expunge Both
SyncState *
#######

View file

@ -0,0 +1,32 @@
# Set default values for all the accounts.
defaults
logfile ~/.maildir/msmtp.log
tls_trust_file ~/.maildir/certificates/root-certificates.pem
account fastmail
auth on
host smtp.fastmail.com
port 465
protocol smtp
from matt@emenel.ca
user matt@emenel.ca
passwordeval rbw get mu4e-fastmail
tls on
tls_starttls off
# ====
account isst
auth on
host smtp.dreamhost.com
port 465
protocol smtp
from admin@studyoftime.org
user admin@studyoftime.org
passwordeval rbw get admin@studyoftime
tls on
tls_starttls off
# ======================================================================
account default : fastmail

View file

@ -0,0 +1 @@
prefix=~/.npm-packages

View file

@ -0,0 +1,33 @@
;; The following lines added by ql:add-to-init-file:
#-quicklisp
#+asdf (require :asdf)
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
(push (pathname "~/source/_cl") ql:*local-project-directories*)
(ql:quickload :cffi :silent t)
(pushnew (merge-pathnames ".nix-profile/lib/" (user-homedir-pathname))
cffi:*foreign-library-directories*)
(pushnew (merge-pathnames ".nix-profile/lib64/" (user-homedir-pathname))
cffi:*foreign-library-directories*)
(pushnew (merge-pathnames "/run/current-system/sw/share/nix-ld/lib/" (user-homedir-pathname))
cffi:*foreign-library-directories*)
(defun pkg-config-add-lib (libname)
(let ((process (sb-ext:run-program "/usr/bin/env"
(list "pkg-config" libname "--libs-only-L")
:input t :output :stream :wait t)))
(let ((stream (sb-ext:process-output process)))
(loop for line = (read-line stream nil nil)
while line do
;; Drop "-L" part, and add '/' to the end. '/' IS necessary!
(pushnew (pathname (concatenate 'string (subseq line 2) "/"))
cffi:*foreign-library-directories*))
(sb-ext:process-close process))))
;; load specific libs
(pkg-config-add-lib "libffi")

View file

@ -0,0 +1,2 @@
Matt Nish-Lapidus
https://emenel.ca

View file

@ -0,0 +1,7 @@
Host media-server
User media
Hostname media-server
Host emenel.ca
user emenel
Hostname emenel.ca

View file

@ -0,0 +1,2 @@
["FabFilter*.vst3"]
group = "fabfilter"

25
homes/emenel/secrets.yaml Normal file
View file

@ -0,0 +1,25 @@
bw_client_id: ENC[AES256_GCM,data:7ssBRUFfYW7CNsDwntS6S+2p68DpSaivUFAXY1GaTUuxOc81QzEdqtY=,iv:8CaYkM/mv1tqunhQZ/YdNQS64d9PEjSKelI5S7pVZWU=,tag:WO006QqK0oyiG4zN+SglmQ==,type:str]
bw_api_key: ENC[AES256_GCM,data:Dwb++djM0lrkkmfVDNq46uhMxjbj1grmDwykk2v4,iv:JPy6fOwaMAL31tk/yU6n9CMKhXV1WrGNV9dgOVIdbS4=,tag:v/IIZ9qCaCoimrxdNRsrWw==,type:str]
ssh_key: ENC[AES256_GCM,data:gp/UO2dV5AFAj2AQ7MgWrBoi/jXWprPhNsuIfF7wrHilFDyWO9YCaG2waBfon6YltWRVoow6LRQs9JnoGkRsF79LDpIBRSMQmi2SEUpY0uLvZB0MUBkblqYiaAqNfoDL5JSsI7ePyEpSB6a3f1Rq5oVD6BSzqgl2gocV7/GlgiqBQ7ah/x90QLlfJjQ2NPFGCxXCxoPbpvlA9jvTzMVgxc6ziI3eH41Mg8iRw8K9WtSE+rvCrH1juY/d5aj1nc4b+r257kseuH7oU5di+10cJ7IMuvDEsBrMrCHpc9rETAEqtwXXmSXSxtOx1B9KnT+3KbvlTkOOgn4/jGb+CrVD0Ku61F82aP5sIiX47qiR6s+eyggHcDib8KwL4IbpKqJWKbybelrDz14JSm4yHWTOFwOwX7baNPc2l4awZ/7VnEtX2+GVxZA5jBQFqv2zeevPW8nURZt0ANAmN+gb2ebe8dKb7IL3KPYTht3AWxsovVuXClmLKW/zIWH48sbuGkqZXqOJqQewBb71frOmmAGC,iv:34riu5Fa+r2DG5kIEEPiQnOFZ1sUk0tqbVZZw0AA3QY=,tag:nyZkcBT2fz44J2MBptB0lA==,type:str]
ssh_key_pub: ENC[AES256_GCM,data:MbEqSFSH52Ac1EgX66DohzlTa3CRellfgmGBolCuPIKn/0T7IN2+8iHpKB45/9VqzaWn6E4wPKGzKCP69/ne2+h4FPxWZv8OXGfvCvApWz6xkSRXL04mud3bJId3,iv:HxEA9fHRwSPdZ6QPIPjk6CDCcEiouoz2KED0MSW01Bk=,tag:e8GWCQfoFiT+2+KNPYdBpg==,type:str]
borg_url: ENC[AES256_GCM,data:Ha/C+EInoNv6Wy/t7IRWmAlVsgEg/sh+LhM/8GmrvQsqfs/KO86i3QD66H0A+gN9,iv:/k8CIgdPg+Z5alVj4RnRypU8S1E/B/nLAlkhzMX1+uU=,tag:/Y6mUq00lRryUairXQMWwQ==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age10k8v6pfm3p7cmsgn6wu5ufpcquqgpvqh76l23xf326et55dacc0qlr8fe8
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxM0J2TnF5ZHNETnNrWTlj
SEViczZqOHRuNThhUHF0bllVZTNnZDdtWnhVCnZxTkVGczRRTzlDUDF2TmtjUVMw
QVV2cTYxS1d5QXU3aUNyajZWelUyQmcKLS0tIG1oYjU3M0pBL2lBUmN1cFoyTXdB
RTk5RGdrZ3dGaXJIait5VG45bTFpQVkKFvq2714fyXnUlQ2ovZGVl55Wq9m/uvpC
Q7k9SEOdSMNqioG5TR7yhGS+cCbcO+zV7WXxKB+mpwUmhkc13H0w5A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-06T20:09:39Z"
mac: ENC[AES256_GCM,data:lZB6blCUm/QXMbK05z65vIxbVm3diXaNXKmGc8c2as8MqEcFwP5twB9GlX/Kpn/3aEFvH5FpavOfUzId5eOVVZJnZYIuTELqXpNGWUD6dMbCmIL0sfOsp49rgmKr+mkoi7kfhM7dMCoximBS2ubLOVIyPAHmrnKI1St/cs/J+PE=,iv:xCerqV4zPVj6LRnWQwNUWTz9F0tJRAF+0b9QcNbHwJ4=,tag:6ew+Loe4iiqMgM2SrhIVpQ==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.2