Compare commits
26 Commits
ccc7116c3f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| cbd4e7b4bb | |||
| a1057c5954 | |||
| 2409574330 | |||
| 6b09de5afc | |||
| e5ca18d368 | |||
| 68ac29b68b | |||
| e89003a063 | |||
| 62072e71ea | |||
| 6bfb3286e3 | |||
| 325705f4cb | |||
| 96a92bd67f | |||
| b17b2ab977 | |||
| 2d2a7e6765 | |||
| a9dfdccf63 | |||
| 8a1ed7b0ab | |||
| 04a9d2ce76 | |||
| d4d9e715ff | |||
| 3b23c25509 | |||
| 0874bb6698 | |||
| 316bffb9f5 | |||
| b19be561bf | |||
| 452426f363 | |||
| a50801f5bb | |||
| dee3da3b12 | |||
| 8cdb41674c | |||
| eaf994c5b5 |
@@ -2,15 +2,12 @@
|
||||
homebrew = {
|
||||
enable = true;
|
||||
brews = [
|
||||
"docker-compose"
|
||||
];
|
||||
casks = [
|
||||
"1password"
|
||||
"docker"
|
||||
"raycast"
|
||||
"lunar"
|
||||
"orcaslicer"
|
||||
"zed"
|
||||
"zen"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
# ../../../modules/darwin/caddy
|
||||
./yabai.nix
|
||||
./skhd.nix
|
||||
./tailscale.nix
|
||||
./autossh.nix
|
||||
# ./caddy.nix
|
||||
./sops.nix
|
||||
# ./lmstudio.nix
|
||||
# ./colima.nix
|
||||
# ./zerotier.nix
|
||||
|
||||
# ./aerospace.nix
|
||||
# ./caddy.nix
|
||||
# ./colima.nix
|
||||
# ./lmstudio.nix
|
||||
# ./zerotier.nix
|
||||
|
||||
./autossh.nix
|
||||
./skhd.nix
|
||||
./sops.nix
|
||||
./sunshine.nix
|
||||
./tailscale.nix
|
||||
./yabai.nix
|
||||
];
|
||||
}
|
||||
|
||||
10
darwin/shiro/services/sunshine.nix
Normal file
10
darwin/shiro/services/sunshine.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{...}: {
|
||||
homebrew = {
|
||||
taps = [
|
||||
"lizardbyte/homebrew"
|
||||
];
|
||||
brews = [
|
||||
"lizardbyte/homebrew/sunshine-beta"
|
||||
];
|
||||
};
|
||||
}
|
||||
1269
flake.lock
generated
1269
flake.lock
generated
File diff suppressed because it is too large
Load Diff
24
flake.nix
24
flake.nix
@@ -176,6 +176,18 @@
|
||||
url = "git+https://tangled.org/tangled.org/core";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland = {
|
||||
url = "github:hyprwm/Hyprland";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
iamb = {
|
||||
url = "github:ulyssa/iamb/latest";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
cinny = {
|
||||
url = "github:cinnyapp/cinny/dev";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
@@ -353,16 +365,20 @@
|
||||
};
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
cratesNix = inputs.crates-nix.mkLib {inherit pkgs;};
|
||||
in {
|
||||
# packages = rec {
|
||||
# default = neovim;
|
||||
# neovim = pkgs.nixvim.makeNixvim (pkgs.callPackage ./neovim);
|
||||
# };
|
||||
devShells = {
|
||||
default = pkgs.mkShell {
|
||||
packages = with pkgs; [sops just openssl ast-grep];
|
||||
};
|
||||
};
|
||||
packages = {
|
||||
default = cratesNix.buildCrate "ironclaw" {
|
||||
nativeBuildInputs = [pkgs.pkg-config];
|
||||
buildInputs = [pkgs.openssl];
|
||||
doCheck = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -27,11 +27,15 @@ lib.optionalAttrs device.hasGui {
|
||||
# ./vial.nix
|
||||
# ./vlc.nix
|
||||
# ./vscode.nix
|
||||
# ./zen.nix
|
||||
|
||||
./moonlight.nix
|
||||
# ./zed.nix
|
||||
|
||||
./affine.nix
|
||||
./blueman.nix
|
||||
./chromium.nix
|
||||
./discord.nix
|
||||
# ./discord.nix
|
||||
./firefox.nix
|
||||
./ghostty.nix
|
||||
./hyprpicker.nix
|
||||
@@ -44,7 +48,6 @@ lib.optionalAttrs device.hasGui {
|
||||
./vicinae.nix
|
||||
./wezterm.nix
|
||||
./zathura.nix
|
||||
./zed.nix
|
||||
./zen.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = lib.optionals pkgs.stdenv.isLinux [
|
||||
(pkgs.discord.override {
|
||||
withOpenASAR = true;
|
||||
withVencord = true;
|
||||
})
|
||||
# pkgs.vesktop
|
||||
# pkgs.discord-canary
|
||||
# pkgs.discord-ptb
|
||||
];
|
||||
# home.packages = lib.optionals pkgs.stdenv.isLinux [
|
||||
# (pkgs.discord.override {
|
||||
# withOpenASAR = true;
|
||||
# withVencord = true;
|
||||
# })
|
||||
# # pkgs.vesktop
|
||||
# # pkgs.discord-canary
|
||||
# # pkgs.discord-ptb
|
||||
# ];
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
}: {
|
||||
home.packages = lib.optionals (device.is "ryu") [
|
||||
pkgs.fluffychat
|
||||
pkgs.element-desktop
|
||||
# pkgs.quaternion
|
||||
];
|
||||
}
|
||||
|
||||
8
home/apps/moonlight.nix
Normal file
8
home/apps/moonlight.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
home.packages = lib.optionals (device.name == "ryu") [pkgs.moonlight-qt];
|
||||
}
|
||||
@@ -54,16 +54,16 @@
|
||||
};
|
||||
};
|
||||
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
privacy-badger
|
||||
violentmonkey
|
||||
tridactyl
|
||||
clearurls
|
||||
onepassword-password-manager
|
||||
ublock-origin
|
||||
floccus
|
||||
i-dont-care-about-cookies
|
||||
keepa
|
||||
onepassword-password-manager
|
||||
privacy-badger
|
||||
sponsorblock
|
||||
floccus
|
||||
tridactyl
|
||||
ublock-origin
|
||||
violentmonkey
|
||||
];
|
||||
search = {
|
||||
force = true;
|
||||
@@ -119,6 +119,15 @@
|
||||
];
|
||||
definedAliases = ["@lib"];
|
||||
};
|
||||
searchix = {
|
||||
name = "Searchix";
|
||||
urls = [
|
||||
{
|
||||
template = "https://searchix.ovh/?query={searchTerms}";
|
||||
}
|
||||
];
|
||||
definedAliases = ["sx"];
|
||||
};
|
||||
};
|
||||
};
|
||||
pins = {
|
||||
@@ -158,6 +167,5 @@
|
||||
Fingerprinting = true;
|
||||
};
|
||||
};
|
||||
suppressXdgMigrationWarning = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
# ./bluetui.nix
|
||||
# ./goread.nix
|
||||
# ./helix.nix
|
||||
# ./iamb.nix
|
||||
# ./magika.nix
|
||||
# ./mpd.nix
|
||||
# ./mpris-scrobbler.nix
|
||||
@@ -19,6 +20,7 @@
|
||||
# ./template.nix
|
||||
# ./tuifeed.nix
|
||||
# ./xh.nix
|
||||
# ./yt-dlp.nix
|
||||
# ./zellij.nix
|
||||
|
||||
../../modules
|
||||
@@ -40,6 +42,7 @@
|
||||
./carapace.nix
|
||||
./cargo.nix
|
||||
./cfcli.nix
|
||||
./codex.nix
|
||||
./ddcbacklight.nix
|
||||
./deploy-rs.nix
|
||||
./direnv.nix
|
||||
@@ -64,6 +67,7 @@
|
||||
./neomutt.nix
|
||||
./neovim.nix
|
||||
./nix-index.nix
|
||||
./nixify.nix
|
||||
./nushell.nix
|
||||
./omnix.nix
|
||||
./opencode.nix
|
||||
@@ -80,10 +84,7 @@
|
||||
./tmux.nix
|
||||
./uv.nix
|
||||
./yazi.nix
|
||||
./yt-dlp.nix
|
||||
./zoxide.nix
|
||||
./yq.nix
|
||||
./codex.nix
|
||||
./nixify.nix
|
||||
./zoxide.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
{pkgs, ...}: {home.packages = [pkgs.deploy-rs.deploy-rs];}
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
home.packages = lib.optionals (device.is "ryu") [pkgs.deploy-rs.deploy-rs];
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
'';
|
||||
# ${pkgs.spotify-player}/bin/spotify_player generate fish | source
|
||||
interactiveShellInit = ''
|
||||
if test -n "$TMUX"; ${lib.getExe pkgs.fastfetch} --logo-type sixel; else ${lib.getExe pkgs.fastfetch}; end
|
||||
if test -n "$TMUX"; ${lib.getExe pkgs.fastfetch} --logo-type kitty-icat; else ${lib.getExe pkgs.fastfetch}; end
|
||||
# ${pkgs.nb}/bin/nb todo undone
|
||||
${lib.optionalString (device.isLinux && !device.isNix) "source /etc/profile.d/nix-daemon.fish"}
|
||||
${lib.optionalString (device.is "ryu") ''
|
||||
|
||||
3
home/programs/iamb.nix
Normal file
3
home/programs/iamb.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.iamb];
|
||||
}
|
||||
@@ -40,7 +40,7 @@ in {
|
||||
'';
|
||||
}
|
||||
)
|
||||
(mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
|
||||
(mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
|
||||
# (mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
|
||||
# (mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
./gtk.nix
|
||||
./gui.nix
|
||||
./hyprland.nix
|
||||
./hyprmon.nix
|
||||
./hyprpaper.nix
|
||||
./ironbar
|
||||
./kdeconnect.nix
|
||||
./remmina.nix
|
||||
# ./ollama.nix
|
||||
./swaync.nix
|
||||
./swayosd.nix
|
||||
./kdeconnect.nix
|
||||
./gtk.nix
|
||||
# ./anyrun.nix
|
||||
./ironbar
|
||||
./gui.nix
|
||||
# ./eww.nix
|
||||
./xdg.nix
|
||||
./hyprmon.nix
|
||||
./hyprland.nix
|
||||
./hyprpaper.nix
|
||||
./remmina.nix
|
||||
./ironclaw.nix
|
||||
# ./anyrun.nix
|
||||
# ./eww.nix
|
||||
# ./wallpaperengine.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
pkgs,
|
||||
device,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
# lib.optionalAttrs device.isNix
|
||||
@@ -31,6 +32,8 @@
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = device.is "ryu";
|
||||
systemd.enable = true;
|
||||
package = pkgs.hyprland;
|
||||
portalPackage = pkgs.xdph;
|
||||
|
||||
settings = {
|
||||
# source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf";
|
||||
@@ -203,7 +206,7 @@
|
||||
"$mainMod, d, exec, ${lib.getExe pkgs.vicinae} toggle"
|
||||
"$mainMod, Space, exec, ${lib.getExe pkgs.vicinae} toggle"
|
||||
"$mainMod, p, pseudo, # dwindle"
|
||||
"$mainMod, v, togglesplit,"
|
||||
"$mainMod, v, layoutmsg, togglesplit"
|
||||
"$mainMod, a, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t"
|
||||
"$mainMod, Tab, cyclenext"
|
||||
# Audio
|
||||
|
||||
@@ -8,8 +8,10 @@
|
||||
wallpapers = import ../../utils/wallhaven.nix {inherit pkgs;};
|
||||
nextcloudWallpapers = name: config.home.homeDirectory + "/Nextcloud/Wallpapers/" + name;
|
||||
# silksongFleas = nextcloudWallpapers "silksong-fleas.jpg";
|
||||
bocchiVertical = nextcloudWallpapers "bocchi-vertical.jpg";
|
||||
silksongShadeLord = nextcloudWallpapers "silksong-shadelord.jpg";
|
||||
|
||||
# The artist https://www.bilibili.com/video/BV1s44y1S7MM/
|
||||
bocchiVertical = nextcloudWallpapers "bocchi-guitar.jpg";
|
||||
frieren = nextcloudWallpapers "frieren.png";
|
||||
in {
|
||||
enable = device.is "ryu";
|
||||
settings = {
|
||||
@@ -17,12 +19,12 @@
|
||||
wallpaper = [
|
||||
{
|
||||
monitor = device.monitors.primary;
|
||||
path = silksongShadeLord;
|
||||
path = wallpapers.moon;
|
||||
fit_mode = "cover";
|
||||
}
|
||||
{
|
||||
monitor = device.monitors.secondary;
|
||||
path = wallpapers.frieren_3;
|
||||
path = frieren;
|
||||
fit_mode = "cover";
|
||||
}
|
||||
{
|
||||
|
||||
12
home/services/ironclaw.nix
Normal file
12
home/services/ironclaw.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
home.packages =
|
||||
lib.optionals (device.is "ryu")
|
||||
[
|
||||
pkgs.ironclaw
|
||||
];
|
||||
}
|
||||
7
home/services/ollama.nix
Normal file
7
home/services/ollama.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
services.ollama.enable = device.is "shiro";
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
pkgs,
|
||||
lib,
|
||||
device,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
xdg.portal = {
|
||||
@@ -10,10 +11,9 @@
|
||||
hyprland.default = ["hyprland"];
|
||||
common.default = ["*" "hyprland"];
|
||||
};
|
||||
extraPortals = with pkgs; [
|
||||
kdePackages.xdg-desktop-portal-kde
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
}
|
||||
# // lib.optionalAttrs (device.is "ryu") {
|
||||
# environment.pathsToLink = ["/share/xdg-desktop-portal" "/share/applications"];
|
||||
# }
|
||||
|
||||
|
||||
3
nixos/ryu/apps/crosspipe.nix
Normal file
3
nixos/ryu/apps/crosspipe.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [crosspipe];
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
# ./alvr.nix
|
||||
./easyeffects.nix
|
||||
./vr.nix
|
||||
./helvum.nix
|
||||
./crosspipe.nix
|
||||
# ./wine.nix
|
||||
# ./virt.nix
|
||||
./gparted.nix
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [helvum];
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
lib,
|
||||
device,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
@@ -22,15 +23,6 @@
|
||||
tctiEnvironment.enable = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
uwsm.enable = true;
|
||||
};
|
||||
|
||||
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
|
||||
# systemd.tmpfiles.rules = [
|
||||
# "L+ /etc/gdm/.config/monitors.xml - - - - ${./monitors.xml}"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.gamemode = {
|
||||
@@ -12,7 +13,7 @@
|
||||
custom = {
|
||||
start = let
|
||||
out = pkgs.writeScriptBin "gamemode-start" ''
|
||||
${pkgs.lmstudio}/bin/lms unload
|
||||
${lib.getExe pkgs.ollama} ps | tail +2 | cut -d' ' -f1 | xargs ${lib.getExe pkgs.ollama} stop
|
||||
${pkgs.libnotify}/bin/notify-send 'GameMode started'
|
||||
'';
|
||||
in "${out}/bin/gamemode-start";
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprland
|
||||
xhost
|
||||
];
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
package = pkgs.hyprland;
|
||||
portalPackage = pkgs.xdph;
|
||||
};
|
||||
uwsm.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -130,11 +130,10 @@
|
||||
options = ["nofail"];
|
||||
};
|
||||
|
||||
# fileSystems."/volumes/windows-games" = {
|
||||
# device = "/dev/disk/by-partuuid/56359fb7-7d33-44d2-bebd-b0c53daeeb73";
|
||||
# fsType = "ntfs3";
|
||||
# options = ["nofail"];
|
||||
# };
|
||||
fileSystems."/var" = {
|
||||
device = "/dev/disk/by-uuid/ff874913-dc21-43f3-82f8-cdf45dd888f7";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
./llms.nix
|
||||
./matrix
|
||||
./monitoring.nix
|
||||
./servius-website.nix
|
||||
# ./servius-website.nix
|
||||
# ./paperless.nix
|
||||
./prowlarr.nix
|
||||
# ./searxng.nix
|
||||
# ./shitpost.nix
|
||||
./shitpost.nix
|
||||
];
|
||||
services = {
|
||||
nix-serve = {
|
||||
|
||||
@@ -59,6 +59,14 @@
|
||||
siteMonitor = "https://deluge.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Aria2" = {
|
||||
icon = "aria2.png";
|
||||
description = "Aria2: Download Manager";
|
||||
href = "https://aria2.tsuba.darksailor.dev";
|
||||
siteMonitor = "https://aria2.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Home Assistant" = {
|
||||
icon = "home-assistant.png";
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
base_domain = "darksailor.dev";
|
||||
@@ -17,18 +18,12 @@
|
||||
cinny = with pkgs;
|
||||
buildNpmPackage rec {
|
||||
pname = "cinny-unwrapped";
|
||||
version = "4.10.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cinnyapp";
|
||||
repo = "cinny";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Napy3AcsLRDZPcBh3oq1U30FNtvoNtob0+AZtZSvcbM=";
|
||||
};
|
||||
version = "4.11.1";
|
||||
src = inputs.cinny;
|
||||
|
||||
nodejs = nodejs_22;
|
||||
|
||||
npmDepsHash = "sha256-2Lrd0jAwAH6HkwLHyivqwaEhcpFAIALuno+MchSIfxo=";
|
||||
npmDepsHash = "sha256-27WFjb08p09aJRi0S2PvYq3bivEuG5+z2QhFahTSj4Q=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3
|
||||
|
||||
@@ -285,7 +285,7 @@ in {
|
||||
{
|
||||
targets = [
|
||||
"tsuba:8096" # jellyfin (built-in /metrics endpoint)
|
||||
"tsuba:8123" # homeassistant (configure prometheus integration)
|
||||
# "tsuba:8123" # homeassistant (configure prometheus integration)
|
||||
"tsuba:9617" # pihole-exporter
|
||||
];
|
||||
labels = {
|
||||
@@ -302,12 +302,12 @@ in {
|
||||
target_label = "__metrics_path__";
|
||||
replacement = "/metrics";
|
||||
}
|
||||
{
|
||||
source_labels = ["__address__"];
|
||||
regex = "tsuba:8123";
|
||||
target_label = "__metrics_path__";
|
||||
replacement = "/api/prometheus";
|
||||
}
|
||||
# {
|
||||
# source_labels = ["__address__"];
|
||||
# regex = "tsuba:8123";
|
||||
# target_label = "__metrics_path__";
|
||||
# replacement = "/api/prometheus";
|
||||
# }
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
services = {
|
||||
nextcloud = {
|
||||
enable = true;
|
||||
package = pkgs.nextcloud32;
|
||||
package = pkgs.nextcloud33;
|
||||
extraApps = {
|
||||
inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks user_oidc;
|
||||
};
|
||||
|
||||
33
nixos/tsuba/services/aria2.nix
Normal file
33
nixos/tsuba/services/aria2.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
sops.secrets."aria2/rpc-secret" = {};
|
||||
|
||||
services.aria2 = {
|
||||
enable = true;
|
||||
rpcSecretFile = config.sops.secrets."aria2/rpc-secret".path;
|
||||
settings = {
|
||||
continue = true;
|
||||
dir = "/media/downloads";
|
||||
enable-rpc = true;
|
||||
file-allocation = "none";
|
||||
max-concurrent-downloads = 5;
|
||||
max-connection-per-server = 16;
|
||||
rpc-listen-all = true;
|
||||
rpc-listen-port = 6809;
|
||||
split = 16;
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy.virtualHosts."aria2.tsuba.darksailor.dev".extraConfig = ''
|
||||
import cloudflare
|
||||
root * ${pkgs.ariang}/share/ariang
|
||||
file_server
|
||||
'';
|
||||
services.caddy.virtualHosts."aria2.tsuba.darksailor.dev:6800".extraConfig = ''
|
||||
import cloudflare
|
||||
reverse_proxy localhost:${toString config.services.aria2.settings.rpc-listen-port}
|
||||
'';
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
./caddy.nix
|
||||
./servarr.nix
|
||||
./deluge.nix
|
||||
./aria2.nix
|
||||
./homeassistant.nix
|
||||
./flaresolverr.nix
|
||||
./caddy.nix
|
||||
|
||||
30
overlays.nix
30
overlays.nix
@@ -1,4 +1,5 @@
|
||||
{inputs, ...} @ self: let
|
||||
cratesNix = pkgs: inputs.crates-nix.mkLib {inherit pkgs;};
|
||||
# --- Shell / CLI utilities ---
|
||||
shell-scripts = final: prev: {
|
||||
handlr-xdg = final.pkgs.writeShellApplication {
|
||||
@@ -26,9 +27,9 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
tmux-float = inputs.tmux-float.packages.${prev.system}.default;
|
||||
tmux-float = inputs.tmux-float.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||
zellijPlugins = {
|
||||
zjstatus = inputs.zjstatus.packages.${prev.system}.default;
|
||||
zjstatus = inputs.zjstatus.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -57,21 +58,21 @@
|
||||
|
||||
# --- Networking ---
|
||||
networking = final: prev: {
|
||||
caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${final.system}.caddy.withPlugins {
|
||||
caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${prev.stdenv.hostPlatform.system}.caddy.withPlugins {
|
||||
plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
|
||||
hash = "sha256-biQdtiscdmrwP6VUsuXmZrvcdewl+g50kdmab5lhE0s=";
|
||||
hash = "sha256-Gb1nC5fZfj7IodQmKmEPGygIHNYhKWV1L0JJiqnVtbs=";
|
||||
};
|
||||
};
|
||||
|
||||
# --- Media ---
|
||||
media = final: prev: {
|
||||
ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight;
|
||||
music-player-git = inputs.music-player.packages.${prev.system}.default;
|
||||
ddcbacklight = inputs.ddcbacklight.packages.${prev.stdenv.hostPlatform.system}.ddcbacklight;
|
||||
music-player-git = inputs.music-player.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||
};
|
||||
|
||||
# --- macOS-specific ---
|
||||
darwin = final: prev: {
|
||||
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.system}.kitty;
|
||||
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.kitty;
|
||||
yabai = prev.yabai.overrideAttrs (oldAttrs: rec {
|
||||
version = "7.1.16";
|
||||
src = final.fetchzip {
|
||||
@@ -81,12 +82,24 @@
|
||||
});
|
||||
};
|
||||
|
||||
applications = final: prev: {
|
||||
iamb = inputs.iamb.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||
hyprland = inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland;
|
||||
xdg-desktop-portal-hyprland = prev.enableDebugging inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
xdph = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
ironclaw = (cratesNix prev).buildCrate "ironclaw" {
|
||||
nativeBuildInputs = [prev.pkg-config];
|
||||
buildInputs = [prev.openssl];
|
||||
doCheck = false;
|
||||
};
|
||||
};
|
||||
|
||||
# --- Themes and assets ---
|
||||
themes = final: prev: {
|
||||
catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
|
||||
nix-index-database = final.runCommandLocal "nix-index-database" {} ''
|
||||
mkdir -p $out
|
||||
ln -s ${inputs.nix-index-database.legacyPackages.${prev.system}.database} $out/files
|
||||
ln -s ${inputs.nix-index-database.legacyPackages.${prev.stdenv.hostPlatform.system}.database} $out/files
|
||||
'';
|
||||
};
|
||||
in
|
||||
@@ -99,6 +112,7 @@ in
|
||||
media
|
||||
darwin
|
||||
themes
|
||||
applications
|
||||
|
||||
# External input overlays
|
||||
inputs.deploy-rs.overlays.default
|
||||
|
||||
@@ -108,6 +108,8 @@ coturn:
|
||||
static_auth_secret: ENC[AES256_GCM,data:osEBYgWGZl+SnqVV1G9IxMys/qDm6WTtj4nILYVw0klDjiB6vd21yA0ik/rLv9E6Y539uMCk3oB0NS7I72U1hQ==,iv:jruS3vfe0fVHY67qNhEgaCEp/9cR57UIu8a/LhdTC1o=,tag:vhxXhh9u4bOSu/lxINjvew==,type:str]
|
||||
affine:
|
||||
db_password: ENC[AES256_GCM,data:AbpoEbmeihtVIoRaWxVL8+v3oCk5iiia9qZLKgyy98qTuNZruiaV3kQN6clYvWgHbzJta5/H9e+xocrEtw8C/A==,iv:2vPeDAJuVujPgM+kr6AFAvat2MCJnsblebx23Ey7YNA=,tag:ukuK30aZ//MKabhSRtLNXw==,type:str]
|
||||
aria2:
|
||||
rpc-secret: ENC[AES256_GCM,data:peFtDURHjlQOAM1v1AP9BBHmXhpPTE0kKRcL9eBV9rIFnDcKw5+nAP9+8sW4CRcE6l9DoxZFau7+IsnDgrFp5g==,iv:DkHiaZlPcHMnOPLflxlF4fs/bdOe799/SQQZ9WZ1Tq4=,tag:R1aWdUQdtzySOmYitNxD1Q==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1pw7kluxp7872c63ne4jecq75glj060jkmqwzkk6esatuyck9egfswufdpk
|
||||
@@ -119,7 +121,7 @@ sops:
|
||||
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
|
||||
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-02-24T08:02:58Z"
|
||||
mac: ENC[AES256_GCM,data:JzKh6k1nzp2sTDXFG0/bJbBSksCri2WIcXU0C+cyCg6hHzQMsKc36xSRfyrytW8r6rCooJRlC46nPYvFH9JhG/1uIAx4QU/PAvgzEKvXOQi2xXULajpEeCAdmU8TERl3to9JCTAhCbV7oibzOalC6WbVOfhQvqBYWN2JamwCHwc=,iv:oMmpcadFUZT5mdMQ8BzGoKKdpV2PvtaoXhOsKSYUGII=,tag:cdBim93M98OcSNZsmPQ57A==,type:str]
|
||||
lastmodified: "2026-03-13T17:35:01Z"
|
||||
mac: ENC[AES256_GCM,data:6VfirvrqmBLDg3XnJzBY5z1Fy/yAOhuLF6YnFH0pJ17beIHfkQQ/BbL0vBI1YfjyGjqQannp/0SpEwqA5uhvaHpQV2F1eFwotjrgFiGBrnhirLSXiHLGcnQtIeu2ue1McwbtJVZNWaOtdcz71+QeKn53+4jcDnb/wu/46+Q/nB0=,iv:eQ61Bpyom1cvTRZMiAMes2lrAGlAtuKTAxR/k2Caxh4=,tag:i+SBR1/V6jb3c3mGT4XykQ==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
|
||||
Reference in New Issue
Block a user