Add services to automount OneDrive (via rclone)

This commit is contained in:
Evie Litherland-Smith 2024-12-09 15:25:01 +00:00
parent deaa8827a6
commit 662d978241

View file

@ -1,15 +1,61 @@
{ pkgs, username, ... }:
{
pkgs,
username,
...
}:
{
imports = [
./desktop.nix
./work.nix
];
home-manager.users.${username} = {
home.stateVersion = "23.05";
wayland.windowManager.hyprland.settings.monitor = [
"desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto,1.5"
];
};
home-manager.users.${username} =
{ config, ... }:
{
home.stateVersion = "23.05";
wayland.windowManager.hyprland.settings.monitor = [
"desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto,1.5"
];
systemd.user.services =
let
inherit (config.xdg) configHome;
in
{
mount-documents =
let
target = "${config.home.homeDirectory}/OneDrive";
in
{
Unit = {
Description = "Mount OneDrive to local directory";
After = [ "network-online.target" ];
};
Service = {
Type = "notify";
ExecStartPre = "/usr/bin/env mkdir -p ${target}";
ExecStart = "${pkgs.rclone}/bin/rclone --config=${configHome}/rclone/rclone.conf --vfs-cache-mode writes --ignore-checksum mount \"OneDrive:\" ${target}";
ExecStop = "/bin/fusermount -u ${target}";
};
Install.WantedBy = [ "default.target" ];
};
mount-downloads =
let
target = config.xdg.userDirs.download;
in
{
Unit = {
Description = "Mount Downloads directory to OneDrive";
After = [ "network-online.target" ];
};
Service = {
Type = "notify";
ExecStartPre = "/usr/bin/env mkdir -p ${target}";
ExecStart = "${pkgs.rclone}/bin/rclone --config=${configHome}/rclone/rclone.conf --vfs-cache-mode writes --ignore-checksum mount \"OneDrive:Downloads\" ${target}";
ExecStop = "/bin/fusermount -u ${target}";
};
Install.WantedBy = [ "default.target" ];
};
};
};
boot = {
loader.efi.efiSysMountPoint = "/boot/efi";
initrd = {