1
Fork 0
satellite/home/features/persistence.nix
2023-11-04 18:58:09 +01:00

105 lines
3 KiB
Nix

{ config, ... }: {
# {{{ XDG dirs
# The lack of "~/Desktop" and "~/Downloads" is intentional!
satellite.persistence.at.data.apps.main.directories = [
config.xdg.userDirs.documents
config.xdg.userDirs.pictures
config.xdg.userDirs.music
config.xdg.userDirs.videos
"Projects"
];
# }}}
# {{{ OpenTabletDriver
satellite.persistence.at.state.apps.OpenTabletDriver.directories = [
#"${config.xdg.configHome}/OpenTabletDriver"
];
# }}}
# {{{ Rust
satellite.persistence.at.cache.apps.Rust.directories = [
#".cargo"
#".rustup"
];
# }}}
# {{{ Purescript
satellite.persistence.at.cache.apps.Purescript.directories = [
#"${config.xdg.cacheHome}/spago"
];
# }}}
# {{{ Nodejs
satellite.persistence.at.cache.apps.Node.directories = [
#"${config.xdg.cacheHome}/yarn"
#"${config.xdg.dataHome}/pnpm"
];
# }}}
# {{{ Shell stuff
satellite.persistence.at.cache.apps.Shell.directories = [
#"${config.xdg.dataHome}/fish"
#"${config.xdg.dataHome}/z" # The z fish plugin
#"${config.xdg.dataHome}/direnv/allow"
#".tmux"
];
# }}}
# {{{ Neovim
satellite.persistence.at.cache.apps.Neovim.directories = [
# "${config.xdg.dataHome}/nvim"
];
# }}}
# {{{ SSH
satellite.persistence.at.state.apps.Ssh.directories = [
# ".ssh"
];
# }}}
# {{{ QBittorrent
satellite.persistence.at.state.apps.QBittorrent.directories = [
"${config.xdg.configHome}/qBittorrent" # Config options
];
satellite.persistence.at.cache.apps.QBittorrent.directories = [
# TODO: investigate which subdirectories/files I actually want to keep
"${config.xdg.dataHome}/qBittorrent" # Torrent files, logs, etc
];
# }}}
# {{{ Signal
satellite.persistence.at.state.apps.Signal.directories = [
"${config.xdg.configHome}/Signal" # Why tf does signal store it's state here 💀
];
# }}}
# {{{ Steam
satellite.persistence.at.state.apps.Steam = {
directories = [
".factorio" # TODO: perhaps this should have it's own file?
# A couple of games don't play well with bindfs
{
directory = "${config.xdg.dataHome}/Steam";
method = "symlink";
}
];
};
# }}}
# {{{ Lutris
# TODO: there might be more to cache in .cache/lutris
satellite.persistence.at.state.apps.Lutris.directories = [
"${config.xdg.configHome}/lutris" # General config data
"${config.xdg.cacheHome}/lutris/banners" # Game banners
"${config.xdg.cacheHome}/lutris/coverart" # Game cover art
# Aparently IO intensive stuff like games prefer symlinks?
{ directory = "Games/Lutris"; method = "symlink"; } # Lutris games
];
# }}}
# {{{ Wine
satellite.persistence.at.state.apps.Wine.directories = [ ".wine" ];
# }}}
# # {{{ Syncthing
# satellite.persistence.at.state.apps.Syncthing.directories = [
# "${config.xdg.configHome}/syncthing" # Syncthing config data
# ];
# # }}}
# {{{ Tldr
satellite.persistence.at.cache.apps.tldr.directories = [
"${config.home.homeDirectory}/.tldrc" # tldr cache
];
# }}}
}