cleaning up
This commit is contained in:
		
							parent
							
								
									e950234ee1
								
							
						
					
					
						commit
						f28a92db30
					
				|  | @ -1,9 +0,0 @@ | ||||||
| { config, lib, pkgs, ... }: |  | ||||||
| { |  | ||||||
|   services.navidrome.enable = true; |  | ||||||
|   services.navidrome.settings = { |  | ||||||
|     MusicFolder = "/data/music"; |  | ||||||
|     Port = 4433; |  | ||||||
|   }; |  | ||||||
|   networking.firewall.allowedTCPPorts = [ 4433 ]; |  | ||||||
| } |  | ||||||
|  | @ -1,31 +1,98 @@ | ||||||
| diff --git a/app/AppKernel.php b/app/AppKernel.php | { pkgs, config, lib, ... }: | ||||||
| index 347197e..902b558 100644 |  | ||||||
| --- a/app/AppKernel.php |  | ||||||
| +++ b/app/AppKernel.php |  | ||||||
| @@ -69,19 +69,24 @@ class AppKernel extends Kernel |  | ||||||
|          return __DIR__; |  | ||||||
|      } |  | ||||||
| 
 | 
 | ||||||
| +    public function getProjectDir() |  | ||||||
| +    { |  | ||||||
| +        return getenv('WALLABAG_DATA') ?: dirname(__DIR__); |  | ||||||
| +    } |  | ||||||
| + |  | ||||||
|      public function getCacheDir() |  | ||||||
| { | { | ||||||
| -        return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment(); |   services.postgresql = { | ||||||
| +        return $this->getProjectDir() . '/var/cache/' . $this->getEnvironment(); |     enable = true; | ||||||
|  | 
 | ||||||
|  |     # Ensure the database, user, and permissions always exist | ||||||
|  |     ensureDatabases = [ "wallabag" ]; | ||||||
|  |     ensureUsers = [ | ||||||
|  |      { name = "wallabag"; | ||||||
|  |        ensurePermissions."DATABASE wallabag" = "ALL PRIVILEGES"; | ||||||
|      } |      } | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
| 
 | 
 | ||||||
|      public function getLogDir() |   services.wallabag = { | ||||||
|      { |     enable = true; | ||||||
| -        return dirname(__DIR__) . '/var/logs'; |     hostName = "read.mossnet.lan"; | ||||||
| +        return $this->getProjectDir() . '/var/logs'; |     package = pkgs.callPackage ./pkg-wallabag.nix {}; | ||||||
|  |     conf = '' | ||||||
|  | # This file is a "template" of what your parameters.yml file should look like | ||||||
|  | parameters: | ||||||
|  |     # Uncomment these settings or manually update your parameters.yml | ||||||
|  |     # to use docker-compose | ||||||
|  |     # | ||||||
|  |     # database_driver: %env.database_driver% | ||||||
|  |     # database_host: %env.database_host% | ||||||
|  |     # database_port: %env.database_port% | ||||||
|  |     # database_name: %env.database_name% | ||||||
|  |     # database_user: %env.database_user% | ||||||
|  |     # database_password: %env.database_password% | ||||||
|  | 
 | ||||||
|  |     database_driver: pdo_pgsql | ||||||
|  |     database_host: localhost | ||||||
|  |     database_port: ~ | ||||||
|  |     database_name: wallabag | ||||||
|  |     database_user: wallabag | ||||||
|  |     database_password: wallabag  | ||||||
|  |     # For SQLite, database_path should be "%kernel.project_dir%/data/db/wallabag.sqlite" | ||||||
|  |     database_path: ~ | ||||||
|  |     database_table_prefix: wallabag_ | ||||||
|  |     database_socket: null | ||||||
|  |     # with PostgreSQL and SQLite, you must set "utf8" | ||||||
|  |     database_charset: utf8 | ||||||
|  | 
 | ||||||
|  |     domain_name: http://read.mossnet.lan | ||||||
|  |     server_name: "mossnet wallabag instance" | ||||||
|  | 
 | ||||||
|  |     mailer_transport:  smtp | ||||||
|  |     mailer_user:       ~ | ||||||
|  |     mailer_password:   ~ | ||||||
|  |     mailer_host:       127.0.0.1 | ||||||
|  |     mailer_port:       false | ||||||
|  |     mailer_encryption: ~ | ||||||
|  |     mailer_auth_mode:  ~ | ||||||
|  | 
 | ||||||
|  |     locale: en | ||||||
|  | 
 | ||||||
|  |     # A secret key that's used to generate certain security-related tokens | ||||||
|  |     secret: SAFGOECRIlfal89oe6u0(*^dsaaih961 | ||||||
|  | 
 | ||||||
|  |     # two factor stuff | ||||||
|  |     twofactor_auth: true | ||||||
|  |     twofactor_sender: no-reply@wallabag.org | ||||||
|  | 
 | ||||||
|  |     # fosuser stuff | ||||||
|  |     fosuser_registration: true | ||||||
|  |     fosuser_confirmation: true | ||||||
|  | 
 | ||||||
|  |     # how long the access token should live in seconds for the API | ||||||
|  |     fos_oauth_server_access_token_lifetime: 3600 | ||||||
|  |     # how long the refresh token should life in seconds for the API | ||||||
|  |     fos_oauth_server_refresh_token_lifetime: 1209600 | ||||||
|  | 
 | ||||||
|  |     from_email: no-reply@wallabag.org | ||||||
|  | 
 | ||||||
|  |     rss_limit: 50 | ||||||
|  | 
 | ||||||
|  |     # RabbitMQ processing | ||||||
|  |     rabbitmq_host: localhost | ||||||
|  |     rabbitmq_port: 5672 | ||||||
|  |     rabbitmq_user: guest | ||||||
|  |     rabbitmq_password: guest | ||||||
|  |     rabbitmq_prefetch_count: 10 | ||||||
|  | 
 | ||||||
|  |     # Redis processing | ||||||
|  |     redis_scheme: tcp | ||||||
|  |     redis_host: localhost | ||||||
|  |     redis_port: 6379 | ||||||
|  |     redis_path: null | ||||||
|  |     redis_password: null | ||||||
|  | 
 | ||||||
|  |     # sentry logging | ||||||
|  |     sentry_dsn: ~ | ||||||
|  | ''; | ||||||
|  |   }; | ||||||
|  |   # networking.firewall.allowedTCPPorts = [ 8080 ]; | ||||||
| }  | }  | ||||||
|   |  | ||||||
|      public function registerContainerConfiguration(LoaderInterface $loader) |  | ||||||
|      { |  | ||||||
| -        $loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml'); |  | ||||||
| +        $loader->load($this->getProjectDir() . '/app/config/config_' . $this->getEnvironment() . '.yml'); |  | ||||||
|   |  | ||||||
|          $loader->load(function ($container) { |  | ||||||
|  |  | ||||||
							
								
								
									
										31
									
								
								pkgs/wallabag.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								pkgs/wallabag.patch
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | ||||||
|  | diff --git a/app/AppKernel.php b/app/AppKernel.php
 | ||||||
|  | index 347197e..902b558 100644
 | ||||||
|  | --- a/app/AppKernel.php
 | ||||||
|  | +++ b/app/AppKernel.php
 | ||||||
|  | @@ -69,19 +69,24 @@ class AppKernel extends Kernel
 | ||||||
|  |          return __DIR__; | ||||||
|  |      } | ||||||
|  |   | ||||||
|  | +    public function getProjectDir()
 | ||||||
|  | +    {
 | ||||||
|  | +        return getenv('WALLABAG_DATA') ?: dirname(__DIR__);
 | ||||||
|  | +    }
 | ||||||
|  | +
 | ||||||
|  |      public function getCacheDir() | ||||||
|  |      { | ||||||
|  | -        return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
 | ||||||
|  | +        return $this->getProjectDir() . '/var/cache/' . $this->getEnvironment();
 | ||||||
|  |      } | ||||||
|  |   | ||||||
|  |      public function getLogDir() | ||||||
|  |      { | ||||||
|  | -        return dirname(__DIR__) . '/var/logs';
 | ||||||
|  | +        return $this->getProjectDir() . '/var/logs';
 | ||||||
|  |      } | ||||||
|  |   | ||||||
|  |      public function registerContainerConfiguration(LoaderInterface $loader) | ||||||
|  |      { | ||||||
|  | -        $loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml');
 | ||||||
|  | +        $loader->load($this->getProjectDir() . '/app/config/config_' . $this->getEnvironment() . '.yml');
 | ||||||
|  |   | ||||||
|  |          $loader->load(function ($container) { | ||||||
|  | @ -1,120 +0,0 @@ | ||||||
| { config, pkgs, ... }: |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
| 	imports = [ |  | ||||||
| 		./nvim.nix |  | ||||||
| #	  ./unstable.nix |  | ||||||
| 	]; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	environment.systemPackages = with pkgs; [ |  | ||||||
|     tailscale |  | ||||||
| 		htop |  | ||||||
|     fzf |  | ||||||
| 		iftop |  | ||||||
| 		wget |  | ||||||
| 		curl |  | ||||||
|     exa |  | ||||||
|     bat |  | ||||||
|     fd |  | ||||||
|     ag |  | ||||||
|     wpa_supplicant |  | ||||||
| 		tcpdump |  | ||||||
| 		whois |  | ||||||
| 		mtr |  | ||||||
| 		file |  | ||||||
| 		lsof |  | ||||||
| 	  atool |  | ||||||
| 		inotify-tools |  | ||||||
| 	  strace |  | ||||||
| 		zip |  | ||||||
| 		unzip |  | ||||||
| 		rsync |  | ||||||
| 		tmux |  | ||||||
| 		pwgen |  | ||||||
| 	  glow |  | ||||||
|     jq |  | ||||||
| 		gitAndTools.gitFull |  | ||||||
| 	  #neovim defined in ./nvim.nix |  | ||||||
| 	 # wofi |  | ||||||
| 	#	firefox |  | ||||||
| 	#	fractal |  | ||||||
| 	 # pinentry_gnome |  | ||||||
|    pinentry_curses |  | ||||||
| 		pass |  | ||||||
| 		gcc |  | ||||||
| 		less |  | ||||||
| 	#	mpv |  | ||||||
| 	#	zathura |  | ||||||
| 	  #qmk_firmware |  | ||||||
| 		python3 |  | ||||||
| 	  gdb |  | ||||||
| 	 # vcv-rack |  | ||||||
| 	  #xdotool |  | ||||||
| 	  #neofetch |  | ||||||
| 	  #calibre |  | ||||||
| 		#openvpn |  | ||||||
| 	  #gimp |  | ||||||
| 	  xxd |  | ||||||
| 	#	tilix |  | ||||||
| 	 # kitty |  | ||||||
| 		taskwarrior |  | ||||||
| 		gnupg |  | ||||||
| 	  openjdk |  | ||||||
| 		glslviewer |  | ||||||
|     #filezilla |  | ||||||
| 	#	signal-desktop |  | ||||||
| 	 # wire-desktop |  | ||||||
| 	#	tdesktop |  | ||||||
| 	#	feedreader |  | ||||||
|     #newsflash |  | ||||||
| #		syncthing |  | ||||||
| 	  dijo |  | ||||||
| 	  #ssb-patchwork |  | ||||||
|     #gnomeExtensions.taskwhisperer |  | ||||||
| 	  #gnome3.networkmanager-openvpn |  | ||||||
| 		#python3Packages.youtube-dl |  | ||||||
|     #appimage-run |  | ||||||
| 	  home-manager |  | ||||||
| 		libreoffice |  | ||||||
| 		fontconfig |  | ||||||
|     #hugo |  | ||||||
| 	  #processing |  | ||||||
| 	  #nextcloud-client |  | ||||||
| 	  zsh-powerlevel10k |  | ||||||
| 	  powerline-fonts |  | ||||||
| 	  supercollider |  | ||||||
| 	  haskellPackages.tidal |  | ||||||
| 	  pandoc |  | ||||||
|    # calibre |  | ||||||
| 	]; |  | ||||||
| 
 |  | ||||||
| 	programs.bash.enableCompletion = true; |  | ||||||
| 
 |  | ||||||
|   programs.gnupg.agent.enable = true; |  | ||||||
|   programs.gnupg.agent.pinentryFlavor = "curses"; |  | ||||||
|   programs.gnupg.agent.enableSSHSupport = true; |  | ||||||
| 	# needed for vcv-rack |  | ||||||
| 	nixpkgs.config.allowUnfree = true;  |  | ||||||
| 
 |  | ||||||
| 	system.copySystemConfiguration = true; |  | ||||||
|   #services.syncthing = { |  | ||||||
| 	#  enable = true; |  | ||||||
| 	#  openDefaultPorts = true; |  | ||||||
| 	#  systemService = true; |  | ||||||
| 	#  user    = "anish"; |  | ||||||
| 	#  dataDir = "/home/anish/usr/syncthing"; |  | ||||||
| 	#}; |  | ||||||
| 
 |  | ||||||
| 	#zsh powerlevel10k |  | ||||||
|   #programs.zsh.enable = true; |  | ||||||
| 	#programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; |  | ||||||
| 	users.users.anish.shell = pkgs.bash; |  | ||||||
| 
 |  | ||||||
| 	#android  |  | ||||||
| 	programs.adb.enable = true; |  | ||||||
| 	users.users.anish.extraGroups = ["adbusers"]; |  | ||||||
| 
 |  | ||||||
|   #ssh |  | ||||||
|   services.sshd.enable = true; |  | ||||||
| } |  | ||||||
|  | @ -1,28 +0,0 @@ | ||||||
| {config, pkgs, ...}: |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
| 	imports = [ |  | ||||||
|     ./taskd.nix |  | ||||||
| 	  ./nextcloud.nix |  | ||||||
| 	  ./networking.nix |  | ||||||
| 	  ./wireguard.nix |  | ||||||
| 	  ./shaarli.nix |  | ||||||
| ##	  ./navidrome.nix |  | ||||||
| ##	  ./pkg-navidrome.nix |  | ||||||
| 	  ./mod-wallabag.nix |  | ||||||
| 	  ./wallabag.nix |  | ||||||
| 	  ./headphones.nix |  | ||||||
| 	  ./dns.nix |  | ||||||
| 	  ./backup.nix |  | ||||||
| 	  ./monitoring.nix |  | ||||||
| 	  ./dev.nix |  | ||||||
| 	  ./gonic.nix |  | ||||||
| 	  ./module-gonic.nix |  | ||||||
| #    ./rss-bridge.nix |  | ||||||
| #    ./pkg-grasp.nix |  | ||||||
| #    ./mod-grasp.nix |  | ||||||
|     ./cron.nix |  | ||||||
|     ./ftp.nix |  | ||||||
|     ./nfs.nix |  | ||||||
| 		]; |  | ||||||
| } |  | ||||||
|  | @ -4,7 +4,9 @@ | ||||||
|   services.cron = { |   services.cron = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     systemCronJobs = [ |     systemCronJobs = [ | ||||||
|       "* */24 * * * *     anish     ~/get-music.sh" |       "* */24 * * * *     anish     /etc/get-music.sh" | ||||||
|     ]; |     ]; | ||||||
|   }; |   }; | ||||||
|  |   environment.etc."get-music.sh".text = builtins.readFile "./get-music.sh"; | ||||||
|  |   evironment.systemPackages = [ pkgs.rsync ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,61 +1,9 @@ | ||||||
| { config, pkgs, lib, ... }: | { config, pkgs, ... }: | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   services.tailscale.enable = true; |   services.taskserver.enable = true; | ||||||
|   networking.firewall.allowedUDPPorts = [ 60990 ]; |   services.taskserver.fqdn = "task.moss"; | ||||||
| 
 |   services.taskserver.listenHost = "0.0.0.0"; | ||||||
|   # Enable WireGuard |   services.taskserver.listenPort = 53589; | ||||||
|   networking.wireguard.interfaces = { |   services.taskserver.organisations.mossnet.users = [ "anish" ]; | ||||||
|     # "wg0" is the network interface name. You can name the interface arbitrarily. |  | ||||||
|     wg0 = { |  | ||||||
|       # Determines the IP address and subnet of the client's end of the tunnel interface. |  | ||||||
|       ips = [ "10.0.69.4/24" ]; |  | ||||||
|       listenPort = 60990; # to match firewall allowedUDPPorts (without this wg uses random port numbers) |  | ||||||
| 
 |  | ||||||
|       # Path to the private key file. |  | ||||||
|       # |  | ||||||
|       # Note: The private key can also be included inline via the privateKey option, |  | ||||||
|       # but this makes the private key world-readable; thus, using privateKeyFile is |  | ||||||
|       # recommended. |  | ||||||
|       privateKeyFile = "/home/anish/wg/privkey"; |  | ||||||
| 
 |  | ||||||
|       peers = [ |  | ||||||
|         # For a client configuration, one peer entry for the server will suffice. |  | ||||||
|         { |  | ||||||
|           # Public key of the server (not a file path). |  | ||||||
|           publicKey = "c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI="; |  | ||||||
| 
 |  | ||||||
|           # Forward all the traffic via VPN. |  | ||||||
|           allowedIPs = [ "10.0.69.0/24" ]; |  | ||||||
|           # Or forward only particular subnets |  | ||||||
|           #allowedIPs = [ "10.100.0.1" "91.108.12.0/22" ]; |  | ||||||
| 
 |  | ||||||
|           # Set this to the server IP and port. |  | ||||||
|           endpoint = "sealight.xyz:60990"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577 |  | ||||||
| 
 |  | ||||||
|           # Send keepalives every 25 seconds. Important to keep NAT tables alive. |  | ||||||
|           persistentKeepalive = 25; |  | ||||||
|         } |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
| #  boot.extraModulePackages = with config.boot.kernelPackages; [ wireguard ]; |  | ||||||
| #  environment.systemPackages = [ pkgs.wireguard ]; |  | ||||||
| #  networking.wireguard.enable = true; |  | ||||||
| #  networking.wireguard.interfaces = { |  | ||||||
| #    wg0 = { |  | ||||||
| #      ips = [ "10.0.69.4/32" ]; |  | ||||||
| #      privateKeyFile = "/home/anish/wg/privkey"; |  | ||||||
| #      listenPort = 60990; |  | ||||||
| # |  | ||||||
| #      peers = [ |  | ||||||
| #        { # helix - server |  | ||||||
| #          publicKey = "{c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI=}"; |  | ||||||
| #          allowedIPs = [ "10.0.69.1/24" ]; |  | ||||||
| #          endpoint = "sealight.xyz:60990"; |  | ||||||
| #          persistentKeepalive = 25; |  | ||||||
| #        } ]; |  | ||||||
| #    }; |  | ||||||
| #  }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue