Compare commits

..

26 Commits

Author SHA1 Message Date
cbd4e7b4bb feat: disable prometheus for homeassistant
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-03-14 17:23:53 +05:30
a1057c5954 feat: added aria2
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m26s
2026-03-14 00:20:00 +05:30
2409574330 feat: Update flakes 2026-03-13 16:40:31 +05:30
6b09de5afc feat: Remove discord 2026-03-12 23:13:46 +05:30
e5ca18d368 feat: Update cinny to 4.11.1 2026-03-12 17:39:27 +05:30
68ac29b68b feat: Make /var a partition
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m25s
2026-03-12 16:35:16 +05:30
e89003a063 feat: added ironclaw 2026-03-12 13:40:10 +05:30
62072e71ea feat: Update cinny
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-03-11 13:32:24 +05:30
6bfb3286e3 feat: Remove openclaw
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-03-11 13:10:56 +05:30
325705f4cb feat: Disable ollama for shiro (mlx not working)
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-03-11 13:08:17 +05:30
96a92bd67f feat: Update openclaw stuff
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m22s
2026-03-11 12:45:24 +05:30
b17b2ab977 feat: Add openclaw for shiro
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m25s
2026-03-11 12:20:20 +05:30
2d2a7e6765 fix: Fixed the syntax for adding sunshine-beta and remove some packages
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
2026-03-10 13:32:28 +05:30
a9dfdccf63 feat: Added sunshine in macos
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m30s
2026-03-09 20:12:17 +05:30
8a1ed7b0ab feat: Update cinny
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
2026-03-09 17:20:22 +05:30
04a9d2ce76 chore: Remove iamb doesn't build on darwin
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m29s
2026-03-09 17:11:07 +05:30
d4d9e715ff chore: disable zed, yt-dlp and autossh scripts
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m26s
2026-03-09 16:56:19 +05:30
3b23c25509 feat: Update stuff
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-03-09 16:54:14 +05:30
0874bb6698 feat: Added stuff 2026-03-07 22:43:13 +05:30
316bffb9f5 feat: Remove deprecated togglesplit layout 2026-03-07 04:45:28 +05:30
b19be561bf feat: Update hyprland and add iamb 2026-03-07 04:31:44 +05:30
452426f363 feat: Added element
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m24s
2026-03-07 02:14:01 +05:30
a50801f5bb feat: Move to git lfs 2026-03-06 18:09:56 +05:30
dee3da3b12 feat: Update to nextcloud and tangled 2026-03-06 18:05:48 +05:30
8cdb41674c feat: Update wallpapers
All checks were successful
Flake checker / Build Nix targets (push) Successful in 22m43s
2026-03-05 18:04:01 +05:30
eaf994c5b5 feat: Remove lfs
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m29s
2026-03-05 02:48:26 +05:30
37 changed files with 1215 additions and 419 deletions

View File

@@ -2,15 +2,12 @@
homebrew = { homebrew = {
enable = true; enable = true;
brews = [ brews = [
"docker-compose"
]; ];
casks = [ casks = [
"1password" "1password"
"docker"
"raycast" "raycast"
"lunar" "lunar"
"orcaslicer" "orcaslicer"
"zed"
"zen" "zen"
]; ];
}; };

View File

@@ -1,15 +1,18 @@
{...}: { {...}: {
imports = [ imports = [
# ../../../modules/darwin/caddy # ../../../modules/darwin/caddy
./yabai.nix
./skhd.nix
./tailscale.nix
./autossh.nix
# ./caddy.nix
./sops.nix
# ./lmstudio.nix
# ./colima.nix
# ./zerotier.nix
# ./aerospace.nix # ./aerospace.nix
# ./caddy.nix
# ./colima.nix
# ./lmstudio.nix
# ./zerotier.nix
./autossh.nix
./skhd.nix
./sops.nix
./sunshine.nix
./tailscale.nix
./yabai.nix
]; ];
} }

View File

@@ -0,0 +1,10 @@
{...}: {
homebrew = {
taps = [
"lizardbyte/homebrew"
];
brews = [
"lizardbyte/homebrew/sunshine-beta"
];
};
}

