Compare commits

..

27 Commits

Author SHA1 Message Date
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
c2e4fbb59f chore: move cinny to a different file
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m24s
2026-02-24 20:22:14 +05:30
25a7f185bc feat: Remove unused inputs
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
2026-02-24 18:33:47 +05:30
044a0156df feat: Remove unused overlays
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-02-24 17:32:55 +05:30
4e0cb41780 feat: Update to cinny 4.10.5
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m25s
2026-02-24 17:03:46 +05:30
34737a5aef chore(kuro): remove unused macOS casks from Homebrew configuration
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m27s
2026-02-24 14:31:56 +05:30
81ea7f695e feat: Update cinny to use hashRouter and update caddy reverse proxy
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m22s
2026-02-24 13:50:59 +05:30
ea7707d050 feat: Use Grafana secretKey 2026-02-24 13:24:30 +05:30
30a54caa03 refactor(matrix): update matrix config to Cinny
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m32s
2026-02-24 13:06:04 +05:30
3ed6781ae1 chore: enable zen-browser flake on all devices
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m29s
2026-02-24 11:11:11 +05:30
3418e577c5 docs(AGENTS.md): update build & deploy commands and example IP 2026-02-24 10:29:37 +05:30
2741e25585 feat: enable stuff
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m23s
2026-02-23 18:42:31 +05:30
e9aed100af Merge pull request 'feat: add matrix-rtc' (#1) from matrix-rtc into master
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m28s
Reviewed-on: #1
2026-02-23 19:42:06 +08:00
40 changed files with 847 additions and 2465 deletions

View File

@@ -4,28 +4,8 @@ This repository contains NixOS, nix-darwin, and Home Manager configurations in N
## Build, Test, and Deployment Commands ## Build, Test, and Deployment Commands
### Build and Apply Configurations ### Build and Apply Configurations & Deploy to Remote Machines
Can use deploy for both local and remote hosts
**Linux (NixOS):**
```bash
just build # Build configuration
just install cores='32' # Apply with 32 cores
sudo nixos-rebuild test --fast --flake . # Test without activation
sudo nixos-rebuild switch --rollback --flake . # Rollback
```
**macOS (nix-darwin):**
```bash
just build # Build configuration
just install # Apply configuration
```
**Home Manager:**
```bash
just home
```
### Deploy to Remote Machines (deploy-rs)
```bash ```bash
deploy -s .#ryu # Desktop (x86_64-linux) deploy -s .#ryu # Desktop (x86_64-linux)
@@ -35,6 +15,23 @@ deploy -s .#kuro # MacBook M4 Pro (aarch64-darwin)
deploy -s .#shiro # Mac Mini M4 (aarch64-darwin) deploy -s .#shiro # Mac Mini M4 (aarch64-darwin)
``` ```
**Linux (NixOS):**
```bash
deploy -s .#ryu
deploy -s .#tako
deploy -s .#tako --builders '' --cores 32 # with no other builders and 32 cores
deploy -s .#ryu --max-jobs 4 --cores 32 # use 32 cores and 4 parallel derivations
sudo nixos-rebuild test --fast --flake . # Test without activation
sudo nixos-rebuild switch --rollback --flake . # Rollback
```
**macOS (nix-darwin):**
```bash
deploy -s .#kuro
deploy -s .#shiro
sudo nix-darwin test --fast --flake .
```
### Validation and Formatting ### Validation and Formatting
```bash ```bash
@@ -164,7 +161,7 @@ just add program myprogram # Creates home/programs/myprogram.nix and adds impor
### Adding a new dns entry ### Adding a new dns entry
```bash ```bash
cfcli add --type A foobar.bazbar.biz 192.168.0.1 cfcli add --type A foobar.bazbar.biz 100.102.64.19
``` ```
### Creating a Module ### Creating a Module

View File

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

View File

@@ -6,10 +6,7 @@
casks = [ casks = [
"1password" "1password"
"lunar" "lunar"
"orcaslicer"
"raycast" "raycast"
"zed"
"zen"
]; ];
}; };
} }

View File

