Compare commits
No commits in common. "e3a8b6a2ab3a0c1ba431143bcffb0bd6ed544a1c" and "aa3f2c28e01c4148f6281084552cf61afd499529" have entirely different histories.
e3a8b6a2ab
...
aa3f2c28e0
@ -281,6 +281,8 @@
|
|||||||
fzf
|
fzf
|
||||||
grc
|
grc
|
||||||
|
|
||||||
|
gcc
|
||||||
|
|
||||||
cachix
|
cachix
|
||||||
|
|
||||||
gnupg
|
gnupg
|
||||||
|
@ -150,12 +150,6 @@
|
|||||||
|
|
||||||
defaultGateway = "192.168.156.1";
|
defaultGateway = "192.168.156.1";
|
||||||
nameservers = ["192.168.156.1" "8.8.8.8"];
|
nameservers = ["192.168.156.1" "8.8.8.8"];
|
||||||
|
|
||||||
nat = {
|
|
||||||
enable = true;
|
|
||||||
externalInterface = "enp9s0";
|
|
||||||
internalInterfaces = ["ve-+"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.logind.lidSwitchExternalPower = "ignore";
|
services.logind.lidSwitchExternalPower = "ignore";
|
||||||
|
@ -1,39 +1,19 @@
|
|||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
containers = {
|
|
||||||
radio-synthwave = {
|
|
||||||
autoStart = true;
|
|
||||||
privateNetwork = true;
|
|
||||||
hostAddress = "10.231.136.1";
|
|
||||||
localAddress = "10.231.136.2";
|
|
||||||
|
|
||||||
bindMounts = {
|
|
||||||
"/var/lib/music" = {
|
|
||||||
hostPath = "/home/l-nafaryus/Music";
|
|
||||||
isReadOnly = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.mpd = {
|
services.mpd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
musicDirectory = "/var/lib/music";
|
musicDirectory = "/home/l-nafaryus/Music";
|
||||||
network.listenAddress = "any";
|
network.listenAddress = "any";
|
||||||
#network.startWhenNeeded = true;
|
network.startWhenNeeded = true;
|
||||||
user = "mpd";
|
user = "l-nafaryus";
|
||||||
network.port = 6600;
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
audio_output {
|
audio_output {
|
||||||
type "httpd"
|
type "httpd"
|
||||||
name "Radio"
|
name "Radio"
|
||||||
port "6660"
|
port "6666"
|
||||||
|
bind_to_address "127.0.0.1"
|
||||||
encoder "lame"
|
encoder "lame"
|
||||||
max_clients "0"
|
max_clients "0"
|
||||||
website "https://radio.elnafo.ru/synthwave"
|
website "https://radio.elnafo.ru"
|
||||||
always_on "yes"
|
always_on "yes"
|
||||||
tags "yes"
|
tags "yes"
|
||||||
bitrate "128"
|
bitrate "128"
|
||||||
@ -42,71 +22,11 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [6600 6660];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
radio-non-stop = {
|
|
||||||
autoStart = true;
|
|
||||||
privateNetwork = true;
|
|
||||||
hostAddress = "10.231.136.1";
|
|
||||||
localAddress = "10.231.136.3";
|
|
||||||
|
|
||||||
bindMounts = {
|
|
||||||
"/var/lib/music" = {
|
|
||||||
hostPath = "/home/l-nafaryus/Music";
|
|
||||||
isReadOnly = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.mpd = {
|
|
||||||
enable = true;
|
|
||||||
musicDirectory = "/var/lib/music";
|
|
||||||
network.listenAddress = "any";
|
|
||||||
#network.startWhenNeeded = true;
|
|
||||||
user = "mpd";
|
|
||||||
network.port = 6601;
|
|
||||||
extraConfig = ''
|
|
||||||
audio_output {
|
|
||||||
type "httpd"
|
|
||||||
name "Radio"
|
|
||||||
port "6661"
|
|
||||||
encoder "lame"
|
|
||||||
max_clients "0"
|
|
||||||
website "https://radio.elnafo.ru/non-stop"
|
|
||||||
always_on "yes"
|
|
||||||
tags "yes"
|
|
||||||
bitrate "128"
|
|
||||||
format "44100:16:1"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [6601 6661];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.nginx.virtualHosts."radio.elnafo.ru" = {
|
services.nginx.virtualHosts."radio.elnafo.ru" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
useACMEHost = "elnafo.ru";
|
useACMEHost = "elnafo.ru";
|
||||||
locations."/synthwave".proxyPass = "http://10.231.136.2:6660";
|
locations."/synthwave".proxyPass = "http://127.0.0.1:6666";
|
||||||
locations."/non-stop".proxyPass = "http://10.231.136.3:6661";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [config.services.mpd.network.port];
|
||||||
}
|
}
|
||||||
|
@ -1,108 +1,16 @@
|
|||||||
{
|
{
|
||||||
bonLib,
|
|
||||||
craneLib,
|
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
weztermPkgs,
|
||||||
version ? "2d0c5cddc91a9c59aef9a7667d90924e7cedd0ac",
|
|
||||||
hash ? "sha256-ZsDJQSUokodwFMP4FIZm2dYojf5iC4F/EeKC5VuQlqY=",
|
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
src = pkgs.fetchFromGitHub {
|
weztermPkgs.default.overrideAttrs (old: {
|
||||||
owner = "wez";
|
|
||||||
repo = "wezterm";
|
|
||||||
rev = version;
|
|
||||||
hash = hash;
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
terminfo =
|
|
||||||
pkgs.runCommand "wezterm-terminfo"
|
|
||||||
{
|
|
||||||
nativeBuildInputs = [pkgs.ncurses];
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/share/terminfo $out/nix-support
|
|
||||||
tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo
|
|
||||||
'';
|
|
||||||
pkg = {
|
|
||||||
pname = "wezterm";
|
pname = "wezterm";
|
||||||
inherit version;
|
|
||||||
|
|
||||||
inherit src;
|
meta =
|
||||||
|
old.meta
|
||||||
strictDeps = true;
|
// {
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
installShellFiles
|
|
||||||
ncurses # tic for terminfo
|
|
||||||
pkg-config
|
|
||||||
python3
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
fontconfig
|
|
||||||
pkgs.zlib
|
|
||||||
libxkbcommon
|
|
||||||
openssl
|
|
||||||
wayland
|
|
||||||
cairo
|
|
||||||
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libxcb
|
|
||||||
xorg.xcbutil
|
|
||||||
xorg.xcbutilimage
|
|
||||||
xorg.xcbutilkeysyms
|
|
||||||
xorg.xcbutilwm # contains xcb-ewmh among others
|
|
||||||
];
|
|
||||||
|
|
||||||
libPath = lib.makeLibraryPath (with pkgs; [
|
|
||||||
xorg.xcbutilimage
|
|
||||||
libGL
|
|
||||||
vulkan-loader
|
|
||||||
]);
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
echo ${version} > .tag
|
|
||||||
|
|
||||||
# tests are failing with: Unable to exchange encryption keys
|
|
||||||
# rm -r wezterm-ssh/tests
|
|
||||||
'';
|
|
||||||
|
|
||||||
preFixup = lib.optionalString pkgs.stdenv.isLinux ''
|
|
||||||
patchelf \
|
|
||||||
--add-needed "${pkgs.libGL}/lib/libEGL.so.1" \
|
|
||||||
--add-needed "${pkgs.vulkan-loader}/lib/libvulkan.so.1" \
|
|
||||||
$out/bin/wezterm-gui
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out/nix-support
|
|
||||||
echo "${terminfo}" >> $out/nix-support/propagated-user-env-packages
|
|
||||||
|
|
||||||
install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png
|
|
||||||
install -Dm644 assets/wezterm.desktop $out/share/applications/org.wezfurlong.wezterm.desktop
|
|
||||||
install -Dm644 assets/wezterm.appdata.xml $out/share/metainfo/org.wezfurlong.wezterm.appdata.xml
|
|
||||||
|
|
||||||
install -Dm644 assets/shell-integration/wezterm.sh -t $out/etc/profile.d
|
|
||||||
installShellCompletion --cmd wezterm \
|
|
||||||
--bash assets/shell-completion/bash \
|
|
||||||
--fish assets/shell-completion/fish \
|
|
||||||
--zsh assets/shell-completion/zsh
|
|
||||||
|
|
||||||
install -Dm644 assets/wezterm-nautilus.py -t $out/share/nautilus-python/extensions
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/wez/wezterm";
|
homepage = "https://github.com/wez/wezterm";
|
||||||
description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
|
description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with bonLib.maintainers; [L-Nafaryus];
|
|
||||||
platforms = platforms.x86_64;
|
|
||||||
mainProgram = "wezterm";
|
|
||||||
};
|
};
|
||||||
};
|
})
|
||||||
in let
|
|
||||||
cargoArtifacts = craneLib.buildDepsOnly pkg;
|
|
||||||
in
|
|
||||||
craneLib.buildPackage (
|
|
||||||
pkg // {inherit cargoArtifacts;}
|
|
||||||
)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user