Merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Ahwx 2024-12-20 00:28:56 +01:00
commit 9b66f98eb7
22 changed files with 647 additions and 187 deletions

View file

@ -4,6 +4,7 @@
[(import ./bootloader.nix)]
++ [(import ./docker.nix)]
++ [(import ./hardware.nix)]
++ [(import ./openrgb.nix)]
++ [(import ./xserver.nix)]
++ [(import ./network.nix)]
++ [(import ./pipewire.nix)]

View file

@ -1,4 +1,4 @@
{ ... }:
{ pkgs, ... }:
{
hardware = {
graphics = {
@ -7,5 +7,14 @@
# driSupport32Bit = true;
};
enableRedistributableFirmware = true;
opengl = {
extraPackages = with pkgs; [
amdvlk
];
# For 32 bit applications as well
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
};
}

View file

@ -1,20 +1,44 @@
{ ...}: {
{ pkgs, inputs, config, username, host, ...}:
imports =
[(import ./git.nix)] # version control
++ [(import ./swaync/default.nix)] # notification panel
++ [(import ./fonts.nix)] # fonts
++ [(import ./hyprland)] # window manager
++ [(import ./sway)] # window manager
++ [(import ./kitty.nix)] # terminal
++ [(import ./mako.nix)] # notification deamon
++ [(import ./nvim.nix)] # neovim editor
++ [(import ./zathura.nix)] # neovim editor
++ [(import ./packages.nix)] # other packages
++ [(import ./scripts/scripts.nix)] # personal scripts
++ [(import ./swaylock.nix)] # lock screen
++ [(import ./vscodium.nix)] # vscode forck
++ [(import ./waybar)] # status bar
++ [(import ./wofi.nix)] # launcher
++ [(import ./zsh.nix)] # shell
++ [(import ./tmux.nix)]; # terminal multiplexer
if (host == "sakura") then
[(import ./git.nix)]
++ [(import ./swaync/default.nix)]
++ [(import ./fonts.nix)]
++ [(import ./hyprland)]
++ [(import ./sway)]
++ [(import ./kitty.nix)]
++ [(import ./mako.nix)]
++ [(import ./nvim.nix)]
++ [(import ./zathura.nix)]
++ [(import ./packages.nix)]
++ [(import ./scripts/scripts.nix)]
++ [(import ./swaylock.nix)]
++ [(import ./vscodium.nix)]
++ [(import ./waybar)]
++ [(import ./wofi.nix)]
++ [(import ./zsh.nix)]
++ [(import ./tmux.nix)]
else if (host == "violet") then
[(import ./git.nix)]
++ [(import ./nvim.nix)]
++ [(import ./packages.violet.nix)]
++ [(import ./scripts/scripts.nix)]
++ [(import ./zsh.nix)]
++ [(import ./tmux.nix)]
else if (host == "yoshino") then
[(import ./git.nix)]
++ [(import ./swaync/default.nix)]
++ [(import ./fonts.nix)]
++ [(import ./hyprland)]
++ [(import ./kitty.nix)]
++ [(import ./mako.nix)]
++ [(import ./nvim.nix)]
++ [(import ./zathura.nix)]
++ [(import ./packages.yoshino.nix)]
++ [(import ./scripts/scripts.nix)]
++ [(import ./swaylock.nix)]
++ [(import ./waybar)]
++ [(import ./wofi.nix)]
++ [(import ./zsh.nix)]
++ [(import ./tmux.nix)];
}

View file

@ -28,18 +28,18 @@
color = "black";
};
};
cursorTheme = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
# cursorTheme = {
# name = "Bibata-Modern-Ice";
# package = pkgs.bibata-cursors;
# size = 24;
# };
};
home.pointerCursor = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
# home.pointerCursor = {
# name = "Bibata-Modern-Ice";
# package = pkgs.bibata-cursors;
# size = 24;
# };
# gtk = {
# enable = true;
@ -228,8 +228,10 @@
"$mainMod SHIFT, F, exec, firefox"
"$mainMod SHIFT, W, exec, wdisplays"
"$mainMod SHIFT, T, exec, thunderbird"
"$mainMod SHIFT, E, exec, element-desktop"
"$mainMod SHIFT, P, exec, pavucontrol-qt"
"$mainMod SHIFT, N ,exec, notes" # should be added by scripts/custom packages
"$mainMod, N,exec, swaync-client -t"
# screenshot
"SUPER SHIFT, S, exec, grimblast --notify --cursor save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png"

