mirror of
https://github.com/Ahwxorg/nixos-config.git
synced 2025-12-04 15:00:13 +01:00
Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
commit
9b66f98eb7
22 changed files with 647 additions and 187 deletions
|
|
@ -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)]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@
|
|||
# ];
|
||||
|
||||
shellAliases = {
|
||||
spt = "spotify_player";
|
||||
convert = "magick";
|
||||
ls = "eza -lh --git";
|
||||
la = "eza -A --git";
|
||||
|
|
|
|||
14
modules/services/binternet-proxy.nix
Normal file
14
modules/services/binternet-proxy.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
26
modules/services/jellyfin.nix
Normal file
26
modules/services/jellyfin.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
14
modules/services/librey-proxy.nix
Normal file
14
modules/services/librey-proxy.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
21
modules/services/lidarr.nix
Normal file
21
modules/services/lidarr.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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 = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
20
modules/services/readarr.nix
Normal file
20
modules/services/readarr.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
18
modules/services/scrutiny.nix
Normal file
18
modules/services/scrutiny.nix
Normal 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/";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
services = {
|
||||
nginx.virtualHosts."quack.social" = {
|
||||
|
|
|
|||
|
|
@ -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)];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue