Compare commits
28 Commits
matrix-rtc
...
686501d464
| Author | SHA1 | Date | |
|---|---|---|---|
| 686501d464 | |||
| 09686e1ee6 | |||
| 7caf921746 | |||
| 7b86a1cb21 | |||
| 4f18892d1b | |||
| 580fcac817 | |||
| 8364bbb3cb | |||
| e0e7f514ec | |||
| 82f69166c5 | |||
| dce2e160da | |||
| b10e5253f8 | |||
| d4a0ab60cf | |||
| 5269b2ee10 | |||
| d9c9b55d49 | |||
| fd5e28b368 | |||
| da793b82e7 | |||
| c2e4fbb59f | |||
| 25a7f185bc | |||
| 044a0156df | |||
| 4e0cb41780 | |||
| 34737a5aef | |||
| 81ea7f695e | |||
| ea7707d050 | |||
| 30a54caa03 | |||
| 3ed6781ae1 | |||
| 3418e577c5 | |||
| 2741e25585 | |||
| e9aed100af |
43
AGENTS.md
43
AGENTS.md
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -6,10 +6,7 @@
|
|||||||
casks = [
|
casks = [
|
||||||
"1password"
|
"1password"
|
||||||
"lunar"
|
"lunar"
|
||||||
"orcaslicer"
|
|
||||||
"raycast"
|
"raycast"
|
||||||
"zed"
|
|
||||||
"zen"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
2490
flake.lock
generated
File diff suppressed because it is too large
Load Diff
94
flake.nix
94
flake.nix
@@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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
1
home/apps/cinny.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{pkgs, ...}: {home.packages = [pkgs.cinny-desktop];}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,79 @@
|
|||||||
sponsorblock
|
sponsorblock
|
||||||
floccus
|
floccus
|
||||||
];
|
];
|
||||||
|
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"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
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 = {
|
||||||
|
|||||||
@@ -1,6 +1,17 @@
|
|||||||
{pkgs, ...}: {
|
{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.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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
1
home/programs/codex.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{pkgs, ...}: {home.packages = [pkgs.codex];}
|
||||||
@@ -83,5 +83,7 @@
|
|||||||
./yt-dlp.nix
|
./yt-dlp.nix
|
||||||
./zoxide.nix
|
./zoxide.nix
|
||||||
./yq.nix
|
./yq.nix
|
||||||
|
./codex.nix
|
||||||
|
./nixify.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
9
home/programs/nixify.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = [
|
||||||
|
inputs.nixify.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
|||||||
@@ -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
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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} = {
|
||||||
|
|||||||
@@ -22,5 +22,6 @@
|
|||||||
./foot.nix
|
./foot.nix
|
||||||
./ddcutil.nix
|
./ddcutil.nix
|
||||||
./libnotify.nix
|
./libnotify.nix
|
||||||
|
./fish.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
7
nixos/ryu/programs/fish.nix
Normal file
7
nixos/ryu/programs/fish.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
generateCompletions = true;
|
||||||
|
};
|
||||||
|
stylix.targets.fish.enable = false;
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
hyprland
|
hyprland
|
||||||
xorg.xhost
|
xhost
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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} = {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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";
|
||||||
# }
|
}
|
||||||
# ];
|
];
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
71
nixos/tako/services/matrix/cinny.nix
Normal file
71
nixos/tako/services/matrix/cinny.nix
Normal 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
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./tuwunel.nix
|
./tuwunel.nix
|
||||||
# ./signal.nix // libolm deprecated
|
./cinny.nix
|
||||||
|
# ./signal.nix
|
||||||
# ./discord.nix
|
# ./discord.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
12
nixos/tako/services/servius-website.nix
Normal file
12
nixos/tako/services/servius-website.nix
Normal 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
|
||||||
|
'';
|
||||||
|
}
|
||||||
292
overlays.nix
292
overlays.nix
@@ -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;})
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user