1269
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -176,6 +176,18 @@
url = "git+https://tangled.org/tangled.org/core"; url = "git+https://tangled.org/tangled.org/core";
inputs.nixpkgs.follows = "nixpkgs"; 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 = { outputs = {
@@ -353,16 +365,20 @@
}; };
config.allowUnfree = true; config.allowUnfree = true;
}; };
cratesNix = inputs.crates-nix.mkLib {inherit pkgs;};
in { in {
# packages = rec {
# default = neovim;
# neovim = pkgs.nixvim.makeNixvim (pkgs.callPackage ./neovim);
# };
devShells = { devShells = {
default = pkgs.mkShell { default = pkgs.mkShell {
packages = with pkgs; [sops just openssl ast-grep]; packages = with pkgs; [sops just openssl ast-grep];
}; };
}; };
packages = {
default = cratesNix.buildCrate "ironclaw" {
nativeBuildInputs = [pkgs.pkg-config];
buildInputs = [pkgs.openssl];
doCheck = false;
};
};
} }
); );
} }

View File

@@ -27,11 +27,15 @@ lib.optionalAttrs device.hasGui {
# ./vial.nix # ./vial.nix
# ./vlc.nix # ./vlc.nix
# ./vscode.nix # ./vscode.nix
# ./zen.nix
./moonlight.nix
# ./zed.nix
./affine.nix ./affine.nix
./blueman.nix ./blueman.nix
./chromium.nix ./chromium.nix
./discord.nix # ./discord.nix
./firefox.nix ./firefox.nix
./ghostty.nix ./ghostty.nix
./hyprpicker.nix ./hyprpicker.nix
@@ -44,7 +48,6 @@ lib.optionalAttrs device.hasGui {
./vicinae.nix ./vicinae.nix
./wezterm.nix ./wezterm.nix
./zathura.nix ./zathura.nix
./zed.nix
./zen.nix ./zen.nix
]; ];
} }

View File

@@ -3,13 +3,13 @@
lib, lib,
... ...
}: { }: {
home.packages = lib.optionals pkgs.stdenv.isLinux [ # home.packages = lib.optionals pkgs.stdenv.isLinux [
(pkgs.discord.override { # (pkgs.discord.override {
withOpenASAR = true; # withOpenASAR = true;
withVencord = true; # withVencord = true;
}) # })
# pkgs.vesktop # # pkgs.vesktop
# pkgs.discord-canary # # pkgs.discord-canary
# pkgs.discord-ptb # # pkgs.discord-ptb
]; # ];
} }

View File

@@ -6,6 +6,7 @@
}: { }: {
home.packages = lib.optionals (device.is "ryu") [ home.packages = lib.optionals (device.is "ryu") [
pkgs.fluffychat pkgs.fluffychat
pkgs.element-desktop
# pkgs.quaternion # pkgs.quaternion
]; ];
} }

8
home/apps/moonlight.nix Normal file
View File

@@ -0,0 +1,8 @@
{
lib,
pkgs,
device,
...
}: {
home.packages = lib.optionals (device.name == "ryu") [pkgs.moonlight-qt];
}

View File

@@ -54,16 +54,16 @@
}; };
}; };
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
privacy-badger
violentmonkey
tridactyl
clearurls clearurls
onepassword-password-manager floccus
ublock-origin
i-dont-care-about-cookies i-dont-care-about-cookies
keepa keepa
onepassword-password-manager
privacy-badger
sponsorblock sponsorblock
floccus tridactyl
ublock-origin
violentmonkey
]; ];
search = { search = {
force = true; force = true;
@@ -119,6 +119,15 @@
]; ];
definedAliases = ["@lib"]; definedAliases = ["@lib"];
}; };
searchix = {
name = "Searchix";
urls = [
{
template = "https://searchix.ovh/?query={searchTerms}";
}
];
definedAliases = ["sx"];
};
}; };
}; };
pins = { pins = {
@@ -158,6 +167,5 @@
Fingerprinting = true; Fingerprinting = true;
}; };
}; };
suppressXdgMigrationWarning = true;
}; };
} }

View File

@@ -7,6 +7,7 @@
# ./bluetui.nix # ./bluetui.nix
# ./goread.nix # ./goread.nix
# ./helix.nix # ./helix.nix
# ./iamb.nix
# ./magika.nix # ./magika.nix
# ./mpd.nix # ./mpd.nix
# ./mpris-scrobbler.nix # ./mpris-scrobbler.nix
@@ -19,6 +20,7 @@
# ./template.nix # ./template.nix
# ./tuifeed.nix # ./tuifeed.nix
# ./xh.nix # ./xh.nix
# ./yt-dlp.nix
# ./zellij.nix # ./zellij.nix
../../modules ../../modules
@@ -40,6 +42,7 @@
./carapace.nix ./carapace.nix
./cargo.nix ./cargo.nix
./cfcli.nix ./cfcli.nix
./codex.nix
./ddcbacklight.nix ./ddcbacklight.nix
./deploy-rs.nix ./deploy-rs.nix
./direnv.nix ./direnv.nix
@@ -64,6 +67,7 @@
./neomutt.nix ./neomutt.nix
./neovim.nix ./neovim.nix
./nix-index.nix ./nix-index.nix
./nixify.nix
./nushell.nix ./nushell.nix
./omnix.nix ./omnix.nix
./opencode.nix ./opencode.nix
@@ -80,10 +84,7 @@
./tmux.nix ./tmux.nix
./uv.nix ./uv.nix
./yazi.nix ./yazi.nix
./yt-dlp.nix
./zoxide.nix
./yq.nix ./yq.nix
./codex.nix ./zoxide.nix
./nixify.nix
]; ];
} }

View File

@@ -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];
}

View File

@@ -34,7 +34,7 @@
''; '';
# ${pkgs.spotify-player}/bin/spotify_player generate fish | source # ${pkgs.spotify-player}/bin/spotify_player generate fish | source
interactiveShellInit = '' 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 # ${pkgs.nb}/bin/nb todo undone
${lib.optionalString (device.isLinux && !device.isNix) "source /etc/profile.d/nix-daemon.fish"} ${lib.optionalString (device.isLinux && !device.isNix) "source /etc/profile.d/nix-daemon.fish"}
${lib.optionalString (device.is "ryu") '' ${lib.optionalString (device.is "ryu") ''

3
home/programs/iamb.nix Normal file
View File

@@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = [pkgs.iamb];
}

View File

@@ -40,7 +40,7 @@ in {
''; '';
} }
) )
(mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp])) # (mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
(mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh])) # (mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
]; ];
} }

View File

@@ -1,18 +1,20 @@
{...}: { {...}: {
imports = [ imports = [
./gtk.nix
./gui.nix
./hyprland.nix
./hyprmon.nix
./hyprpaper.nix
./ironbar
./kdeconnect.nix
./remmina.nix
# ./ollama.nix
./swaync.nix ./swaync.nix
./swayosd.nix ./swayosd.nix
./kdeconnect.nix
./gtk.nix
# ./anyrun.nix
./ironbar
./gui.nix
# ./eww.nix
./xdg.nix ./xdg.nix
./hyprmon.nix ./ironclaw.nix
./hyprland.nix # ./anyrun.nix
./hyprpaper.nix # ./eww.nix
./remmina.nix
# ./wallpaperengine.nix # ./wallpaperengine.nix
]; ];
} }

View File