View file

@ -11,6 +11,7 @@
glib
wayland
direnv
inputs.hyprsunset.packages.${pkgs.system}.hyprsunset
];
# systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
wayland.windowManager.hyprland = {
@ -22,7 +23,7 @@
# enableNvidiaPatches = false;
systemd.enable = true;
plugins = [
# inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
inputs.Hyswipe.packages.${pkgs.system}.Hyswipe
];
};

View file

@ -5,43 +5,28 @@
bandwhich # Terminal bandwidth utilization tool
powertop
element-desktop # Nheko is kinda shit so sadly this has to happen
yewtube # Play YouTube videos via the terminal
iamb # In-terminal-Matrix-messaging
signal-desktop # Since the bridge is broken :(
socat # Required for `hyprland-smart-borders`
tesseract # Screen grabbing text from images/PDFs/etc
pixcat # Display images in the terminal
lm_sensors # Show sensor outputs, i.e. temperatures
yubikey-touch-detector # Display notification when YubiKey requires a headpat
bitwarden-cli # Use Bitwarden as a CLI secrets manager
gajim # XMPP client
nheko # Matrix client
linuxKernel.packages.linux_hardened.v4l2loopback # Use A7ii as webcam
# wikit # Wikipedia summaries from the terminal, not added to Nix yet
# reader # Firefox reader mode but in the terminal, not added to Nix yet
vimv # edit filenames in batch with $EDITOR
pastel # generate, analyze, convert and manipulate colors
# pastel # generate, analyze, convert and manipulate colors
glow # Render Markdown from the terminal
htmlq # jq but for HTML
lemmeknow # Identify anything
# htmlq # jq but for HTML
android-tools # ADB/Fastboot
eva # Calculator
tofi # drun type launcher
# termpdfpy # Read PDFs from the terminal, errors out for now
anki-bin # Learn languages
vimv # Bulk rename
audacity # Record audio stuff
anki-bin # Flashcards
obs-studio # Record video stuff
exiftool # Read exif data from CLI
pinta # "Paint.NET-like editor"
kdenlive # Video editor
translate-shell # Google Translate but in the CLI
wireguard-tools # VPN connections
openresolv # required for wireguard-tools
prusa-slicer
blender
progress
epy
zip
ripdrag
pwgen
@ -60,14 +45,13 @@
gitleaks # TODO: adds pre-commit hook
libreoffice
xfce.thunar
prismlauncher
lunar-client
jdk
ripgrep
yt-dlp
wineWowPackages.wayland
# wineWowPackages.wayland
# element-desktop # wayland version is very laggy for me
spotify
spotify-player
thunderbird
neofetch
hyfetch
@ -84,7 +68,6 @@
ffmpeg
killall
libnotify
man-pages # extra man pages
mpv # video player
openssl
pamixer # pulseaudio command line mixer

View file

@ -152,6 +152,7 @@
# ];
shellAliases = {
spt = "spotify_player";
convert = "magick";
ls = "eza -lh --git";
la = "eza -A --git";

View file

@ -0,0 +1,14 @@
{ ... }:
{
services = {
nginx.virtualHosts."curate.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost:8081";
proxyWebsockets = true;
};
};
};
}

View file

@ -0,0 +1,26 @@
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.jellyfin
pkgs.jellyfin-web
pkgs.jellyfin-ffmpeg
];
services = {
jellyfin = {
enable = true;
};
nginx.virtualHosts = {
"stream.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost:8096";
proxyWebsockets = true;
};
};
};
};
}

View file

