Compare commits

...

44 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
ccc7116c3f fix: possible fix for unreachable tangled
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-03-05 02:44:38 +05:30
7be66a5d2f feat: Added tangled 2026-03-05 02:00:19 +05:30
686501d464 feat: Added more zen search options and khal views
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m24s
2026-03-04 20:07:00 +05:30
09686e1ee6 feat: Disable stylix for global fish config
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-03-04 17:51:21 +05:30
7caf921746 feat: Generate completions for fish and sync khal properly 2026-03-04 17:43:52 +05:30
7b86a1cb21 feat: Added stuff to zen
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
2026-03-04 15:30:05 +05:30
4f18892d1b feat: Added commented out ciny 2026-03-02 15:49:49 +05:30
580fcac817 feat: re-generated spaces
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m25s
2026-03-02 01:52:21 +05:30
8364bbb3cb fix: Cleanup Warnings
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-03-02 01:44:28 +05:30
e0e7f514ec feat(nixify): add home package and update lock entries
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-03-02 01:43:50 +05:30
82f69166c5 feat: Update caddy hash
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m34s
2026-03-02 01:16:54 +08:00
dce2e160da feat: Enable all substituters in all machines
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m31s
2026-03-01 21:35:46 +05:30
b10e5253f8 feat: Update all flakes
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-03-01 20:31:34 +05:30
d4a0ab60cf feat(programs): add codex
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m22s
2026-02-27 16:12:44 +05:30
5269b2ee10 feat(nix): add download buffer size config to NixOS and Darwin configuration files
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m26s
2026-02-27 12:36:33 +05:30
d9c9b55d49 feat: Automatically run fish if bash is in interactive mode
Some checks failed
Flake checker / Build Nix targets (push) Has been cancelled
2026-02-27 12:35:12 +05:30
fd5e28b368 feat: Added personal website
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-02-25 16:53:49 +05:30
da793b82e7 fix: Add cinny in matrix imports 2026-02-25 15:24:26 +05:30
57 changed files with 1928 additions and 469 deletions

View File

@@ -22,6 +22,7 @@
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
# "mirai:bcVPoFGBZ0i7JAKMXIqLj2GY3CulLC4kP7rQyqes1RM="
];
download-buffer-size = 524288000;
};
extraOptions = ''
build-users-group = nixbld

View File

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

View File

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

View File

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

1754
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -164,6 +164,30 @@
url = "github:christo-auer/eilmeldung";
inputs.nixpkgs.follows = "nixpkgs";
};
servius-website = {
url = "git+https://git.darksailor.dev/servius/servius.neocities.org";
inputs.nixpkgs.follows = "nixpkgs";
};
nixify = {
url = "github:uttarayan21/nixify";
inputs.nixpkgs.follows = "nixpkgs";
};
tangled-core = {
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 = {
@@ -341,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;
};
};
}
);
}

View File

@@ -52,9 +52,13 @@
khal = {
enable = true;
addresses = ["email@uttarayan.me"];
type = "discover";
};
vdirsyncer = {
enable = true;
conflictResolution = "remote wins";
collections = ["from a"];
metadata = ["color" "displayname"];
};
};
};

1
home/apps/cinny.nix Normal file
View File

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

View File

