diff --git a/flake.lock b/flake.lock index db1084c..c1504fe 100644 --- a/flake.lock +++ b/flake.lock @@ -664,11 +664,11 @@ "vanillatweaks": "vanillatweaks" }, "locked": { - "lastModified": 1735390427, - "narHash": "sha256-M/uZbGQN2VLdr6G5ryFAaWYf+aebpckPSLiSBrYHsjE=", + "lastModified": 1738176483, + "narHash": "sha256-5OFdgUi3gQM77DG+J0pX1FUHs7b0Zwle+iI2xDlQveA=", "ref": "refs/heads/master", - "rev": "f2da3bd27832b7e3bb2325e1a3238a874ebd95d9", - "revCount": 331, + "rev": "a63d5751c51d03beb5ee8c1e37346761c20b15f0", + "revCount": 333, "type": "git", "url": "ssh://git@git.gaja-group.com/gaja-group/minecraft-server-flake.git" }, @@ -1314,18 +1314,17 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1734972138, - "narHash": "sha256-jB2XYyauqXobAt5WnyHZQ82niHZd/U+mrfMAQ1KjfBA=", - "ref": "fix", - "rev": "453e26d3f5210ee453abc4f103b5d2d6610632df", - "revCount": 370, - "type": "git", - "url": "file:///home/odie/Code/nix/packwiz" + "lastModified": 1737328283, + "narHash": "sha256-VmNsWzsFVNRciNIPUXUVos4cBdpawgN1/nPwMjNpx+0=", + "owner": "packwiz", + "repo": "packwiz", + "rev": "241f24b550f6fe838913a56bdd58bac2fc53254a", + "type": "github" }, "original": { - "ref": "fix", - "type": "git", - "url": "file:///home/odie/Code/nix/packwiz" + "owner": "packwiz", + "repo": "packwiz", + "type": "github" } }, "placeholderapi-luckperms": { diff --git a/flake.nix b/flake.nix index 5bb4a9d..56d22a8 100644 --- a/flake.nix +++ b/flake.nix @@ -149,7 +149,9 @@ inherit system; }; in { - devShells.default = pkgs.mkShell {}; + devShells.default = pkgs.mkShell { + packages = with pkgs; [((nixos{}).nixos-rebuild)]; + }; }); inputs = { @@ -326,4 +328,11 @@ }; }; }; + + nixConfig = { + extra-substituters = [ "https://nix-community.cachix.org" ]; + extra-trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; } diff --git a/modules/home-manager/mpd/mpd.nix b/modules/home-manager/mpd/mpd.nix index 4a0af6a..aee9cea 100644 --- a/modules/home-manager/mpd/mpd.nix +++ b/modules/home-manager/mpd/mpd.nix @@ -1,5 +1,5 @@ {lib,config,...}: lib.mkIf config.services.mpd.enable { services.mpd = { - musicDirectory = "/mnt/media/Audio/Musik"; + musicDirectory = "/mnt/net/svartalbenheim/media_data/media/Audio/Musik"; }; } diff --git a/modules/home-manager/shell/ssh/default.nix b/modules/home-manager/shell/ssh/default.nix index 9b1369a..73eeb23 100644 --- a/modules/home-manager/shell/ssh/default.nix +++ b/modules/home-manager/shell/ssh/default.nix @@ -21,7 +21,7 @@ lib.mkIf config.programs.ssh.enable { extraOptions = { ProxyCommand = "openssl s_client -quiet -connect rz-de3.gaja-group.com:2222 -servername 10.100.100.170"; }; - identityFile = "~/.ssh/id_ed25519_local"; + #identityFile = "~/.ssh/id_ed25519_local"; #compression =false; }; }; diff --git a/modules/home-manager/shell/tmux/default.nix b/modules/home-manager/shell/tmux/default.nix index 995deec..7ac1019 100644 --- a/modules/home-manager/shell/tmux/default.nix +++ b/modules/home-manager/shell/tmux/default.nix @@ -14,6 +14,7 @@ sensibleOnTop = true; escapeTime = 0; tmuxp.enable = true; + terminal = "xterm-kitty"; plugins = with pkgs.tmuxPlugins; [ sensible yank diff --git a/modules/home-manager/shell/yazi/default.nix b/modules/home-manager/shell/yazi/default.nix index 434dbcc..c60663d 100644 --- a/modules/home-manager/shell/yazi/default.nix +++ b/modules/home-manager/shell/yazi/default.nix @@ -1,11 +1,65 @@ -_: { +{ pkgs, ... }: +let + yazi-plugins = pkgs.fetchFromGitHub { + owner = "yazi-rs"; + repo = "plugins"; + rev = "02d18be03812415097e83c6a912924560e4cec6d"; + hash = "sha256-1FZ8wcf2VVp6ZWY27vm1dUU1KAL32WwoYbNA/8RUAog="; + }; +in +{ programs = { yazi = { enable = true; enableZshIntegration = true; + shellWrapperName = "y"; + plugins = { + chmod = "${yazi-plugins}/chmod.yazi"; + full-border = "${yazi-plugins}/full-border.yazi"; + git = "${yazi-plugins}/git.yazi"; + smart-enter = "${yazi-plugins}/smart-enter.yazi"; + starship = pkgs.fetchFromGitHub { + owner = "Rolv-Apneseth"; + repo = "starship.yazi"; + rev = "af8bf6f82165b83272b6501ce7445cf2c61fbf51"; + hash = "sha256-L7MkZZqJ+t+A61ceC4Q1joLF6ytoWdgx9BwZWAGAoCA="; + }; + mediainfo = pkgs.fetchFromGitHub { + owner = "boydaihungst"; + repo = "mediainfo.yazi"; + rev = "e2a7cfd750226ce4adc3acc42b4cf75c79fe9f0e"; + hash = "sha256-MW0pawBT2S0rOoclCQahiYzLX5JZPuiALCG0ZzOqvM4="; + }; + }; + initLua = '' + require("full-border"):setup() + require("starship"):setup() + require("git"):setup() + require("smart-enter"):setup({ + open_multi = true, + }) + ''; + settings = { + sort_by = "name"; + sort_dir_first = true; + sort_reverse = false; + plugin = { + prepend_fetchers = [ + { id = "git"; name = "*"; run = "git"; } + { id = "git"; name = "*/"; run = "git"; } + ]; + prepend_previewers = [ + { mime = "{image,audio,video}/*"; run = "mediainfo"; } + { mime = "application/subrip"; run = "mediainfo"; } + ]; + }; + }; keymap = { manager.prepend_keymap = [ { run = "cd /media/net/svartalbenheim/media_data/"; on = [ "g" "m" ]; desc = "Cd to media_data"; } + { run = "cd /media/net/svartalbenheim/media_data/media/Video"; on = [ "g" "v" ]; desc = "Cd to media_data"; } + { run = "cd /media/net/svartalbenheim/media_data/media/Audio"; on = [ "g" "a" ]; desc = "Cd to media_data"; } + { run = "plugin smart-enter"; on = [ "l" ]; desc = "Enter the child directory, or open the file"; } ]; }; }; diff --git a/modules/nixos/mediacenter/arr/default.nix b/modules/nixos/mediacenter/arr/default.nix index b01aca4..ee293b4 100644 --- a/modules/nixos/mediacenter/arr/default.nix +++ b/modules/nixos/mediacenter/arr/default.nix @@ -10,6 +10,9 @@ prowlarr = { enable = true; }; + jellyseerr = { + enable = false; + }; }; networking.firewall.allowedTCPPorts = [ @@ -18,6 +21,5 @@ "dotnet-sdk-6.0.428" "aspnetcore-runtime-6.0.36" ]; - }; } diff --git a/modules/nixos/mediacenter/jellyfin/default.nix b/modules/nixos/mediacenter/jellyfin/default.nix index 3286c6c..8e0b952 100644 --- a/modules/nixos/mediacenter/jellyfin/default.nix +++ b/modules/nixos/mediacenter/jellyfin/default.nix @@ -37,7 +37,7 @@ in dataDir = "/media/net/svartalbenheim/media_config/data/jellyfin"; cacheDir = "/media/net/svartalbenheim/media_config/cache/jellyfin"; }; - users.users.jellyfin = { + users.users.jellyfin = mkIf config.services.jellyfin.enable { inherit extraGroups; }; networking.firewall = { diff --git a/overlays/jellyfin.nix b/overlays/jellyfin.nix index 5a34f6d..03441d9 100644 --- a/overlays/jellyfin.nix +++ b/overlays/jellyfin.nix @@ -1,18 +1,18 @@ { - jellyfin-web = final: prev: - { - jellyfin-web = prev.jellyfin-web.overrideAttrs (finalAttrs: previousAttrs: { - installPhase = '' - runHook preInstall + jellyfin-web = final: prev: + { + jellyfin-web = prev.jellyfin-web.overrideAttrs (finalAttrs: previousAttrs: { + installPhase = '' + runHook preInstall - # this is the important line - sed -i "s###" dist/index.html + # this is the important line + sed -i "s###" dist/index.html - mkdir -p $out/share - cp -a dist $out/share/jellyfin-web + mkdir -p $out/share + cp -a dist $out/share/jellyfin-web - runHook postInstall - ''; - }); - }; + runHook postInstall + ''; + }); + }; } diff --git a/profiles/home-manager/odie@asgard/home.nix b/profiles/home-manager/odie@asgard/home.nix index 4e6d8c0..6dc864f 100644 --- a/profiles/home-manager/odie@asgard/home.nix +++ b/profiles/home-manager/odie@asgard/home.nix @@ -1,6 +1,7 @@ { inputs , outputs , vars +, lib , ... }: { imports = [ @@ -40,4 +41,8 @@ PATH = "/home/${vars.username}/bin:$PATH"; }; }; + sops = { + age.sshKeyPaths = lib.mkForce []; + age.keyFile = "/home/${vars.username}/.config/sops/age/keys.txt"; # must have no password! + }; } diff --git a/profiles/nixos/pi0/configuration.nix b/profiles/nixos/pi0/configuration.nix index 2a51fcd..2e0e22f 100644 --- a/profiles/nixos/pi0/configuration.nix +++ b/profiles/nixos/pi0/configuration.nix @@ -19,6 +19,7 @@ let "prowlarr.odie.home.arpa" #"transmission.odie.home.arpa" "deluge.odie.home.arpa" + "jellyseerr.odie.home.arpa" ]; }; in @@ -44,6 +45,8 @@ in haproxy.domains ; + boot.kernelPackages = lib.mkForce pkgs.linuxKernel.packages.linux_rpi4; + networking = { inherit (vars) hostName domain; }; @@ -136,6 +139,7 @@ in use_backend be_prowlarr if { ssl_fc_sni prowlarr.odie.home.arpa } use_backend be_transmission if { ssl_fc_sni transmission.odie.home.arpa } use_backend be_deluge if { ssl_fc_sni deluge.odie.home.arpa } + use_backend be_jellyseerr if { ssl_fc_sni jellyseerr.odie.home.arpa } default_backend be_null @@ -166,6 +170,9 @@ in backend be_deluge server server1 127.0.0.1:${builtins.toString config.services.deluge.web.port} maxconn 32 + + backend be_jellyseerr + server server1 127.0.0.1:5055 maxconn 32 ''; }; udev.extraRules = '' diff --git a/profiles/nixos/pi0/hardware-configuration.nix b/profiles/nixos/pi0/hardware-configuration.nix index cc00714..fd717f8 100644 --- a/profiles/nixos/pi0/hardware-configuration.nix +++ b/profiles/nixos/pi0/hardware-configuration.nix @@ -5,17 +5,17 @@ systemd-boot.enable = false; generic-extlinux-compatible.enable = false; }; - /* - kernelPackages = pkgs.linuxPackages_rpi4; - kernelParams = [ "snd_bcm2835.enable_headphones=1" "snd_bcm2835.enable_hdmi=1" "gpu_mem=128" ]; + kernelParams = [ "snd_bcm2835.enable_headphones=1" "snd_bcm2835.enable_hdmi=1" ]; initrd.availableKernelModules = lib.mkDefault [ - "vc4" "bcm2835_dma" + "vc4" + "bcm2835_dma" "i2c_bcm2835" - "xhci_pci" "usbhid" "usb_storage" ]; + /* + kernelPackages = pkgs.linuxPackages_rpi4; */ };