From 804533cde06189bb2109c063092d59b2d53ee4db Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 16 Mar 2025 17:15:39 +0100 Subject: ... --- _sources/generated.json | 32 +- _sources/generated.nix | 32 +- accounts/gkleen@sif/default.nix | 107 +- accounts/gkleen@sif/ssh-hosts.nix | 6 +- accounts/gkleen@sif/systemd.nix | 38 +- accounts/gkleen@sif/zshrc | 17 +- flake.lock | 66 +- home-modules/pandoc/default.nix | 27 + home-modules/pandoc/german_abbreviations.txt | 1423 ++++++++++++++++++++++ home-modules/pandoc/german_abbreviations.txt.gup | 35 + hosts/sif/default.nix | 5 +- overlays/niri.nix | 8 + overlays/swayosd/default.nix | 17 - overlays/waybar.nix | 11 +- user-profiles/zsh/zshrc | 9 + 15 files changed, 1640 insertions(+), 193 deletions(-) create mode 100644 home-modules/pandoc/default.nix create mode 100644 home-modules/pandoc/german_abbreviations.txt create mode 100755 home-modules/pandoc/german_abbreviations.txt.gup create mode 100644 overlays/niri.nix diff --git a/_sources/generated.json b/_sources/generated.json index ed2c5d34..80194b7f 100644 --- a/_sources/generated.json +++ b/_sources/generated.json @@ -22,7 +22,7 @@ }, "bpf-examples": { "cargoLocks": null, - "date": "2025-01-03", + "date": "2025-03-06", "extract": null, "name": "bpf-examples", "passthru": null, @@ -34,12 +34,12 @@ "name": null, "owner": "xdp-project", "repo": "bpf-examples", - "rev": "8d53e6fc46ae625bd16b38eb1007ece99460eada", - "sha256": "sha256-BUncjyaywmtSMVhbWZDy9XiNlGJet8Z0lzmUqm3f+HU=", + "rev": "64e7da048b14822bef06f3971189c4c0985422e7", + "sha256": "sha256-cyyRNvU35ujxkLraOqw2oiZwUblBpJaEncPl2++VHL4=", "sparseCheckout": [], "type": "github" }, - "version": "8d53e6fc46ae625bd16b38eb1007ece99460eada" + "version": "64e7da048b14822bef06f3971189c4c0985422e7" }, "emacs-scratch_el": { "cargoLocks": null, @@ -99,7 +99,7 @@ }, "mako": { "cargoLocks": null, - "date": "2025-03-01", + "date": "2025-03-07", "extract": null, "name": "mako", "passthru": null, @@ -109,13 +109,13 @@ "fetchSubmodules": false, "leaveDotGit": false, "name": null, - "rev": "5321a4c61b2c23caa39337cd36065384bfcb3ace", - "sha256": "sha256-QplCniTBCoZV+R8hspsDcj3MhHcXkMjMoYC4mZyq3nM=", + "rev": "91a1fc482b1ef8c45a64e38f13e0b23e84155f32", + "sha256": "sha256-i91WGv1O5OZ0338/F2nkXUZ7xLD3N9Zxloeq3sDt04w=", "sparseCheckout": [], "type": "git", "url": "https://github.com/emersion/mako" }, - "version": "5321a4c61b2c23caa39337cd36065384bfcb3ace" + "version": "91a1fc482b1ef8c45a64e38f13e0b23e84155f32" }, "mpv-autosave": { "cargoLocks": null, @@ -407,7 +407,7 @@ }, "v4l2loopback": { "cargoLocks": null, - "date": "2025-02-28", + "date": "2025-03-14", "extract": null, "name": "v4l2loopback", "passthru": null, @@ -419,16 +419,16 @@ "name": null, "owner": "umlaeute", "repo": "v4l2loopback", - "rev": "60a0315c6db154597dc733ea42139cf159644a7a", - "sha256": "sha256-GymBIScU4sg3ofVb9R4/Abq9OZZ+IqLKv/6y32wFLm8=", + "rev": "2ae34dbd9f1ecb19de3e43d4b75008a078330e4b", + "sha256": "sha256-oOkh6t3wapC6Dz+UovF1iGgyGb1IUoLS2PeZugu7Y/g=", "sparseCheckout": [], "type": "github" }, - "version": "60a0315c6db154597dc733ea42139cf159644a7a" + "version": "2ae34dbd9f1ecb19de3e43d4b75008a078330e4b" }, "xcompose": { "cargoLocks": null, - "date": "2022-09-14", + "date": "2025-03-11", "extract": null, "name": "xcompose", "passthru": null, @@ -440,12 +440,12 @@ "name": null, "owner": "kragen", "repo": "xcompose", - "rev": "cd8d3e622f547ec9f83d7f64f51d4a27ee812681", - "sha256": "sha256-fkl2lDv/DdrqPjVsEUKSRD3BNGwTjTsA0ovI8akFI6U=", + "rev": "8b5a6a0c788fd0a4b921d9d3737174defb863873", + "sha256": "sha256-6EjQErdBOd5hqcrdaf88E1UZVYIc3FOfv34hvUwOWdA=", "sparseCheckout": [], "type": "github" }, - "version": "cd8d3e622f547ec9f83d7f64f51d4a27ee812681" + "version": "8b5a6a0c788fd0a4b921d9d3737174defb863873" }, "yt-dlp": { "cargoLocks": null, diff --git a/_sources/generated.nix b/_sources/generated.nix index 47944d09..0dcedc0e 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix @@ -18,15 +18,15 @@ }; bpf-examples = { pname = "bpf-examples"; - version = "8d53e6fc46ae625bd16b38eb1007ece99460eada"; + version = "64e7da048b14822bef06f3971189c4c0985422e7"; src = fetchFromGitHub { owner = "xdp-project"; repo = "bpf-examples"; - rev = "8d53e6fc46ae625bd16b38eb1007ece99460eada"; + rev = "64e7da048b14822bef06f3971189c4c0985422e7"; fetchSubmodules = true; - sha256 = "sha256-BUncjyaywmtSMVhbWZDy9XiNlGJet8Z0lzmUqm3f+HU="; + sha256 = "sha256-cyyRNvU35ujxkLraOqw2oiZwUblBpJaEncPl2++VHL4="; }; - date = "2025-01-03"; + date = "2025-03-06"; }; emacs-scratch_el = { pname = "emacs-scratch_el"; @@ -61,17 +61,17 @@ }; mako = { pname = "mako"; - version = "5321a4c61b2c23caa39337cd36065384bfcb3ace"; + version = "91a1fc482b1ef8c45a64e38f13e0b23e84155f32"; src = fetchgit { url = "https://github.com/emersion/mako"; - rev = "5321a4c61b2c23caa39337cd36065384bfcb3ace"; + rev = "91a1fc482b1ef8c45a64e38f13e0b23e84155f32"; fetchSubmodules = false; deepClone = false; leaveDotGit = false; sparseCheckout = [ ]; - sha256 = "sha256-QplCniTBCoZV+R8hspsDcj3MhHcXkMjMoYC4mZyq3nM="; + sha256 = "sha256-i91WGv1O5OZ0338/F2nkXUZ7xLD3N9Zxloeq3sDt04w="; }; - date = "2025-03-01"; + date = "2025-03-07"; }; mpv-autosave = { pname = "mpv-autosave"; @@ -254,27 +254,27 @@ }; v4l2loopback = { pname = "v4l2loopback"; - version = "60a0315c6db154597dc733ea42139cf159644a7a"; + version = "2ae34dbd9f1ecb19de3e43d4b75008a078330e4b"; src = fetchFromGitHub { owner = "umlaeute"; repo = "v4l2loopback"; - rev = "60a0315c6db154597dc733ea42139cf159644a7a"; + rev = "2ae34dbd9f1ecb19de3e43d4b75008a078330e4b"; fetchSubmodules = true; - sha256 = "sha256-GymBIScU4sg3ofVb9R4/Abq9OZZ+IqLKv/6y32wFLm8="; + sha256 = "sha256-oOkh6t3wapC6Dz+UovF1iGgyGb1IUoLS2PeZugu7Y/g="; }; - date = "2025-02-28"; + date = "2025-03-14"; }; xcompose = { pname = "xcompose"; - version = "cd8d3e622f547ec9f83d7f64f51d4a27ee812681"; + version = "8b5a6a0c788fd0a4b921d9d3737174defb863873"; src = fetchFromGitHub { owner = "kragen"; repo = "xcompose"; - rev = "cd8d3e622f547ec9f83d7f64f51d4a27ee812681"; + rev = "8b5a6a0c788fd0a4b921d9d3737174defb863873"; fetchSubmodules = false; - sha256 = "sha256-fkl2lDv/DdrqPjVsEUKSRD3BNGwTjTsA0ovI8akFI6U="; + sha256 = "sha256-6EjQErdBOd5hqcrdaf88E1UZVYIc3FOfv34hvUwOWdA="; }; - date = "2022-09-14"; + date = "2025-03-11"; }; yt-dlp = { pname = "yt-dlp"; diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 6f720bbf..1254b6db 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix @@ -4,33 +4,6 @@ with lib; let cfg = config.home-manager.users.${userName}; - emacsScratch = pkgs.stdenv.mkDerivation (sources.emacs-scratch_el // rec { - phases = [ "installPhase" ]; - - installPhase = '' - mkdir -p $out/share/emacs/site-lisp - cp $src/scratch.el $out/share/emacs/site-lisp/default.el - ''; - }); - muteScript = pkgs.stdenv.mkDerivation { - name = "mute"; - src = ./scripts/mute.zsh; - - buildInputs = with pkgs; [ makeWrapper ]; - - phases = [ "installPhase" ]; - - installPhase = '' - mkdir -p $out/bin - install -m 0755 $src $out/bin/mute - wrapProgram $out/bin/mute \ - --prefix PATH : ${pkgs.zsh}/bin \ - --prefix PATH : ${pkgs.findutils}/bin \ - --prefix PATH : ${pkgs.util-linux}/bin \ - --prefix PATH : ${pkgs.coreutils}/bin \ - --prefix PATH : ${pkgs.pulseaudio}/bin - ''; - }; wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin, sandbox ? true }: pkgs.symlinkJoin { name = "${package.name}-wrapped"; buildInputs = with pkgs; [ makeWrapper ]; @@ -47,10 +20,6 @@ let ''; }; - wrappedChrome = wrapElectron { package = pkgs.google-chrome; outBin = "google-chrome"; }; - wrappedZulip = wrapElectron { package = pkgs.zulip; bin = "zulip"; outBin = "zulip"; }; - wrappedElementDesktop = wrapElectron { package = pkgs.element-desktop; bin = "element-desktop"; }; - wrappedRocketChatDesktop = wrapElectron { package = pkgs.rocketchat-desktop; bin = "rocketchat-desktop"; outBin = "rocketchat"; }; wrappedYTMDesktop = wrapElectron { package = pkgs.ytmdesktop; sandbox = false; }; wrappedKeepassxc = pkgs.symlinkJoin { @@ -63,7 +32,7 @@ let text = '' [D-BUS Service] Name=org.keepassxc.KeePassXC.MainWindow - Exec=${pkgs.coreutils}/bin/false + Exec=${lib.getExe' pkgs.coreutils "false"} SystemdService=keepassxc.service ''; }) @@ -73,7 +42,7 @@ let text = '' [D-BUS Service] Name=org.freedesktop.secrets - Exec=${pkgs.coreutils}/bin/false + Exec=${lib.getExe' pkgs.coreutils "false"} SystemdService=keepassxc.service ''; }) @@ -87,8 +56,6 @@ in { ]; config = { - services.displayManager.defaultSession = "Hyprland"; # "none+xmonad"; - home-manager.users.${userName} = { imports = [ ./libvirt @@ -137,8 +104,8 @@ in { ''} Match host *.mathinst.loc,*.math.lmu.de !host ssh.math.lmu.de !exec "nc -z -w 1 %h %p &>/dev/null" - # ProxyCommand ${pkgs.socat}/bin/socat - SOCKS4A:127.0.0.1:%h:%p,socksport=8118 - ProxyJump ssh.math.lmu.de + ProxyCommand ${lib.getExe pkgs.socat} - SOCKS4A:127.0.0.1:%h:%p,socksport=8118 + # ProxyJump ssh.math.lmu.de Match host *.cipmath.loc !host cip04.cipmath.loc,mgmt-cls01.cipmath.loc !exec "nc -z -w 1 %h %p &>/dev/null" ProxyJump cip04 @@ -159,18 +126,27 @@ in { extraPackages = epkgs: with epkgs; [ evil evil-dvorak undo-tree magit haskell-tng-mode nix-mode yaml-mode json-mode shakespeare-mode smart-mode-line - highlight-parentheses highlight-symbol ag sass-mode lua-mode - fira-code-mode use-package wanderlust # notmuch - git-gutter emacsScratch - edit-server mediawiki editorconfig typescript-mode - markdown-mode nftables-mode rustic lsp-mode lsp-ui - direnv company projectile tomorrow-night-paradise-theme + highlight-parentheses highlight-symbol ag sass-mode + lua-mode fira-code-mode use-package wanderlust # notmuch + git-gutter scratch edit-server mediawiki editorconfig + typescript-mode markdown-mode nftables-mode rustic + lsp-mode lsp-ui direnv company projectile + tomorrow-night-paradise-theme treesit-grammars.with-all-grammars magit-delta scad-mode ]; overrides = self: super: { tomorrow-night-paradise-theme = super.trivialBuild { inherit (sources.tomorrow-night-paradise-theme) pname version src; }; + scratch = pkgs.stdenv.mkDerivation { + inherit (sources.emacs-scratch_el) pname version src; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + install -Dt $out/share/emacs/site-lisp scratch.el + ''; + }; }; }; firefox = { @@ -226,7 +202,7 @@ in { gh = { enable = true; settings = { - editor = "${config.home-manager.users.${userName}.programs.emacs.package}/bin/emacsclient"; + editor = lib.getExe' config.home-manager.users.${userName}.programs.emacs.package "emacsclient"; gitProtocol = "ssh"; }; }; @@ -287,6 +263,10 @@ in { }; }; }; + pandoc = { + enable = true; + extraAbbreviations = ["i.A." "d.h." "D.h." "gdw."]; + }; }; services = { @@ -302,7 +282,7 @@ in { enable = true; enableSshSupport = true; extraConfig = '' - pinentry-program ${pkgs.pinentry-gtk2}/bin/pinentry + pinentry-program ${lib.getExe' pkgs.pinentry-gtk2 "pinentry"} grab ''; }; @@ -342,7 +322,7 @@ in { batch = "true"; log = "false"; repeat = "watch"; - sshcmd = "${pkgs.openssh}/bin/ssh"; + sshcmd = lib.getExe' pkgs.openssh "ssh"; ui = "text"; }; }; @@ -418,13 +398,13 @@ in { fira-code-symbols libreoffice xournalpp google-chrome nixos-shell virt-viewer freerdp gnome-icon-theme paper-icon-theme sshpassSecret weechat element-desktop - matrix-synapse-tools.synadm flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs sieve-connect gimp inkscape udiskie glab nitrokey-app pynitrokey gtklock wlrctl remmina openscad spice-record libguestfs-with-appliance nerd-fonts.fira-mono nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts swtpm (hunspellWithDicts (with hunspellDicts; [en_GB-large de_DE])) + # synadm ]; file = { @@ -448,9 +428,9 @@ in { EDITOR = pkgs.writeShellScript "editor" '' args=("--reuse-frame" "--alternate-editor" "") args+=("$@") - exec -a emacsclient ${cfg.services.emacs.package}/bin/emacsclient "''${args[@]}" + exec -a emacsclient ${lib.getExe' cfg.services.emacs.package "emacsclient"} "''${args[@]}" ''; - RCLONE_PASSWORD_COMMAND = "${pkgs.libsecret}/bin/secret-tool lookup service rclone"; + RCLONE_PASSWORD_COMMAND = "${lib.getExe' pkgs.libsecret "secret-tool"} lookup service rclone"; }; extraProfileCommands = '' @@ -463,7 +443,7 @@ in { source = ./wireplumber; recursive = true; onChange = '' - ${pkgs.systemd}/bin/systemctl --user try-restart wireplumber + ${lib.getExe' config.systemd.package "systemctl"} --user try-restart wireplumber ''; }; "stack/config.yaml" = { @@ -505,29 +485,6 @@ in { }; xdg.dataFile = { - "pandoc/abbreviations" = { - source = pkgs.runCommand "pandoc-abbreviations" { - buildInputs = [ pkgs.pandoc pkgs.coreutils ]; - } (let - germanAbbrevs = pkgs.fetchFromGitHub { - owner = "jfilter"; - repo = "german-abbreviations"; - rev = "8eb9dae93b6f05d7c53374cd217ab2dc89558e0c"; - sha256 = "SaD3tSqzen6Y3SPICe6/9vhe4iMHlArZ3kFQaEk7Hps="; - }; - in '' - cat \ - <(pandoc --print-default-data-file=abbreviations) \ - <(grep -E '^[^ ]+\.$' ${germanAbbrevs}/german_abbreviations.txt) \ - ${pkgs.writeText "abbrevs.txt" '' - i.A. - d.h. - D.h. - gdw. - ''} \ - | sort | uniq >$out - ''); - }; "dbus-1/services/org.keepassxc.KeePassXC.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.keepassxc.KeePassXC.service"; "dbus-1/services/org.freedesktop.secrets.service.service".source = "${wrappedKeepassxc}/share/dbus-1/services/org.freedesktop.secrets.service.service"; "emoji-data/list.txt".source = pkgs.stdenv.mkDerivation { @@ -615,10 +572,10 @@ in { name = "Rainbow"; exec = toString (pkgs.writeShellScript "rainbow" '' exec -- \ - ${config.systemd.package}/bin/systemd-run --wait --user --slice-inherit \ + ${lib.getExe' config.systemd.package "systemd-run"} --wait --user --slice-inherit \ --property 'CPUAccounting=yes' --property 'CPUQuotaPeriodSec=50ms' \ --property 'Environment=DSCP=46' \ - -- ${pkgs.dscp}/bin/dscp ${pkgs.google-chrome}/bin/google-chrome-stable \ + -- ${lib.getExe pkgs.dscp} ${lib.getExe' pkgs.google-chrome "google-chrome-stable"} \ --class=Rainbow \ --kiosk "https://web.openrainbow.com" \ --user-data-dir=''${HOME}/.config/google-chrome-rainbow diff --git a/accounts/gkleen@sif/ssh-hosts.nix b/accounts/gkleen@sif/ssh-hosts.nix index ac930614..4ca9e052 100644 --- a/accounts/gkleen@sif/ssh-hosts.nix +++ b/accounts/gkleen@sif/ssh-hosts.nix @@ -306,8 +306,8 @@ "mathw0h" = { hostname = "mathw0h.mathinst.loc"; }; - "proxy.mathw0g" = - { hostname = "mathw0g.mathinst.loc"; + "proxy.ssh.math.lmu.de" = + { hostname = "ssh.math.lmu.de"; extraOptions = { ControlPath = "none"; ExitOnForwardFailure = "yes"; @@ -317,7 +317,7 @@ }; "proxy.mathw0h" = { hostname = "mathw0h.mathinst.loc"; - proxyJump = "proxy.mathw0g"; + # proxyJump = "proxy.ssh.math.lmu.de"; extraOptions = { ControlPath = "none"; ExitOnForwardFailure = "yes"; diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index a89b46c2..14669a1e 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix @@ -6,7 +6,7 @@ let cfg = config.home-manager.users.${userName}; autossh-socks-script = pkgs.writeScript "autossh" '' - #!${pkgs.zsh}/bin/zsh -xe + #!${lib.getExe pkgs.zsh} -xe host="''${1%:*}" port="''${1#*:}" @@ -15,31 +15,29 @@ let cmd=() if [[ -n "''${SSHPASS_SECRET}" ]]; then - cmd+=(${pkgs.sshpassSecret}/bin/sshpass-secret) + cmd+=(${lib.getExe' pkgs.sshpassSecret "sshpass-secret"}) cmd+=("''${(@s/:/)SSHPASS_SECRET}") cmd+=(--) fi - cmd+=(${pkgs.openssh}/bin/ssh -vN -D localhost:''${port} "''${host}") + cmd+=(${lib.getExe' pkgs.openssh "ssh"} -vN -D localhost:''${port} "''${host}") ( exec -a "''${cmd[1]}" -- ''${cmd} ) & pid=$! newpid="" i=200 - while ! newpid=$(${pkgs.lsof}/bin/lsof -Pi @localhost:"''${port}" -sTCP:LISTEN -t); do + while ! newpid=$(${lib.getExe pkgs.lsof} -Pi @localhost:"''${port}" -sTCP:LISTEN -t); do if ! kill -0 "''${pid}"; then wait "''${pid}" exit $? fi [[ "''${i}" -gt 0 ]] || exit 1 i=$((''${i} - 1)) - ${pkgs.coreutils}/bin/sleep 0.1 + ${lib.getExe' pkgs.coreutils "sleep"} 0.1 done - ${config.systemd.package}/bin/systemd-notify --ready - - wait "''${pid}" "''${newpid}" + ${lib.getExe' config.systemd.package "systemd-notify"} --pid=''${newpid} --ready ''; in { tmpfiles.rules = [ @@ -146,7 +144,7 @@ in { Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy"; Install.WantedBy = [ "default.target" ]; }; - "autossh-socks@proxy.mathw0h:8119" = { + "autossh-socks@proxy.ssh.math.lmu.de:8119" = { Service = { Type = "notify"; NotifyAccess = "all"; @@ -154,7 +152,7 @@ in { Restart = "always"; RestartSec = "23s"; ExecStart = "${autossh-socks-script} \"%I\""; - Environment = [ "SSHPASS_SECRET=gkleen@mathw0g.math.lmu.de" ]; + Environment = [ "SSHPASS_SECRET=gkleen@ssh.math.lmu.de" ]; }; Unit = { StopWhenUnneeded = true; @@ -175,6 +173,22 @@ in { StopWhenUnneeded = true; }; }; + "autossh-socks@proxy.mathw0h:8123" = { + Service = { + Type = "notify"; + NotifyAccess = "all"; + WorkingDirectory = "~"; + Restart = "always"; + RestartSec = "23s"; + ExecStart = "${autossh-socks-script} \"%I\""; + Environment = [ "SSHPASS_SECRET=gkleen@mathw0h.mathinst.loc" ]; + }; + Unit = { + StopWhenUnneeded = true; + StartLimitInterval = "180s"; + StartLimitBurst = 7; + }; + }; swayidle = { Service = { RuntimeDirectory = "swayidle"; @@ -356,7 +370,7 @@ in { Service = { ExecStart = "${config.systemd.package}/lib/systemd/systemd-socket-proxyd --exit-idle-time=10s localhost:${toString (port + 1)}"; }; - }) [{ host = "proxy.mathw0h"; port = 8118; } { host = "proxy.vidhar"; port = 8120; }]); + }) [{ host = "proxy.ssh.math.lmu.de"; port = 8118; } { host = "proxy.vidhar"; port = 8120; } { host = "proxy.mathw0h"; port = 8122; }]); sockets = listToAttrs (map (port: nameValuePair "proxy-to-autossh-socks@${toString port}" { Socket = { ListenStream = "%I"; @@ -364,7 +378,7 @@ in { Install = { WantedBy = ["default.target"]; }; - }) [8118 8120]) // { + }) [8118 8120 8122]) // { "yt-dlp" = { Socket = { SocketMode = "0600"; diff --git a/accounts/gkleen@sif/zshrc b/accounts/gkleen@sif/zshrc index e3f675a1..3a524bf1 100644 --- a/accounts/gkleen@sif/zshrc +++ b/accounts/gkleen@sif/zshrc @@ -272,11 +272,11 @@ l() { } re() { - systemctl --restart $@ + systemctl restart $@ } ure() { - systemctl --user --restart $@ + systemctl --user restart $@ } ssh-installer() { @@ -306,20 +306,7 @@ done < <(find ~/projects ~/uni -regextype posix-extended -maxdepth 2 -type d -re sed -zr 's|(.*/([0-9]{2}[ws])/(.+))|\1 \2 \3|' | \ sort -z -r -k2 | sort -z -s -k3 | uniq -z -f 2) -alias '..'='cd ..' alias rzadm=$'tmpdir -i sh -c \'mkdir adm; sshfs gkleen@mgmt01:/adm adm\'' alias mathcloud=$'tmpdir -i rclone mount --daemon mathcloud:// .' -alias -g L='| less' -alias -g S='&> /dev/null' -alias -g G='| grep' -alias -g B='&> /dev/null &' -alias -g BB='&> /dev/null &!' export DEFAULT_USER=gkleen - -bindkey -e -bindkey ';5C' emacs-forward-word -bindkey ';5D' emacs-backward-word -bindkey '^[[1;5C' emacs-forward-word -bindkey '^[[1;5D' emacs-backward-word -bindkey '^H' backward-kill-word diff --git a/flake.lock b/flake.lock index 007dd5eb..4f3e02a1 100644 --- a/flake.lock +++ b/flake.lock @@ -397,11 +397,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1741281866, - "narHash": "sha256-e/Zok3cRBtBOYMxNDEA62rWue4BRcR92DGCwttbnanE=", + "lastModified": 1742108116, + "narHash": "sha256-NrV9ysEfSbeRUPo0jdCBeesuNLTVrpHGXg40snH1YGE=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "40ba2c0eced1de1f4bdfb11f368de24932339e6c", + "rev": "824f10012de455a1d0ef795a605f28948ee10467", "type": "github" }, "original": { @@ -431,11 +431,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1741260996, - "narHash": "sha256-uKWfBwNLZEsDnICY7immZn/oLhQos227SDiEnDQwTI4=", + "lastModified": 1742103165, + "narHash": "sha256-zAzMwvozlS2gmqdhrgeMz0PNp3kRDkwxIEfqWT3Hj6g=", "owner": "YaLTeR", "repo": "niri", - "rev": "88fcf0c2a996ef61bb1f51cb02afa7686de1bbe1", + "rev": "287480b541e85b13ff6419d372f82fa8e42c603c", "type": "github" }, "original": { @@ -472,11 +472,11 @@ ] }, "locked": { - "lastModified": 1740886574, - "narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", + "lastModified": 1742096597, + "narHash": "sha256-CUy00dj513aIvtN2NGiDKLCVEQSz4xHWSDf229EiJdU=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", + "rev": "5c77c6d6f2e8cc6007c2b1a4df1a507834404a67", "type": "github" }, "original": { @@ -493,11 +493,11 @@ ] }, "locked": { - "lastModified": 1740362141, - "narHash": "sha256-1eSoFF0derndmAU1xq4PPuSzO7rlkUDBo2ncjyVgc30=", + "lastModified": 1741549407, + "narHash": "sha256-f9SXK+/rvlryDNlc++Eva/hYjbkf7OCalWwmwifRhtI=", "owner": "AshleyYakeley", "repo": "NixVirt", - "rev": "3fc706593a35583863f8634a8fd2d7cfad7f1263", + "rev": "9950b932dce4ae6b9bda7c83d41705c1a14e10f0", "type": "github" }, "original": { @@ -508,11 +508,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1740646007, - "narHash": "sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE=", + "lastModified": 1741792691, + "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "009b764ac98a3602d41fc68072eeec5d24fc0e49", + "rev": "e1f12151258b12c567f456d8248e4694e9390613", "type": "github" }, "original": { @@ -630,11 +630,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1741196730, - "narHash": "sha256-0Sj6ZKjCpQMfWnN0NURqRCQn2ob7YtXTAOTwCuz7fkA=", + "lastModified": 1741862977, + "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "48913d8f9127ea6530a2a2f1bd4daa1b8685d8a3", + "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0", "type": "github" }, "original": { @@ -678,11 +678,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741173522, - "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", + "lastModified": 1742069588, + "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", + "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", "type": "github" }, "original": { @@ -748,11 +748,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741163974, - "narHash": "sha256-QehWX1ik9vqkylkbvdpO5XZKaqf2fsE92iMEyRBW2qI=", + "lastModified": 1741790785, + "narHash": "sha256-nzgO/ZCSBzWjbMkYDxG+yl9Z2eGbCgQu06Oku3ir5D4=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "98293f0b368f24c48e05aaa2359dcc0de15e976f", + "rev": "f842aae3a72ef764e38eaf3e75aa435fb9861bba", "type": "github" }, "original": { @@ -891,11 +891,11 @@ ] }, "locked": { - "lastModified": 1741043164, - "narHash": "sha256-9lfmSZLz6eq9Ygr6cCmvQiiBEaPb54pUBcjvbEMPORc=", + "lastModified": 1741861888, + "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3f2412536eeece783f0d0ad3861417f347219f4d", + "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", "type": "github" }, "original": { @@ -966,11 +966,11 @@ ] }, "locked": { - "lastModified": 1737014022, - "narHash": "sha256-5cG3lbjvrqvotI3oEPham3jGq8Fd96NfrqCGvC1e6Qw=", + "lastModified": 1742140394, + "narHash": "sha256-U1Lp5HZbpnWQRetOLzQl3dURplY2BRfAZYkjBawYrVM=", "owner": "gkleen", "repo": "Waybar", - "rev": "83765e0f8e99a7d344eae511a4090a76a27e5791", + "rev": "f310667db199c570b599a08152d49b7f80db93f2", "type": "github" }, "original": { @@ -1000,11 +1000,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1741140299, - "narHash": "sha256-Y2bPO92Yg5HcH5ORvrVOQb4wRGEapGEteHXGtNvboxk=", + "lastModified": 1742083780, + "narHash": "sha256-cVLagXvI4jFbCe76tpvAWA2N2WF94Pl0PpgsGp2P6rM=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "10cb041a80bb815cc1789cfa305923f1f9e3713d", + "rev": "f9ec97b007547ad80147404335ed22e880dbd69d", "type": "github" }, "original": { diff --git a/home-modules/pandoc/default.nix b/home-modules/pandoc/default.nix new file mode 100644 index 00000000..1d16b621 --- /dev/null +++ b/home-modules/pandoc/default.nix @@ -0,0 +1,27 @@ +{ pkgs, lib, config, ... }: + +let + cfg = config.programs.pandoc; +in { + options.programs.pandoc = { + germanAbbreviations = lib.mkEnableOption "importing german abbreviations" // { default = true; }; + extraAbbreviations = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = []; + }; + }; + + config = lib.mkIf cfg.enable { + xdg.dataFile = lib.mkIf (cfg.germanAbbreviations || cfg.extraAbbreviations != []) { + "pandoc/abbreviations".source = pkgs.runCommand "pandoc-abbreviations" { + buildInputs = [ pkgs.coreutils ]; + } '' + cat \ + <(${lib.getExe' cfg.finalPackage "pandoc"} --print-default-data-file=abbreviations) \ + ${lib.optionalString cfg.germanAbbreviations ./german_abbreviations.txt} \ + ${lib.optionalString (cfg.extraAbbreviations != []) (pkgs.writeText "abbrevs.txt" (lib.concatStringsSep "\n" cfg.extraAbbreviations))} \ + | sort | uniq >$out + ''; + }; + }; +} diff --git a/home-modules/pandoc/german_abbreviations.txt b/home-modules/pandoc/german_abbreviations.txt new file mode 100644 index 00000000..fa4c9c87 --- /dev/null +++ b/home-modules/pandoc/german_abbreviations.txt @@ -0,0 +1,1423 @@ +&c. +A. +a. +a.a.O. +A.C.A.B. +a.D. +a.d.D. +a.g.O. +Abb. +abchas. +abds. +Abf. +Abfr. +Abg. +abgek. +abh. +Abh. +Abk. +ABl. +Abl. +Abm. +abn. +Abn. +abr. +Abr. +Abs. +abs. +Abschn. +Abst. +Abt. +abulg. +abw. +abwert. +abzgl. +accel. +accresc. +Add. +Adj. +adj. +Adr. +adv. +Adv. +adyg. +ae. +aengl. +afghan. +afr. +afranz. +afranzös. +afries. +afrik. +afrk. +afrs. +afrz. +afränk. +ags. +ahd. +Ahd. +aind. +air. +akad. +Akk. +akkad. +akt. +alb. +alban. +alem. +alemann. +all. +allg. +allj. +allm. +alltagsspr. +alphanum. +Alt. +altai. +altengl. +altfranz. +altfranzös. +altfrz. +altgr. +althochdt. +altis. +altisländ. +altpreuß. +altröm. +alttest. +alëut. +am. +amer. +amerik. +amerikan. +amhar. +amt. +amtl. +Amtm. +Amtsbl. +Amtsdt. +Amtsspr. +an. +anal. +anat. +Anat. +anatom. +andalus. +ang. +angelsächs. +Angest. +angest. +angloamerik. +anglofrz. +angloind. +Anh. +Ank. +Ankl. +Anl. +anl. +Anm. +Anm.d.Red. +Ann. +ann. +annamit. +anord. +Anord. +anschl. +Anschl. +Anschr. +antarkt. +Anthrop. +anthrop. +Anw. +aobd. +apl. +Apostr. +App. +Apr. +apreuß. +ar. +arab. +aragon. +aram. +aran. +architekt. +archäol. +arg. +argent. +arkt. +armen. +Art. +Art.-Nr. +Artt. +as. +aserbaidsch. +aslaw. +assyr. +astron. +asächs. +At.-Gew. +attr. +Attr. +Aufl. +Aug. +Ausg. +ausgen. +Aussch. +ausschl. +Ausspr. +Ausst. +austral. +awar. +awest. +Az. +aztek. +b. +B. +Ba.-Wü. +bab. +babyl. +bair. +Bakt. +Bal. +balt. +baltoslaw. +Bankw. +bas. +baschk. +bask. +Bat. +bauf. +Bauw. +bay. +bayer. +bayr. +BayVBl. +Bd. +Bde. +Bed. +Begr. +begr. +beif. +beil. +Beil. +Bem. +ben. +berbersprachl. +Bergb. +berlin. +Berufsbez. +bes. +besch. +Beschl. +best. +Best.-Nr. +Betr. +betr. +Betriebswiss. +Bev. +Bez. +bez. +bezw. +Bf. +bfn. +Bg. +bgld. +Bgld. +Bhf. +Bib. +bibl. +bildl. +bildungsspr. +Biol. +biol. +Bj. +bl. +Bl. +Blk. +Bln. +Bodenk. +bot. +Bot. +Br.-M. +Br.-Mstr. +bras. +bret. +breton. +brit. +Brm. +brn. +Bruchz. +bsd. +Bsp. +bsplsw. +bspw. +BT-Drs. +Btl. +btto. +Bttr. +Buchw. +buddh. +bulg. +bulgar. +burjat. +burmes. +Bw. +byzant. +Bz. +bzb. +bzgl. +bzw. +böhm. +Börsenw. +C. +ca. +Carp. +Cb. +cf. +chakass. +chald. +chant. +chem. +Chem. +chilen. +chin. +Chr. +christl. +chron. +Chron. +Co. +Comp. +cresc. +D. +Dankb. +dankwtw. +das. +dass. +Dat. +dbzgl. +ders. +des. +desgl. +Dez. +dgl. +Di. +dial. +dichter. +dies. +dim. +Dim. +Dimin. +dimin. +Dipl. +Dipl.-Bibl. +Dipl.-Ing. +Dipl.-Kff. +Dipl.-Kffr. +Dipl.-Kfm. +Dipl.-Kfr. +Dipl.-Psych. +Dir. +Diss. +Do. +do. +Do.-Gge. +dominikan. +dor. +Doz. +Dr. +Drchf. +Drcks. +Dres. +Drs. +Drucks. +dt. +Dtl. +dto. +Dtzd. +dz. +Dz. +dän. +E. +ebd. +Ed. +ed. +ehem. +eidg. +eig. +eigtl. +Einf. +einh. +Einl. +einschl. +Einw. +Eisenb. +Elektrot. +elektrotechn. +em. +engl. +entspr. +erb. +erf. +erg. +Erg. +erk. +Erl. +erm. +Ers.-D. +ersch. +erschl. +Erschl. +Erschl.-Geb. +Erschw. +erschw. +Erstauff. +Erstausg. +Ertr. +Erw. +Erw.-Bldg. +erwähnw. +Erzb. +erzg. +erzgeb. +eskim. +estn. +etc. +Etg. +etrusk. +etw. +eur. +europ. +ev. +evang. +evtl. +Ew. +ewen. +ewenk. +exkl. +Expl. +Ez. +f. +F. +Fa. +fachspr. +Fachspr. +Fag. +Fam. +fam. +Febr. +fem. +ff. +Fig. +fig. +finanzmath. +finn. +finnougr. +Flgh. +fläm. +Fn. +fnhd. +folg. +Forts. +Fortstzg. +Fr. +fr. +fragm. +franz. +französ. +Frdf. +frdl. +frdsprlg. +Frfr. +frfr. +Frh. +Frhf. +Frhr. +fries. +friesl. +Frk. +Frl. +Frm. +frnhd. +Frspr. +frstl. +Frt. +frtr. +Frwk. +frz. +fränk. +frühnhd. +Fs. +Fsch. +Fschr. +Fsm. +Ftm. +Fut. +fut. +färö. +förml. +g. +Ga. +gall. +galloroman. +Gart. +gaskogn. +gbd. +Gbd. +Gbf. +GBl. +Gbl. +geb. +Geb. +Geb.-T. +Gebr. +gebr. +ged. +gef. +geg. +gegr. +geh. +gek. +gel. +geleg. +gem. +gemeingerm. +gen. +Gen. +geod. +geogr. +geograf. +geograph. +geol. +geolog. +geophys. +georg. +gep. +ger. +germ. +Ges. +ges. +gesch. +gespr. +gest. +get. +Gew. +gew. +gez. +Gfsch. +Gft. +gg. +ggb. +ggbfs. +ggez. +ggf. +ggfls. +ggfs. +Ggs. +ggü. +Ghzg. +Ghzgt. +glchz. +Gld. +Glde. +gldg. +Gldr. +Gled. +gleichbed. +gleichn. +gleichz. +Glfl. +gls. +gltd. +gltg. +glz. +gm. +got. +gr. +Gr. +Gramm. +grammat. +graph. +grch. +Grchl. +Grdb. +Grdf. +Grdfl. +Grdg. +Grdl. +Grdr. +grds. +Grdst. +griech. +Grz. +grönländ. +Gstb. +Gt. +gyn. +gynäk. +gäl. +H.-I. +H.-Qu. +hait. +Handw. +Hbf. +hd. +Hd.-Bibl. +Hdb. +hdbr. +Hdbr. +hdl. +Hdl. +Hdlbg. +hebr. +hess. +hethit. +Hf. +Hg. +hg. +hindust. +hinr. +hins. +Hinw. +hist. +HJber. +Hkl. +hl. +hochd. +hochspr. +Hom. +hor. +Hpfl. +hptpl. +hpts. +Hptst. +hptw. +Hptw. +HQu. +Hr. +HReg. +Hrn. +Hrsg. +hrsg. +Hs. +Hs.-Nr. +hschr. +Hschr. +HSt. +Hubbr. +Hubr. +Hw. +Hyaz. +hydr. +hydrol. +Hzm. +i. +I.E. +i.g.O. +i.Tr. +iber. +ibid. +ide. +Ident. +ident. +idg. +ie. +illyr. +Imkerspr. +imp. +Imp. +in. +Ind. +ind. +indef. +indekl. +indian. +indiff. +indir. +indiv. +indog. +indogerm. +indogerman. +indoiran. +indon. +indones. +Inf. +inf. +Ing. +Inh. +inkl. +inn. +Ins. +insb. +insbes. +int. +intern. +intrans. +ir. +iran. +iron. +isl. +islam. +isländ. +it. +ital. +italien. +j. +J. +Jahrh. +jakut. +Jan. +jap. +japan. +jav. +jem. +jemen. +Jg. +jgdfr. +Jh. +Jhd. +Jhdt. +Jhg. +Jhs. +jidd. +jmd. +jmdm. +jmdn. +jmds. +journ. +jr. +Jr. +Jt. +Jtsd. +jugendspr. +jugendsprachl. +jugoslaw. +Jul. +jun. +Jun. +jur. +Juw. +jägersprachl. +jährl. +Jän. +jüd. +k.u.k. +K.Ö.St.V. +kalm. +kanad. +Kap. +karib. +kastil. +katal. +katalan. +kath. +kaufm. +kaukas. +kelt. +Kgr. +Kh. +kindersprachl. +kirchenlat. +kirchenslaw. +kirchl. +kirg. +Kl. +klass. +klass.-lat. +klimatol. +kol. +Komm. +Konj. +Konv. +Kop. +kop. +kopt. +korean. +Kr. +kreol. +kret. +Krh. +Krhs. +Krim.-Ob.-Insp. +krimgot. +kriminaltechn. +Krkhs. +kroat. +Krs. +Ks. +Kto. +Kto.-Nr. +kuban. +kurd. +Kurzw. +Kw. +l. +L.-Abg. +lab. +LAbg. +ladin. +landsch. +Landw. +langfr. +langj. +langob. +langobard. +lapp. +lat. +latein. +latinis. +lautl. +lautm. +lbd. +lbdg. +Ldkr. +led. +leg. +lett. +lfd. +Lfg. +Lfm. +Lfrg. +Lg. +lgfr. +Lgft. +lgj. +lig. +ling. +lit. +LL.M. +lrh. +lt. +ltd. +luth. +luxemb. +Lz. +m. +M. +M.-Schr. +m.a.W. +ma. +MA. +Mag. +malai. +marinespr. +marx. +mask. +math. +Math. +max. +Max. +mazedon. +mbl. +Mbl. +MBl. +Mbll. +md. +mdal. +mdj. +mdl. +mdls. +Mdt. +me. +mech. +meckl. +med. +melanes. +mengl. +Merc. +met. +meteorol. +meton. +mex. +mexik. +mfr. +mfranz. +mfrk. +mfrz. +mfränk. +mgl. +Mgl. +mglw. +mhd. +mhdt. +Mi. +mi. +Mia. +milit. +Mill. +min. +Min. +mind. +Mio. +mir. +Mitgl. +mitteld. +mitteldt. +mittelhochdt. +Mittw. +Mitw. +mlat. +Mme. +Mmes. +mnd. +mndd. +mniederd. +mnl. +Mo. +mod. +mong. +Mrd. +Mrz. +Mschr. +Msgr. +Msp. +mtl. +mundartl. +musik. +MwSt. +Myth. +Mz. +männl. +möbl. +n. +Nachf. +nachm. +nat. +nationalsoz. +natsoz. +Nbf. +Nbfl. +Nchf. +nd. +ndd. +ndrl. +neapolit. +Neub. +neunorweg. +neutest. +neutr. +Nfl. +ngl. +ngr. +nhbr. +nhd. +nicar. +niederd. +niederdt. +niederl. +niederld. +niem. +niger. +nihil. +nl. +nlat. +nmtl. +Nom. +nord. +nordamerik. +nordd. +norddt. +nordgerm. +nordostd. +nordostdt. +nordwestd. +nordwestdt. +norm. +norw. +norweg. +Nov. +Nr. +ntw. +Ntw. +Nutzfl. +nw. +näml. +nö. +nördl. +o. +O.K. +ob. +Ob. +Obb. +obb. +obd. +Oberlaus. +obers. +obersächs. +obj. +od. +offiz. +Offz. +Ofr. +ofrs. +Okt. +op. +Orch.-Bes. +org. +Orig. +orn. +orth. +Ortskl. +Osch. +osk. +osman. +ostd. +ostdt. +ostfr. +ostfrz. +ostgerm. +ostidg. +ostmdt. +ostmitteld. +ostniederd. +ostpr. +ostpreuß. +ostw. +osö. +Ouv. +oz. +Oz. +oö. +OÖ. +P. +p. +P.S. +pa. +palästin. +par. +parag. +Paragr. +Parl. +Part. +pass. +Pat. +pej. +pers. +peruan. +Pet. +Pf. +Pfd. +Pfg. +Pfl. +pharm. +philos. +Philos. +phonolog. +phryg. +Phys. +phys. +phöniz. +Pi. +pik. +Pkt. +Pl. +Plur. +poet. +Pol. +pol. +polit. +poln. +polynes. +port. +portug. +Pos. +pos. +pp. +ppa. +preuß. +Priv.-Doz. +Prof. +prot. +Prot. +prov. +Prov. +prov.-fr. +provenz. +Proz. +Proz.-Bev. +präd. +prähist. +Präs. +Psych. +psych. +Päd. +Q. +q.v. +Qmstr. +Qt. +qu. +Qu. +quadr. +Quadr. +qual. +Qual. +quant. +Quant. +Quar. +Quart. +Quat. +quitt. +Quitt. +Quäst. +r. +r.-k. +Rab. +rad. +Raff. +Rak. +Randb. +Randbem. +rat. +Rat. +Rb. +rd. +RdErl. +Rdf. +refl. +Reg. +Reg.-Bez. +Regt. +Rel. +rel. +relig. +Rep. +resp. +Rg.-Präs. +RGBl. +rglm. +Rgstr. +Rgt. +Rh. +rh. +rhein. +rheinhess. +rhet. +rhfrk. +Rhj. +Rhld. +Rhs. +Ri. +Richtl. +rip. +rk. +roman. +rotw. +Rr. +rrh. +Rspr. +Rtn. +Rtt. +rumän. +russ. +Rvj. +rzp. +rätorom. +röm. +röm.-kath. +S. +s. +S.-Wk. +Sa. +Sachs. +san. +sanskr. +Sat. +sat. +Sb. +Sbd. +sc. +scherzh. +Schill. +schles. +schott. +schr. +schriftl. +Schussw. +schwed. +schweiz. +Schwg. +Schwp. +schwäb. +scil. +Sdp. +sek. +sem. +semit. +sen. +Sep. +Sept. +serb. +serbokroat. +Sg. +sibir. +Sing. +singhal. +Sir. +sizilian. +skand. +slaw. +slow. +slowak. +slowen. +So. +sod. +sof. +sog. +sogen. +sogl. +soldatenspr. +solv. +somal. +sorb. +Sout. +soz. +soziol. +span. +spez. +sportspr. +Spr. +sprachwiss. +Spvg. +Spvgg. +spätahd. +spätgriech. +spätlat. +spätmhd. +Sr. +ssp. +St. +St.-Nr. +staatl. +Std. +stdl. +stellv. +Stellv. +Stk. +Str. +str. +Stud. +stud. +subsp. +Subst. +sumer. +svw. +Swk. +syn. +Syn. +syr. +sächs. +südafrik. +südd. +süddt. +südl. +südostdt. +südwestd. +Süßw. +Tab. +Tabl. +Taf. +tamil. +tatar. +techn. +Tel. +telef. +Temp. +Terr. +tessin. +test. +Tfx. +tgl. +Tgt. +thrak. +thür. +thüring. +Ti. +tib. +tirol. +Tlr. +tochar. +trans. +tsch. +tschech. +tschechoslowak. +Tsd. +tun. +Tun. +tunes. +Tunes. +tungus. +turkotat. +typogr. +tägl. +türk. +u. +u.a. +Ubr. +ue. +ugr. +ugs. +ukrain. +umbr. +umg. +unang. +unbefl. +Unf. +unf. +unfol. +unfr. +ung. +ungar. +ungebr. +ungel. +ungen. +unges. +ungl. +Uni-Kl. +Univ. +unv. +unverantw. +unverb. +unverbr. +unverd. +unverg. +unverh. +unverk. +unverp. +unversch. +unverz. +unverzgl. +unvollst. +unvorb. +unvors. +unzerbr. +urgerm. +urkdl. +urspr. +ursprüngl. +Urt. +usf. +USt-IdNr. +usw. +uvm. +v. +va. +Ver. +Verf. +Verg. +vergl. +Vergl. +verh. +Vers. +vers. +vert. +Vfg. +vgbl. +vgl. +Vgl. +vh. +viell. +vj. +Vj. +vl. +vlat. +vlt. +vmtl. +volkst. +Vors. +vrstl. +vrt. +vs. +vsl. +vt. +vulg. +vulgärlat. +Vwz. +vzk. +w. +W. +Wa. +wal. +wehrtgl. +weibl. +Weis. +weißruss. +werkt. +westd. +westdt. +Westf. +westfäl. +westgerm. +westl. +westmitteld. +westmitteldt. +Wf. +wf. +Wfl. +wg. +wh. +Whg. +winzerspr. +wirtschaftl. +wiss. +Wkst. +Wkstf. +wkts. +wld. +Wr. +Ws. +Wtb. +Ww. +Wwe. +Wz. +Xerogr. +Xerok. +Xyl. +y. +Y. +yd. +Yd. +Yds. +yds. +Z. +z.B. +za. +Zf. +Zgm. +zgs. +zgst. +zgw. +Zi. +Ziff. +zit. +Zit. +zk. +Zk. +Zool. +zool. +Zssg. +Zssgn. +Ztr. +Zub. +zur. +zus. +zw. +Zz. +zz. +zzgl. +zzt. +ägypt. +Ökol. +ökol. +ökon. +ökum. +örtl. +österr. +Österr. +östl. +übers. +übertr. +überw. +Überw. +übl. +üblw. +Übn. +übsch. diff --git a/home-modules/pandoc/german_abbreviations.txt.gup b/home-modules/pandoc/german_abbreviations.txt.gup new file mode 100755 index 00000000..abcab1da --- /dev/null +++ b/home-modules/pandoc/german_abbreviations.txt.gup @@ -0,0 +1,35 @@ +#!/usr/bin/env nix +#!nix shell --impure --expr `` +#!nix with (import (builtins.getFlake ''nixpkgs'') {}); +#!nix python3.withPackages (ps: with ps; [ requests ]) +#!nix `` --command python3 + +import requests +import json +import sys +import re +import subprocess + +def wiki_cont(url, params): + continue_params = None + while True: + req_params = params + if continue_params is not None: + req_params |= continue_params + json_data = requests.get(url, req_params).json() + if "query" in json_data: + yield json_data["query"] + if "continue" not in json_data: + break + else: + continue_params = json_data["continue"] + +out_re = re.compile(r"[^ ]*[^ 0-9][^ ]*\.") + +subprocess.run(["gup", "--always"], check=True) + +with open(sys.argv[1], 'w') as out: + for query in wiki_cont("https://de.wiktionary.org/w/api.php", {"action": "query", "list": "categorymembers", "cmtitle": "Kategorie:Abkürzung_(Deutsch)", "format": "json"}): + for item in map(lambda i: i["title"], query["categorymembers"]): + if out_re.fullmatch(item): + print(item, file=out) diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index 2a3a6be9..9208e391 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix @@ -26,9 +26,6 @@ in { allowUnfree = true; pulseaudio = true; }; - extraOverlays = [ - flakeInputs.niri-flake.overlays.niri - ]; }; time.timeZone = null; @@ -472,6 +469,8 @@ in { libinput.enable = true; envfs.enable = false; + + displayManager.defaultSession = "Niri"; }; systemd.tmpfiles.settings = { diff --git a/overlays/niri.nix b/overlays/niri.nix new file mode 100644 index 00000000..9188ed7d --- /dev/null +++ b/overlays/niri.nix @@ -0,0 +1,8 @@ +{ final, prev, flakeInputs, ... }: prev.lib.composeExtensions + flakeInputs.niri-flake.overlays.niri + (final: prev: { + niri-unstable = prev.niri-unstable.overrideAttrs (oldAttrs: { + buildInputs = (oldAttrs.buildInputs or []) ++ [ final.libgbm ]; + }); + }) + final prev diff --git a/overlays/swayosd/default.nix b/overlays/swayosd/default.nix index d8807b41..2a3a0f2b 100644 --- a/overlays/swayosd/default.nix +++ b/overlays/swayosd/default.nix @@ -6,23 +6,6 @@ inherit version src; hash = "sha256-s2vgyQP6J3i0q2o/Tt8dYoamBH3vrI/FNJYteHO8v5Q="; }; - nativeBuildInputs = with final; [ - wrapGAppsHook4 - pkg-config - meson - rustc - cargo - ninja - rustPlatform.cargoSetupHook - ]; - buildInputs = with final; [ - gtk4-layer-shell - libevdev - libinput - libpulseaudio - udev - sassc - ]; patches = (oldAttrs.patches or []) ++ [ ./exponential.patch ]; diff --git a/overlays/waybar.nix b/overlays/waybar.nix index 20f37255..e7e3b807 100644 --- a/overlays/waybar.nix +++ b/overlays/waybar.nix @@ -1,3 +1,8 @@ -{ final, prev, flakeInputs, ... }: - -flakeInputs.waybar.overlays.default final prev +{ final, prev, flakeInputs, ... }: prev.lib.composeExtensions + flakeInputs.waybar.overlays.default + (final: prev: { + waybar = prev.waybar.overrideAttrs (oldAttrs: { + dontVersionCheck = true; + }); + }) + final prev diff --git a/user-profiles/zsh/zshrc b/user-profiles/zsh/zshrc index 7d0c1a16..ed614182 100644 --- a/user-profiles/zsh/zshrc +++ b/user-profiles/zsh/zshrc @@ -24,9 +24,18 @@ setopt ignore_eof bindkey -e bindkey ';5C' emacs-forward-word bindkey ';5D' emacs-backward-word +bindkey '^[[1;5C' emacs-forward-word +bindkey '^[[1;5D' emacs-backward-word +bindkey '^H' backward-kill-word autoload -Uz url-quote-magic bracketed-paste-magic zle -N self-insert url-quote-magic zle -N bracketed-paste bracketed-paste-magic setopt extended_glob + +alias -g L='| less' +alias -g S='&> /dev/null' +alias -g G='| grep' +alias -g B='&> /dev/null &' +alias -g BB='&> /dev/null &!' -- cgit v1.2.3