@@ -5,14 +5,6 @@
... ...
}: { }: {
nodes = { nodes = {
mirai = {
hostname = "mirai.darksailor.dev";
profiles.system = {
sshUser = "fs0c131y";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.mirai;
user = "root";
};
};
tsuba = { tsuba = {
hostname = "tsuba.darksailor.dev"; hostname = "tsuba.darksailor.dev";
profiles.system = { profiles.system = {

2490
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -17,10 +17,6 @@
url = "github:nix-community/stylix"; url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
stylix-stable = {
url = "github:nix-community/stylix/release-25.11";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
home-manager-stable = { home-manager-stable = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs-stable"; inputs.nixpkgs.follows = "nixpkgs-stable";
@@ -51,26 +47,10 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nur.url = "github:nix-community/nur"; nur.url = "github:nix-community/nur";
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprlock = {
url = "github:hyprwm/hyprlock";
inputs.nixpkgs.follows = "nixpkgs";
};
zjstatus = { zjstatus = {
url = "github:dj95/zjstatus"; url = "github:dj95/zjstatus";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
openapi-tui = {
url = "github:zaghaghi/openapi-tui";
flake = false;
};
musnix = { musnix = {
url = "github:musnix/musnix"; url = "github:musnix/musnix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -83,26 +63,10 @@
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
csshacks = {
url = "github:MrOtherGuy/firefox-csshacks";
flake = false;
};
nno = { nno = {
url = "github:nvim-neorg/nixpkgs-neorg-overlay"; url = "github:nvim-neorg/nixpkgs-neorg-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
pets = {
url = "github:giusgad/pets.nvim";
flake = false;
};
rest-nvim = {
url = "github:rest-nvim/rest.nvim";
flake = false;
};
neogit = {
url = "github:NeogitOrg/neogit/nightly";
flake = false;
};
d2 = { d2 = {
url = "github:terrastruct/d2-vim"; url = "github:terrastruct/d2-vim";
flake = false; flake = false;
@@ -127,25 +91,6 @@
url = "github:pest-parser/tree-sitter-pest"; url = "github:pest-parser/tree-sitter-pest";
flake = false; flake = false;
}; };
navigator = {
url = "github:ray-x/navigator.lua";
flake = false;
};
guihua = {
url = "github:ray-x/guihua.lua";
flake = false;
};
ghostty = {
url = "github:ghostty-org/ghostty";
};
typr = {
url = "github:nvzone/typr";
flake = false;
};
volt = {
url = "github:nvzone/volt";
flake = false;
};
arion = { arion = {
url = "github:hercules-ci/arion"; url = "github:hercules-ci/arion";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -169,18 +114,10 @@
url = "github:uttarayan21/anyrun-hyprwin"; url = "github:uttarayan21/anyrun-hyprwin";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
anyrun-rink = {
url = "github:uttarayan21/anyrun-rink";
inputs.nixpkgs.follows = "nixpkgs";
};
onepassword-shell-plugins = { onepassword-shell-plugins = {
url = "github:1Password/shell-plugins"; url = "github:1Password/shell-plugins";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zeronsd = {
url = "github:uttarayan21/zeronsd";
inputs.nixpkgs.follows = "nixpkgs";
};
tmux-float = { tmux-float = {
url = "github:uttarayan21/tmux-float"; url = "github:uttarayan21/tmux-float";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -199,24 +136,6 @@
# url = "path:/home/servius/Projects/ALVR"; # url = "path:/home/servius/Projects/ALVR";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
# }; # };
ik_llama = {
url = "github:ikawrakow/ik_llama.cpp?submodules=1";
# submodules = true;
inputs.nixpkgs.follows = "nixpkgs";
};
llama-cpp = {
# url = "https://github.com/ggml-org/llama.cpp";
url = "github:ggml-org/llama.cpp/b6178?submodules=1";
inputs.nixpkgs.follows = "nixpkgs";
};
yabai = {
url = "github:koekeishiya/yabai";
flake = false;
};
nix-auth = {
url = "github:numtide/nix-auth";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-xr = { nixpkgs-xr = {
url = "github:nix-community/nixpkgs-xr"; url = "github:nix-community/nixpkgs-xr";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -241,16 +160,17 @@
url = "github:vicinaehq/vicinae"; url = "github:vicinaehq/vicinae";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; };
wivrn = {
url = "github:uttarayan21/wivrn?submodules=1";
inputs.nixpkgs.follows = "nixpkgs";
};
eilmeldung = { eilmeldung = {
url = "github:christo-auer/eilmeldung"; url = "github:christo-auer/eilmeldung";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hytale-launcher = { servius-website = {
url = "github:JPyke3/hytale-launcher-nix"; url = "git+https://git.darksailor.dev/servius/servius.neocities.org";
inputs.nixpkgs.follows = "nixpkgs";
};
nixify = {
url = "github:uttarayan21/nixify";
inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };

View File

@@ -52,9 +52,13 @@
khal = { khal = {
enable = true; enable = true;
addresses = ["email@uttarayan.me"]; addresses = ["email@uttarayan.me"];
type = "discover";
}; };
vdirsyncer = { vdirsyncer = {
enable = true; 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 = [ imports = [
# ./audacity.nix # ./audacity.nix
# ./bottles.nix # ./bottles.nix
# ./cinny.nix
# ./cursor.nix # ./cursor.nix
# ./gimp.nix # ./gimp.nix
# ./guitarix.nix # ./guitarix.nix

View File

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

View File

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

View File

@@ -8,9 +8,10 @@
imports = [ imports = [
inputs.zen-browser.homeModules.beta inputs.zen-browser.homeModules.beta
]; ];
programs.zen-browser.darwinDefaultsId = "org.mozilla.firefox.plist";
programs.zen-browser = { programs.zen-browser = {
enable = device.isLinux; enable = true;
profiles.default = { profiles.default = rec {
containersForce = true; containersForce = true;
containers = { containers = {
Personal = { Personal = {
@@ -34,19 +35,19 @@
containers = config.programs.zen-browser.profiles."default".containers; containers = config.programs.zen-browser.profiles."default".containers;
in { in {
"Personal" = { "Personal" = {
id = ""; id = "0b4dab19-9b39-4f2c-8ad1-0268d9fa2e49";
icon = "👤"; icon = "👤";
container = containers."Personal".id; container = containers."Personal".id;
position = 1000; position = 1000;
}; };
"Work" = { "Work" = {
id = "00bdd434-e31b-4e2b-b8f5-fa7055631a64"; id = "8f687163-6b15-4c3c-885f-8ffe465b386f";
icon = "💼"; icon = "💼";
container = containers."Work".id; container = containers."Work".id;
position = 2000; position = 2000;
}; };
"Shopping" = { "Shopping" = {
id = "77452260-56e6-4c9e-8d5f-417958bc4fa4"; id = "74f46a1b-cdd7-408c-98d7-382a2b11bd51";
icon = "💸"; icon = "💸";
container = containers."Shopping".id; container = containers."Shopping".id;
position = 3000; position = 3000;
@@ -64,6 +65,76 @@
sponsorblock sponsorblock
floccus floccus
]; ];
search = {
force = true;
default = "ddg";
engines = {
mynixos = {
name = "My NixOS";
urls = [
{
template = "https://mynixos.com/search?q={searchTerms}";
params = [
{
name = "query";
value = "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";
params = [
{
name = "query";
value = "searchTerms";
}
];
}
];
definedAliases = ["@hm"];
};
nv = {
name = "NixVim";
urls = [
{
template = "https://nix-community.github.io/nixvim/search/?query={searchTerms}";
params = [
{
name = "query";
value = "searchTerms";
}
];
}
];
definedAliases = ["@nv"];
};
};
};
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]; nativeMessagingHosts = [pkgs.tridactyl-native];
policies = { policies = {

View File

@@ -2,5 +2,6 @@
programs.khal.enable = true; programs.khal.enable = true;
programs.qcal.enable = true; programs.qcal.enable = true;
programs.vdirsyncer.enable = true; programs.vdirsyncer.enable = true;
services.vdirsyncer.enable = true;
accounts.calendar.accounts.fastmail.qcal.enable = true; accounts.calendar.accounts.fastmail.qcal.enable = true;
} }

View File

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

@@ -83,5 +83,7 @@
./yt-dlp.nix ./yt-dlp.nix
./zoxide.nix ./zoxide.nix
./yq.nix ./yq.nix
./codex.nix
./nixify.nix
]; ];
} }

View File

@@ -23,6 +23,7 @@
j = "just --choose"; j = "just --choose";
# t = "zellij a -c --index 0"; # t = "zellij a -c --index 0";
t = "tmux"; t = "tmux";
neorg = "nvim -c ':Neorg index'";
}; };
shellAliases = { shellAliases = {
g = "git"; g = "git";
@@ -44,6 +45,15 @@
''; '';
}; };
home.shell.enableFishIntegration = true; 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")) { // lib.optionalAttrs (!(device.is "tsuba")) {
stylix.targets.fish.enable = false; stylix.targets.fish.enable = false;

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

@@ -16,11 +16,6 @@
user = "git"; user = "git";
host = "github.com"; host = "github.com";
}; };
# mirai = {
# user = "fs0c131y";
# hostname = "mirai.darksailor.dev";
# forwardAgent = true;
# };
tako = { tako = {
user = "servius"; user = "servius";
hostname = "tako.darksailor.dev"; hostname = "tako.darksailor.dev";

View File

@@ -36,7 +36,7 @@ in {
pkgs.writeShellApplication { pkgs.writeShellApplication {
name = "git-install-prepare-commit-msg"; name = "git-install-prepare-commit-msg";
text = '' text = ''
cp ${../scripts/prepare-commit-msg} .git/hooks/prepare-commit-msg ln -sf ${../scripts/prepare-commit-msg} .git/hooks/prepare-commit-msg
''; '';
} }
) )

View File

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

View File

@@ -1,50 +1,19 @@
{ {...}: {
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 = { config = {
nix.settings = { nix.settings = {
trusted-substituters = trusted-substituters = [
[ "https://nix-community.cachix.org"
"https://nix-community.cachix.org" "https://nixos-raspberrypi.cachix.org"
"https://nixos-raspberrypi.cachix.org" "https://llama-cpp.cachix.org"
] "https://cache.nixos-cuda.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="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" "llama-cpp.cachix.org-1:H75X+w83wUKTIPSO1KWy9ADUrzThyGs8P5tmAbkWhQc="
] "cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
++ 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" = { "core.keybinds" = {
config = { config = {
default_keybinds = true; default_keybinds = true;
neorg_leader = "<C-m>"; neorg_leader = "<C-i>";
}; };
}; };
"core.integrations.treesitter" = { "core.integrations.treesitter" = {
@@ -686,7 +686,7 @@ in {
blink-ripgrep.enable = true; blink-ripgrep.enable = true;
blink-cmp-git.enable = true; blink-cmp-git.enable = true;
blink-cmp-dictionary.enable = true; blink-cmp-dictionary.enable = true;
blink-cmp-copilot.enable = true; # blink-cmp-copilot.enable = true;
blink-cmp-spell.enable = true; blink-cmp-spell.enable = true;
blink-cmp-tmux.enable = true; blink-cmp-tmux.enable = true;
blink-compat = { blink-compat = {

View File

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

View File

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

View File

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

View File

@@ -22,5 +22,6 @@
./foot.nix ./foot.nix
./ddcutil.nix ./ddcutil.nix
./libnotify.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,6 @@
{pkgs, ...}: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
hyprland hyprland
xorg.xhost xhost
]; ];
} }

View File

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

View File

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

View File

@@ -21,9 +21,10 @@
# ./headscale.nix # ./headscale.nix
./immich.nix ./immich.nix
./kellnr.nix ./kellnr.nix
# ./llms.nix ./llms.nix
./matrix ./matrix
# ./monitoring.nix ./monitoring.nix
./servius-website.nix
# ./paperless.nix # ./paperless.nix
./prowlarr.nix ./prowlarr.nix
# ./searxng.nix # ./searxng.nix

View File

@@ -198,19 +198,19 @@
reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort} reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort}
''; '';
}; };
# authelia = { authelia = {
# instances.darksailor = { instances.darksailor = {
# settings = { settings = {
# access_control = { access_control = {
# rules = [ rules = [
# { {
# domain = "dashboard.darksailor.dev"; domain = "dashboard.darksailor.dev";
# policy = "one_factor"; policy = "one_factor";
# } }
# ]; ];
# }; };
# }; };
# }; };
# }; };
}; };
} }

View File

@@ -0,0 +1,71 @@
{
pkgs,
config,
...
}: let
base_domain = "darksailor.dev";
cinnyConfig = builtins.toJSON {
defaultHomeserver = 0;
homeserverList = ["darksailor.dev" "matrix.org"];
allowCustomHomeservers = false;
hashRouter = {
enabled = true;
basename = "/";
};
};
cinnyConfigFile = pkgs.writeText "cinny-config.json" cinnyConfig;
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=";
};
nodejs = nodejs_22;
npmDepsHash = "sha256-2Lrd0jAwAH6HkwLHyivqwaEhcpFAIALuno+MchSIfxo=";
nativeBuildInputs = [
python3
pkg-config
];
buildInputs =
[
pixman
cairo
pango
]
++ lib.optionals stdenv.hostPlatform.isDarwin [giflib];
installPhase = ''
runHook preInstall
cp -r dist $out
runHook postInstall
'';
};
in {
services.caddy.virtualHosts = {
"matrix.${base_domain}".extraConfig = ''
handle /_matrix/* {
reverse_proxy /_matrix/* localhost:${toString (builtins.elemAt config.services.matrix-tuwunel.settings.global.port 0)}
}
handle_path /config.json {
file_server
root ${cinnyConfigFile}
}
handle {
root * ${cinny}
try_files {path} /index.html
file_server
}
'';
};
}

View File

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

View File

@@ -8,19 +8,6 @@
client_id = "tuwunel"; client_id = "tuwunel";
rtc_domain = "matrix-rtc.${base_domain}"; rtc_domain = "matrix-rtc.${base_domain}";
jwt_port = 8081; jwt_port = 8081;
elementConfig = builtins.toJSON {
default_server_config = {
"m.homeserver" = {
base_url = "https://matrix.${base_domain}";
};
};
sso_redirect_options = {
immediate = false;
on_welcome_page = true;
on_login_page = true;
};
};
elementConfigFile = pkgs.writeText "element-config.json" elementConfig;
in { in {
sops = { sops = {
secrets."tuwunel/client_id" = { secrets."tuwunel/client_id" = {
@@ -74,15 +61,20 @@ in {
package = pkgs.matrix-tuwunel; package = pkgs.matrix-tuwunel;
}; };
services.caddy.virtualHosts = { services.caddy.virtualHosts = {
"matrix.${base_domain}".extraConfig = '' # "matrix.${base_domain}".extraConfig = ''
reverse_proxy /_matrix/* localhost:${toString port} # handle /_matrix/* {
handle_path /config.json { # reverse_proxy /_matrix/* localhost:${toString port}
file_server # }
root ${elementConfigFile} # handle_path /config.json {
} # file_server
root * ${pkgs.element-web} # root ${cinnyConfigFile}
file_server # }
''; # handle {
# root * ${cinny}
# try_files {path} /index.html
# file_server
# }
# '';
"${base_domain}".extraConfig = '' "${base_domain}".extraConfig = ''
reverse_proxy /.well-known/* localhost:${toString port} reverse_proxy /.well-known/* localhost:${toString port}
''; '';

View File

@@ -23,6 +23,9 @@
caddy = 2019; caddy = 2019;
}; };
in { in {
sops.secrets."grafana/secret_key" = {
owner = "grafana";
};
# Grafana configuration with Authelia integration # Grafana configuration with Authelia integration
services.grafana = { services.grafana = {
enable = true; enable = true;
@@ -54,6 +57,7 @@ in {
security = { security = {
disable_gravatar = true; disable_gravatar = true;
cookie_secure = true; cookie_secure = true;
secret_key = ''$__file{${config.sops.secrets."grafana/secret_key".path}}'';
}; };
analytics = { analytics = {

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

@@ -1,5 +1,6 @@
{inputs, ...} @ self: let {inputs, ...} @ self: let
shell-scipts = final: prev: { # --- Shell / CLI utilities ---
shell-scripts = final: prev: {
handlr-xdg = final.pkgs.writeShellApplication { handlr-xdg = final.pkgs.writeShellApplication {
name = "xdg-open"; name = "xdg-open";
runtimeInputs = [final.pkgs.handlr-regex]; runtimeInputs = [final.pkgs.handlr-regex];
@@ -8,184 +9,9 @@
''; '';
}; };
}; };
misc-applications = final: prev: {
command-runner = inputs.command-runner.packages.${prev.system}.command-runner;
goread = final.pkgs.buildGoModule {
pname = "goread";
version = "v1.6.4";
vendorHash = "sha256-/kxEnw8l9S7WNMcPh1x7xqiQ3L61DSn6DCIvJlyrip0";
src = final.pkgs.fetchFromGitHub {
owner = "TypicalAM";
repo = "goread";
rev = "v1.6.4";
sha256 = "sha256-m6reRaJNeFhJBUatfPNm66LwTXPdD/gioT8HTv52QOw";
};
patches = [patches/goread.patch];
checkPhase = null;
};
music-player-git = inputs.music-player.packages.${prev.system}.default;
davis = let
davis-src = final.pkgs.fetchFromGitHub {
owner = "SimonPersson";
repo = "davis";
rev = "main";
sha256 = "sha256-p4l1nF6M28OyIaPorgsyR7NJtmVwpmuws67KvVnJa8s";
};
cargoToml =
builtins.fromTOML (builtins.readFile "${davis-src}/Cargo.toml");
in
final.rustPlatform.buildRustPackage {
pname = cargoToml.package.name;
version = cargoToml.package.version;
src = davis-src;
cargoLock = {lockFile = "${davis-src}/Cargo.lock";};
buildPhase = ''
runHook cargoBuildHook
runHook cargoInstallPostBuildHook
'';
runtimeInputs = [final.pkgs.picat];
buildInputs = [final.pkgs.picat];
installPhase = ''
mkdir -p $out/bin
cp $bins $out/bin
cp $src/subcommands/cur/davis-cur-vertical $out/bin
cp $src/subcommands/cur/davis-cur-horizontal $out/bin
cp $src/subcommands/cover/davis-cover $out/bin
'';
};
openapi-tui = let # --- Terminal multiplexers ---
cargoToml = builtins.fromTOML (builtins.readFile "${inputs.openapi-tui}/Cargo.toml"); terminal = final: prev: {
in
final.rustPlatform.buildRustPackage {
pname = cargoToml.package.name;
version = cargoToml.package.version;
src = inputs.openapi-tui;
cargoLock = {lockFile = "${inputs.openapi-tui}/Cargo.lock";};
buildInputs = with final;
pkgs.lib.optionals pkgs.stdenv.isDarwin [
pkgs.apple-sdk_13
]
++ pkgs.lib.optionals pkgs.stdenv.isLinux [
pkgs.openssl
];
PKG_CONFIG_PATH = with final; pkgs.lib.makeSearchPath "lib/pkgconfig" [pkgs.openssl.dev];
nativeBuildInputs = with final; [pkgs.pkg-config];
};
picat = let
picat-src = final.pkgs.fetchFromGitHub {
owner = "SimonPersson";
repo = "picat";
rev = "main";
sha256 = "sha256-HheBinHW4RLjRtiE8Xe5BoEuSCdtZTA9XkRJgtDkXaM";
};
cargoToml =
builtins.fromTOML (builtins.readFile "${picat-src}/Cargo.toml");
in
final.rustPlatform.buildRustPackage {
pname = cargoToml.package.name;
version = cargoToml.package.version;
src = picat-src;
cargoLock = {lockFile = "${picat-src}/Cargo.lock";};
};
psst =
if final.pkgs.stdenv.isLinux
then
(prev.psst.overrideAttrs (finalAttrs: prevAttrs: {
postInstall =
(prevAttrs.postInstall or "")
+ ''
patch $out/share/applications/Psst.desktop < ${./patches/psst.patch}
'';
}))
else
final.rustPlatform.buildRustPackage rec {
pname = "psst";
version = "1";
src = final.pkgs.fetchFromGitHub {
owner = "jpochyla";
repo = "psst";
rev = "master";
sha256 = "sha256-W+MFToyvYDQuC/8DqigvENxzJ6QGQOAeAdmdWG6+qZk";
};
buildInputs = with final; [
pkgs.apple-sdk_13
];
cargoLock = {
lockFile = "${src}/Cargo.lock";
outputHashes = {
"cubeb-0.10.3" = "sha256-gV1KHOhq678E/Rj+u8jX9Fw+TepPwuZdV5y/D+Iby+o";
"druid-0.8.3" = "sha256-hTB9PQf2TAhcLr64VjjQIr18mczwcNogDSRSN5dQULA";
"druid-enums-0.1.0" = "sha256-KJvAgKxicx/g+4QRZq3iHt6MGVQbfOpyN+EhS6CyDZk";
};
};
};
ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight;
# ik_llama = prev.llama-cpp.overrideAttrs (oldAttrs: {
# src = inputs.ik_llama;
# version = "5995";
# });
# llama-cpp = prev.llama-cpp.overrideAttrs (oldAttrs: {
# src = inputs.llama-cpp;
# version = "6178";
# cmakeFlags = oldAttrs.cmakeFlags;
# });
python312 = prev.python312.override {
packageOverrides = final: prev: {
pysaml2 = prev.pysaml2.overridePythonAttrs (orig: {
doCheck = false;
# disabledTests =
# orig.disabledTests
# ++ [
# "test_encrypted_response_6"
# "test_validate_cert_chains"
# "test_validate_with_root_cert"
# ];
});
};
};
zeronsd = let
src = inputs.zeronsd;
in
final.rustPlatform.buildRustPackage {
inherit src;
pname = "zeronsd";
version = "0.6";
strictDeps = true;
buildInputs = [final.pkgs.openssl];
nativeBuildInputs = [final.pkgs.pkg-config];
doCheck = false;
RUSTFMT = "${final.pkgs.rustfmt}/bin/rustfmt";
cargoLock = {lockFile = "${src}/Cargo.lock";};
};
# alvr-master = inputs.alvr.packages.${prev.system}.default;
caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${final.system}.caddy.withPlugins {
plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
hash = "sha256-dnhEjopeA0UiI+XVYHYpsjcEI6Y1Hacbi28hVKYQURg=";
};
nix-auth = inputs.nix-auth.packages.${prev.system}.nix-auth;
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.system}.kitty;
yabai = prev.yabai.overrideAttrs (oldAttrs: rec {
version = "7.1.16";
src = final.fetchzip {
url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
hash = "sha256-rEO+qcat6heF3qrypJ02Ivd2n0cEmiC/cNUN53oia4w=";
};
});
};
anyrun-overlay = final: prev: {
anyrun =
inputs.anyrun.packages.${prev.system}.anyrun.overrideAttrs
(finalAttrs: prevAttrs: {patches = [./patches/ctrl-np.patch];});
hyprwin = inputs.anyrun-hyprwin.packages.${prev.system}.hyprwin;
nixos-options = inputs.anyrun-nixos-options.packages.${prev.system}.default;
anyrun-rink = inputs.anyrun-rink.packages.${prev.system}.default;
};
tmuxPlugins = final: prev: {
tmuxPlugins = tmuxPlugins =
prev.tmuxPlugins prev.tmuxPlugins
// { // {
@@ -201,27 +27,17 @@
}; };
}; };
tmux-float = inputs.tmux-float.packages.${prev.system}.default; tmux-float = inputs.tmux-float.packages.${prev.system}.default;
};
catppuccinThemes = final: prev: {
catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
};
nix-index-db = final: prev: {
nix-index-database = final.runCommandLocal "nix-index-database" {} ''
mkdir -p $out
ln -s ${
inputs.nix-index-database.legacyPackages.${prev.system}.database
} $out/files
'';
};
zellij = final: prev: {
zellijPlugins = { zellijPlugins = {
zjstatus = inputs.zjstatus.packages.${prev.system}.default; zjstatus = inputs.zjstatus.packages.${prev.system}.default;
}; };
}; };
libfprint = final: prev: {
# --- System libraries ---
system-libs = final: prev: {
# Custom libfprint with CS9711 fingerprint reader support
# https://github.com/archeYR/libfprint-CS9711/commits/cs9711-rebase/
libfprint = prev.libfprint.overrideAttrs (oldAttrs: { libfprint = prev.libfprint.overrideAttrs (oldAttrs: {
version = "git"; version = "git";
# https://github.com/archeYR/libfprint-CS9711/commits/cs9711-rebase/
src = final.fetchFromGitHub { src = final.fetchFromGitHub {
owner = "archeYR"; owner = "archeYR";
repo = "libfprint-CS9711"; repo = "libfprint-CS9711";
@@ -237,66 +53,60 @@
final.doctest final.doctest
]; ];
}); });
# fprintd = inputs.nixpkgs-stable.legacyPackages.${prev.system}.fprintd;
# fprintd = prev.fprintd.overrideAttrs (oldAttrs: {
# src = inputs.nixpkgs-stable.legacyPackages.${prev.system}.fprintd.src;
# });
}; };
csshacks = final: prev: {
csshacks = inputs.csshacks; # --- Networking ---
networking = final: prev: {
caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${final.system}.caddy.withPlugins {
plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
hash = "sha256-biQdtiscdmrwP6VUsuXmZrvcdewl+g50kdmab5lhE0s=";
};
}; };
jellyfin = final: prev: {
jellyfin-web = prev.jellyfin-web.overrideAttrs (finalAttrs: previousAttrs: {
installPhase = ''
runHook preInstall
# this is the important line # --- Media ---
sed -i "s#</head>#<script src=\"configurationpage?name=skip-intro-button.js\"></script></head>#" dist/index.html media = final: prev: {
ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight;
music-player-git = inputs.music-player.packages.${prev.system}.default;
};
mkdir -p $out/share # --- macOS-specific ---
cp -a dist $out/share/jellyfin-web darwin = final: prev: {
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.system}.kitty;
runHook postInstall yabai = prev.yabai.overrideAttrs (oldAttrs: rec {
''; version = "7.1.16";
src = final.fetchzip {
url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
hash = "sha256-rEO+qcat6heF3qrypJ02Ivd2n0cEmiC/cNUN53oia4w=";
};
}); });
}; };
# immich = final: prev: {
# immich-latest = prev.immich.overrideAttrs (oldAttrs: { # --- Themes and assets ---
# version = "v1.142.0"; themes = final: prev: {
# src = inputs.immich; catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
# }); nix-index-database = final.runCommandLocal "nix-index-database" {} ''
# }; mkdir -p $out
vr = final: prev: { ln -s ${inputs.nix-index-database.legacyPackages.${prev.system}.database} $out/files
# wivrn-nightly = prev.wivrn.overrideAttrs (oldAttrs: { '';
# version = "v25.11.1";
# src = inputs.wivrn;
# });
wivrn-nightly = inputs.wivrn.packages.${prev.system}.default;
};
games = final: prev: {
hytale-launcher = inputs.hytale-launcher.packages.${prev.system}.default;
}; };
in in
[ [
games # Local overlays
vr shell-scripts
anyrun-overlay terminal
catppuccinThemes system-libs
csshacks networking
media
darwin
themes
# External input overlays
inputs.deploy-rs.overlays.default inputs.deploy-rs.overlays.default
inputs.nix-minecraft.overlay inputs.eilmeldung.overlays.default
inputs.nur.overlays.default
inputs.rust-overlay.overlays.default
inputs.handoff.overlays.default inputs.handoff.overlays.default
inputs.headplane.overlays.default inputs.headplane.overlays.default
inputs.nix-minecraft.overlay
inputs.nur.overlays.default
inputs.vicinae.overlays.default inputs.vicinae.overlays.default
inputs.eilmeldung.overlays.default
jellyfin
libfprint
misc-applications
nix-index-db
shell-scipts
tmuxPlugins
zellij
] ]
++ (import ./neovim/overlays.nix {inherit inputs;}) ++ (import ./neovim/overlays.nix {inherit inputs;})

View File

@@ -79,7 +79,7 @@ minecraft:
modded: ENC[AES256_GCM,data:6itrol9NObR3TczEeOa7wkykgqkpDus0VkHBRpU6VdQ=,iv:F56uYdHozJvkJ+m18aviTWzCrLfW2VcxkbOqpnRiniA=,tag:WLKA+uIJJtlDfMMOn0ak7Q==,type:str] modded: ENC[AES256_GCM,data:6itrol9NObR3TczEeOa7wkykgqkpDus0VkHBRpU6VdQ=,iv:F56uYdHozJvkJ+m18aviTWzCrLfW2VcxkbOqpnRiniA=,tag:WLKA+uIJJtlDfMMOn0ak7Q==,type:str]
grafana: grafana:
adminPassword: ENC[AES256_GCM,data:im6FJVlVUoZg+9W6KmsqtloH4nB6AhXOcia5waRyFKj2DoQlt4jhPH1CFvw=,iv://D6aD/fGl7h4KmtQcQ0TQLWLfKdIs4+EMg2LWjPHvg=,tag:6gHu/V0V0a8GpcgA/hUwXg==,type:str] adminPassword: ENC[AES256_GCM,data:im6FJVlVUoZg+9W6KmsqtloH4nB6AhXOcia5waRyFKj2DoQlt4jhPH1CFvw=,iv://D6aD/fGl7h4KmtQcQ0TQLWLfKdIs4+EMg2LWjPHvg=,tag:6gHu/V0V0a8GpcgA/hUwXg==,type:str]
secretKey: ENC[AES256_GCM,data:LD0x8Fa6SU1+6mwxLkKa/o+ZqeuRIr7o/AKS7EmrDYj0vzrA3/FjViVJNfkOJDch9TbVyjIpk2ZLwxHXOZx7MA==,iv:t6UwZj2JZpMIDsDDeJ4rZah4aBoMIKaoiu9VU2VhViE=,tag:MIz/b8JWYtOpUCcg6gYhJg==,type:str] secret_key: ENC[AES256_GCM,data:QkNTWQyQGgD/zJ0C0nkqTuxJXCx/hqwFH1XrJEGcIB7U3PUNdMpvTYrazgGRUcfEUjMeCIbUgYcamrPJJgaBsA==,iv:RZa79OtDS74JErBk/j5wg/p02Rd4zCXLi4LQGffHLmU=,tag:sbsovzFXj3xmDIF+ACwPgQ==,type:str]
discord: discord:
token: ENC[AES256_GCM,data:M6TayHpIa0J1w3zVRKPPU0P/f18UXOpxzU7fjKNCx8YxzSAaQfY52S5XpiqDgjPWfWdSxzG2VVDqu1708Vwofa8IRKwWafam,iv:x0ySoaS68aLRVUcQin096RoeQGRELvNwdFJxezPj/cA=,tag:Omv5uL97y7ZTI8juVJFNug==,type:str] token: ENC[AES256_GCM,data:M6TayHpIa0J1w3zVRKPPU0P/f18UXOpxzU7fjKNCx8YxzSAaQfY52S5XpiqDgjPWfWdSxzG2VVDqu1708Vwofa8IRKwWafam,iv:x0ySoaS68aLRVUcQin096RoeQGRELvNwdFJxezPj/cA=,tag:Omv5uL97y7ZTI8juVJFNug==,type:str]
lastfm: lastfm:
@@ -119,7 +119,7 @@ sops:
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q== ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2026-02-19T21:23:49Z" lastmodified: "2026-02-24T08:02:58Z"
mac: ENC[AES256_GCM,data:Pey0VPpH1lZazbAqHrrwuoEHZL2Pi7uMV/tR8aLGI958JHDxuHZK41YEOsMa+aiOtiJclgRvO8iOb0oDESsVO5hDTCou7/sJe2Epk62lEclTiho+QnjhnEmP2qYcuWfR1PVwk/n/wkPWm+rBsYGH7PpQZeYUznWQaHPZPFNnIPw=,iv:KTe0Quu/MJA17BivQDCTnBi5IAGtq6x0GKaqm4MuUUo=,tag:IPehj8blXzuEr0HN85y4eg==,type:str] mac: ENC[AES256_GCM,data:JzKh6k1nzp2sTDXFG0/bJbBSksCri2WIcXU0C+cyCg6hHzQMsKc36xSRfyrytW8r6rCooJRlC46nPYvFH9JhG/1uIAx4QU/PAvgzEKvXOQi2xXULajpEeCAdmU8TERl3to9JCTAhCbV7oibzOalC6WbVOfhQvqBYWN2JamwCHwc=,iv:oMmpcadFUZT5mdMQ8BzGoKKdpV2PvtaoXhOsKSYUGII=,tag:cdBim93M98OcSNZsmPQ57A==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0