helix: host photos.sealight.xyz
This commit is contained in:
		
							parent
							
								
									c6d64984bf
								
							
						
					
					
						commit
						a305adaa46
					
				
							
								
								
									
										22
									
								
								flake.lock
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								flake.lock
									
									
									
									
									
								
							|  | @ -270,16 +270,16 @@ | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1720042825, |         "lastModified": 1736373539, | ||||||
|         "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", |         "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", |         "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "ref": "release-24.05", |         "ref": "release-24.11", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|  | @ -354,16 +354,16 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs_2": { |     "nixpkgs_2": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1723938990, |         "lastModified": 1738277201, | ||||||
|         "narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=", |         "narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890", |         "rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "ref": "nixos-24.05", |         "ref": "nixos-24.11", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|  | @ -534,11 +534,11 @@ | ||||||
|     }, |     }, | ||||||
|     "unstable": { |     "unstable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1723637854, |         "lastModified": 1738410390, | ||||||
|         "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", |         "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", |         "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  |  | ||||||
							
								
								
									
										29
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								flake.nix
									
									
									
									
									
								
							|  | @ -3,7 +3,7 @@ | ||||||
| 
 | 
 | ||||||
|   inputs = { |   inputs = { | ||||||
|     # Nixpkgs |     # Nixpkgs | ||||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; |     nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; | ||||||
|     unstable.url = "github:nixos/nixpkgs/nixos-unstable"; |     unstable.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||||
|     nixos-hardware.url = "github:NixOS/nixos-hardware/master"; |     nixos-hardware.url = "github:NixOS/nixos-hardware/master"; | ||||||
| 
 | 
 | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
|     # ngipkgs-local.url = "path:/home/anish/usr/ngipkgs"; |     # ngipkgs-local.url = "path:/home/anish/usr/ngipkgs"; | ||||||
| 
 | 
 | ||||||
|     # Home manager |     # Home manager | ||||||
|     home-manager.url = "github:nix-community/home-manager/release-24.05"; |     home-manager.url = "github:nix-community/home-manager/release-24.11"; | ||||||
|     home-manager.inputs.nixpkgs.follows = "nixpkgs"; |     home-manager.inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     hardware.url = "github:nixos/nixos-hardware"; |     hardware.url = "github:nixos/nixos-hardware"; | ||||||
| 
 | 
 | ||||||
|  | @ -78,17 +78,18 @@ | ||||||
|       nixpkgsFor = forAllSystems (system: |       nixpkgsFor = forAllSystems (system: | ||||||
|         import nixpkgs { |         import nixpkgs { | ||||||
|           inherit system; |           inherit system; | ||||||
|           config.allowUnfreePredicate = pkg: |           config = { | ||||||
|             builtins.elem (nixpkgs.lib.getName pkg) [ |             permittedInsecurePackages = [ | ||||||
|               "ripcord" |               "olm-3.2.16"  | ||||||
|               "vcv-rack" |  | ||||||
|               "SunVox" |  | ||||||
|               "renoise" |  | ||||||
|             ]; |             ]; | ||||||
|           # config.permittedInsecurePackages = [ |             allowUnfreePredicate = pkg: | ||||||
|           #   "python3.10-django-3.1.14" # Needed for archivebox deployments on curve |               builtins.elem (nixpkgs.lib.getName pkg) [ | ||||||
|           #   # Check when archive box updates it's dependeny |                 "ripcord" | ||||||
|           # ]; |                 "vcv-rack" | ||||||
|  |                 "SunVox" | ||||||
|  |                 "renoise" | ||||||
|  |               ]; | ||||||
|  |           }; | ||||||
|           overlays = [ |           overlays = [ | ||||||
|             rust-overlay.overlays.default |             rust-overlay.overlays.default | ||||||
|             tidalcycles.overlays.default |             tidalcycles.overlays.default | ||||||
|  | @ -269,7 +270,7 @@ | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       checks = builtins.mapAttrs |      # checks = builtins.mapAttrs | ||||||
|         (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; |      #   (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ | ||||||
|     ../profiles/cli |     ../profiles/cli | ||||||
|     ../profiles/direnv |     ../profiles/direnv | ||||||
|     ../profiles/git |     ../profiles/git | ||||||
|  |     # ../profiles/tmux | ||||||
|   ]; |   ]; | ||||||
|   home.stateVersion = "22.05"; |   home.stateVersion = "22.05"; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -53,7 +53,7 @@ | ||||||
|     less |     less | ||||||
|     gdb |     gdb | ||||||
|     xxd |     xxd | ||||||
|     taskwarrior |     taskwarrior2 | ||||||
|     gnupg |     gnupg | ||||||
|     syncthing |     syncthing | ||||||
|     dijo |     dijo | ||||||
|  | @ -61,7 +61,6 @@ | ||||||
|     fontconfig |     fontconfig | ||||||
|     pandoc |     pandoc | ||||||
|     taskwarrior-tui |     taskwarrior-tui | ||||||
|     python3Packages.howdoi |  | ||||||
|     vimwiki-cli |     vimwiki-cli | ||||||
| 
 | 
 | ||||||
|     (pkgs.writeScriptBin "jq-repl" '' |     (pkgs.writeScriptBin "jq-repl" '' | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ in | ||||||
|     paper-icon-theme |     paper-icon-theme | ||||||
|     papirus-icon-theme |     papirus-icon-theme | ||||||
|     libsForQt5.qtstyleplugin-kvantum |     libsForQt5.qtstyleplugin-kvantum | ||||||
|     qt5ct |     libsForQt5.qt5ct | ||||||
|     gtk-engine-murrine |     gtk-engine-murrine | ||||||
|     gtk_engines |     gtk_engines | ||||||
|     maim |     maim | ||||||
|  |  | ||||||
|  | @ -866,7 +866,7 @@ in | ||||||
|       zls |       zls | ||||||
|       gopls |       gopls | ||||||
|       gcc |       gcc | ||||||
|       nodePackages_latest.pyright |       pyright | ||||||
|       shellcheck |       shellcheck | ||||||
|       proselint |       proselint | ||||||
|       statix |       statix | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								home/profiles/tmux/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								home/profiles/tmux/default.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | { | ||||||
|  |   home.file.".tmux.confg".source = ./tmux.conf | ||||||
|  | } | ||||||
							
								
								
									
										59
									
								
								home/profiles/tmux/tmux.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								home/profiles/tmux/tmux.conf
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | ||||||
|  | set -g base-index 1 | ||||||
|  | setw -g pane-base-index 1 | ||||||
|  | 
 | ||||||
|  | # https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/ | ||||||
|  | set -g default-terminal "xterm-256color" | ||||||
|  | set -ga terminal-overrides ",*256col*:Tc" | ||||||
|  | set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q' | ||||||
|  | set-environment -g COLORTERM "truecolor" | ||||||
|  | 
 | ||||||
|  | # Mouse works as expected | ||||||
|  | set-option -g mouse on | ||||||
|  | # easy-to-remember split pane commands | ||||||
|  | bind | split-window -h -c "#{pane_current_path}" | ||||||
|  | bind - split-window -v -c "#{pane_current_path}" | ||||||
|  | 
 | ||||||
|  | # don't rename windows automatically | ||||||
|  | set-option -g allow-rename off | ||||||
|  | 
 | ||||||
|  | # DESIGN TWEAKS | ||||||
|  | 
 | ||||||
|  | # don't do anything when a 'bell' rings | ||||||
|  | set -g visual-activity off | ||||||
|  | set -g visual-bell off | ||||||
|  | set -g visual-silence off | ||||||
|  | setw -g monitor-activity off | ||||||
|  | set -g bell-action none | ||||||
|  | 
 | ||||||
|  | # clock mode | ||||||
|  | setw -g clock-mode-colour yellow | ||||||
|  | 
 | ||||||
|  | # copy mode | ||||||
|  | setw -g mode-style 'fg=black bg=green bold' | ||||||
|  | 
 | ||||||
|  | # panes | ||||||
|  | set -g pane-border-style 'fg=green' | ||||||
|  | set -g pane-active-border-style 'fg=yellow' | ||||||
|  | 
 | ||||||
|  | # statusbar | ||||||
|  | set -g status-position bottom | ||||||
|  | set -g status-justify left | ||||||
|  | set -g status-style 'fg=green' | ||||||
|  | 
 | ||||||
|  | set -g status-left '' | ||||||
|  | set -g status-left-length 10 | ||||||
|  | 
 | ||||||
|  | set -g status-right-style 'fg=black bg=yellow' | ||||||
|  | set -g status-right '%Y-%m-%d %H:%M ' | ||||||
|  | set -g status-right-length 50 | ||||||
|  | 
 | ||||||
|  | setw -g window-status-current-style 'fg=black bg=green' | ||||||
|  | setw -g window-status-current-format ' #I #W #F ' | ||||||
|  | 
 | ||||||
|  | setw -g window-status-style 'fg=green bg=black' | ||||||
|  | setw -g window-status-format ' #I #[fg=white]#W #[fg=yellow]#F ' | ||||||
|  | 
 | ||||||
|  | setw -g window-status-bell-style 'fg=yellow bg=green bold' | ||||||
|  | 
 | ||||||
|  | # messages | ||||||
|  | set -g message-style 'fg=yellow bg=green bold' | ||||||
|  | @ -88,7 +88,6 @@ | ||||||
|   # Enable the OpenSSH daemon. |   # Enable the OpenSSH daemon. | ||||||
|   services.openssh.enable = true; |   services.openssh.enable = true; | ||||||
|   networking.firewall.allowedTCPPorts = [ 22 ]; |   networking.firewall.allowedTCPPorts = [ 22 ]; | ||||||
|   sound.enable = false; |  | ||||||
| 
 | 
 | ||||||
|   programs.gnupg.agent.enable = true; |   programs.gnupg.agent.enable = true; | ||||||
|   programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses; |   programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses; | ||||||
|  |  | ||||||
|  | @ -9,7 +9,7 @@ | ||||||
|     # ../profiles/monitoring |     # ../profiles/monitoring | ||||||
|     ../profiles/nfs |     ../profiles/nfs | ||||||
|     ../profiles/gonic |     ../profiles/gonic | ||||||
|     # ../profiles/headphones # TODO broken on 23.11, see: https://github.com/rembo10/headphones/issues/3320 |     ../profiles/headphones  | ||||||
|     ../profiles/radicale |     ../profiles/radicale | ||||||
|     # ../profiles/seafile # waiting for https://github.com/NixOS/nixpkgs/pull/249523 to be merged |     # ../profiles/seafile # waiting for https://github.com/NixOS/nixpkgs/pull/249523 to be merged | ||||||
|     ../profiles/syncthing |     ../profiles/syncthing | ||||||
|  | @ -23,8 +23,10 @@ | ||||||
|     # ../profiles/woodpecker-agent |     # ../profiles/woodpecker-agent | ||||||
|     # ../profiles/jellyfin |     # ../profiles/jellyfin | ||||||
|     ../profiles/ulogger-server |     ../profiles/ulogger-server | ||||||
|     ../profiles/photoprism # Replace with immich |     ../profiles/immich | ||||||
|  |     ../profiles/jacket | ||||||
|     ../profiles/gpodder |     ../profiles/gpodder | ||||||
|  |     ../profiles/transmission | ||||||
|     #../profiles/postgres_upgrade_script |     #../profiles/postgres_upgrade_script | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|  | @ -32,7 +34,7 @@ | ||||||
|   age.secrets.borg-password.file = "${self}/secrets/borg-password.age"; |   age.secrets.borg-password.file = "${self}/secrets/borg-password.age"; | ||||||
|   services.postgresqlBackup = { |   services.postgresqlBackup = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     databases = [ "wallabag" "photoprism" "ulogger" ]; |     databases = [ "wallabag" "immich" "ulogger" ]; | ||||||
|     location = "/var/backup/postgresql"; |     location = "/var/backup/postgresql"; | ||||||
|   }; |   }; | ||||||
|   mossnet.backup = { |   mossnet.backup = { | ||||||
|  | @ -52,24 +54,6 @@ | ||||||
|     # seafile |     # seafile | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   services.transmission = { |  | ||||||
|     enable = true; |  | ||||||
|     settings = { |  | ||||||
|       rpc.bind-address = "0.0.0.0"; |  | ||||||
|       download-dir = "/mnt/two/new-music"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
|   services.nginx.virtualHosts."transmission.mossnet.lan" = { |  | ||||||
|     enableACME = false; |  | ||||||
|     forceSSL = false; |  | ||||||
| 
 |  | ||||||
|     locations."/" = { |  | ||||||
|       extraConfig = '' |  | ||||||
|         proxy_pass http://localhost:9091/; |  | ||||||
|         proxy_set_header X-Forwarded-Host $host; |  | ||||||
|       ''; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 | 
 | ||||||
|   services.nginx.virtualHosts."mast.mossnet.lan" = { |   services.nginx.virtualHosts."mast.mossnet.lan" = { | ||||||
|     enableACME = false; |     enableACME = false; | ||||||
|  |  | ||||||
|  | @ -34,7 +34,5 @@ | ||||||
|   #   keyMap = "us"; |   #   keyMap = "us"; | ||||||
|   # }; |   # }; | ||||||
| 
 | 
 | ||||||
|   sound.enable = true; |  | ||||||
| 
 |  | ||||||
|   services.libinput.enable = true; |   services.libinput.enable = true; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -21,7 +21,6 @@ | ||||||
| 
 | 
 | ||||||
|   # Enable the OpenSSH daemon. |   # Enable the OpenSSH daemon. | ||||||
|   services.openssh.enable = true; |   services.openssh.enable = true; | ||||||
|   sound.enable = false; |  | ||||||
| 
 | 
 | ||||||
|   # Define a user account. Don't forget to set a password with ‘passwd’. |   # Define a user account. Don't forget to set a password with ‘passwd’. | ||||||
|   # This value determines the NixOS release with which your system is to be |   # This value determines the NixOS release with which your system is to be | ||||||
|  |  | ||||||
|  | @ -30,6 +30,22 @@ | ||||||
|     privateKeyFile = "/run/agenix/helix-wg"; |     privateKeyFile = "/run/agenix/helix-wg"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |   # Reverse proxy for immich | ||||||
|  |   services.nginx.virtualHosts."photos.sealight.xyz" = { | ||||||
|  |     enableACME = true; | ||||||
|  |     forceSSL = true; | ||||||
|  | 
 | ||||||
|  |     locations."/" = { | ||||||
|  |       extraConfig = '' | ||||||
|  |         proxy_pass http://10.0.69.4:8567; | ||||||
|  |         proxy_set_header Host $host; | ||||||
|  |         proxy_set_header X-Real-IP $remote_addr; | ||||||
|  |         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||||
|  |         proxy_set_header X-Forwarded-Proto $scheme; | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|   services.postgresql.package = pkgs.postgresql_15; |   services.postgresql.package = pkgs.postgresql_15; | ||||||
|   services.postgresqlBackup = { |   services.postgresqlBackup = { | ||||||
|     # TODO needs working wireguard to box |     # TODO needs working wireguard to box | ||||||
|  |  | ||||||
|  | @ -19,8 +19,6 @@ | ||||||
|   # networking.proxy.default = "http://user:password@proxy:port/"; |   # networking.proxy.default = "http://user:password@proxy:port/"; | ||||||
|   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; | ||||||
| 
 | 
 | ||||||
|   sound.enable = false; |  | ||||||
| 
 |  | ||||||
|   # Define a user account. Don't forget to set a password with ‘passwd’. |   # Define a user account. Don't forget to set a password with ‘passwd’. | ||||||
|   # This value determines the NixOS release with which your system is to be |   # This value determines the NixOS release with which your system is to be | ||||||
|   # compatible, in order to avoid breaking some software such as database |   # compatible, in order to avoid breaking some software such as database | ||||||
|  |  | ||||||
|  | @ -60,7 +60,7 @@ in { | ||||||
|     #unstable.sublime-music |     #unstable.sublime-music | ||||||
|     # olm-3.2.16 is now insecure |     # olm-3.2.16 is now insecure | ||||||
|     # some reason I can't set insecure packages that will be respected |     # some reason I can't set insecure packages that will be respected | ||||||
|     nheko |     # nheko | ||||||
|     unstable.signal-desktop |     unstable.signal-desktop | ||||||
|     unstable.tuba |     unstable.tuba | ||||||
|     unstable.newsflash |     unstable.newsflash | ||||||
|  |  | ||||||
|  | @ -4,7 +4,6 @@ | ||||||
|     enable = true; |     enable = true; | ||||||
|     host = "0.0.0.0"; |     host = "0.0.0.0"; | ||||||
|     port = 8181; |     port = 8181; | ||||||
|     package = "${pkgs.unstable.headphones}"; |  | ||||||
|     user = "headphones"; |     user = "headphones"; | ||||||
|     group = "audio"; |     group = "audio"; | ||||||
|     dataDir = "/data/music"; |     dataDir = "/data/music"; | ||||||
|  |  | ||||||
							
								
								
									
										23
									
								
								hosts/profiles/immich/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								hosts/profiles/immich/default.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | ||||||
|  | { ... }: | ||||||
|  | { | ||||||
|  |   services.immich = { | ||||||
|  |     enable = true; | ||||||
|  |     database = { | ||||||
|  |       enable = true; | ||||||
|  |     }; | ||||||
|  |     host = "0.0.0.0"; | ||||||
|  |     port = 8567; | ||||||
|  |     mediaLocation = "/data/photos"; | ||||||
|  |     externalDomain = "https://photos.sealight.xyz"; | ||||||
|  |   }; | ||||||
|  |   services.nginx.virtualHosts."photos.mossnet.lan" = { | ||||||
|  |     enableACME = false; | ||||||
|  |     forceSSL = false; | ||||||
|  | 
 | ||||||
|  |     locations."/" = { | ||||||
|  |       extraConfig = '' | ||||||
|  |         proxy_pass http://127.0.0.1:8567/; | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										37
									
								
								hosts/profiles/jacket/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								hosts/profiles/jacket/default.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,37 @@ | ||||||
|  | { config, lib, pkgs, ... }: | ||||||
|  | { | ||||||
|  |   services.jackett = { | ||||||
|  |     enable = true; | ||||||
|  |     host = "0.0.0.0"; | ||||||
|  |     port = 8011; | ||||||
|  |     user = "jackett"; | ||||||
|  |     group = "transmission"; | ||||||
|  |   }; | ||||||
|  |   services.nginx.virtualHosts."jackett.mossnet.lan" = { | ||||||
|  |     enableACME = false; | ||||||
|  |     forceSSL = false; | ||||||
|  | 
 | ||||||
|  |     locations."/" = { | ||||||
|  |       extraConfig = '' | ||||||
|  |         proxy_pass http://127.0.0.1:8011/; | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |   services.lidarr = { | ||||||
|  |     enable = true; | ||||||
|  |     host = "0.0.0.0"; | ||||||
|  |     port = 8012; | ||||||
|  |     user = "lidarr"; | ||||||
|  |     group = "transmission"; | ||||||
|  |   }; | ||||||
|  |   services.nginx.virtualHosts."lidarr.mossnet.lan" = { | ||||||
|  |     enableACME = false; | ||||||
|  |     forceSSL = false; | ||||||
|  | 
 | ||||||
|  |     locations."/" = { | ||||||
|  |       extraConfig = '' | ||||||
|  |         proxy_pass http://127.0.0.1:8012/; | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -19,34 +19,34 @@ | ||||||
|     homeserverURL = "https://sealight.xyz/"; |     homeserverURL = "https://sealight.xyz/"; | ||||||
|     homeserverDomain = "sealight.xyz"; |     homeserverDomain = "sealight.xyz"; | ||||||
|     services = { |     services = { | ||||||
|       whatsapp = { |       # whatsapp = { | ||||||
|         port = 29183; |       #   port = 29183; | ||||||
|         format = "mautrix-go"; |       #   format = "mautrix-go"; | ||||||
|         package = pkgs.mautrix-whatsapp; |       #   package = pkgs.mautrix-whatsapp; | ||||||
|       }; |       # }; | ||||||
| 
 | 
 | ||||||
|       discord = { |       # discord = { | ||||||
|         port = 29188; |       #   port = 29188; | ||||||
|         format = "mautrix-go"; |       #   format = "mautrix-go"; | ||||||
|         package = pkgs.my-mautrix-discord; |       #   package = pkgs.unstable.mautrix-discord; | ||||||
|       }; |       # }; | ||||||
| 
 | 
 | ||||||
|       signal = { |       # signal = { | ||||||
|         port = 29184; |       #   port = 29184; | ||||||
|         format = "mautrix-python"; |       #   format = "mautrix-python"; | ||||||
|         package = pkgs.unstable.mautrix-signal; |       #   package = pkgs.unstable.mautrix-signal; | ||||||
|         serviceConfig = { |       #   serviceConfig = { | ||||||
|           StateDirectory = [ "matrix-as-signal" "signald" ]; |       #     StateDirectory = [ "matrix-as-signal" "signald" ]; | ||||||
|           SupplementaryGroups = [ "signald" ]; |       #     SupplementaryGroups = [ "signald" ]; | ||||||
|           TimeoutStopSec = 1; # work around the service ignoring SIGTERM, see https://gitlab.com/coffeetables/nix-matrix-appservices/-/issues/12 |       #     TimeoutStopSec = 1; # work around the service ignoring SIGTERM, see https://gitlab.com/coffeetables/nix-matrix-appservices/-/issues/12 | ||||||
|           User = lib.mkForce config.services.signald.user; |       #     User = lib.mkForce config.services.signald.user; | ||||||
|           Group = lib.mkForce config.services.signald.group; |       #     Group = lib.mkForce config.services.signald.group; | ||||||
|         }; |       #   }; | ||||||
|         settings.signal = { |       #   settings.signal = { | ||||||
|           socket_path = config.services.signald.socketPath; |       #     socket_path = config.services.signald.socketPath; | ||||||
|           outgoing_attachment_dir = "/var/lib/signald/tmp"; |       #     outgoing_attachment_dir = "/var/lib/signald/tmp"; | ||||||
|         }; |       #   }; | ||||||
|       }; |       # }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ | ||||||
|     # Plugins |     # Plugins | ||||||
|     helm |     helm | ||||||
|     # surge |     # surge | ||||||
|     distrho |     # distrho | ||||||
|     orca-c |     orca-c | ||||||
|     supercollider |     supercollider | ||||||
|     dirt |     dirt | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								hosts/profiles/transmission/beet-import.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								hosts/profiles/transmission/beet-import.sh
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | beet import -ql "$TR_TORRENT_DIR" | ||||||
							
								
								
									
										33
									
								
								hosts/profiles/transmission/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								hosts/profiles/transmission/default.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  |   services.transmission = { | ||||||
|  |     enable = true; | ||||||
|  |     settings = { | ||||||
|  |       rpc-enabled = true; | ||||||
|  |       rpc-bind-address = "0.0.0.0"; | ||||||
|  |       rpc-whitelist-enabled = false; | ||||||
|  |       script-torrent-done-enabled = true; | ||||||
|  |       # Normally, I would write this into the homedir with home-manager | ||||||
|  |       # And explictly set the dir to be the output of the home-manager location | ||||||
|  |       # But this seems better, if it'll work? | ||||||
|  |       script-torrent-done-filename = pkgs.writeShellScript "beet-import.sh" '' | ||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | beet import -ql "$TR_TORRENT_DIR" | ||||||
|  |       ''; | ||||||
|  |       rpc-url = "/transmission/rpc/"; | ||||||
|  |       download-dir = "/mnt/two/new-music"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |   services.nginx.virtualHosts."transmission.mossnet.lan" = { | ||||||
|  |     enableACME = false; | ||||||
|  |     forceSSL = false; | ||||||
|  | 
 | ||||||
|  |     locations."/" = { | ||||||
|  |       extraConfig = '' | ||||||
|  |         proxy_pass http://localhost:9091/; | ||||||
|  |         proxy_set_header X-Forwarded-Host $host; | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -6,11 +6,11 @@ | ||||||
|   tic-80 = pkgs.callPackage ./tic-80.nix { }; |   tic-80 = pkgs.callPackage ./tic-80.nix { }; | ||||||
|   fennel-ls = pkgs.callPackage ./fennel-ls.nix { }; |   fennel-ls = pkgs.callPackage ./fennel-ls.nix { }; | ||||||
|   # kobopatch = pkgs.callPackage ./kobopatch.nix { }; |   # kobopatch = pkgs.callPackage ./kobopatch.nix { }; | ||||||
|   my-mautrix-discord = pkgs.callPackage ./mautrix-discord.nix { }; # Handled by matrix-appservices input |   # my-mautrix-discord = pkgs.callPackage ./mautrix-discord.nix { }; # Handled by matrix-appservices input | ||||||
|   ulogger-server = pkgs.callPackage ./ulogger.nix { }; |   ulogger-server = pkgs.callPackage ./ulogger.nix { }; | ||||||
|   # Wallabag is now an overlay |   # Wallabag is now an overlay | ||||||
|   # TODO: we still use the patch from this folder though |   # TODO: we still use the patch from this folder though | ||||||
|   my-wallabag = pkgs.callPackage ./wallabag.nix { }; |   my-wallabag = pkgs.callPackage ./wallabag.nix { }; | ||||||
|   mautrix-slack = pkgs.callPackage ./mautrix-slack.nix { };  |   # mautrix-slack = pkgs.callPackage ./mautrix-slack.nix { };  | ||||||
|   gpodder2go = pkgs.callPackage ./gpodder2go.nix { };  |   gpodder2go = pkgs.callPackage ./gpodder2go.nix { };  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -33,7 +33,7 @@ pkgs.stdenv.mkDerivation rec { | ||||||
|     mesa_glu |     mesa_glu | ||||||
|     mesa_glu |     mesa_glu | ||||||
|     freeglut |     freeglut | ||||||
|   ] ++ lib.optional stdenv.isLinux alsaLib; |   ] ++ lib.optional stdenv.isLinux alsa-lib; | ||||||
| 
 | 
 | ||||||
|   configurePhase = '' |   configurePhase = '' | ||||||
|     echo [DIRECTORY] $(pwd) |     echo [DIRECTORY] $(pwd) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue