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
|
||||
index 347197e..902b558 100644
|
||||
--- a/app/AppKernel.php
|
||||
+++ b/app/AppKernel.php
|
||||
@@ -69,19 +69,24 @@ class AppKernel extends Kernel
|
||||
return __DIR__;
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
{
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
|
||||
# Ensure the database, user, and permissions always exist
|
||||
ensureDatabases = [ "wallabag" ];
|
||||
ensureUsers = [
|
||||
{ name = "wallabag";
|
||||
ensurePermissions."DATABASE wallabag" = "ALL PRIVILEGES";
|
||||
}
|
||||
|
||||
+ 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) {
|
||||
];
|
||||
};
|
||||
|
||||
services.wallabag = {
|
||||
enable = true;
|
||||
hostName = "read.mossnet.lan";
|
||||
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 ];
|
||||
}
|
||||
|
|
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 = {
|
||||
enable = true;
|
||||
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;
|
||||
networking.firewall.allowedUDPPorts = [ 60990 ];
|
||||
|
||||
# Enable WireGuard
|
||||
networking.wireguard.interfaces = {
|
||||
# "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;
|
||||
# } ];
|
||||
# };
|
||||
# };
|
||||
services.taskserver.enable = true;
|
||||
services.taskserver.fqdn = "task.moss";
|
||||
services.taskserver.listenHost = "0.0.0.0";
|
||||
services.taskserver.listenPort = 53589;
|
||||
services.taskserver.organisations.mossnet.users = [ "anish" ];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue