{ self, config, lib, ... }: let secrets = config.age.secrets; ssh-key-path = secrets."restic/ssh-key".path; in { imports = [ ./hardware.nix "${self}/profiles/btrfs.nix" "${self}/profiles/documentation.nix" "${self}/profiles/laptop.nix" "${self}/profiles/syncthing.nix" "${self}/profiles/hardware/xps9300.nix" ]; # Use systemd-networkd for networking systemd.network.enable = true; systemd.network.networks.wlan0 = { matchConfig.Name = "wlan0"; networkConfig.DHCP = "yes"; dhcpV4Config = { UseDNS = "yes"; UseDomains = "yes"; }; }; networking.useNetworkd = true; networking.useDHCP = false; networking.private-wireguard.enable = true; services.nscd.enable = false; system.nssModules = lib.mkForce [ ]; my.services.backup = { enable = true; repository = "sftp:192.168.6.40:/${config.networking.hostName}"; exclude = [ # paths that I don't want to backup "/home/fcuny/workspace/tmp" # various development related files "**/target" "**/.direnv" "**/result" ]; timerConfig = { OnCalendar = "06:30"; }; passwordFile = secrets."restic/repo-users".path; extraOptions = [ "sftp.command='ssh backup@192.168.6.40 -i ${ssh-key-path} -s sftp'" ]; paths = [ "/home/fcuny/workspace" "/home/fcuny/media" "/home/fcuny/documents" ]; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.05"; # Did you read the comment? }