+129
-131
flake.nix
+129
-131
flake.nix
·········-aerc = (prev.callPackage "${prev.path}/pkgs/applications/networking/mailreaders/aerc/default.nix" {-url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz";+"https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz";···
+5
-11
hosts/barnacle/default.nix
+5
-11
hosts/barnacle/default.nix
···
+20
-27
hosts/capybara/default.nix
+20
-27
hosts/capybara/default.nix
·········-hashedPassword = "$6$nuDIW/ZPVsrDHyBe$JffJJvvMG+nH8GH9V5h4FqJkU0nfiFkDzAsdYNTHeJMgBXEX9epPkQTUdLG9L47K54vMxm/+toeMAiKD63Dfkw==";-hashedPassword = "$7$101$wGQZPdVdeW7iQFmH$bK/VOR6LXCLJKbb6M4PNeVptocjBAWXCLMtEU5fQNBr0Y5UAWlhVg8UAu4IkIXgnViI51NnhXKykdlWF63VkVQ==";+"$6$nuDIW/ZPVsrDHyBe$JffJJvvMG+nH8GH9V5h4FqJkU0nfiFkDzAsdYNTHeJMgBXEX9epPkQTUdLG9L47K54vMxm/+toeMAiKD63Dfkw==";+"$7$101$wGQZPdVdeW7iQFmH$bK/VOR6LXCLJKbb6M4PNeVptocjBAWXCLMtEU5fQNBr0Y5UAWlhVg8UAu4IkIXgnViI51NnhXKykdlWF63VkVQ==";···
+10
-14
hosts/capybara/hardware-configuration.nix
+10
-14
hosts/capybara/hardware-configuration.nix
······
+58
-25
hosts/duck/default.nix
+58
-25
hosts/duck/default.nix
···············# TODO make this zonefile derivation a config parameter `services.eilean.services.dns.zonefile`-zoneFile = "${import "${eilean}/modules/services/dns/zonefile.nix" { inherit pkgs config lib; zonename = "cl.freumh.org"; zone = config.eilean.services.dns.zones."cl.freumh.org"; }}/cl.freumh.org";
+8
-6
hosts/duck/hardware-configuration.nix
+8
-6
hosts/duck/hardware-configuration.nix
······-hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+5
-21
hosts/elephant/default.nix
+5
-21
hosts/elephant/default.nix
·········
+17
-14
hosts/elephant/hardware-configuration.nix
+17
-14
hosts/elephant/hardware-configuration.nix
···-boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];-hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+6
-6
hosts/elephant/services.nix
+6
-6
hosts/elephant/services.nix
······
+8
-16
hosts/gecko/default.nix
+8
-16
hosts/gecko/default.nix
··················
+17
-14
hosts/gecko/hardware-configuration.nix
+17
-14
hosts/gecko/hardware-configuration.nix
···-boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usbhid" "rtsx_pci_sdmmc" ];# https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file-hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+9
-10
hosts/mouse/installer.nix
+9
-10
hosts/mouse/installer.nix
······-hashedPassword = "$6$IPvnJnu6/fp1Jxfy$U6EnzYDOC2NqE4iqRrkJJbSTHHNWk0KwK1xyk9jEvlu584UWQLyzDVF5I1Sh47wQhSVrvUI4mrqw6XTTjfPj6.";+"$6$IPvnJnu6/fp1Jxfy$U6EnzYDOC2NqE4iqRrkJJbSTHHNWk0KwK1xyk9jEvlu584UWQLyzDVF5I1Sh47wQhSVrvUI4mrqw6XTTjfPj6.";···
+30
-40
hosts/mouse/sd-image.nix
+30
-40
hosts/mouse/sd-image.nix
·········-hashedPassword = "$6$IPvnJnu6/fp1Jxfy$U6EnzYDOC2NqE4iqRrkJJbSTHHNWk0KwK1xyk9jEvlu584UWQLyzDVF5I1Sh47wQhSVrvUI4mrqw6XTTjfPj6.";+"$6$IPvnJnu6/fp1Jxfy$U6EnzYDOC2NqE4iqRrkJJbSTHHNWk0KwK1xyk9jEvlu584UWQLyzDVF5I1Sh47wQhSVrvUI4mrqw6XTTjfPj6.";······-hashedPassword = "$6$nuDIW/ZPVsrDHyBe$JffJJvvMG+nH8GH9V5h4FqJkU0nfiFkDzAsdYNTHeJMgBXEX9epPkQTUdLG9L47K54vMxm/+toeMAiKD63Dfkw==";-hashedPassword = "$7$101$wGQZPdVdeW7iQFmH$bK/VOR6LXCLJKbb6M4PNeVptocjBAWXCLMtEU5fQNBr0Y5UAWlhVg8UAu4IkIXgnViI51NnhXKykdlWF63VkVQ==";+"$6$nuDIW/ZPVsrDHyBe$JffJJvvMG+nH8GH9V5h4FqJkU0nfiFkDzAsdYNTHeJMgBXEX9epPkQTUdLG9L47K54vMxm/+toeMAiKD63Dfkw==";+"$7$101$wGQZPdVdeW7iQFmH$bK/VOR6LXCLJKbb6M4PNeVptocjBAWXCLMtEU5fQNBr0Y5UAWlhVg8UAu4IkIXgnViI51NnhXKykdlWF63VkVQ==";
+143
-53
hosts/owl/default.nix
+143
-53
hosts/owl/default.nix
···-{ name = "@"; type = "TXT"; data = "google-site-verification=rEvwSqf7RYKRQltY412qMtTuoxPp64O3L7jMotj9Jnc"; }# sudo openssl x509 -in /var/lib/acme/mail.freumh.org/fullchain.pem -pubkey -noout | openssl pkey -pubin -outform der | sha256sum | awk '{print "3 1 1", $1}'-{ name = "_25._tcp.mail"; type = "TLSA"; data = "3 1 1 2f0fd413f063c75141937dd196a9f4ab66139d599e0dcf2a7ce6d557647e26a6"; }# openssl x509 -in ~/downloads/lets-encrypt-$i.pem -pubkey -noout | openssl pkey -pubin -outform der | sha256sum | awk '{print "2 1 1", $1}'-{ name = "_25._tcp.mail"; type = "TLSA"; data = "2 1 1 8d02536c887482bc34ff54e41d2ba659bf85b341a0a20afadb5813dcfbcf286d"; }-{ name = "_25._tcp.mail"; type = "TLSA"; data = "2 1 1 276fe8a8c4ec7611565bf9fce6dcace9be320c1b5bea27596b2204071ed04f10"; }-{ name = "_25._tcp.mail"; type = "TLSA"; data = "2 1 1 e5545e211347241891c554a03934cde9b749664a59d26d615fe58f77990f2d03"; }-{ name = "_25._tcp.mail"; type = "TLSA"; data = "2 1 1 bd936e72b212ef6f773102c6b77d38f94297322efc25396bc3279422e0c89270"; }···············
+6
-2
hosts/owl/hardware-configuration.nix
+6
-2
hosts/owl/hardware-configuration.nix
···
+5
-4
hosts/owl/minimal.nix
+5
-4
hosts/owl/minimal.nix
······
+17
-24
hosts/shrew/default.nix
+17
-24
hosts/shrew/default.nix
······-hashedPassword = "$6$nuDIW/ZPVsrDHyBe$JffJJvvMG+nH8GH9V5h4FqJkU0nfiFkDzAsdYNTHeJMgBXEX9epPkQTUdLG9L47K54vMxm/+toeMAiKD63Dfkw==";-hashedPassword = "$7$101$wGQZPdVdeW7iQFmH$bK/VOR6LXCLJKbb6M4PNeVptocjBAWXCLMtEU5fQNBr0Y5UAWlhVg8UAu4IkIXgnViI51NnhXKykdlWF63VkVQ==";+"$6$nuDIW/ZPVsrDHyBe$JffJJvvMG+nH8GH9V5h4FqJkU0nfiFkDzAsdYNTHeJMgBXEX9epPkQTUdLG9L47K54vMxm/+toeMAiKD63Dfkw==";+"$7$101$wGQZPdVdeW7iQFmH$bK/VOR6LXCLJKbb6M4PNeVptocjBAWXCLMtEU5fQNBr0Y5UAWlhVg8UAu4IkIXgnViI51NnhXKykdlWF63VkVQ==";···
+5
-7
hosts/shrew/hardware-configuration.nix
+5
-7
hosts/shrew/hardware-configuration.nix
······
+3
-8
hosts/shrew/sd-image.nix
+3
-8
hosts/shrew/sd-image.nix
······
+129
-132
hosts/swan/default.nix
+129
-132
hosts/swan/default.nix
············-ProxyPass http://127.0.0.1:${builtins.toString config.services.peertube.listenHttp}/ upgrade=websocket···-# sudo nix shell nixpkgs#openssl nixpkgs#shibboleth-sp -c sh -c '`nix eval --raw nixpkgs#shibboleth-sp`/etc/shibboleth/keygen.sh -h matrix.eeg.cl.cam.ac.uk -o /secrets/matrix-shibboleth/'+# sudo nix shell nixpkgs#openssl nixpkgs#shibboleth-sp -c sh -c '`nix eval --raw nixpkgs#shibboleth-sp`/etc/shibboleth/keygen.sh -h matrix.eeg.cl.cam.ac.uk -o /secrets/matrix-shibboleth/'······
+16
-15
hosts/swan/hardware-configuration.nix
+16
-15
hosts/swan/hardware-configuration.nix
·········
+5
-4
hosts/swan/minimal.nix
+5
-4
hosts/swan/minimal.nix
······
+1
-1
hosts/swan/mod_ucam_webauth.nix
+1
-1
hosts/swan/mod_ucam_webauth.nix
+6
-5
hosts/vulpine/default.nix
+6
-5
hosts/vulpine/default.nix
······
+22
-17
hosts/vulpine/hardware-configuration.nix
+22
-17
hosts/vulpine/hardware-configuration.nix
······-options = [ "nofail" "x-systemd.device-timeout=1ms" "x-systemd.automount" "x-systemd.idle-timeout=10min" ];-hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+8
-10
modules/default.nix
+8
-10
modules/default.nix
······
+6
-7
modules/hosting/eeww.nix
+6
-7
modules/hosting/eeww.nix
······-services.nginx.virtualHosts."${cfg.domain}".locations."/".proxyPass = "http://localhost:${builtins.toString cfg.port}";···
+21
-21
modules/hosting/freumh.nix
+21
-21
modules/hosting/freumh.nix
·········
+10
-10
modules/hosting/nix-cache.nix
+10
-10
modules/hosting/nix-cache.nix
·········
+9
-11
modules/hosting/rmfakecloud.nix
+9
-11
modules/hosting/rmfakecloud.nix
·········
+14
-14
modules/personal/default.nix
+14
-14
modules/personal/default.nix
······-hashedPassword = "$6$IPvnJnu6/fp1Jxfy$U6EnzYDOC2NqE4iqRrkJJbSTHHNWk0KwK1xyk9jEvlu584UWQLyzDVF5I1Sh47wQhSVrvUI4mrqw6XTTjfPj6.";+"$6$IPvnJnu6/fp1Jxfy$U6EnzYDOC2NqE4iqRrkJJbSTHHNWk0KwK1xyk9jEvlu584UWQLyzDVF5I1Sh47wQhSVrvUI4mrqw6XTTjfPj6.";···-nix-stray-roots = "nix-store --gc --print-roots | egrep -v '^(/nix/var|/run|/proc|{censored})'";·········
+3
-5
modules/personal/dict.nix
+3
-5
modules/personal/dict.nix
······
+64
-58
modules/personal/external-hdd-backup.nix
+64
-58
modules/personal/external-hdd-backup.nix
·········# Error mounting /dev/sda1: GDBus.Error:org.freedesktop.UDisks2.Error.NotAuthorizedCanObtain: Not authorized to perform operation# udisks is still use for on-demand mountin, but we'll use the autofs for mounting the backup disk+if [ -f "$LAST_RUN_FILE" ] && [ "$(( $(date +%s) - $(date +%s -r "$LAST_RUN_FILE") ))" -lt 86400 ]; then-if [ -f "$LAST_RUN_FILE" ] && [ "$(( $(date +%s) - $(date +%s -r "$LAST_RUN_FILE") ))" -lt 86400 ]; then-timeout 60 ${pkgs.yad}/bin/yad --question --title "backup" --text "Backup now? Will autostart in 60s."+timeout 60 ${pkgs.yad}/bin/yad --question --title "backup" --text "Backup now? Will autostart in 60s."+${pkgs.rsync}/bin/rsync -va --exclude={".cache",".local/share/Steam/"} ~/ $DIR/home/ −−delete−after-${pkgs.rsync}/bin/rsync -va --exclude={".cache",".local/share/Steam/"} ~/ $DIR/home/ −−delete−after-wantedBy = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ];···# but we just assume the Seagate Expansion Desk is the same as /dev/disk/by-label/external-hdd-ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]*[0-9]*", ATTRS{model}=="Expansion Desk ", ATTRS{vendor}=="Seagate ", TAG+="systemd", ENV{SYSTEMD_WANTS}+="backup"+ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]*[0-9]*", ATTRS{model}=="Expansion Desk ", ATTRS{vendor}=="Seagate ", TAG+="systemd", ENV{SYSTEMD_WANTS}+="backup"
+81
-84
modules/personal/gui/default.nix
+81
-84
modules/personal/gui/default.nix
·········-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666", SYMLINK+="stm32_dfu"+SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666", SYMLINK+="stm32_dfu"
+2
-2
modules/personal/gui/extra.nix
+2
-2
modules/personal/gui/extra.nix
+2
-2
modules/personal/gui/i3.nix
+2
-2
modules/personal/gui/i3.nix
+2
-2
modules/personal/gui/kde.nix
+2
-2
modules/personal/gui/kde.nix
+2
-2
modules/personal/gui/sway.nix
+2
-2
modules/personal/gui/sway.nix
+18
-25
modules/personal/home/default.nix
+18
-25
modules/personal/home/default.nix
··················
+35
-34
modules/personal/home/i3.nix
+35
-34
modules/personal/home/i3.nix
······
+1
-3
modules/personal/home/mail/aerc-binds.nix
+1
-3
modules/personal/home/mail/aerc-binds.nix
+30
-26
modules/personal/home/mail/default.nix
+30
-26
modules/personal/home/mail/default.nix
······-hooks.mail-recieved = ''notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] mail from $AERC_FROM_NAME" "$AERC_SUBJECT"'';······-onNotify = "${pkgs.isync}/bin/mbsync ryan@freumh.org && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync ryan@freumh.org && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";···-check-mail-cmd = "${pkgs.isync}/bin/mbsync ryan@freumh.org && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync ryan@freumh.org && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";···-onNotify = "${pkgs.isync}/bin/mbsync misc@freumh.org && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync misc@freumh.org && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";·········-onNotify = "${pkgs.isync}/bin/mbsync ryan.gibb@cl.cam.ac.uk && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync ryan.gibb@cl.cam.ac.uk && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";···-check-mail-cmd = "${pkgs.isync}/bin/mbsync ryan.gibb@cl.cam.ac.uk && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync ryan.gibb@cl.cam.ac.uk && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";······-onNotify = "${pkgs.isync}/bin/mbsync ryangibb321@gmail.com && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync ryangibb321@gmail.com && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";···-check-mail-cmd = "${pkgs.isync}/bin/mbsync ryangibb321@gmail.com && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";+"${pkgs.isync}/bin/mbsync ryangibb321@gmail.com && ${pkgs.mu}/bin/mu index && ${pkgs.procps}/bin/pkill -RTMIN+13 i3blocks";
+37
-36
modules/personal/home/sway.nix
+37
-36
modules/personal/home/sway.nix
·········
+30
-16
modules/personal/home/util.nix
+30
-16
modules/personal/home/util.nix
···-listFilesInDir = src: lib.attrsets.mapAttrsToList (name: value: "${src}/${name}") (builtins.readDir src);-let substitutedSource = file: { source = (pkgs.substituteAll ({src="/${src}/${file}"; isExecutable = true;} // replacements)); }; in-let fileToString = file: builtins.replaceStrings fromStrings toStrings (builtins.readFile file); in
+3
-3
modules/personal/laptop.nix
+3
-3
modules/personal/laptop.nix
+2
-2
modules/personal/nix-index.nix
+2
-2
modules/personal/nix-index.nix
+38
-43
modules/personal/nvim/default.nix
+38
-43
modules/personal/nvim/default.nix
···
+3
-3
modules/personal/ocaml.nix
+3
-3
modules/personal/ocaml.nix
+3
-3
modules/personal/printing.nix
+3
-3
modules/personal/printing.nix
+2
-2
modules/personal/scripts.nix
+2
-2
modules/personal/scripts.nix
+4
-6
modules/personal/shell.nix
+4
-6
modules/personal/shell.nix
······
+4
-3
modules/personal/ssh.nix
+4
-3
modules/personal/ssh.nix
···
+2
-2
modules/personal/tailscale.nix
+2
-2
modules/personal/tailscale.nix
+2
-2
modules/personal/wireguard-hosts.nix
+2
-2
modules/personal/wireguard-hosts.nix
+180
-183
nix-on-droid/default.nix
+180
-183
nix-on-droid/default.nix
···-bind-key t capture-pane -S -\; new-window '(tmux show-buffer; tmux delete-buffer) | nvim -c $'-bind-key u capture-pane\; new-window '(tmux show-buffer; tmux delete-buffer) | ${pkgs.urlview}/bin/urlview'-# https://stackoverflow.com/questions/62182401/neovim-screen-lagging-when-switching-mode-from-insert-to-normal+bind-key t capture-pane -S -\; new-window '(tmux show-buffer; tmux delete-buffer) | nvim -c $'+bind-key u capture-pane\; new-window '(tmux show-buffer; tmux delete-buffer) | ${pkgs.urlview}/bin/urlview'+# https://stackoverflow.com/questions/62182401/neovim-screen-lagging-when-switching-mode-from-insert-to-normal
+4
-13
pkgs/cctk/default.nix
+4
-13
pkgs/cctk/default.nix
···# Use techniques described in https://web.archive.org/web/20220904051329/https://tapesoftware.net/replace-symbol/·········
+3
-5
pkgs/maildir-rank-addr.nix
+3
-5
pkgs/maildir-rank-addr.nix
······
+3
-15
pkgs/mautrix-instagram.nix
+3
-15
pkgs/mautrix-instagram.nix
···# https://gitlab.com/coffeetables/nix-matrix-appservices/-/blob/main/pkgs/mautrix-instagram/default.nix······
+2
-1
pkgs/mautrix-meta.nix
+2
-1
pkgs/mautrix-meta.nix
···
+1
-8
pkgs/onevpl-intel-gpu.nix
+1
-8
pkgs/onevpl-intel-gpu.nix
···
+31
-34
pkgs/sway-im/package.nix
+31
-34
pkgs/sway-im/package.nix
············
+9
-36
pkgs/wlroots/default.nix
+9
-36
pkgs/wlroots/default.nix
·········
+3
-3
pkgs/wlroots/protocols.nix
+3
-3
pkgs/wlroots/protocols.nix
···
+9
-6
secrets/secrets.nix
+9
-6
secrets/secrets.nix
···"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAGNcdBuEeoJiMH8TMO4k/w3OVKfiSZ9IZ3xrzFOZEi8 ryan@dell-xps"-gecko = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGLEtqkSlJx219h1aYRXRjP60vBmJmhrCp0Mj1FIF25N root@gecko";-owl = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILP6Cgm/BWnJvuGgU1SjWwjOCjuE5AXGqEdQonWYR7BA root@owl";-elephant = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+ddohsRFrypCVJqIhI3p3R12pJI8iwuMfRu0TJWuPe root@elephant";-shrew = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLiZ0xdXSlF1eMibrs320lVQaushEpEDMrR6lp9uFkx root@shrew";+"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+ddohsRFrypCVJqIhI3p3R12pJI8iwuMfRu0TJWuPe root@elephant";