@@ -2,6 +2,7 @@
pkgs, pkgs,
device, device,
lib, lib,
inputs,
... ...
}: }:
# lib.optionalAttrs device.isNix # lib.optionalAttrs device.isNix
@@ -31,6 +32,8 @@
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = device.is "ryu"; enable = device.is "ryu";
systemd.enable = true; systemd.enable = true;
package = pkgs.hyprland;
portalPackage = pkgs.xdph;
settings = { settings = {
# source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf"; # source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf";
@@ -203,7 +206,7 @@
"$mainMod, d, exec, ${lib.getExe pkgs.vicinae} toggle" "$mainMod, d, exec, ${lib.getExe pkgs.vicinae} toggle"
"$mainMod, Space, exec, ${lib.getExe pkgs.vicinae} toggle" "$mainMod, Space, exec, ${lib.getExe pkgs.vicinae} toggle"
"$mainMod, p, pseudo, # dwindle" "$mainMod, p, pseudo, # dwindle"
"$mainMod, v, togglesplit," "$mainMod, v, layoutmsg, togglesplit"
"$mainMod, a, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t" "$mainMod, a, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t"
"$mainMod, Tab, cyclenext" "$mainMod, Tab, cyclenext"
# Audio # Audio

View File

@@ -8,8 +8,10 @@
wallpapers = import ../../utils/wallhaven.nix {inherit pkgs;}; wallpapers = import ../../utils/wallhaven.nix {inherit pkgs;};
nextcloudWallpapers = name: config.home.homeDirectory + "/Nextcloud/Wallpapers/" + name; nextcloudWallpapers = name: config.home.homeDirectory + "/Nextcloud/Wallpapers/" + name;
# silksongFleas = nextcloudWallpapers "silksong-fleas.jpg"; # 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 { in {
enable = device.is "ryu"; enable = device.is "ryu";
settings = { settings = {
@@ -17,12 +19,12 @@
wallpaper = [ wallpaper = [
{ {
monitor = device.monitors.primary; monitor = device.monitors.primary;
path = silksongShadeLord; path = wallpapers.moon;
fit_mode = "cover"; fit_mode = "cover";
} }
{ {
monitor = device.monitors.secondary; monitor = device.monitors.secondary;
path = wallpapers.frieren_3; path = frieren;
fit_mode = "cover"; fit_mode = "cover";
} }
{ {

View File

@@ -0,0 +1,12 @@
{
pkgs,
lib,
device,
...
}: {
home.packages =
lib.optionals (device.is "ryu")
[
pkgs.ironclaw
];
}

7
home/services/ollama.nix Normal file
View File

@@ -0,0 +1,7 @@
{
pkgs,
device,
...
}: {
services.ollama.enable = device.is "shiro";
}

View File

@@ -2,6 +2,7 @@
pkgs, pkgs,
lib, lib,
device, device,
inputs,
... ...
}: { }: {
xdg.portal = { xdg.portal = {
@@ -10,10 +11,9 @@
hyprland.default = ["hyprland"]; hyprland.default = ["hyprland"];
common.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"];
# }

View File

@@ -0,0 +1,3 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [crosspipe];
}

View File

@@ -7,7 +7,7 @@
# ./alvr.nix # ./alvr.nix
./easyeffects.nix ./easyeffects.nix
./vr.nix ./vr.nix
./helvum.nix ./crosspipe.nix
# ./wine.nix # ./wine.nix
# ./virt.nix # ./virt.nix
./gparted.nix ./gparted.nix

View File

@@ -1,3 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [helvum];
}

View File

@@ -3,6 +3,7 @@
lib, lib,
device, device,
config, config,
inputs,
... ...
}: { }: {
imports = [ imports = [
@@ -22,15 +23,6 @@
tctiEnvironment.enable = true; 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.services.NetworkManager-wait-online.enable = lib.mkForce false;
# systemd.tmpfiles.rules = [ # systemd.tmpfiles.rules = [
# "L+ /etc/gdm/.config/monitors.xml - - - - ${./monitors.xml}" # "L+ /etc/gdm/.config/monitors.xml - - - - ${./monitors.xml}"

View File

@@ -1,6 +1,7 @@
{ {
pkgs, pkgs,
device, device,
lib,
... ...
}: { }: {
programs.gamemode = { programs.gamemode = {
@@ -12,7 +13,7 @@
custom = { custom = {
start = let start = let
out = pkgs.writeScriptBin "gamemode-start" '' 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' ${pkgs.libnotify}/bin/notify-send 'GameMode started'
''; '';
in "${out}/bin/gamemode-start"; in "${out}/bin/gamemode-start";

View File

@@ -1,6 +1,19 @@
{pkgs, ...}: { {
pkgs,
inputs,
...
}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
hyprland
xhost xhost
]; ];
programs = {
hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
package = pkgs.hyprland;
portalPackage = pkgs.xdph;
};
uwsm.enable = true;
};
} }

View File

@@ -130,11 +130,10 @@
options = ["nofail"]; options = ["nofail"];
}; };
# fileSystems."/volumes/windows-games" = { fileSystems."/var" = {
# device = "/dev/disk/by-partuuid/56359fb7-7d33-44d2-bebd-b0c53daeeb73"; device = "/dev/disk/by-uuid/ff874913-dc21-43f3-82f8-cdf45dd888f7";
# fsType = "ntfs3"; fsType = "ext4";
# options = ["nofail"]; };
# };
swapDevices = [ swapDevices = [
{ {

View File

@@ -25,11 +25,11 @@
./llms.nix ./llms.nix
./matrix ./matrix
./monitoring.nix ./monitoring.nix
./servius-website.nix # ./servius-website.nix
# ./paperless.nix # ./paperless.nix
./prowlarr.nix ./prowlarr.nix
# ./searxng.nix # ./searxng.nix
# ./shitpost.nix ./shitpost.nix
]; ];
services = { services = {
nix-serve = { nix-serve = {

View File

@@ -59,6 +59,14 @@
siteMonitor = "https://deluge.tsuba.darksailor.dev"; 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" = { "Home Assistant" = {
icon = "home-assistant.png"; icon = "home-assistant.png";

View File

@@ -1,6 +1,7 @@
{ {
pkgs, pkgs,
config, config,
inputs,
... ...
}: let }: let
base_domain = "darksailor.dev"; base_domain = "darksailor.dev";
@@ -17,18 +18,12 @@
cinny = with pkgs; cinny = with pkgs;
buildNpmPackage rec { buildNpmPackage rec {
pname = "cinny-unwrapped"; pname = "cinny-unwrapped";
version = "4.10.5"; version = "4.11.1";
src = inputs.cinny;
src = fetchFromGitHub {
owner = "cinnyapp";
repo = "cinny";
tag = "v${version}";
hash = "sha256-Napy3AcsLRDZPcBh3oq1U30FNtvoNtob0+AZtZSvcbM=";
};
nodejs = nodejs_22; nodejs = nodejs_22;
npmDepsHash = "sha256-2Lrd0jAwAH6HkwLHyivqwaEhcpFAIALuno+MchSIfxo="; npmDepsHash = "sha256-27WFjb08p09aJRi0S2PvYq3bivEuG5+z2QhFahTSj4Q=";
nativeBuildInputs = [ nativeBuildInputs = [
python3 python3

View File

@@ -285,7 +285,7 @@ in {
{ {
targets = [ targets = [
"tsuba:8096" # jellyfin (built-in /metrics endpoint) "tsuba:8096" # jellyfin (built-in /metrics endpoint)
"tsuba:8123" # homeassistant (configure prometheus integration) # "tsuba:8123" # homeassistant (configure prometheus integration)
"tsuba:9617" # pihole-exporter "tsuba:9617" # pihole-exporter
]; ];
labels = { labels = {
@@ -302,12 +302,12 @@ in {
target_label = "__metrics_path__"; target_label = "__metrics_path__";
replacement = "/metrics"; replacement = "/metrics";
} }
{ # {
source_labels = ["__address__"]; # source_labels = ["__address__"];
regex = "tsuba:8123"; # regex = "tsuba:8123";
target_label = "__metrics_path__"; # target_label = "__metrics_path__";
replacement = "/api/prometheus"; # replacement = "/api/prometheus";
} # }
]; ];
} }

View File

@@ -17,7 +17,7 @@
services = { services = {
nextcloud = { nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud32; package = pkgs.nextcloud33;
extraApps = { extraApps = {
inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks user_oidc; inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks user_oidc;
}; };

View 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}
'';
}

View File

@@ -6,6 +6,7 @@
./caddy.nix ./caddy.nix
./servarr.nix ./servarr.nix
./deluge.nix ./deluge.nix
./aria2.nix
./homeassistant.nix ./homeassistant.nix
./flaresolverr.nix ./flaresolverr.nix
./caddy.nix ./caddy.nix

View File

@@ -1,4 +1,5 @@
{inputs, ...} @ self: let {inputs, ...} @ self: let
cratesNix = pkgs: inputs.crates-nix.mkLib {inherit pkgs;};
# --- Shell / CLI utilities --- # --- Shell / CLI utilities ---
shell-scripts = final: prev: { shell-scripts = final: prev: {
handlr-xdg = final.pkgs.writeShellApplication { 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 = { zellijPlugins = {
zjstatus = inputs.zjstatus.packages.${prev.system}.default; zjstatus = inputs.zjstatus.packages.${prev.stdenv.hostPlatform.system}.default;
}; };
}; };
@@ -57,21 +58,21 @@
# --- Networking --- # --- Networking ---
networking = final: prev: { 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"]; plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
hash = "sha256-biQdtiscdmrwP6VUsuXmZrvcdewl+g50kdmab5lhE0s="; hash = "sha256-Gb1nC5fZfj7IodQmKmEPGygIHNYhKWV1L0JJiqnVtbs=";
}; };
}; };
# --- Media --- # --- Media ---
media = final: prev: { media = final: prev: {
ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight; ddcbacklight = inputs.ddcbacklight.packages.${prev.stdenv.hostPlatform.system}.ddcbacklight;
music-player-git = inputs.music-player.packages.${prev.system}.default; music-player-git = inputs.music-player.packages.${prev.stdenv.hostPlatform.system}.default;
}; };
# --- macOS-specific --- # --- macOS-specific ---
darwin = final: prev: { 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 { yabai = prev.yabai.overrideAttrs (oldAttrs: rec {
version = "7.1.16"; version = "7.1.16";
src = final.fetchzip { 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 and assets ---
themes = final: prev: { themes = final: prev: {
catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;}; catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
nix-index-database = final.runCommandLocal "nix-index-database" {} '' nix-index-database = final.runCommandLocal "nix-index-database" {} ''
mkdir -p $out 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 in
@@ -99,6 +112,7 @@ in
media media
darwin darwin
themes themes
applications
# External input overlays # External input overlays
inputs.deploy-rs.overlays.default inputs.deploy-rs.overlays.default

View File

@@ -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] static_auth_secret: ENC[AES256_GCM,data:osEBYgWGZl+SnqVV1G9IxMys/qDm6WTtj4nILYVw0klDjiB6vd21yA0ik/rLv9E6Y539uMCk3oB0NS7I72U1hQ==,iv:jruS3vfe0fVHY67qNhEgaCEp/9cR57UIu8a/LhdTC1o=,tag:vhxXhh9u4bOSu/lxINjvew==,type:str]
affine: affine:
db_password: ENC[AES256_GCM,data:AbpoEbmeihtVIoRaWxVL8+v3oCk5iiia9qZLKgyy98qTuNZruiaV3kQN6clYvWgHbzJta5/H9e+xocrEtw8C/A==,iv:2vPeDAJuVujPgM+kr6AFAvat2MCJnsblebx23Ey7YNA=,tag:ukuK30aZ//MKabhSRtLNXw==,type:str] 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: sops:
age: age:
- recipient: age1pw7kluxp7872c63ne4jecq75glj060jkmqwzkk6esatuyck9egfswufdpk - recipient: age1pw7kluxp7872c63ne4jecq75glj060jkmqwzkk6esatuyck9egfswufdpk
@@ -119,7 +121,7 @@ sops:
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q== ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2026-02-24T08:02:58Z" lastmodified: "2026-03-13T17:35:01Z"
mac: ENC[AES256_GCM,data:JzKh6k1nzp2sTDXFG0/bJbBSksCri2WIcXU0C+cyCg6hHzQMsKc36xSRfyrytW8r6rCooJRlC46nPYvFH9JhG/1uIAx4QU/PAvgzEKvXOQi2xXULajpEeCAdmU8TERl3to9JCTAhCbV7oibzOalC6WbVOfhQvqBYWN2JamwCHwc=,iv:oMmpcadFUZT5mdMQ8BzGoKKdpV2PvtaoXhOsKSYUGII=,tag:cdBim93M98OcSNZsmPQ57A==,type:str] 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 unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0