my nixos dotfiles :3 codeberg.org/koibtw/dotfiles
dotfiles neovim nixos catppuccin linux

feat: jellyfin (#10)

this is kinda a todo but fuckit? lol?

authored by koi.rip and committed by GitHub cd6082fc 0bd0de20

Changed files
+47 -9
home
modules
secrets
systems
desktop
+1 -1
home/modules/packages.nix
··· 2 2 3 3 { 4 4 home.packages = with pkgs; [ 5 + jellyfin-tui 5 6 prettyping 6 7 fastfetch 7 8 playerctl ··· 13 14 grim 14 15 slurp 15 16 16 - cloudflared 17 17 unstable.kitget 18 18 ]; 19 19 }
+1
home/modules/programs/default.nix
··· 5 5 ./iamb.nix 6 6 ./zoxide.nix 7 7 ./neovim.nix 8 + ./jellyfin-rpc.nix 8 9 9 10 ./niri.nix 10 11
+25
home/modules/programs/jellyfin-rpc.nix
··· 1 + { pkgs, ... }: 2 + 3 + { 4 + home.packages = with pkgs; [ jellyfin-rpc ]; 5 + 6 + age.secrets.jellyfin-rpc = { 7 + file = ../../../secrets/jellyfin-rpc.json.age; 8 + mode = "0400"; 9 + }; 10 + 11 + systemd.user.services.jellyfin-rpc = { 12 + Unit = { 13 + Description = "jellyfin discord RPC"; 14 + After = [ "network.target" ]; 15 + }; 16 + 17 + Service = { 18 + ExecStart = "${pkgs.jellyfin-rpc}/bin/jellyfin-rpc -c /run/user/1000/agenix/jellyfin-rpc"; 19 + Restart = "on-failure"; 20 + RestartSec = "10s"; 21 + }; 22 + 23 + Install.WantedBy = [ "default.target" ]; 24 + }; 25 + }
+1 -1
home/modules/programs/neovim.nix
··· 20 20 21 21 age.secrets.wakatime = { 22 22 file = ../../../secrets/wakatime.cfg.age; 23 - mode = "0500"; 23 + mode = "0400"; 24 24 path = "${config.home.homeDirectory}/.wakatime.cfg"; 25 25 }; 26 26 }
+1 -7
home/modules/programs/niri.nix
··· 15 15 { argv = [ "swww img ~/.wallpaper.jpg" ]; } 16 16 { argv = [ "waybar" ]; } 17 17 { argv = [ "vesktop" ]; } 18 - { sh = "sleep 10s; spotify"; } # delayed to let vesktop start first 19 18 ]; 20 19 21 20 screenshot-path = "~/screenshots/%Y-%m-%d_%H-%M-%S.png"; ··· 133 132 default-column-width.proportion = 0.56; 134 133 } 135 134 { 136 - matches = [ { app-id = "^spotify"; } ]; 137 - open-on-workspace = "social"; 138 - default-column-width.proportion = 0.44; 139 - } 140 - { 141 135 matches = [ { app-id = "^steam"; } ]; 142 136 open-on-workspace = "3"; 143 - default-column-width.proportion = 0.6; 137 + default-column-width.proportion = 1.0; 144 138 } 145 139 { 146 140 matches = [ { title = "^(Picture in picture|Picture-in-Picture|Discord Popout)"; } ];
+1
modules/base.nix
··· 29 29 ignoreShellProgramCheck = true; 30 30 extraGroups = [ 31 31 "wheel" 32 + "jellyfin" 32 33 ]; 33 34 packages = with pkgs; [ 34 35 pavucontrol
secrets/jellyfin-rpc.json.age

This is a binary file and will not be displayed.

+1
secrets/secrets.nix
··· 4 4 { 5 5 "chromium.sh.age".publicKeys = [ adam ]; 6 6 "wakatime.cfg.age".publicKeys = [ adam ]; 7 + "jellyfin-rpc.json.age".publicKeys = [ adam ]; 7 8 }
+16
systems/desktop/default.nix
··· 32 32 }; 33 33 34 34 programs.gamemode.enable = true; 35 + 36 + services.jellyfin = { 37 + enable = true; 38 + openFirewall = true; 39 + }; 40 + 41 + environment.systemPackages = with pkgs; [ cloudflared ]; 42 + 43 + systemd.services.cloudflared = { 44 + description = "cloudflare tunnel"; 45 + after = [ "jellyfin.service" ]; 46 + 47 + script = "${pkgs.cloudflared}/bin/cloudflared tunnel run --token eyJhIjoiZTcyNjAwOGE4ZmVjNDIwYTNhMDMzZDU2MWNjMGYyZmYiLCJ0IjoiZDUwNTQ4NjktYzEzZC00ZDc4LTk4MjYtOGFhNGJmOWUwOTBiIiwicyI6Ik9UWm1PVEl3WldFdFptVXlOaTAwWWpkbUxUZ3dPVGt0T0RZeFptWmxaREUwWWprMCJ9"; 48 + 49 + wantedBy = [ "multi-user.target" ]; 50 + }; 35 51 }