@@ -7,6 +7,7 @@ lib.optionalAttrs device.hasGui {
imports = [
# ./audacity.nix
# ./bottles.nix
# ./cinny.nix
# ./cursor.nix
# ./gimp.nix
# ./guitarix.nix
@@ -26,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
@@ -43,7 +48,6 @@ lib.optionalAttrs device.hasGui {
./vicinae.nix
./wezterm.nix
./zathura.nix
./zed.nix
./zen.nix
];
}

View File

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

View File

@@ -8,11 +8,8 @@
stylix.targets.kitty.enable = false;
programs.kitty = {
enable = true;
# enable = false;
font = {
# name = "FiraCode Nerd Font Mono";
name = "Hasklug Nerd Font Mono";
# name = "Monaspace Krypton Var Light";
size = lib.mkForce 13;
};
settings = {

View File

@@ -6,7 +6,7 @@
}: {
home.packages = lib.optionals (device.is "ryu") [
pkgs.fluffychat
pkgs.fractal
pkgs.element-desktop
# 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

@@ -8,9 +8,10 @@
imports = [
inputs.zen-browser.homeModules.beta
];
programs.zen-browser.darwinDefaultsId = "org.mozilla.firefox.plist";
programs.zen-browser = {
enable = true;
profiles.default = {
profiles.default = rec {
containersForce = true;
containers = {
Personal = {
@@ -34,36 +35,118 @@
containers = config.programs.zen-browser.profiles."default".containers;
in {
"Personal" = {
id = "";
id = "0b4dab19-9b39-4f2c-8ad1-0268d9fa2e49";
icon = "👤";
container = containers."Personal".id;
position = 1000;
};
"Work" = {
id = "00bdd434-e31b-4e2b-b8f5-fa7055631a64";
id = "8f687163-6b15-4c3c-885f-8ffe465b386f";
icon = "💼";
container = containers."Work".id;
position = 2000;
};
"Shopping" = {
id = "77452260-56e6-4c9e-8d5f-417958bc4fa4";
id = "74f46a1b-cdd7-408c-98d7-382a2b11bd51";
icon = "💸";
container = containers."Shopping".id;
position = 3000;
};
};
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;
default = "ddg";
engines = {
mynixos = {
name = "My NixOS";
urls = [
{
template = "https://mynixos.com/search?q={searchTerms}";
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@nx"]; # Keep in mind that aliases defined here only work if they start with "@"
};
hm = {
name = "Home Manager Options";
urls = [
{
template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
}
];
definedAliases = ["@hm"];
};
nv = {
name = "NixVim";
urls = [
{
template = "https://nix-community.github.io/nixvim/search";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@nv"];
};
lib = {
name = "Lib.rs";
urls = [
{
template = "https://lib.rs/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@lib"];
};
searchix = {
name = "Searchix";
urls = [
{
template = "https://searchix.ovh/?query={searchTerms}";
}
];
definedAliases = ["sx"];
};
};
};
pins = {
dashboard = {
id = "d163f090-67b7-47d2-8f76-7d638b9f742b";
workspace = spaces.Personal.id;
url = "https://dashboard.darksailor.dev";
isEssential = true;
position = 101;
};
github = {
id = "db2f3e36-9279-4b8d-8b5d-52a90f34ea0d";
workspace = spaces.Personal.id;
url = "https://github.com";
isEssential = true;
position = 102;
};
};
pinsForce = true;
};
nativeMessagingHosts = [pkgs.tridactyl-native];
policies = {
@@ -84,6 +167,5 @@
Fingerprinting = true;
};
};
suppressXdgMigrationWarning = true;
};
}

View File

@@ -1,6 +1,17 @@
{pkgs, ...}: {
programs.khal.enable = true;
programs.khal = {
enable = true;
settings = {
default = {
# default_calendar = "fastmail";
};
view = {
agenda_event_format = "{calendar-color}{cancelled}{start-end-time-style} {title}{repeat-symbol}{reset}";
};
};
};
programs.qcal.enable = true;
programs.vdirsyncer.enable = true;
services.vdirsyncer.enable = true;
accounts.calendar.accounts.fastmail.qcal.enable = true;
}

View File

@@ -4,7 +4,9 @@
cratesNix,
...
}: let
cargo-credential-1password = cratesNix.buildCrate "cargo-credential-1password" {};
cargo-credential-1password = cratesNix.buildCrate "cargo-credential-1password" {
meta.mainProgram = "cargo-credential-1password";
};
in
lib.mkIf (!device.isServer) {
home.file.".cargo/config.toml".text =

1
home/programs/codex.nix Normal file
View File

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

View File

@@ -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,8 +84,7 @@
./tmux.nix
./uv.nix
./yazi.nix
./yt-dlp.nix
./zoxide.nix
./yq.nix
./zoxide.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

@@ -23,6 +23,7 @@
j = "just --choose";
# t = "zellij a -c --index 0";
t = "tmux";
neorg = "nvim -c ':Neorg index'";
};
shellAliases = {
g = "git";
@@ -33,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") ''
@@ -44,6 +45,15 @@
'';
};
home.shell.enableFishIntegration = true;
# programs.bash = {
# enable = true;
# initExtra = ''
# if [[ $- == *i* && -z "$FISH_VERSION" ]]; then
# ${lib.getExe pkgs.fish}
# fi
# '';
# };
}
// lib.optionalAttrs (!(device.is "tsuba")) {
stylix.targets.fish.enable = false;

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

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

9
home/programs/nixify.nix Normal file
View File

@@ -0,0 +1,9 @@
{
pkgs,
inputs,
...
}: {
home.packages = [
inputs.nixify.packages.${pkgs.system}.default
];
}

View File

@@ -36,11 +36,11 @@ in {
pkgs.writeShellApplication {
name = "git-install-prepare-commit-msg";
text = ''
cp ${../scripts/prepare-commit-msg} .git/hooks/prepare-commit-msg
ln -sf ${../scripts/prepare-commit-msg} .git/hooks/prepare-commit-msg
'';
}
)
(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]))
];
}

View File

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

View File

@@ -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";
@@ -172,7 +175,7 @@
exec-once = [
# "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
"${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1"
"${pkgs.mate-polkit}/libexec/polkit-mate-authentication-agent-1"
# "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
# "${pkgs.swww}/bin/swww init; swww img ~/.local/share/dotfiles/images/wallpaper.jpg"
# "${pkgs.ironbar}/bin/ironbar"
@@ -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

View File

@@ -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";
}
{

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,
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"];
# }

View File

@@ -1,48 +1,17 @@
{
config,
lib,
...
}:
with lib; let
cfg = config.nix.substituters;
in {
options.nix.substituters = {
enableCuda = mkOption {
type = types.bool;
default = false;
description = "Enable NixOS CUDA cache";
};
enableLlamaCpp = mkOption {
type = types.bool;
default = false;
description = "Enable llama-cpp cache";
};
};
{...}: {
config = {
nix.settings = {
trusted-substituters =
[
trusted-substituters = [
"https://nix-community.cachix.org"
"https://nixos-raspberrypi.cachix.org"
]
++ optionals cfg.enableLlamaCpp [
"https://llama-cpp.cachix.org"
]
++ optionals cfg.enableCuda [
"https://cache.nixos-cuda.org"
];
trusted-public-keys =
[
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
]
++ optionals cfg.enableLlamaCpp [
"llama-cpp.cachix.org-1:H75X+w83wUKTIPSO1KWy9ADUrzThyGs8P5tmAbkWhQc="
]
++ optionals cfg.enableCuda [
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
];
};

View File

@@ -289,7 +289,7 @@ in {
"core.keybinds" = {
config = {
default_keybinds = true;
neorg_leader = "<C-m>";
neorg_leader = "<C-i>";
};
};
"core.integrations.treesitter" = {
@@ -686,7 +686,7 @@ in {
blink-ripgrep.enable = true;
blink-cmp-git.enable = true;
blink-cmp-dictionary.enable = true;
blink-cmp-copilot.enable = true;
# blink-cmp-copilot.enable = true;
blink-cmp-spell.enable = true;
blink-cmp-tmux.enable = true;
blink-compat = {

View File

@@ -42,8 +42,8 @@
};
};
in [
inputs.nno.overlays.default
inputs.nixvim.overlays.default
vimPlugins
inputs.nno.overlays.default
tree-sitter-grammars
vimPlugins
]

View File

@@ -28,6 +28,7 @@
inputs.sops-nix.nixosModules.sops
inputs.stylix.nixosModules.stylix
inputs.headplane.nixosModules.headplane
inputs.tangled-core.nixosModules.knot
./${device.name}/configuration.nix
../home/module.nix

View File

@@ -4,5 +4,5 @@
documentation.dev.enable = true;
documentation.doc.enable = true;
documentation.nixos.enable = true;
documentation.man.generateCaches = true;
documentation.man.cache.enable = true;
}

View File

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

View File

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

View File

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

View File

@@ -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}"
@@ -49,6 +41,7 @@
extra-experimental-features = "nix-command flakes auto-allocate-uids";
trusted-users = [device.user];
extra-sandbox-paths = [config.programs.ccache.cacheDir];
download-buffer-size = 524288000;
};
extraOptions = ''
build-users-group = nixbld
@@ -67,11 +60,6 @@
# ../../builders/tsuba.nix
];
distributedBuilds = true;
# Enable CUDA and llama-cpp caches
substituters = {
enableCuda = true;
enableLlamaCpp = true;
};
};
users.users.${device.user} = {

View File

@@ -22,5 +22,6 @@
./foot.nix
./ddcutil.nix
./libnotify.nix
./fish.nix
];
}

View File

@@ -0,0 +1,7 @@
{...}: {
programs.fish = {
enable = true;
generateCompletions = true;
};
stylix.targets.fish.enable = false;
}

View File

@@ -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";

View File

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

View File

@@ -7,8 +7,5 @@
enable = true;
dumpcap.enable = true;
};
environment.systemPackages = with pkgs; [
wireshark-qt
];
users.users.${device.user}.extraGroups = ["wireshark"];
}

View File

@@ -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 = [
{

View File

@@ -57,9 +57,6 @@
};
package = pkgs.nixVersions.nix_2_32; # deploy-rs doesn't work with nix >= 2.32
distributedBuilds = true;
substituters = {
enableCuda = true;
};
};
users.users.${device.user} = {

View File

@@ -12,6 +12,7 @@
./resolved.nix
./tailscale.nix
./gitea.nix
./knot.nix
./affine.nix
./attic.nix
@@ -24,10 +25,11 @@
./llms.nix
./matrix
./monitoring.nix
# ./servius-website.nix
# ./paperless.nix
./prowlarr.nix
# ./searxng.nix
# ./shitpost.nix
./shitpost.nix
];
services = {
nix-serve = {

View File

@@ -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";

View File

@@ -0,0 +1,31 @@
{
config,
inputs,
pkgs,
...
}: {
services.tangled.knot = {
enable = true;
package = inputs.tangled-core.packages.${pkgs.system}.knot;
server = {
hostname = "tangled.darksailor.dev";
owner = "did:plc:tllyvpa5oxw6fwwhkj3kv6dr";
listenAddr = "127.0.0.1:5969";
};
};
services.caddy.virtualHosts."tangled.darksailor.dev".extraConfig = ''
reverse_proxy ${config.services.tangled.knot.server.listenAddr} {
header_up Host {host}
header_up X-Real-IP {remote}
header_up X-Forwarded-For {remote}
header_up X-Forwarded-Proto {scheme}
}
handle /events/* {
reverse_proxy ${config.services.tangled.knot.server.listenAddr} {
header_up X-Forwarded-For {remote}
header_up Host {host}
}
}
'';
}

View File

@@ -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

View File

@@ -1,6 +1,7 @@
{...}: {
imports = [
./tuwunel.nix
./cinny.nix
# ./signal.nix
# ./discord.nix
];

View File

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

View File

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

View File

@@ -0,0 +1,12 @@
{
inputs,
pkgs,
...
}: let
website = inputs.servius-website.packages.${pkgs.system}.default;
in {
services.caddy.virtualHosts."servius.darksailor.dev".extraConfig = ''
root * ${website}
file_server
'';
}

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
./servarr.nix
./deluge.nix
./aria2.nix
./homeassistant.nix
./flaresolverr.nix
./caddy.nix

View File

@@ -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-dnhEjopeA0UiI+XVYHYpsjcEI6Y1Hacbi28hVKYQURg=";
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

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]
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