nixos-config/homes/media/default.nix

85 lines
1.9 KiB
Nix
Raw Normal View History

2025-04-02 18:19:56 -04:00
{ nix-config, config, pkgs, ... }:
2025-03-10 14:16:39 -04:00
{
imports = with nix-config.homeModules; [
shell-conf # shell, shell utils, cli tools, libs, tui's
2025-03-10 17:30:58 -04:00
git-conf
2025-03-21 15:51:46 -04:00
beets
taskwarrior
2025-03-10 14:16:39 -04:00
];
home = {
packages = with pkgs; [
2025-03-12 10:39:42 -04:00
btop
2025-03-10 14:16:39 -04:00
];
username = "media";
homeDirectory = "/home/media";
sessionVariables = {
NH_FLAKE = "\${HOME}/nixos-config";
};
2025-03-10 14:21:14 -04:00
2025-03-10 22:31:08 -04:00
sessionPath = [
"/home/media/.local/bin"
"/home/media/.local/share"
"/home/media/.nix-profile/lib"
"/etc/profiles/per-user/media/bin/"
"/home/media/.local/state/nix/profiles/home-manager/home-path/bin/"
];
2025-03-10 14:32:16 -04:00
stateVersion = "25.05";
2025-03-10 14:16:39 -04:00
};
2025-03-29 14:07:48 -04:00
sops = {
age.keyFile = "/home/media/.config/sops/age/keys.txt"; # must have no password!
defaultSopsFile = ../emenel/secrets.yaml;
secrets = {
taskchamp-id = {};
taskchamp-key = {};
};
templates."taskchamp".content =
''
sync.server.client_id = ${config.sops.placeholder.taskchamp-id}
sync.encryption_secret = ${config.sops.placeholder.taskchamp-key}
'';
2025-03-29 14:07:48 -04:00
};
2025-03-10 14:16:39 -04:00
programs = {
home-manager.enable = true;
password-store.enable = true;
};
systemd.user = {
enable = true;
startServices = "sd-switch"; # auto reload services when home is rebuilt
services.taskchampion-sync-server = {
Unit = {
Description = "taskchamp";
After = [ "network.target" ];
};
Install = {
WantedBy = [ "multi-user.target" ];
};
Service = {
Type = "simple";
ExecStart = "${pkgs.taskchampion-sync-server}/bin/taskchampion-sync-server --listen media-server:33043 --data-dir /home/media/.local/share/task-sync --snapshot-days 1 --snapshot-versions 30";
};
};
2025-03-10 14:16:39 -04:00
};
2025-03-29 14:07:48 -04:00
2025-03-10 22:32:06 -04:00
#custom script executables
home.file.".local/bin" = {
2025-03-10 22:42:54 -04:00
source = ../emenel/dotfiles/dot_local/bin;
2025-03-10 22:32:06 -04:00
recursive = true;
};
2025-04-02 19:09:02 -04:00
home.file.".local/bin/tww" = {
source = ../../modules/home/tww;
};
2025-03-10 14:16:39 -04:00
}