diff --git a/configuration.nix b/configuration.nix index b3e0493..2179f16 100644 --- a/configuration.nix +++ b/configuration.nix @@ -44,6 +44,7 @@ "net.core.rmem_max" = 2500000; "vm.swappiness" = 10; }; + supportedFilesystems = [ "btrfs" "ntfs" ]; }; powerManagement.cpuFreqGovernor = "schedutil"; @@ -123,8 +124,10 @@ iputils ripgrep usbutils - - protonvpn-cli + hdparm + smartmontools + cryptsetup + thin-provisioning-tools refind terminus_font @@ -145,6 +148,8 @@ layout = "us"; libinput.enable = true; displayManager.gdm.enable = true; + displayManager.importedVariables = + [ "XDG_SESSION_TYPE" "XDG_CURRENT_DESKTOP" "XDG_SESSION_DESKTOP" ]; desktopManager.mate.enable = true; desktopManager.gnome.enable = true; desktopManager.gnome.flashback.enableMetacity = true; @@ -154,11 +159,12 @@ enable = true; wrapperFeatures.gtk = true; }; - services.dbus.packages = [ pkgs.dconf ]; + programs.dconf.enable = true; xdg.portal = { enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-wlr ]; + wlr.enable = true; + xdgOpenUsePortal = false; }; services.printing.enable = true; @@ -192,17 +198,23 @@ plugins = [ pkgs.ccid ]; # Needed for GPG + Yubikey }; - virtualisation.docker = { - enable = true; - autoPrune.enable = true; + virtualisation = { + docker = { + enable = true; + autoPrune.enable = true; + }; + libvirtd.enable = true; + waydroid.enable = true; + + spiceUSBRedirection.enable = true; }; - virtualisation.libvirtd.enable = true; - virtualisation.spiceUSBRedirection.enable = true; users.groups.libvirtd.members = [ "jez" ]; - services.netdata.enable = true; + services.smartd.enable = true; # Hardware ################################################################# + hardware.logitech.wireless.enable = true; + services.udev.extraRules = '' # Atmel DFU ### ATmega16U2 diff --git a/flake.lock b/flake.lock index afab444..aaf56b2 100644 --- a/flake.lock +++ b/flake.lock @@ -5,14 +5,15 @@ "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" - ] + ], + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1682673816, - "narHash": "sha256-C5zxg5AbMbX3UD2iiWL6fqvp/csTnk8JeXh6PHf7zOI=", + "lastModified": 1688494665, + "narHash": "sha256-wXIBz6NVB1/d+H/nz+6XOrtn5s2jdFEJWuFP1qoHIjY=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "60fe647be71d6f433f4a8f9f22d7430bf0ef58a4", + "rev": "54567ac566cd6bfa2607fbe155f9e009ce72306a", "type": "github" }, "original": { @@ -22,12 +23,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1687709756, + "narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7", "type": "github" }, "original": { @@ -43,11 +47,11 @@ ] }, "locked": { - "lastModified": 1682663009, - "narHash": "sha256-i5ZDuY5kUBDwbWFUludL2cm6PBb6oj245qTFXSpOkdo=", + "lastModified": 1688467264, + "narHash": "sha256-AUQP1WtmBb36bRc41p5ieTwq6Y8pgiKurbdrsPeP3fg=", "owner": "nix-community", "repo": "home-manager", - "rev": "43ba4489bd3f9f69519f5f7ebdb76d0455eccbbe", + "rev": "b406b8d1bc90f6cd3e120d189b3e929f17ca4aea", "type": "github" }, "original": { @@ -56,13 +60,28 @@ "type": "github" } }, + "nix-std": { + "locked": { + "lastModified": 1685917625, + "narHash": "sha256-2manVKofCZrCToVDnDYNvtYUFBYOM5JhdDoNGVY4fq4=", + "owner": "chessai", + "repo": "nix-std", + "rev": "e20af8822b5739434b875643bfc61fe0195ea2fb", + "type": "github" + }, + "original": { + "owner": "chessai", + "repo": "nix-std", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1682526928, - "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", "type": "github" }, "original": { @@ -71,13 +90,29 @@ "type": "indirect" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1688389917, + "narHash": "sha256-RKiK1QeommEsjQ8fLgxt4831x9O6n2gD7wAhVZTrr8M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "aed4b19d312525ae7ca9bceb4e1efe3357d0e2eb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "locked": { - "lastModified": 1682670842, - "narHash": "sha256-xgPqeYZVMgCTtiBsgdfRizhr9YedyyaHmqtom5K7R1c=", + "lastModified": 1688486175, + "narHash": "sha256-dE/nVngCOB+VGtd2Td1IuT3hofZenkmgJNyTCyLPmhg=", "owner": "nix-community", "repo": "NUR", - "rev": "0debdae70a437f91abf9327a055cd0a504738707", + "rev": "9c5af154321678dcd0713885f2cc2630d3817c4b", "type": "github" }, "original": { @@ -90,9 +125,25 @@ "inputs": { "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", + "nix-std": "nix-std", "nixpkgs": "nixpkgs", "nur": "nur" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a36c0d3..1f84cb8 100644 --- a/flake.nix +++ b/flake.nix @@ -7,18 +7,21 @@ home-manager.url = "github:nix-community/home-manager"; nur.url = "github:nix-community/NUR"; emacs-overlay.url = "github:nix-community/emacs-overlay"; + nix-std.url = "github:chessai/nix-std"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, home-manager, nur, emacs-overlay, ... }@inputs: + outputs = + { self, nixpkgs, home-manager, nur, emacs-overlay, nix-std, ... }@inputs: let inherit (nixpkgs.lib) genAttrs nixosSystem; system = "x86_64-linux"; hosts = [ "arianrhod" "gwydion" ]; overlay = import ./overlay.nix; + std = nix-std.lib; in { inherit overlay; @@ -41,6 +44,7 @@ useGlobalPkgs = true; useUserPackages = true; users.jez = import ./home; + extraSpecialArgs = { inherit std; }; }; } ]; diff --git a/home/default.nix b/home/default.nix index a8130c0..2a6ae0e 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, nixosConfig, ... }: +{ config, pkgs, lib, nixosConfig, std, ... }: with builtins; let @@ -82,6 +82,7 @@ in { (hunspellWithDicts (with hunspellDicts; [ en_GB-large en_US ])) btop + bottom ranger bat toot @@ -168,6 +169,15 @@ in { recursive = true; }; "cabal".source = ./dotfiles/cabal; + + "tut/config.toml".text = std.serde.toTOML { + general = { editor = "vim"; }; + media.image = { + program = pkgs.kitty + /bin/kitty; + args = "+kitten icat --hold"; + terminal = true; + }; + }; }; }; diff --git a/home/modules/wal.nix b/home/modules/wal.nix index 000758c..83f3130 100644 --- a/home/modules/wal.nix +++ b/home/modules/wal.nix @@ -5,6 +5,9 @@ with lib; let cfg = config.programs.wal; walCmd = pkgs.pywal + /bin/wal; + updateCmd = '' + ${walCmd} -i ${cfg.background} --backend ${cfg.backend} -e -s -t + ''; shellSequences = "~/.cache/wal/sequences"; shellActivate = '' @@ -43,9 +46,8 @@ in { activation = { # Must be before onFilesChange because that's when other configs are reloaded updateWalScheme = - lib.hm.dag.entryBetween [ "onFilesChange" ] [ "writeBoundary" ] '' - ${walCmd} -i ${cfg.background} --backend ${cfg.backend} -e -s -t - ''; + lib.hm.dag.entryBetween [ "onFilesChange" ] [ "writeBoundary" ] + updateCmd; }; }; @@ -55,5 +57,7 @@ in { wayland.windowManager.sway = mkIf cfg.sway.enable { config.output."*".bg = "${cfg.background} ${cfg.sway.bgMode}"; }; + + programs.autorandr.hooks.postswitch = { "update-wallpaper" = updateCmd; }; }; } diff --git a/home/profiles/desktop/default.nix b/home/profiles/desktop/default.nix index 2879556..e4f9ffc 100644 --- a/home/profiles/desktop/default.nix +++ b/home/profiles/desktop/default.nix @@ -29,7 +29,6 @@ with lib; libreoffice-fresh inkscape krita - nyxt lagrange tor-browser-bundle-bin evolution @@ -39,9 +38,10 @@ with lib; flameshot gitkraken keybase-gui + pulsar openshot-qt - blender + # blender asunder gn.cheese vlc @@ -57,6 +57,7 @@ with lib; helvum blueman blanket + ymuse schildichat-desktop signal-desktop @@ -119,6 +120,11 @@ with lib; fonts.fontconfig.enable = true; + services.udiskie = { + enable = true; + tray = "always"; + }; + services.mako = { enable = true; defaultTimeout = 10000; @@ -173,6 +179,7 @@ with lib; programs.chromium = { enable = true; + commandLineArgs = [ "--ozone-platform-hint=auto" ]; extensions = [ { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock origin { id = "hdokiejnpimakedhajhdlcegeplioahd"; } # LastPass @@ -190,7 +197,6 @@ with lib; }; programs.qutebrowser.enable = true; - programs.element-desktop.enable = true; programs.obs-studio = { enable = true; @@ -201,4 +207,9 @@ with lib; services.syncthing.enable = true; services.nextcloud-client.enable = true; + + # See https://github.com/NixOS/nixpkgs/issues/206630 + systemd.user.services.nextcloud-client = { + Unit = { After = pkgs.lib.mkForce "graphical-session.target"; }; + }; } diff --git a/home/profiles/emacs/default.nix b/home/profiles/emacs/default.nix index 57401d2..424be8d 100644 --- a/home/profiles/emacs/default.nix +++ b/home/profiles/emacs/default.nix @@ -12,7 +12,7 @@ let in { programs.emacs = { enable = true; - package = pkgs.emacsUnstable; + package = pkgs.emacs-unstable; }; home.packages = with pkgs; @@ -23,7 +23,7 @@ in { mypy pyright haskell-language-server - rust-analyzer + rustup texlab (pkgs.makeDesktopItem { diff --git a/home/profiles/emacs/doom.d/init.el b/home/profiles/emacs/doom.d/init.el index 46cd0ed..25ad157 100644 --- a/home/profiles/emacs/doom.d/init.el +++ b/home/profiles/emacs/doom.d/init.el @@ -90,7 +90,7 @@ lsp (magit +forge) ; a git porcelain for Emacs biblio - biblio-notes + ;;biblio-notes ;;make ; run make tasks from Emacs ;;pass ; password manager for nerds ;; pdf ; pdf enhancements @@ -126,6 +126,7 @@ gemini tidal javascript + clojure :email (mu4e +org) @@ -134,7 +135,7 @@ :app ;;calendar - ;;irc ; how neckbeards socialize + irc ; how neckbeards socialize (rss +org) ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought diff --git a/home/profiles/email/default.nix b/home/profiles/email/default.nix index 97fb7b2..aa8aa2f 100644 --- a/home/profiles/email/default.nix +++ b/home/profiles/email/default.nix @@ -1,36 +1,9 @@ { config, lib, pkgs, nixosConfig, ... }: let - params = import ../../../secrets/email.nix; + params = import ../../../secrets/email.nix { inherit pkgs; }; realName = nixosConfig.users.users.jez.description; in { - accounts.email.accounts.main = rec { - #primary = true; - inherit realName; - inherit (params.main) address userName passwordCommand aliases; - - imap = { - inherit (params.main) host; - tls.useStartTls = true; - }; - smtp = { - inherit (params.main) host; - port = 587; - tls.useStartTls = true; - }; - - mu.enable = true; - mbsync = { - enable = true; - create = "both"; - remove = "both"; - expunge = "both"; - flatten = "."; - patterns = [ "*" ]; - }; - msmtp.enable = true; - }; - accounts.email.accounts.fm = rec { primary = true; inherit realName; diff --git a/home/profiles/i3/default.nix b/home/profiles/i3/default.nix index 007292f..17b854a 100644 --- a/home/profiles/i3/default.nix +++ b/home/profiles/i3/default.nix @@ -12,11 +12,14 @@ let rofi = config.programs.rofi.finalPackage + /bin/rofi; playerctl = pkgs.playerctl + /bin/playerctl; pamixer = pkgs.pamixer + /bin/pamixer; + autorandr = pkgs.autorandr + /bin/autorandr; term = "${kitty}"; menu = "${rofi} -show drun"; window-menu = "${rofi} -show window"; + change-display = "${autorandr} --change --force"; }; + exec = cmd: "exec ${cmd}"; in { imports = [ ./polybar.nix ]; @@ -50,11 +53,13 @@ in { keybindings = let mod = config.xsession.windowManager.i3.config.modifier; in lib.mkOptionDefault { - "${mod}+Return" = "exec ${cmds.term}"; - "${mod}+d" = "exec ${cmds.menu}"; - "${mod}+Shift+d" = "exec ${cmds.window-menu}"; + "${mod}+Return" = exec cmds.term; + "${mod}+d" = exec cmds.menu; + "${mod}+Shift+d" = exec cmds.window-menu; "${mod}+Shift+c" = "kill"; + "${mod}+p" = exec cmds.change-display; + "${mod}+${left}" = "focus left"; "${mod}+${down}" = "focus down"; "${mod}+${up}" = "focus up"; @@ -70,12 +75,12 @@ in { "${mod}+Ctrl+Left" = "move workspace to output left"; "${mod}+Ctrl+Right" = "move workspace to output right"; - XF86AudioPlay = "exec ${cmds.playerctl} play-pause"; - XF86AudioNext = "exec ${cmds.playerctl} next"; - XF86AudioPrev = "exec ${cmds.playerctl} prev"; - XF86AudioStop = "exec ${cmds.playerctl} stop"; - XF86AudioRaiseVolume = "exec ${cmds.pamixer} --increase 5"; - XF86AudioLowerVolume = "exec ${cmds.pamixer} --decrease 5"; + XF86AudioPlay = exec "${cmds.playerctl} play-pause"; + XF86AudioNext = exec "${cmds.playerctl} next"; + XF86AudioPrev = exec "${cmds.playerctl} prev"; + XF86AudioStop = exec "${cmds.playerctl} stop"; + XF86AudioRaiseVolume = exec "${cmds.pamixer} --increase 5"; + XF86AudioLowerVolume = exec "${cmds.pamixer} --decrease 5"; }; }; }; diff --git a/home/profiles/music/default.nix b/home/profiles/music/default.nix index f6e0808..4497fff 100644 --- a/home/profiles/music/default.nix +++ b/home/profiles/music/default.nix @@ -1,5 +1,5 @@ { config, lib, pkgs, ... }: { - home.packages = with pkgs; [ supercollider ]; + home.packages = with pkgs; [ supercollider-with-sc3-plugins ]; } diff --git a/hosts/gwydion/default.nix b/hosts/gwydion/default.nix index 7400270..2c2602c 100644 --- a/hosts/gwydion/default.nix +++ b/hosts/gwydion/default.nix @@ -2,27 +2,31 @@ { imports = [ ./hardware.nix ./backup.nix ]; - profiles = [ "home" "zfs" "amdgpu" ]; + profiles = [ "home" "amdgpu" ]; - boot.loader = { - efi = { - canTouchEfiVariables = false; - efiSysMountPoint = "/boot/efi"; - }; - grub = { - enable = true; - efiSupport = true; - efiInstallAsRemovable = false; - device = "nodev"; - gfxmodeEfi = "2560x1440"; - extraConfig = '' - set timeout=2; - set timeout_style="menu"; - ''; + boot = { + kernelParams = [ "dm-raid.devices_handle_discard_safely=Y" ]; + + loader = { + efi = { + canTouchEfiVariables = false; + efiSysMountPoint = "/boot/efi"; + }; + grub = { + enable = true; + efiSupport = true; + efiInstallAsRemovable = false; + device = "nodev"; + gfxmodeEfi = "2560x1440"; + extraConfig = '' + set timeout=2; + set timeout_style="menu"; + ''; + }; }; }; - virtualisation.docker.storageDriver = "zfs"; + virtualisation.docker.storageDriver = "btrfs"; users.users.jez.uid = 1000; users.groups.jez.gid = 1000; @@ -43,6 +47,8 @@ avoid-resampling = "yes"; }; + services.lvm.boot.thin.enable = true; + services.vsftpd = { enable = true; localUsers = true; diff --git a/hosts/gwydion/hardware.nix b/hosts/gwydion/hardware.nix index 889679b..38c0d2b 100644 --- a/hosts/gwydion/hardware.nix +++ b/hosts/gwydion/hardware.nix @@ -1,6 +1,3 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: { @@ -8,48 +5,20 @@ boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; + boot.initrd.kernelModules = [ "dm-snapshot" "dm-raid" "dm-mod" "dm-cache-default" "dm-integrity" ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; fileSystems."/" = { - device = "trough/ROOT/nixos"; - fsType = "zfs"; + device = "/dev/gwydion-vg/fastdata"; + fsType = "btrfs"; + options = [ "subvol=@root/nixos" ]; }; - fileSystems."/nix" = { - device = "trough/ROOT/nixos/nix"; - fsType = "zfs"; - }; - - fileSystems."/var" = { - device = "trough/ROOT/nixos/var"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/docker" = { - device = "trough/DATA/docker"; - fsType = "zfs"; - }; - - fileSystems."/home/jez" = { - device = "trough/ROOT/nixos/home/jez"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/.config" = { - device = "trough/DATA/home/jez/Config/nixos"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Games" = { - device = "trough/DATA/home/jez/Games"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Scratch" = { - device = "trough/DATA/home/jez/Scratch"; - fsType = "zfs"; + fileSystems."/home" = { + device = "/dev/gwydion-vg/safedata"; + fsType = "btrfs"; + options = [ "subvol=@data/home" ]; }; fileSystems."/boot" = { @@ -62,69 +31,14 @@ fsType = "vfat"; }; - fileSystems."/home/jez/Documents" = { - device = "tank/home/jez/Documents"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Sync" = { - device = "tank/home/jez/Sync"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Projects" = { - device = "tank/home/jez/Projects"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Music" = { - device = "tank/home/jez/Music"; - fsType = "zfs"; - }; + boot.initrd.luks.devices."secure".preLVM = false; + boot.initrd.luks.devices."secure".device = + "/dev/disk/by-uuid/437f313f-048f-4a9e-9df9-2a946efb05c2"; fileSystems."/home/jez/Private" = { - device = "tank/home/jez/Private"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Downloads" = { - device = "tank/home/jez/Downloads"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/10Pending" = { - device = "tank/home/jez/10Pending"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Archive" = { - device = "tank/home/jez/Archive"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Pictures" = { - device = "tank/home/jez/Pictures"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/VMs" = { - device = "tank/home/jez/VMs"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Videos" = { - device = "tank/home/jez/Videos"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/Web" = { - device = "tank/home/jez/Web"; - fsType = "zfs"; - }; - - fileSystems."/home/jez/00Inbox" = { - device = "tank/home/jez/00Inbox"; - fsType = "zfs"; + device = "/dev/disk/by-uuid/f0da2b16-38e0-46ce-a516-27f48e3f9ea1"; + fsType = "btrfs"; + options = [ "subvol=@data/home/jez/Private" "compress=zstd" ]; }; fileSystems."/var/lib/music" = { @@ -133,14 +47,40 @@ options = [ "bind" ]; }; - fileSystems."/home/jez/Reference" = { - device = "tank/home/jez/Reference"; - fsType = "zfs"; + fileSystems."/var/lib/docker" = { + device = "/dev/gwydion-vg/fastdata"; + fsType = "btrfs"; + options = [ "subvol=@data/docker" "compress=zstd" ]; }; - fileSystems."/home/jez/VMs/Disks/SSD" = { - device = "trough/DATA/home/jez/VMs/Disks/SSD"; - fsType = "zfs"; + fileSystems."/home/jez/.cache" = { + device = "/dev/gwydion-vg/fastdata"; + fsType = "btrfs"; + options = [ "subvol=@data/home/jez/.cache" "compress=zstd" ]; + }; + + fileSystems."/home/jez/.config" = { + device = "/dev/gwydion-vg/fastdata"; + fsType = "btrfs"; + options = [ "subvol=@data/home/jez/.config" "compress=zstd" ]; + }; + + fileSystems."/home/jez/Games" = { + device = "/dev/gwydion-vg/fastdata"; + fsType = "btrfs"; + options = [ "subvol=@data/home/jez/Games" ]; + }; + + fileSystems."/home/jez/Scratch" = { + device = "/dev/gwydion-vg/scratch"; + fsType = "btrfs"; + options = [ "compress=zstd" ]; + }; + + fileSystems."/home/jez/VMs" = { + device = "/dev/gwydion-vg/fastdata"; + fsType = "btrfs"; + options = [ "subvol=@data/home/jez/VMs" "nodatacow" ]; }; swapDevices = [ ]; diff --git a/secrets/email.nix b/secrets/email.nix index 9b3dad7..ab15642 100644 Binary files a/secrets/email.nix and b/secrets/email.nix differ