@ -1,20 +0,0 @@
{ lib, config, pkgs, ... }: {
services.komga = {
enable = true;
port = 2872;
stateDir = "/var/lib/komga";
openFirewall = true;
user = "liv";
};
services = {
nginx.virtualHosts."read.liv.town" = {
useACMEHost = "liv.town";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:2872";
};
};
};
}

View file

@ -0,0 +1,14 @@
{ ... }:
{
services = {
nginx.virtualHosts."search.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://localhost:8080";
proxyWebsockets = true;
};
};
};
}

View file

@ -0,0 +1,21 @@
{ ... }:
{
services = {
lidarr = {
enable = true;
};
nginx.virtualHosts = {
"listen.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://127.0.0.1:8686/";
proxyWebsockets = true;
};
};
};
};
}

View file

@ -15,7 +15,10 @@ in {
nginx.virtualHosts.${hostname} = {
useACMEHost = "liv.town";
forceSSL = true;
locations."/" = { proxyPass = "http://127.0.0.1:${toString port}"; };
locations."/" = {
proxyPass = "http://127.0.0.1:${toString port}";
proxyWebsockets = true;
};
};
frp.settings.proxies = [
{

View file

@ -6,30 +6,33 @@
server.hosts = [ "0.0.0.0:5232" ];
auth = {
type = "htpasswd";
htpasswd_filename = "/home/liv/radicaleusers";
htpasswd_filename = "/etc/radicale/htpasswd";
htpasswd_encryption = "bcrypt";
};
};
};
# services.nginx = {
# enable = true;
# recommendedProxySettings = true;
# recommendedTlsSettings = true;
# virtualHosts = {
# "calendar.liv.town" = {
# forceSSL = true;
# enableACME = true;
# # locations."/radicale/" = {
# locations."/" = {
# proxyPass = "http://127.0.0.1:5232/";
# extraConfig = ''
# # proxy_set_header X-Script-Name /radicale;
# proxy_set_header X-Script-Name /;
# proxy_pass_header Authorization;
# '';
# };
# };
# };
# };
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"plan.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
# locations."/radicale/" = {
locations."/" = {
proxyPass = "http://127.0.0.1:5232/";
proxyWebsockets = true;
extraConfig = ''
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
'';
};
};
};
};
}

View file

@ -0,0 +1,20 @@
{ ... }:
{
services = {
readarr = {
enable = true;
};
nginx.virtualHosts = {
"read.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
proxyPass = "http://127.0.0.1:8787/";
proxyWebsockets = true;
};
};
};
};
}

View file

@ -0,0 +1,18 @@
{ ... }:
{
services.scrutiny = {
enable = true;
collector.enable = true;
settings.web.listen.port = 8181;
settings.notify.urls = [
"ntfy://notify.liv.town/violet"
];
};
services.nginx.virtualHosts."scrutiny.liv.town" = {
locations."/" = {
proxyPass = "http://localhost:8181/";
};
};
}

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, ... }:
{ ... }:
{
services = {
nginx.virtualHosts."quack.social" = {

View file

@ -4,12 +4,20 @@
++ [(import ./mumble.nix)]
++ [(import ./ntfy.nix)]
++ [(import ./sharkey-proxy.nix)]
++ [(import ./librey-proxy.nix)]
++ [(import ./binternet-proxy.nix)]
++ [(import ./monitoring.nix)]
++ [(import ./docker.nix)]
++ [(import ./gokapi.nix)]
++ [(import ./nginx.nix)]
++ [(import ./komga.nix)]
# ++ [(import ./komga.nix)]
++ [(import ./frp.nix)]
++ [(import ./radicale.nix)]
++ [(import ./jellyfin.nix)]
++ [(import ./readarr.nix)]
++ [(import ./lidarr.nix)]
# ++ [(import ./scrutiny.nix)]
# ++ [(import ./jitsi-meet.nix)]
# ++ [(import ./nextcloud.nix)]
++ [(import ./matrix/default.nix)];
# ++ [(import ./tmux.nix)];