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
|
services.postgresql = {
|
||||||
@@ -69,19 +69,24 @@ class AppKernel extends Kernel
|
enable = true;
|
||||||
return __DIR__;
|
|
||||||
|
# Ensure the database, user, and permissions always exist
|
||||||
|
ensureDatabases = [ "wallabag" ];
|
||||||
|
ensureUsers = [
|
||||||
|
{ name = "wallabag";
|
||||||
|
ensurePermissions."DATABASE wallabag" = "ALL PRIVILEGES";
|
||||||
}
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
+ public function getProjectDir()
|
services.wallabag = {
|
||||||
+ {
|
enable = true;
|
||||||
+ return getenv('WALLABAG_DATA') ?: dirname(__DIR__);
|
hostName = "read.mossnet.lan";
|
||||||
+ }
|
package = pkgs.callPackage ./pkg-wallabag.nix {};
|
||||||
+
|
conf = ''
|
||||||
public function getCacheDir()
|
# This file is a "template" of what your parameters.yml file should look like
|
||||||
{
|
parameters:
|
||||||
- return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
|
# Uncomment these settings or manually update your parameters.yml
|
||||||
+ return $this->getProjectDir() . '/var/cache/' . $this->getEnvironment();
|
# 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%
|
||||||
|
|
||||||
public function getLogDir()
|
database_driver: pdo_pgsql
|
||||||
{
|
database_host: localhost
|
||||||
- return dirname(__DIR__) . '/var/logs';
|
database_port: ~
|
||||||
+ return $this->getProjectDir() . '/var/logs';
|
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
|
||||||
|
|
||||||
public function registerContainerConfiguration(LoaderInterface $loader)
|
domain_name: http://read.mossnet.lan
|
||||||
{
|
server_name: "mossnet wallabag instance"
|
||||||
- $loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml');
|
|
||||||
+ $loader->load($this->getProjectDir() . '/app/config/config_' . $this->getEnvironment() . '.yml');
|
|
||||||
|
|
||||||
$loader->load(function ($container) {
|
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 ];
|
||||||
|
}
|
||||||
|
|
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