mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-23 16:29:42 -04:00
73 lines
1.7 KiB
Nix
73 lines
1.7 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = {
|
|
monitors = config.monitors;
|
|
};
|
|
home-manager.users.${config.user.name} = {
|
|
imports = [
|
|
../../../../../user
|
|
../../../../../user/home.nix
|
|
../../../../../user/modules
|
|
];
|
|
|
|
home.stateVersion = "23.11";
|
|
|
|
home.packages = [ pkgs.sshfs ];
|
|
|
|
systemd.user.services.nvr-mount = {
|
|
Unit = {
|
|
Description = "Mount Frigate recordings via SSHFS";
|
|
After = [ "network-online.target" ];
|
|
};
|
|
Service = {
|
|
Type = "oneshot";
|
|
RemainAfterExit = true;
|
|
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p %h/Media/nvr";
|
|
ExecStart = "${pkgs.sshfs}/bin/sshfs -o reconnect,ServerAliveInterval=15 server:/var/lib/frigate/recordings %h/Media/nvr";
|
|
ExecStop = "${pkgs.fuse}/bin/fusermount -u %h/Media/nvr";
|
|
};
|
|
Install = {
|
|
WantedBy = [ "default.target" ];
|
|
};
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
enableDefaultConfig = false;
|
|
matchBlocks = {
|
|
"*" = {
|
|
serverAliveInterval = 60;
|
|
serverAliveCountMax = 3;
|
|
};
|
|
"server" = {
|
|
hostname = "192.168.0.154";
|
|
user = "bryan";
|
|
};
|
|
};
|
|
};
|
|
|
|
# Machine-specific modules
|
|
modules.user = {
|
|
vim.enable = false;
|
|
security.yubikey.enable = true;
|
|
|
|
utils = {
|
|
dev.enable = true;
|
|
irc.enable = true;
|
|
writing.enable = true;
|
|
};
|
|
|
|
gui = {
|
|
wm.hyprland.enable = true;
|
|
browser.firefox.enable = true;
|
|
alacritty.enable = true;
|
|
corn.enable = true;
|
|
fun.enable = true;
|
|
utils.enable = true;
|
|
};
|
|
};
|
|
};
|
|
}
|