diff --git a/configs/aerc.nix b/configs/aerc.nix index 99a87ae..1b3591b 100644 --- a/configs/aerc.nix +++ b/configs/aerc.nix @@ -4,9 +4,11 @@ lib, niveumPackages, ... -}: let +}: +let inherit (import ../lib/email.nix) defaults thunderbirdProfile; -in { +in +{ age.secrets = { email-password-ical-ephemeris = { file = ../secrets/email-password-ical-ephemeris.age; @@ -50,7 +52,8 @@ in { programs.mbsync = { enable = true; - extraConfig = lib.concatStringsSep "\n\n" (lib.mapAttrsToList (name: account: '' + extraConfig = lib.concatStringsSep "\n\n" ( + lib.mapAttrsToList (name: account: '' IMAPAccount ${name} CertificateFile /etc/ssl/certs/ca-certificates.crt Host ${account.imap.host} @@ -74,30 +77,35 @@ in { Patterns * Remove None SyncState * - '') - config.home-manager.users.me.accounts.email.accounts); + '') config.home-manager.users.me.accounts.email.accounts + ); }; accounts.email.accounts = { cock = - lib.recursiveUpdate defaults - rec { + let + mailhost = "mail.cock.li"; address = "2210@cock.li"; + in + lib.recursiveUpdate defaults { + address = address; userName = address; passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-cock.path}"; realName = "2210"; - imap.host = "mail.cock.li"; + imap.host = mailhost; imap.port = 993; - smtp.host = imap.host; + smtp.host = mailhost; smtp.port = 25; smtp.tls.useStartTls = true; }; ical-ephemeris = - lib.recursiveUpdate defaults - rec { - userName = "ical.ephemeris@web.de"; + let + address = "ical.ephemeris@web.de"; + in + lib.recursiveUpdate defaults { + userName = address; realName = "Kieran from iCal Ephemeris"; - address = userName; + address = address; passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-ical-ephemeris.path}"; imap.host = "imap.web.de"; imap.port = 993; @@ -106,15 +114,18 @@ in { smtp.tls.useStartTls = true; }; posteo = - lib.recursiveUpdate defaults - rec { + let + mailhost = "posteo.de"; address = "kieran.meinhardt@posteo.net"; - aliases = ["kmein@posteo.de"]; + in + lib.recursiveUpdate defaults { + address = address; + aliases = [ "kmein@posteo.de" ]; userName = address; - imap.host = "posteo.de"; + imap.host = mailhost; imap.port = 993; imap.tls.enable = true; - smtp.host = imap.host; + smtp.host = mailhost; smtp.port = 465; smtp.tls.enable = true; primary = true; @@ -141,10 +152,8 @@ in { "msgcompose.text_color" = config.lib.stylix.colors.withHashtag.base00; "msgcompose.background_color" = config.lib.stylix.colors.withHashtag.base05; }; - userChrome = '' - ''; - userContent = '' - ''; + userChrome = ''''; + userContent = ''''; withExternalGnupg = false; }; }; @@ -279,7 +288,9 @@ in { ui.spinner = ". , ."; general.unsafe-accounts-conf = true; general.pgp-provider = "gpg"; - viewer = {pager = "${pkgs.less}/bin/less -R";}; + viewer = { + pager = "${pkgs.less}/bin/less -R"; + }; compose = { # address-book-cmd = "khard email --remove-first-line --parsable '%s'"; no-attachment-warning = "(attach|attached|attachments?|anbei|Anhang|angehängt|beigefügt)"; @@ -296,24 +307,26 @@ in { "message/rfc822" = "${pkgs.aerc}/libexec/aerc/filters/colorize"; "application/x-sh" = "${pkgs.bat}/bin/bat -fP -l sh"; }; - openers = let - as-pdf = pkgs.writers.writeDash "as-pdf" '' - d=$(mktemp -d) - trap clean EXIT - clean() { - rm -rf "$d" - } - ${pkgs.libreoffice}/bin/libreoffice --headless --convert-to pdf "$1" --outdir "$d" - ${pkgs.zathura}/bin/zathura "$d"/*.pdf - ''; - in { - "image/*" = "${pkgs.nsxiv}/bin/nsxiv"; - "application/pdf" = "${pkgs.zathura}/bin/zathura"; - "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = toString as-pdf; - "application/vnd.oasis.opendocument.text" = toString as-pdf; - "video/*" = "${pkgs.mpv}/bin/mpv"; - "audio/*" = "${pkgs.mpv}/bin/mpv"; - }; + openers = + let + as-pdf = pkgs.writers.writeDash "as-pdf" '' + d=$(mktemp -d) + trap clean EXIT + clean() { + rm -rf "$d" + } + ${pkgs.libreoffice}/bin/libreoffice --headless --convert-to pdf "$1" --outdir "$d" + ${pkgs.zathura}/bin/zathura "$d"/*.pdf + ''; + in + { + "image/*" = "${pkgs.nsxiv}/bin/nsxiv"; + "application/pdf" = "${pkgs.zathura}/bin/zathura"; + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = toString as-pdf; + "application/vnd.oasis.opendocument.text" = toString as-pdf; + "video/*" = "${pkgs.mpv}/bin/mpv"; + "audio/*" = "${pkgs.mpv}/bin/mpv"; + }; }; templates = { diff --git a/configs/ccc.nix b/configs/ccc.nix index 42ce414..1c58187 100644 --- a/configs/ccc.nix +++ b/configs/ccc.nix @@ -1,8 +1,9 @@ {pkgs, ...}: # https://paste.sr.ht/~erictapen/11716989e489b600f237041b6d657fdf0ee17b34 let - certificate = pkgs.stdenv.mkDerivation rec { - name = "dst-root-ca-x3.pem"; + name = "dst-root-ca-x3.pem"; + certificate = pkgs.stdenv.mkDerivation { + inherit name; src = builtins.toFile "${name}.sed" '' 1,/DST Root CA X3/d 1,/-----END CERTIFICATE-----/p diff --git a/configs/default.nix b/configs/default.nix index 6cca0cb..c82290c 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -140,9 +140,9 @@ in agent = { enable = true; pinentryPackage = pkgs.pinentry-qt; - settings = rec { - default-cache-ttl = 2 * 60 * 60; - max-cache-ttl = 4 * default-cache-ttl; + settings = let defaultCacheTtl = 2 * 60 * 60; in { + default-cache-ttl = defaultCacheTtl; + max-cache-ttl = 4 * defaultCacheTtl; }; }; }; @@ -258,15 +258,15 @@ in ./mastodon-bot.nix { home-manager.users.me = { - xdg.userDirs = rec { + xdg.userDirs = let pictures = "${config.users.users.me.home}/cloud/nextcloud/Bilder"; in { enable = true; documents = "${config.users.users.me.home}/cloud/nextcloud/Documents"; desktop = "/tmp"; download = "${config.users.users.me.home}/sync/Downloads"; music = "${config.users.users.me.home}/mobile/audio"; - pictures = "${config.users.users.me.home}/cloud/nextcloud/Bilder"; publicShare = "${config.users.users.me.home}/cloud/nextcloud/tmp"; videos = pictures; + pictures = pictures; }; }; } diff --git a/configs/fonts.nix b/configs/fonts.nix index 7accb61..ba4b900 100644 --- a/configs/fonts.nix +++ b/configs/fonts.nix @@ -119,11 +119,11 @@ in { vollkorn zilla-slab ]; # google-fonts league-of-moveable-type - fontconfig.defaultFonts = rec { + fontconfig.defaultFonts = let emoji = ["Noto Color Emoji"]; in { monospace = ["Noto Sans Mono"] ++ emoji; serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"]; sansSerif = ["Noto Sans Display" "Noto Naskh Arabic" "Noto Sans Hebrew" "Noto Sans Devanagari" "Noto Sans CJK JP" "Noto Sans Coptic" "Noto Sans Syriac Western"]; - emoji = ["Noto Color Emoji"]; + inherit emoji; }; # xelatex fails with woff files # ref https://tex.stackexchange.com/questions/392144/xelatex-and-fontspec-crash-trying-to-find-woff-file-for-some-fonts-but-not-other diff --git a/configs/fysi.nix b/configs/fysi.nix deleted file mode 100644 index b889bb4..0000000 --- a/configs/fysi.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (import ../lib/email.nix) defaults; - sshIdentity = name: "${config.users.users.me.home}/.ssh/${name}"; -in { - age.secrets = { - email-password-fysi = { - file = ../secrets/email-password-fysi.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; - }; - - home-manager.users.me = { - accounts.email.accounts = { - fysi = - lib.recursiveUpdate defaults - rec { - address = "kieran@fysi.tech"; - userName = address; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-fysi.path}"; - flavor = "fastmail.com"; - }; - }; - - programs.ssh.matchBlocks = rec { - "nextcloud.fysi.dev" = { - hostname = "116.203.82.203"; - user = "root"; - }; - "lingua.miaengiadina.ch" = { - hostname = "135.181.85.233"; - user = "root"; - }; - "cms-dev.woc2023.app".identityFile = sshIdentity "fysiweb"; - "cms-master.woc2023.app".identityFile = sshIdentity "fysiweb"; - "fysi-dev1" = { - hostname = "94.130.229.139"; - user = "root"; - identityFile = sshIdentity "fysiweb"; - }; - ${fysi-dev1.hostname} = fysi-dev1; - "fysi-shared0" = { - hostname = "49.12.205.235"; - user = "root"; - identityFile = sshIdentity "fysiweb"; - }; - }; - }; -} diff --git a/configs/fzf.nix b/configs/fzf.nix index dff6864..8911d51 100644 --- a/configs/fzf.nix +++ b/configs/fzf.nix @@ -5,9 +5,11 @@ }; home-manager.users.me = { - programs.fzf = rec { - enable = true; + programs.fzf = let defaultCommand = "${pkgs.fd}/bin/fd --type f --strip-cwd-prefix --follow --no-ignore-vcs --exclude .git"; + in { + enable = true; + defaultCommand = defaultCommand; defaultOptions = ["--height=40%"]; changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d"; changeDirWidgetOptions = [ diff --git a/configs/khal.nix b/configs/khal.nix index e6e39d2..54e1a8a 100644 --- a/configs/khal.nix +++ b/configs/khal.nix @@ -10,11 +10,6 @@ username = "kieran"; passwordFile = config.age.secrets.nextcloud-password-kieran.path; }; - fysiCloud = { - davEndpoint = "https://nextcloud.fysi.dev/remote.php/dav"; - username = "kmein"; - passwordFile = config.age.secrets.nextcloud-password-fysi.path; - }; in { age.secrets = { nextcloud-password-kieran = { diff --git a/configs/ssh.nix b/configs/ssh.nix index 4283647..a830499 100644 --- a/configs/ssh.nix +++ b/configs/ssh.nix @@ -12,33 +12,8 @@ in { eval $(${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon --daemonize --components=ssh,secrets) export SSH_AUTH_SOCK ''; - # services.gpg-agent = rec { - # enable = false; - # enableSshSupport = true; - # defaultCacheTtlSsh = 2 * 60 * 60; - # maxCacheTtlSsh = 4 * defaultCacheTtlSsh; - # sshKeys = [ - # "568047C91DE03A23883E340F15A9C24D313E847C" - # "BB3EE102DB8CD45540A78A6B18B511B67061F6B4" # kfm@manakish ed25519 - # "3F8986755818B5762A096BE212777EAAC441DD9D" # fysiweb rsa - # "0E4ABD229432486CC432639BB0986B2CDE365105" # agenix ed25519 - # "A1E8D32CBFCDBD2DE798E2298D795CCFD785AE06" # kfm@kabsa ed25519 - # ]; - # }; }; - # environment.extraInit = '' - # if [[ -z "$SSH_AUTH_SOCK" ]]; then - # export SSH_AUTH_SOCK="$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)" - # fi - # ''; - - # environment.interactiveShellInit = '' - # GPG_TTY="$(tty)" - # export GPG_TTY - # ${pkgs.gnupg}/bin/gpg-connect-agent updatestartuptty /bye > /dev/null - # ''; - home-manager.users.me.programs.ssh = { enable = true; enableDefaultConfig = false; diff --git a/configs/uni.nix b/configs/uni.nix index ae381f2..c95ec5c 100644 --- a/configs/uni.nix +++ b/configs/uni.nix @@ -7,11 +7,11 @@ username = "meinhak99"; inherit (import ../lib/email.nix) defaults pronouns; inherit (import ../lib) remoteDir; - fu-defaults = rec { - imap.host = "mail.zedat.fu-berlin.de"; + fu-defaults = let mailhost = "mail.zedat.fu-berlin.de"; in { + imap.host = mailhost; imap.port = 993; imap.tls.enable = true; - smtp.host = imap.host; + smtp.host = mailhost; smtp.port = 465; smtp.tls.enable = true; folders.drafts = "Entwürfe"; @@ -45,8 +45,8 @@ in { fu = lib.recursiveUpdate defaults (lib.recursiveUpdate fu-defaults - rec { - userName = "meinhak99"; + (let userName = "meinhak99"; in { + userName = userName; address = "kieran.meinhardt@fu-berlin.de"; aliases = ["${userName}@fu-berlin.de"]; passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhak99.path}"; @@ -54,7 +54,7 @@ in { enable = true; settings.backend = "imap"; }; - }); + })); }; }; diff --git a/lib/default-applications.nix b/lib/default-applications.nix index 2f3922f..74dfb6c 100644 --- a/lib/default-applications.nix +++ b/lib/default-applications.nix @@ -1,4 +1,4 @@ -pkgs: rec { +pkgs: { terminal = "alacritty"; browser = "${pkgs.firefox}/bin/firefox"; fileManager = "${pkgs.pcmanfm}/bin/pcmanfm"; diff --git a/lib/default.nix b/lib/default.nix index 5966801..ab1d41c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -9,9 +9,8 @@ argument ? "-", }: "${type} '${path}' ${mode} ${user} ${group} ${age} ${argument}"; - restic = rec { - port = 3571; - host = "zaatar.r"; + restic = let host = "zaatar.r"; port = 3571; in { + inherit host port; repository = "rest:http://${host}:${toString port}/"; }; diff --git a/lib/email.nix b/lib/email.nix index 112845e..4362d0f 100644 --- a/lib/email.nix +++ b/lib/email.nix @@ -1,5 +1,8 @@ -rec { +let thunderbirdProfile = "donnervogel"; +in +{ + inherit thunderbirdProfile; pronouns = builtins.concatStringsSep "/" [ "er" "he" @@ -14,7 +17,7 @@ rec { defaults = { thunderbird = { enable = true; - profiles = [thunderbirdProfile]; + profiles = [ thunderbirdProfile ]; }; aerc.enable = true; realName = "Kierán Meinhardt"; diff --git a/modules/power-action.nix b/modules/power-action.nix index 71fd8f1..03fe42e 100644 --- a/modules/power-action.nix +++ b/modules/power-action.nix @@ -56,7 +56,7 @@ with lib; let imp = { systemd.services.power-action = { - serviceConfig = rec { + serviceConfig = { ExecStart = startScript; User = cfg.user; }; diff --git a/packages/auc.nix b/packages/auc.nix index 5bb3039..69f9534 100644 --- a/packages/auc.nix +++ b/packages/auc.nix @@ -5,9 +5,10 @@ pandoc, }: let owner = "kamalist"; + pname = "auc"; in - stdenv.mkDerivation rec { - pname = "auc"; + stdenv.mkDerivation { + inherit pname; version = "2019-04-02"; src = fetchFromGitHub { diff --git a/packages/hc.nix b/packages/hc.nix index 89bc3ef..1b83c1b 100644 --- a/packages/hc.nix +++ b/packages/hc.nix @@ -12,12 +12,15 @@ util-linux, zbar, }: -stdenv.mkDerivation rec { - name = "hc-${meta.version}"; +let + version = "1.0.0"; +in +stdenv.mkDerivation { + name = "hc-${version}"; src = fetchgit { url = "https://cgit.krebsco.de/hc"; - rev = "refs/tags/v${meta.version}"; + rev = "refs/tags/v${version}"; sha256 = "09349gja22p0j3xs082kp0fnaaada14bafszn4r3q7rg1id2slfb"; }; @@ -44,6 +47,6 @@ stdenv.mkDerivation rec { ''; meta = { - version = "1.0.0"; + inherit version; }; } diff --git a/packages/opustags.nix b/packages/opustags.nix index e0d8a0e..3f86e99 100644 --- a/packages/opustags.nix +++ b/packages/opustags.nix @@ -6,9 +6,12 @@ libogg, fetchFromGitHub, }: -stdenv.mkDerivation rec { - name = "opustags"; +let version = "1.3.0"; +in +stdenv.mkDerivation { + name = "opustags"; + version = version; src = fetchFromGitHub { owner = "fmang"; diff --git a/packages/python3Packages/indic-transliteration/default.nix b/packages/python3Packages/indic-transliteration/default.nix index 88f9b92..2bc54e7 100644 --- a/packages/python3Packages/indic-transliteration/default.nix +++ b/packages/python3Packages/indic-transliteration/default.nix @@ -6,8 +6,11 @@ regex, ... }: -buildPythonPackage rec { +let pname = "indic_transliteration"; +in +buildPythonPackage { + inherit pname; version = "unstable-2020-12-15"; src = fetchFromGitHub { repo = pname; diff --git a/packages/stag.nix b/packages/stag.nix index 5ee3dfd..5634f92 100644 --- a/packages/stag.nix +++ b/packages/stag.nix @@ -6,9 +6,12 @@ taglib, zlib, }: -stdenv.mkDerivation rec { - pname = "stag"; +let version = "1.0"; +in +stdenv.mkDerivation { + pname = "stag"; + version = version; src = fetchFromGitHub { owner = "smabie"; diff --git a/packages/text2pdf.nix b/packages/text2pdf.nix index a4e9fd0..2f34195 100644 --- a/packages/text2pdf.nix +++ b/packages/text2pdf.nix @@ -2,10 +2,14 @@ stdenv, fetchurl, }: -stdenv.mkDerivation rec { - name = "${pname}-${version}"; +let pname = "text2pdf"; version = "1.1"; +in +stdenv.mkDerivation { + name = "${pname}-${version}"; + pname = pname; + version = version; src = fetchurl { url = "http://www.eprg.org/pdfcorner/text2pdf/text2pdf.c"; sha256 = "002nyky12vf1paj7az6j6ra7lljwkhqzz238v7fyp7sfgxw0f7d1"; diff --git a/packages/vim.nix b/packages/vim.nix index 8022464..d7147a7 100644 --- a/packages/vim.nix +++ b/packages/vim.nix @@ -64,10 +64,9 @@ vim-repeat vim-sensible vim-surround - (vimUtils.buildVimPlugin rec { + (vimUtils.buildVimPlugin { pname = "vim-dim"; version = "1.1.0"; - name = "${pname}-${version}"; src = fetchFromGitHub { owner = "jeffkreeftmeijer"; repo = pname; diff --git a/packages/weechat-declarative.nix b/packages/weechat-declarative.nix index da6eae7..7f23a13 100644 --- a/packages/weechat-declarative.nix +++ b/packages/weechat-declarative.nix @@ -9,8 +9,8 @@ config = args.config or {}; lib = - args.lib - // rec { + lib.recursiveUpdate args.lib + (let attrPaths = let recurse = path: value: if builtins.isAttrs value @@ -18,6 +18,8 @@ else [(lib.nameValuePair path value)]; in attrs: lib.flatten (recurse [] attrs); + in { + inherit attrPaths; attrPathsSep = sep: attrs: lib.listToAttrs (map (x: x // {name = lib.concatStringsSep sep x.name;}) (attrPaths attrs)); @@ -33,7 +35,7 @@ setCommand = name: value: "/set ${name} \"${toWeechatValue value}\""; filterAddreplace = name: filter: "/filter addreplace ${name} ${filter.buffer} ${toWeechatValue filter.tags} ${filter.regex}"; - }; + }); cfg = eval.config; diff --git a/systems/makanek/oracle/default.nix b/systems/makanek/oracle/default.nix index c58a9bd..192c53c 100644 --- a/systems/makanek/oracle/default.nix +++ b/systems/makanek/oracle/default.nix @@ -49,10 +49,10 @@ in }; niveum.passport.services = [ - rec { + { link = "https://tarot.kmein.de"; title = "Tarot"; - description = "draws Tarot cards for you. See here for information on how to interpret them."; + description = "draws Tarot cards for you."; } { link = "https://iching.kmein.de";