emergency commit
This commit is contained in:
parent
296ce20ef6
commit
d0d7d8c9a8
|
@ -1,23 +1,27 @@
|
||||||
{
|
{
|
||||||
# https://docs.pipewire.org/page_module_raop_discover.html
|
# https://docs.pipewire.org/page_module_raop_discover.html
|
||||||
services.pipewire.extraConfig.pipewire."92-raop-discover" = {
|
services.pipewire.raopOpenFirewall = true;
|
||||||
|
hardware.pulseaudio.zeroconf.discovery.enable = true;
|
||||||
|
services.pipewire.extraConfig.pipewire."zz_raop-discover" = {
|
||||||
"context.modules" = [
|
"context.modules" = [
|
||||||
{
|
{
|
||||||
name = "libpipewire-raop-discover";
|
name = "libpipewire-module-raop-discover";
|
||||||
args = {
|
#args = {
|
||||||
"stream.rules" = [
|
# #"roap.discover-local" = true;
|
||||||
{ matches = [
|
# #"raop.discover-local" = true;
|
||||||
{ raop.ip = "~.*";
|
# "stream.rules" = [
|
||||||
}
|
# { matches = [
|
||||||
];
|
# { raop.ip = "~.*";
|
||||||
actions = {
|
# }
|
||||||
create-stream = {
|
# ];
|
||||||
stream.props = {};
|
# actions = {
|
||||||
};
|
# create-stream = {
|
||||||
};
|
# stream.props = {};
|
||||||
}
|
# };
|
||||||
];
|
# };
|
||||||
};
|
# }
|
||||||
|
# ];
|
||||||
|
#};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -49,7 +49,7 @@ with lib;
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.bash.enableCompletion = true;
|
#programs.bash.completion.enable = true;
|
||||||
|
|
||||||
environment.shellAliases = {
|
environment.shellAliases = {
|
||||||
# TODO: see .aliases
|
# TODO: see .aliases
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
image = "hadogenes/screeenly";
|
image = "hadogenes/screeenly";
|
||||||
ports = [ "127.0.0.1:8122:80" ];
|
ports = [ "127.0.0.1:8122:80" ];
|
||||||
environment = {
|
environment = {
|
||||||
|
APP_KEY = "herpderp";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config,...}:
|
{ pkgs, lib, config,...}:
|
||||||
let
|
let
|
||||||
port = 14322;
|
port = 14322;
|
||||||
fqdn = "wiki.euer.krebsco.de";
|
fqdn = "wiki.euer.krebsco.de";
|
||||||
|
@ -9,13 +9,16 @@ in {
|
||||||
locations."/".proxyPass = "http://localhost:${toString port}";
|
locations."/".proxyPass = "http://localhost:${toString port}";
|
||||||
};
|
};
|
||||||
sops.secrets.tiddlywiki-creds = { };
|
sops.secrets.tiddlywiki-creds = { };
|
||||||
systemd.services.tiddlywiki.serviceConfig.LoadCredential= "creds:${config.sops.secrets.tiddlywiki-creds}";
|
systemd.services.tiddlywiki.path = [ pkgs.coreutils-full ];
|
||||||
|
systemd.services.tiddlywiki.serviceConfig.LoadCredential= "creds:${config.sops.secrets.tiddlywiki-creds.path}";
|
||||||
services.tiddlywiki = {
|
services.tiddlywiki = {
|
||||||
enable = true;
|
enable = true;
|
||||||
listenOptions = {
|
listenOptions = {
|
||||||
inherit port;
|
inherit port;
|
||||||
credentials = "$CREDENTIALS_DIRECTORY/creds";
|
credentials = "\${CREDENTIALS_DIRECTORY}/creds";
|
||||||
readers = "(anon)";
|
readers = "(anon)";
|
||||||
|
writers = "makefu,samu";
|
||||||
|
admin = "makefu";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -50,8 +50,8 @@
|
||||||
ReplaceWithRegister # For better copying/replacing
|
ReplaceWithRegister # For better copying/replacing
|
||||||
polyglot # Language pack
|
polyglot # Language pack
|
||||||
vim-indent-guides # for displaying indent levels
|
vim-indent-guides # for displaying indent levels
|
||||||
deoplete-nvim # general autocompletion
|
#deoplete-nvim # general autocompletion
|
||||||
deoplete-go
|
#deoplete-go
|
||||||
ale
|
ale
|
||||||
molokai # color scheme
|
molokai # color scheme
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ disk ? "/dev/nvme0n1", hostId, ... }:
|
{ config,disk ? "/dev/nvme0n1", hostId, ... }:
|
||||||
{
|
{
|
||||||
services.zfs.autoScrub.enable = true;
|
services.zfs.autoScrub.enable = true;
|
||||||
boot.zfs.requestEncryptionCredentials = true;
|
boot.zfs.requestEncryptionCredentials = true;
|
||||||
|
@ -6,6 +6,10 @@
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
networking.hostId = hostId;
|
networking.hostId = hostId;
|
||||||
|
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
||||||
|
|
||||||
|
# reduce ARC to 2GB
|
||||||
|
boot.kernelParams = [ "zfs.zfs_arc_max=2884901888" ];
|
||||||
|
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk = {
|
disk = {
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
imports = [
|
imports = [
|
||||||
{
|
{
|
||||||
home-manager.users.makefu.home.packages = [
|
home-manager.users.makefu.home.packages = [
|
||||||
(pkgs.writers.writeDashBin "privatefox" "exec firefox -P Privatefox")
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{ # bat
|
{ # bat
|
||||||
|
|
|
@ -7,7 +7,7 @@ in
|
||||||
pkg
|
pkg
|
||||||
];
|
];
|
||||||
systemd.services.mausdownload = {
|
systemd.services.mausdownload = {
|
||||||
startAt = "daily";
|
startAt = "6:15:00";
|
||||||
path = [ pkg ];
|
path = [ pkg ];
|
||||||
script = "mausdownload.sh /media/silent/music/kinder/hoerbucher";
|
script = "mausdownload.sh /media/silent/music/kinder/hoerbucher";
|
||||||
serviceConfig= {
|
serviceConfig= {
|
||||||
|
|
|
@ -3,23 +3,24 @@ let
|
||||||
port = 8096;
|
port = 8096;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.jellyfin.enable = true;
|
services.jellyfin.enable = true;
|
||||||
# services.jellyfin.openFirewall = true;
|
services.jellyfin.group = "download";
|
||||||
networking.firewall.interfaces.wiregrill = {
|
# services.jellyfin.openFirewall = true;
|
||||||
allowedTCPPorts = [ 80 port 8920 ];
|
networking.firewall.interfaces.wiregrill = {
|
||||||
allowedUDPPorts = [ 1900 7359 ];
|
allowedTCPPorts = [ 80 port 8920 ];
|
||||||
};
|
allowedUDPPorts = [ 1900 7359 ];
|
||||||
state = [ "/var/lib/jellyfin" ];
|
};
|
||||||
users.users.${config.services.jellyfin.user}.extraGroups = [ "download" "video" "render" ];
|
state = [ "/var/lib/jellyfin" ];
|
||||||
|
users.users.${config.services.jellyfin.user}.extraGroups = [ "download" "video" "render" ];
|
||||||
|
|
||||||
systemd.services.jellyfin = {
|
systemd.services.jellyfin = {
|
||||||
after = [ "media-cloud.mount" ];
|
after = [ "media-cloud.mount" ];
|
||||||
serviceConfig = rec {
|
serviceConfig = rec {
|
||||||
RequiresMountsFor = [ "/media/cloud" ];
|
RequiresMountsFor = [ "/media/cloud" ];
|
||||||
SupplementaryGroups = lib.mkForce [ "video" "render" "download" ];
|
SupplementaryGroups = lib.mkForce [ "video" "render" "download" ];
|
||||||
UMask = lib.mkForce "0077";
|
UMask = lib.mkForce "0007";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
services.nginx.virtualHosts."jelly" = {
|
services.nginx.virtualHosts."jelly" = {
|
||||||
serverAliases = [
|
serverAliases = [
|
||||||
"jelly.lan" "movies.lan"
|
"jelly.lan" "movies.lan"
|
||||||
|
|
|
@ -1,37 +1,36 @@
|
||||||
{ pkgs, lib, ...}:
|
{ config, pkgs, lib, ...}:
|
||||||
# docker run -d -p 8081:8081 -v /path/to/downloads:/downloads --user 1001:1001 alexta69/metube
|
|
||||||
with pkgs.stockholm.lib;
|
|
||||||
let
|
let
|
||||||
port = "2348";
|
port = "2348";
|
||||||
dl-dir = "/media/cryptX/youtube/music";
|
music-dir = "/media/silent/music/youtube";
|
||||||
|
dl-dir = "/media/cryptX/youtube";
|
||||||
uid = 20421;
|
uid = 20421;
|
||||||
internal-ip = "192.168.111.11";
|
internal-ip = "192.168.111.11";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"d ${dl-dir} metube nogroup - -"
|
|
||||||
];
|
|
||||||
|
|
||||||
services.nginx.virtualHosts."tube" = {
|
services.nginx.virtualHosts."tube" = {
|
||||||
serverAliases = [ "tube.lan" ];
|
serverAliases = [ "tube.lan" "mtube.lan" ];
|
||||||
locations."/".proxyPass = "http://localhost:${port}";
|
locations."/" = {
|
||||||
|
proxyPass = "http://localhost:${port}";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers.containers.metube = {
|
virtualisation.oci-containers.containers.metube = {
|
||||||
image = "alexta69/metube:latest";
|
image = "alexta69/metube:latest";
|
||||||
ports = [ "${port}:8081" ];
|
ports = [ "${port}:8081" ];
|
||||||
volumes = [
|
volumes = [
|
||||||
|
"${music-dir}:/music"
|
||||||
"${dl-dir}:/downloads"
|
"${dl-dir}:/downloads"
|
||||||
];
|
];
|
||||||
user = "metube";
|
environment = {
|
||||||
};
|
UID = toString config.users.users.download.uid;
|
||||||
users.users.metube = {
|
GID = toString config.users.groups.download.gid;
|
||||||
uid = uid;
|
DOWNLOAD_DIR = "/downloads";
|
||||||
isSystemUser = true;
|
AUDIO_DOWNLOAD_DIR = "/music";
|
||||||
};
|
#PUBLIC_HOST_URL = "tube.lan";
|
||||||
|
#PUBLIC_HOST_AUDIO_URL = "mtube.lan";
|
||||||
systemd.services.docker-metube.serviceConfig = {
|
};
|
||||||
StandardOutput = lib.mkForce "journal";
|
#user = "metube";
|
||||||
StandardError = lib.mkForce "journal";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,35 @@
|
||||||
{ config, ... }:
|
{ config,lib, ... }:
|
||||||
let
|
let
|
||||||
internal-ip = "192.168.111.11";
|
internal-ip = "192.168.111.11";
|
||||||
port = 4533;
|
port = 4533;
|
||||||
|
cfg = config.services.navidrome;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.navidrome.enable = true;
|
services.navidrome.enable = true;
|
||||||
services.navidrome.settings = {
|
services.navidrome.settings = {
|
||||||
#MusicFolder = "/media/cryptX/music/kinder";
|
#MusicFolder = "/media/cryptX/music/kinder";
|
||||||
MusicFolder = "/media/silent/music/kinder";
|
MusicFolder = "/media/silent/music";
|
||||||
|
PlaylistsPath = "/media/silent/playlists";
|
||||||
Address = "0.0.0.0";
|
Address = "0.0.0.0";
|
||||||
};
|
};
|
||||||
systemd.services.navidrome = {
|
systemd.services.navidrome = {
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
RestartSec = "15";
|
RestartSec = "15";
|
||||||
|
BindReadOnlyPaths =
|
||||||
|
[
|
||||||
|
# navidrome uses online services to download additional album metadata / covers
|
||||||
|
"${
|
||||||
|
config.environment.etc."ssl/certs/ca-certificates.crt".source
|
||||||
|
}:/etc/ssl/certs/ca-certificates.crt"
|
||||||
|
builtins.storeDir
|
||||||
|
"/etc"
|
||||||
|
]
|
||||||
|
++ lib.optional (cfg.settings ? MusicFolder) cfg.settings.MusicFolder
|
||||||
|
++ lib.optionals config.services.resolved.enable [
|
||||||
|
"/run/systemd/resolve/stub-resolv.conf"
|
||||||
|
"/run/systemd/resolve/resolv.conf"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
unitConfig.RequiresMountsFor = [ "/media/silent" ];
|
unitConfig.RequiresMountsFor = [ "/media/silent" ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,8 +21,6 @@ let
|
||||||
internal-ip = "192.168.111.11";
|
internal-ip = "192.168.111.11";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
virtualisation.oci-containers.backend = "docker";
|
|
||||||
|
|
||||||
services.nginx.virtualHosts."photos" = {
|
services.nginx.virtualHosts."photos" = {
|
||||||
serverAliases = [
|
serverAliases = [
|
||||||
"photos.lan"
|
"photos.lan"
|
||||||
|
|
|
@ -34,9 +34,9 @@
|
||||||
state = [
|
state = [
|
||||||
"/etc/NetworkManager/system-connections" #NM stateful config files
|
"/etc/NetworkManager/system-connections" #NM stateful config files
|
||||||
];
|
];
|
||||||
networking.networkmanager.dispatcherScripts = [
|
#networking.networkmanager.dispatcherScripts = [
|
||||||
{ source = "${pkgs.prison-break}/bin/prison-break"; }
|
# { source = "${pkgs.prison-break}/bin/prison-break"; }
|
||||||
];
|
#];
|
||||||
|
|
||||||
# TODO: not sure if this actually works
|
# TODO: not sure if this actually works
|
||||||
systemd.services.NetworkManager-dispatcher.environment = {
|
systemd.services.NetworkManager-dispatcher.environment = {
|
||||||
|
|
|
@ -16,6 +16,8 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.syncthing = lib.mkIf config.services.syncthing.enable { serviceConfig.Group = lib.mkForce "download";};
|
||||||
|
|
||||||
users.groups = {
|
users.groups = {
|
||||||
download = {
|
download = {
|
||||||
gid = lib.mkDefault (genid "download");
|
gid = lib.mkDefault (genid "download");
|
||||||
|
|
|
@ -24,6 +24,5 @@ in {
|
||||||
cert = config.sops.secrets."${config.clanCore.machineName}-syncthing.cert".path;
|
cert = config.sops.secrets."${config.clanCore.machineName}-syncthing.cert".path;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288;
|
boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,15 @@
|
||||||
services.syncthing.user = "download";
|
services.syncthing.user = "download";
|
||||||
services.syncthing.settings.folders = {
|
services.syncthing.settings.folders = {
|
||||||
manga = {
|
manga = {
|
||||||
path = "/media/cloud/download/manga/live/";
|
path = "/media/cloud/sync/manga/";
|
||||||
id = "makefu-manga";
|
id = "makefu-manga";
|
||||||
devices = [ "omo" "makefu-ebook" "makefu-phone" "x" ];
|
devices = [ "omo" "makefu-ebook" "makefu-phone" "x" ];
|
||||||
};
|
};
|
||||||
|
audiobooks = {
|
||||||
|
path = "/media/cloud/sync/audiobooks";
|
||||||
|
id = "makefu-audiobooks";
|
||||||
|
devices = [ "omo" "makefu-phone" "x" ];
|
||||||
|
};
|
||||||
download = {
|
download = {
|
||||||
path = "/media/cloud/download/";
|
path = "/media/cloud/download/";
|
||||||
id = "makefu-download";
|
id = "makefu-download";
|
||||||
|
|
|
@ -6,10 +6,15 @@
|
||||||
devices = [ "mors" "prism" ];
|
devices = [ "mors" "prism" ];
|
||||||
};
|
};
|
||||||
manga = {
|
manga = {
|
||||||
path = "/media/crypt1/download/manga/live";
|
path = "/media/crypt1/sync/manga";
|
||||||
id = "makefu-manga";
|
id = "makefu-manga";
|
||||||
devices = [ "gum" "makefu-ebook" "makefu-phone" "x" ];
|
devices = [ "gum" "makefu-ebook" "makefu-phone" "x" ];
|
||||||
};
|
};
|
||||||
|
audiobooks = {
|
||||||
|
path = "/media/crypt1/sync/audiobooks";
|
||||||
|
id = "makefu-audiobooks";
|
||||||
|
devices = [ "omo" "gum" "makefu-phone" "x" ];
|
||||||
|
};
|
||||||
download = {
|
download = {
|
||||||
path = "/media/crypt1/download";
|
path = "/media/crypt1/download";
|
||||||
id = "makefu-download";
|
id = "makefu-download";
|
||||||
|
|
|
@ -2,9 +2,14 @@
|
||||||
services.syncthing.user = "makefu";
|
services.syncthing.user = "makefu";
|
||||||
services.syncthing.settings.folders = {
|
services.syncthing.settings.folders = {
|
||||||
manga = {
|
manga = {
|
||||||
path = "/home/makefu/manga/live";
|
path = "/home/makefu/sync/manga";
|
||||||
id = "makefu-manga";
|
id = "makefu-manga";
|
||||||
devices = [ "omo" "gum" "makefu-ebook" "makefu-phone" "x" ];
|
devices = [ "omo" "gum" "makefu-ebook" "makefu-phone" "x" ];
|
||||||
};
|
};
|
||||||
|
audiobooks = {
|
||||||
|
path = "/home/makefu/sync/audiobooks";
|
||||||
|
id = "makefu-audiobooks";
|
||||||
|
devices = [ "omo" "gum" "makefu-phone" "x" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
feh
|
feh
|
||||||
clipit
|
clipit
|
||||||
# firefox
|
# firefox
|
||||||
|
(pkgs.writers.writeDashBin "privatefox" "exec firefox -P Privatefox")
|
||||||
pcmanfm
|
pcmanfm
|
||||||
evince
|
evince
|
||||||
# replacement for mirage:
|
# replacement for mirage:
|
||||||
|
|
|
@ -25,6 +25,6 @@
|
||||||
|
|
||||||
# 3d Modelling
|
# 3d Modelling
|
||||||
chitubox
|
chitubox
|
||||||
freecad
|
# freecad
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
# slicing
|
# slicing
|
||||||
#cura
|
#cura
|
||||||
chitubox
|
chitubox
|
||||||
cura
|
# cura
|
||||||
|
bambu-studio
|
||||||
];
|
];
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
#xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
#xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
# quodlibet # exfalso
|
# quodlibet # exfalso
|
||||||
tinymediamanager
|
tinymediamanager
|
||||||
|
|
||||||
plowshare
|
# plowshare
|
||||||
streamripper
|
streamripper
|
||||||
yt-dlp
|
yt-dlp
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
{
|
{
|
||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
storageDriver = "devicemapper";
|
# storageDriver = "devicemapper";
|
||||||
|
storageDriver = "overlay2";
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs;[
|
environment.systemPackages = with pkgs;[
|
||||||
docker
|
docker
|
||||||
|
|
|
@ -8,7 +8,7 @@ buildPythonApplication rec {
|
||||||
owner = "nix-community";
|
owner = "nix-community";
|
||||||
repo = "mediawiki-matrix-bot";
|
repo = "mediawiki-matrix-bot";
|
||||||
rev = "refs/heads/custom_api_path";
|
rev = "refs/heads/custom_api_path";
|
||||||
hash = "sha256-KhXXG9h1GgZfrivtSYa1GL6xpfCuPwreffkhWSw6Kzg";
|
hash = "sha256-hL03E2afftdccnB72cKKgVvvzNuLY3P33oiXWbvowus=";
|
||||||
};
|
};
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
feedparser matrix-nio docopt aiohttp aiofiles
|
feedparser matrix-nio docopt aiohttp aiofiles
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
, xorg
|
, xorg
|
||||||
, libpng12
|
, libpng12
|
||||||
, gtk3
|
, gtk3
|
||||||
, gnome
|
, adwaita-icon-theme
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ns-atmosphere-programmer-${version}";
|
name = "ns-atmosphere-programmer-${version}";
|
||||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
install -D -m755 NS-Atmosphere $out/bin/NS-Atmosphere
|
install -D -m755 NS-Atmosphere $out/bin/NS-Atmosphere
|
||||||
wrapProgram $out/bin/NS-Atmosphere --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
wrapProgram $out/bin/NS-Atmosphere --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
||||||
--suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share'
|
--suffix XDG_DATA_DIRS : '${adwaita-icon-theme}/share'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
proxyVendor = true;
|
proxyVendor = true;
|
||||||
vendorHash = "sha256-8iB1+ufoN65n5FnCkLfoVoBXaL3LkNtzgYBF2rPWtGg=";
|
vendorHash = "sha256-aTsQyN+5OKApGI4ckSrQEkkXpBcvuz1ghQ5FwASNzOs=";
|
||||||
|
|
||||||
# tests try to access the internet to scrape websites
|
# tests try to access the internet to scrape websites
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
18
flake.lock
18
flake.lock
|
@ -365,11 +365,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718788307,
|
"lastModified": 1721534365,
|
||||||
"narHash": "sha256-SqiOz0sljM0GjyQEVinPXQxaGcbOXw5OgpCWGPgh/vo=",
|
"narHash": "sha256-XpZOkaSJKdOsz1wU6JfO59Rx2fqtcarQ0y6ndIOKNpI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d7830d05421d0ced83a0f007900898bdcaf2a2ca",
|
"rev": "635563f245309ef5320f80c7ebcb89b2398d2949",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -556,11 +556,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719895800,
|
"lastModified": 1720737798,
|
||||||
"narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=",
|
"narHash": "sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "6e253f12b1009053eff5344be5e835f604bb64cd",
|
"rev": "c5013aa7ce2c7ec90acee5d965d950c8348db751",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -571,11 +571,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719848872,
|
"lastModified": 1721379653,
|
||||||
"narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
|
"narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
|
"rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -40,16 +40,14 @@ in {
|
||||||
../../2configs/share/hetzner-client.nix
|
../../2configs/share/hetzner-client.nix
|
||||||
# ../../2configs/stats/netdata-server.nix
|
# ../../2configs/stats/netdata-server.nix
|
||||||
|
|
||||||
../../2configs/headless.nix
|
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
../../2configs/sshd-totp.nix
|
../../2configs/sshd-totp.nix
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
../../2configs/tools/core.nix
|
../../2configs/tools/core.nix
|
||||||
../../2configs/tools/dev.nix
|
# ../../2configs/tools/dev.nix
|
||||||
../../2configs/tools/sec.nix
|
# ../../2configs/tools/sec.nix
|
||||||
#../../2configs/tools/desktop.nix
|
# ../../2configs/tools/desktop.nix
|
||||||
|
|
||||||
../../2configs/zsh-user.nix
|
../../2configs/zsh-user.nix
|
||||||
../../2configs/mosh.nix
|
../../2configs/mosh.nix
|
||||||
|
@ -156,7 +154,7 @@ in {
|
||||||
../../2configs/deployment/nextcloud/screeenly.nix
|
../../2configs/deployment/nextcloud/screeenly.nix
|
||||||
|
|
||||||
../../2configs/deployment/buildbot/master.nix
|
../../2configs/deployment/buildbot/master.nix
|
||||||
../../2configs/deployment/buildbot/worker.nix
|
# ../../2configs/deployment/buildbot/worker.nix
|
||||||
### Moving owncloud data dir to /media/cloud/nextcloud-data
|
### Moving owncloud data dir to /media/cloud/nextcloud-data
|
||||||
{
|
{
|
||||||
users.users.nextcloud.extraGroups = [ "download" ];
|
users.users.nextcloud.extraGroups = [ "download" ];
|
||||||
|
@ -179,7 +177,6 @@ in {
|
||||||
../../2configs/nginx/dl.euer.krebsco.de.nix
|
../../2configs/nginx/dl.euer.krebsco.de.nix
|
||||||
#../../2configs/nginx/euer.test.nix
|
#../../2configs/nginx/euer.test.nix
|
||||||
../../2configs/nginx/euer.mon.nix
|
../../2configs/nginx/euer.mon.nix
|
||||||
../../2configs/nginx/euer.wiki.nix
|
|
||||||
../../2configs/nginx/euer.blog.nix
|
../../2configs/nginx/euer.blog.nix
|
||||||
../../2configs/nginx/music.euer.nix
|
../../2configs/nginx/music.euer.nix
|
||||||
## ../../2configs/nginx/gum.krebsco.de.nix
|
## ../../2configs/nginx/gum.krebsco.de.nix
|
||||||
|
@ -201,6 +198,8 @@ in {
|
||||||
../../2configs/bgt/etherpad.euer.krebsco.de.nix
|
../../2configs/bgt/etherpad.euer.krebsco.de.nix
|
||||||
# ../../2configs/deployment/systemdultras-rss.nix
|
# ../../2configs/deployment/systemdultras-rss.nix
|
||||||
|
|
||||||
|
../../2configs/deployment/wiki.euer.nix
|
||||||
|
|
||||||
../../2configs/shiori.nix
|
../../2configs/shiori.nix
|
||||||
#../../2configs/workadventure
|
#../../2configs/workadventure
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,10 @@
|
||||||
[ ./network.nix
|
[ ./network.nix
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
# Disk
|
# Disk
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sd_mod" "sr_mod" ];
|
||||||
|
boot.uki.tries = 3;
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
@ -33,6 +34,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
zramSwap.enable = true;
|
||||||
boot.loader.grub.device = "/dev/sda";
|
boot.loader.grub.device = "/dev/sda";
|
||||||
|
|
||||||
networking.hostId = "3150697b"; # required for zfs use
|
networking.hostId = "3150697b"; # required for zfs use
|
||||||
|
@ -43,6 +45,7 @@
|
||||||
boot.loader.grub.copyKernels = true;
|
boot.loader.grub.copyKernels = true;
|
||||||
boot.zfs.devNodes = "/dev"; # fixes some virtualmachine issues
|
boot.zfs.devNodes = "/dev"; # fixes some virtualmachine issues
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
|
"zfs.zfs_arc_max=1073741824"
|
||||||
"boot.shell_on_fail"
|
"boot.shell_on_fail"
|
||||||
"panic=30" "boot.panic_on_fail" # reboot the machine upon fatal boot issues
|
"panic=30" "boot.panic_on_fail" # reboot the machine upon fatal boot issues
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,7 +11,6 @@ in {
|
||||||
./hw/omo.nix
|
./hw/omo.nix
|
||||||
#./hw/tsp.nix
|
#./hw/tsp.nix
|
||||||
../../2configs/default.nix
|
../../2configs/default.nix
|
||||||
../../2configs/headless.nix
|
|
||||||
../../2configs/support-nixos.nix
|
../../2configs/support-nixos.nix
|
||||||
../../2configs/nur.nix
|
../../2configs/nur.nix
|
||||||
{
|
{
|
||||||
|
@ -30,7 +29,7 @@ in {
|
||||||
pkgs.tinymediamanager
|
pkgs.tinymediamanager
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{ environment.systemPackages = [ pkgs.youtube-dl2kodi pkgs.youtube-dl]; }
|
{ environment.systemPackages = [ pkgs.youtube-dl2kodi pkgs.yt-dlp]; }
|
||||||
|
|
||||||
|
|
||||||
../../2configs/zsh-user.nix
|
../../2configs/zsh-user.nix
|
||||||
|
@ -110,7 +109,7 @@ in {
|
||||||
# ../../2configs/syncthing.nix
|
# ../../2configs/syncthing.nix
|
||||||
../../2configs/remote-build/slave.nix
|
../../2configs/remote-build/slave.nix
|
||||||
# TODO:
|
# TODO:
|
||||||
../../2configs/virtualisation/docker.nix
|
../../2configs/virtualisation/podman.nix
|
||||||
# ../../2configs/bluetooth-mpd.nix
|
# ../../2configs/bluetooth-mpd.nix
|
||||||
|
|
||||||
../../2configs/home/jellyfin.nix
|
../../2configs/home/jellyfin.nix
|
||||||
|
@ -118,7 +117,7 @@ in {
|
||||||
../../2configs/home/photoprism.nix
|
../../2configs/home/photoprism.nix
|
||||||
# ../../2configs/home/tonie.nix
|
# ../../2configs/home/tonie.nix
|
||||||
../../2configs/home/ps4srv.nix
|
../../2configs/home/ps4srv.nix
|
||||||
# ../../2configs/home/metube.nix
|
../../2configs/home/metube.nix
|
||||||
# ../../2configs/home/ham
|
# ../../2configs/home/ham
|
||||||
../../2configs/home/ham/docker.nix
|
../../2configs/home/ham/docker.nix
|
||||||
../../2configs/home/zigbee2mqtt
|
../../2configs/home/zigbee2mqtt
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
../../2configs/support-nixos.nix
|
../../2configs/support-nixos.nix
|
||||||
../../2configs/headless.nix
|
|
||||||
];
|
];
|
||||||
# TODO: ingo:
|
# TODO: ingo:
|
||||||
# "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA5G4SzPWZAJHrxpN2hQ0TzfPz5KO4eZISZxL3j/pkPs+6/YLXwB22AuU5qvNBi5uVIIZNqJBoaAcj/NePkiu6i2iAVzntAVWhBQlCLIlN0YXwXZ7E19fVUxvG65XV8D86YXSKrKkeDqk6SmQhReeWexMxTIKtj9Ipa7i9lPHBsls="
|
# "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA5G4SzPWZAJHrxpN2hQ0TzfPz5KO4eZISZxL3j/pkPs+6/YLXwB22AuU5qvNBi5uVIIZNqJBoaAcj/NePkiu6i2iAVzntAVWhBQlCLIlN0YXwXZ7E19fVUxvG65XV8D86YXSKrKkeDqk6SmQhReeWexMxTIKtj9Ipa7i9lPHBsls="
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
# ../../2configs/hw/droidcam.nix
|
# ../../2configs/hw/droidcam.nix
|
||||||
../../2configs/hw/smartcard.nix
|
../../2configs/hw/smartcard.nix
|
||||||
../../2configs/hw/upower.nix
|
../../2configs/hw/upower.nix
|
||||||
|
# ../../2configs/audio/raop-discover.nix
|
||||||
#../../2configs/hw/ps4-compat.nix
|
#../../2configs/hw/ps4-compat.nix
|
||||||
|
|
||||||
# base
|
# base
|
||||||
|
@ -42,6 +43,10 @@
|
||||||
../../2configs/tools/all.nix
|
../../2configs/tools/all.nix
|
||||||
{ programs.adb.enable = true; }
|
{ programs.adb.enable = true; }
|
||||||
|
|
||||||
|
# gui
|
||||||
|
../../2configs/gui/base.nix
|
||||||
|
../../2configs/gui/hyprland
|
||||||
|
|
||||||
# secrets: now deployed once at host provisioning
|
# secrets: now deployed once at host provisioning
|
||||||
{ state = [ "/etc/ssh/ssh_host_rsa_key" ]; }
|
{ state = [ "/etc/ssh/ssh_host_rsa_key" ]; }
|
||||||
#{
|
#{
|
||||||
|
|
Loading…
Reference in a new issue