Compare commits
14 Commits
matrix-rtc
...
fd5e28b368
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 and Apply Configurations
|
||||
|
||||
**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)
|
||||
### Build and Apply Configurations & Deploy to Remote Machines
|
||||
Can use deploy for both local and remote hosts
|
||||
|
||||
```bash
|
||||
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)
|
||||
```
|
||||
|
||||
**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
|
||||
|
||||
```bash
|
||||
@@ -164,7 +161,7 @@ just add program myprogram # Creates home/programs/myprogram.nix and adds impor
|
||||
|
||||
### Adding a new dns entry
|
||||
```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
|
||||
|
||||
@@ -6,10 +6,7 @@
|
||||
casks = [
|
||||
"1password"
|
||||
"lunar"
|
||||
"orcaslicer"
|
||||
"raycast"
|
||||
"zed"
|
||||
"zen"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,14 +5,6 @@
|
||||
...
|
||||
}: {
|
||||
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 = {
|
||||
hostname = "tsuba.darksailor.dev";
|
||||
profiles.system = {
|
||||
|
||||
2338
flake.lock
generated
2338
flake.lock
generated
File diff suppressed because it is too large
Load Diff
90
flake.nix
90
flake.nix
@@ -17,10 +17,6 @@
|
||||
url = "github:nix-community/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
stylix-stable = {
|
||||
url = "github:nix-community/stylix/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
home-manager-stable = {
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
@@ -51,26 +47,10 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
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 = {
|
||||
url = "github:dj95/zjstatus";
|
||||
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 = {
|
||||
url = "github:musnix/musnix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -83,26 +63,10 @@
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
csshacks = {
|
||||
url = "github:MrOtherGuy/firefox-csshacks";
|
||||
flake = false;
|
||||
};
|
||||
nno = {
|
||||
url = "github:nvim-neorg/nixpkgs-neorg-overlay";
|
||||
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 = {
|
||||
url = "github:terrastruct/d2-vim";
|
||||
flake = false;
|
||||
@@ -127,25 +91,6 @@
|
||||
url = "github:pest-parser/tree-sitter-pest";
|
||||
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 = {
|
||||
url = "github:hercules-ci/arion";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -169,18 +114,10 @@
|
||||
url = "github:uttarayan21/anyrun-hyprwin";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
anyrun-rink = {
|
||||
url = "github:uttarayan21/anyrun-rink";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
onepassword-shell-plugins = {
|
||||
url = "github:1Password/shell-plugins";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zeronsd = {
|
||||
url = "github:uttarayan21/zeronsd";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
tmux-float = {
|
||||
url = "github:uttarayan21/tmux-float";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -199,24 +136,6 @@
|
||||
# url = "path:/home/servius/Projects/ALVR";
|
||||
# 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 = {
|
||||
url = "github:nix-community/nixpkgs-xr";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -241,16 +160,13 @@
|
||||
url = "github:vicinaehq/vicinae";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wivrn = {
|
||||
url = "github:uttarayan21/wivrn?submodules=1";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
eilmeldung = {
|
||||
url = "github:christo-auer/eilmeldung";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hytale-launcher = {
|
||||
url = "github:JPyke3/hytale-launcher-nix";
|
||||
servius-website = {
|
||||
url = "git+https://git.darksailor.dev/servius/servius.neocities.org";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
inputs.zen-browser.homeModules.beta
|
||||
];
|
||||
programs.zen-browser = {
|
||||
enable = device.isLinux;
|
||||
enable = true;
|
||||
profiles.default = {
|
||||
containersForce = true;
|
||||
containers = {
|
||||
|
||||
@@ -16,11 +16,6 @@
|
||||
user = "git";
|
||||
host = "github.com";
|
||||
};
|
||||
# mirai = {
|
||||
# user = "fs0c131y";
|
||||
# hostname = "mirai.darksailor.dev";
|
||||
# forwardAgent = true;
|
||||
# };
|
||||
tako = {
|
||||
user = "servius";
|
||||
hostname = "tako.darksailor.dev";
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
# ./headscale.nix
|
||||
./immich.nix
|
||||
./kellnr.nix
|
||||
# ./llms.nix
|
||||
./llms.nix
|
||||
./matrix
|
||||
# ./monitoring.nix
|
||||
./monitoring.nix
|
||||
./servius-website.nix
|
||||
# ./paperless.nix
|
||||
./prowlarr.nix
|
||||
# ./searxng.nix
|
||||
|
||||
@@ -198,19 +198,19 @@
|
||||
reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort}
|
||||
'';
|
||||
};
|
||||
# authelia = {
|
||||
# instances.darksailor = {
|
||||
# settings = {
|
||||
# access_control = {
|
||||
# rules = [
|
||||
# {
|
||||
# domain = "dashboard.darksailor.dev";
|
||||
# policy = "one_factor";
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
authelia = {
|
||||
instances.darksailor = {
|
||||
settings = {
|
||||
access_control = {
|
||||
rules = [
|
||||
{
|
||||
domain = "dashboard.darksailor.dev";
|
||||
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 = [
|
||||
./tuwunel.nix
|
||||
# ./signal.nix // libolm deprecated
|
||||
./cinny.nix
|
||||
# ./signal.nix
|
||||
# ./discord.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -8,19 +8,6 @@
|
||||
client_id = "tuwunel";
|
||||
rtc_domain = "matrix-rtc.${base_domain}";
|
||||
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 {
|
||||
sops = {
|
||||
secrets."tuwunel/client_id" = {
|
||||
@@ -74,15 +61,20 @@ in {
|
||||
package = pkgs.matrix-tuwunel;
|
||||
};
|
||||
services.caddy.virtualHosts = {
|
||||
"matrix.${base_domain}".extraConfig = ''
|
||||
reverse_proxy /_matrix/* localhost:${toString port}
|
||||
handle_path /config.json {
|
||||
file_server
|
||||
root ${elementConfigFile}
|
||||
}
|
||||
root * ${pkgs.element-web}
|
||||
file_server
|
||||
'';
|
||||
# "matrix.${base_domain}".extraConfig = ''
|
||||
# handle /_matrix/* {
|
||||
# reverse_proxy /_matrix/* localhost:${toString port}
|
||||
# }
|
||||
# handle_path /config.json {
|
||||
# file_server
|
||||
# root ${cinnyConfigFile}
|
||||
# }
|
||||
# handle {
|
||||
# root * ${cinny}
|
||||
# try_files {path} /index.html
|
||||
# file_server
|
||||
# }
|
||||
# '';
|
||||
"${base_domain}".extraConfig = ''
|
||||
reverse_proxy /.well-known/* localhost:${toString port}
|
||||
'';
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
caddy = 2019;
|
||||
};
|
||||
in {
|
||||
sops.secrets."grafana/secret_key" = {
|
||||
owner = "grafana";
|
||||
};
|
||||
# Grafana configuration with Authelia integration
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
@@ -54,6 +57,7 @@ in {
|
||||
security = {
|
||||
disable_gravatar = true;
|
||||
cookie_secure = true;
|
||||
secret_key = ''$__file{${config.sops.secrets."grafana/secret_key".path}}'';
|
||||
};
|
||||
|
||||
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
|
||||
shell-scipts = final: prev: {
|
||||
# --- Shell / CLI utilities ---
|
||||
shell-scripts = final: prev: {
|
||||
handlr-xdg = final.pkgs.writeShellApplication {
|
||||
name = "xdg-open";
|
||||
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
|
||||
cargoToml = builtins.fromTOML (builtins.readFile "${inputs.openapi-tui}/Cargo.toml");
|
||||
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: {
|
||||
# --- Terminal multiplexers ---
|
||||
terminal = final: prev: {
|
||||
tmuxPlugins =
|
||||
prev.tmuxPlugins
|
||||
// {
|
||||
@@ -201,27 +27,17 @@
|
||||
};
|
||||
};
|
||||
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 = {
|
||||
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: {
|
||||
version = "git";
|
||||
# https://github.com/archeYR/libfprint-CS9711/commits/cs9711-rebase/
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "archeYR";
|
||||
repo = "libfprint-CS9711";
|
||||
@@ -237,66 +53,60 @@
|
||||
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-dnhEjopeA0UiI+XVYHYpsjcEI6Y1Hacbi28hVKYQURg=";
|
||||
};
|
||||
};
|
||||
jellyfin = final: prev: {
|
||||
jellyfin-web = prev.jellyfin-web.overrideAttrs (finalAttrs: previousAttrs: {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
# this is the important line
|
||||
sed -i "s#</head>#<script src=\"configurationpage?name=skip-intro-button.js\"></script></head>#" dist/index.html
|
||||
# --- Media ---
|
||||
media = final: prev: {
|
||||
ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight;
|
||||
music-player-git = inputs.music-player.packages.${prev.system}.default;
|
||||
};
|
||||
|
||||
mkdir -p $out/share
|
||||
cp -a dist $out/share/jellyfin-web
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
# --- macOS-specific ---
|
||||
darwin = final: prev: {
|
||||
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=";
|
||||
};
|
||||
});
|
||||
};
|
||||
# immich = final: prev: {
|
||||
# immich-latest = prev.immich.overrideAttrs (oldAttrs: {
|
||||
# version = "v1.142.0";
|
||||
# src = inputs.immich;
|
||||
# });
|
||||
# };
|
||||
vr = final: prev: {
|
||||
# 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;
|
||||
|
||||
# --- Themes and assets ---
|
||||
themes = final: prev: {
|
||||
catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
|
||||
nix-index-database = final.runCommandLocal "nix-index-database" {} ''
|
||||
mkdir -p $out
|
||||
ln -s ${inputs.nix-index-database.legacyPackages.${prev.system}.database} $out/files
|
||||
'';
|
||||
};
|
||||
in
|
||||
[
|
||||
games
|
||||
vr
|
||||
anyrun-overlay
|
||||
catppuccinThemes
|
||||
csshacks
|
||||
# Local overlays
|
||||
shell-scripts
|
||||
terminal
|
||||
system-libs
|
||||
networking
|
||||
media
|
||||
darwin
|
||||
themes
|
||||
|
||||
# External input overlays
|
||||
inputs.deploy-rs.overlays.default
|
||||
inputs.nix-minecraft.overlay
|
||||
inputs.nur.overlays.default
|
||||
inputs.rust-overlay.overlays.default
|
||||
inputs.eilmeldung.overlays.default
|
||||
inputs.handoff.overlays.default
|
||||
inputs.headplane.overlays.default
|
||||
inputs.nix-minecraft.overlay
|
||||
inputs.nur.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;})
|
||||
|
||||
@@ -79,7 +79,7 @@ minecraft:
|
||||
modded: ENC[AES256_GCM,data:6itrol9NObR3TczEeOa7wkykgqkpDus0VkHBRpU6VdQ=,iv:F56uYdHozJvkJ+m18aviTWzCrLfW2VcxkbOqpnRiniA=,tag:WLKA+uIJJtlDfMMOn0ak7Q==,type:str]
|
||||
grafana:
|
||||
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:
|
||||
token: ENC[AES256_GCM,data:M6TayHpIa0J1w3zVRKPPU0P/f18UXOpxzU7fjKNCx8YxzSAaQfY52S5XpiqDgjPWfWdSxzG2VVDqu1708Vwofa8IRKwWafam,iv:x0ySoaS68aLRVUcQin096RoeQGRELvNwdFJxezPj/cA=,tag:Omv5uL97y7ZTI8juVJFNug==,type:str]
|
||||
lastfm:
|
||||
@@ -119,7 +119,7 @@ sops:
|
||||
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
|
||||
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-02-19T21:23:49Z"
|
||||
mac: ENC[AES256_GCM,data:Pey0VPpH1lZazbAqHrrwuoEHZL2Pi7uMV/tR8aLGI958JHDxuHZK41YEOsMa+aiOtiJclgRvO8iOb0oDESsVO5hDTCou7/sJe2Epk62lEclTiho+QnjhnEmP2qYcuWfR1PVwk/n/wkPWm+rBsYGH7PpQZeYUznWQaHPZPFNnIPw=,iv:KTe0Quu/MJA17BivQDCTnBi5IAGtq6x0GKaqm4MuUUo=,tag:IPehj8blXzuEr0HN85y4eg==,type:str]
|
||||
lastmodified: "2026-02-24T08:02:58Z"
|
||||
mac: ENC[AES256_GCM,data:JzKh6k1nzp2sTDXFG0/bJbBSksCri2WIcXU0C+cyCg6hHzQMsKc36xSRfyrytW8r6rCooJRlC46nPYvFH9JhG/1uIAx4QU/PAvgzEKvXOQi2xXULajpEeCAdmU8TERl3to9JCTAhCbV7oibzOalC6WbVOfhQvqBYWN2JamwCHwc=,iv:oMmpcadFUZT5mdMQ8BzGoKKdpV2PvtaoXhOsKSYUGII=,tag:cdBim93M98OcSNZsmPQ57A==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
|
||||
Reference in New Issue
Block a user