nix machine / user configurations

bunch of stuff again

ptr.pet 9f1c3ab3 8d37ea1f

verified
Changed files
+169 -27
_sources
dns
hosts
chernobog
modules
dzwonek
modules
wolumonde
modules
tangled.nix
pkgs-set
overlays
pkgs
users
mayer
modules
+28 -8
_sources/generated.json
···
},
"nixpkgs-xr": {
"cargoLocks": null,
-
"date": "2025-11-06",
"extract": null,
"name": "nixpkgs-xr",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "nixpkgs-xr",
-
"rev": "08cdeeabf5fcb0e44d2be5540e6dfa52f70f0401",
-
"sha256": "sha256-/SzIdw3HiKb9C66MyiQFuuX5ExVASm0M3abav9ypZPo=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "08cdeeabf5fcb0e44d2be5540e6dfa52f70f0401"
},
"nsid-tracker": {
"cargoLocks": null,
···
},
"tangled": {
"cargoLocks": null,
-
"date": "2025-11-05",
"extract": null,
"name": "tangled",
"passthru": null,
···
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
-
"rev": "dd1bcee8c99bf799130645f32c94d1693f812f0d",
-
"sha256": "sha256-1PGiDLrx1hNGNoUCnmc1Np2t48r7nIxxiTO8JHvaTws=",
"sparseCheckout": [],
"type": "git",
"url": "https://tangled.org/@tangled.org/core"
},
-
"version": "dd1bcee8c99bf799130645f32c94d1693f812f0d"
},
"tangled-sqlite-lib": {
"cargoLocks": null,
···
"url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"
},
"version": "3450100"
},
"zen-browser": {
"cargoLocks": null,
···
},
"nixpkgs-xr": {
"cargoLocks": null,
+
"date": "2025-11-16",
"extract": null,
"name": "nixpkgs-xr",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "nixpkgs-xr",
+
"rev": "d80a797b330a98df365cd25fd8350afbe5a5da83",
+
"sha256": "sha256-L7hobkC7G7rxNatvxgz5RbMQaIVwObj7l1Pz3utx4Pk=",
"sparseCheckout": [],
"type": "github"
},
+
"version": "d80a797b330a98df365cd25fd8350afbe5a5da83"
},
"nsid-tracker": {
"cargoLocks": null,
···
},
"tangled": {
"cargoLocks": null,
+
"date": "2025-11-20",
"extract": null,
"name": "tangled",
"passthru": null,
···
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
+
"rev": "12ef7f8f63ee4a14a552ebed603802c79e4d72f8",
+
"sha256": "sha256-t8UQ85/bPXrbFs3V/paFtQvv4lSrr2lszrdcgspuAaA=",
"sparseCheckout": [],
"type": "git",
"url": "https://tangled.org/@tangled.org/core"
},
+
"version": "12ef7f8f63ee4a14a552ebed603802c79e4d72f8"
},
"tangled-sqlite-lib": {
"cargoLocks": null,
···
"url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"
},
"version": "3450100"
+
},
+
"trill": {
+
"cargoLocks": null,
+
"date": "2025-11-25",
+
"extract": null,
+
"name": "trill",
+
"passthru": null,
+
"pinned": false,
+
"src": {
+
"deepClone": false,
+
"fetchSubmodules": false,
+
"leaveDotGit": false,
+
"name": null,
+
"rev": "c9604685156e009cebd0ddc3b31672455f635387",
+
"sha256": "sha256-so9EHN0GQ7rFSmnLnpRap2RqRcklhe3C1HdyAKeR6No=",
+
"sparseCheckout": [],
+
"type": "git",
+
"url": "https://tangled.org/@ptr.pet/trill"
+
},
+
"version": "c9604685156e009cebd0ddc3b31672455f635387"
},
"zen-browser": {
"cargoLocks": null,
+22 -8
_sources/generated.nix
···
};
nixpkgs-xr = {
pname = "nixpkgs-xr";
-
version = "08cdeeabf5fcb0e44d2be5540e6dfa52f70f0401";
src = fetchFromGitHub {
owner = "nix-community";
repo = "nixpkgs-xr";
-
rev = "08cdeeabf5fcb0e44d2be5540e6dfa52f70f0401";
fetchSubmodules = false;
-
sha256 = "sha256-/SzIdw3HiKb9C66MyiQFuuX5ExVASm0M3abav9ypZPo=";
};
-
date = "2025-11-06";
};
nsid-tracker = {
pname = "nsid-tracker";
···
};
tangled = {
pname = "tangled";
-
version = "dd1bcee8c99bf799130645f32c94d1693f812f0d";
src = fetchgit {
url = "https://tangled.org/@tangled.org/core";
-
rev = "dd1bcee8c99bf799130645f32c94d1693f812f0d";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
-
sha256 = "sha256-1PGiDLrx1hNGNoUCnmc1Np2t48r7nIxxiTO8JHvaTws=";
};
-
date = "2025-11-05";
};
tangled-sqlite-lib = {
pname = "tangled-sqlite-lib";
···
url = "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip";
sha256 = "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=";
};
};
zen-browser = {
pname = "zen-browser";
···
};
nixpkgs-xr = {
pname = "nixpkgs-xr";
+
version = "d80a797b330a98df365cd25fd8350afbe5a5da83";
src = fetchFromGitHub {
owner = "nix-community";
repo = "nixpkgs-xr";
+
rev = "d80a797b330a98df365cd25fd8350afbe5a5da83";
fetchSubmodules = false;
+
sha256 = "sha256-L7hobkC7G7rxNatvxgz5RbMQaIVwObj7l1Pz3utx4Pk=";
};
+
date = "2025-11-16";
};
nsid-tracker = {
pname = "nsid-tracker";
···
};
tangled = {
pname = "tangled";
+
version = "12ef7f8f63ee4a14a552ebed603802c79e4d72f8";
src = fetchgit {
url = "https://tangled.org/@tangled.org/core";
+
rev = "12ef7f8f63ee4a14a552ebed603802c79e4d72f8";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
+
sha256 = "sha256-t8UQ85/bPXrbFs3V/paFtQvv4lSrr2lszrdcgspuAaA=";
};
+
date = "2025-11-20";
};
tangled-sqlite-lib = {
pname = "tangled-sqlite-lib";
···
url = "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip";
sha256 = "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=";
};
+
};
+
trill = {
+
pname = "trill";
+
version = "c9604685156e009cebd0ddc3b31672455f635387";
+
src = fetchgit {
+
url = "https://tangled.org/@ptr.pet/trill";
+
rev = "c9604685156e009cebd0ddc3b31672455f635387";
+
fetchSubmodules = false;
+
deepClone = false;
+
leaveDotGit = false;
+
sparseCheckout = [ ];
+
sha256 = "sha256-so9EHN0GQ7rFSmnLnpRap2RqRcklhe3C1HdyAKeR6No=";
+
};
+
date = "2025-11-25";
};
zen-browser = {
pname = "zen-browser";
+1
dns/dnsconfig.js
···
A("@", WOLUMONDE_IP, CF_PROXY_OFF),
A("test", WOLUMONDE_IP, CF_PROXY_OFF),
A("nucleus", DZWONEK_IP, CF_PROXY_OFF),
// atproto
TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"),
A("nil", WOLUMONDE_IP, CF_PROXY_OFF),
···
A("@", WOLUMONDE_IP, CF_PROXY_OFF),
A("test", WOLUMONDE_IP, CF_PROXY_OFF),
A("nucleus", DZWONEK_IP, CF_PROXY_OFF),
+
A("trill", DZWONEK_IP, CF_PROXY_OFF),
// atproto
TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"),
A("nil", WOLUMONDE_IP, CF_PROXY_OFF),
+1
hosts/chernobog/modules/bluetooth.nix
···
{pkgs, ...}: {
hardware.bluetooth.enable = true;
environment.systemPackages = [pkgs.bluetuith];
}
···
{pkgs, ...}: {
hardware.bluetooth.enable = true;
+
hardware.steam-hardware.enable = true;
environment.systemPackages = [pkgs.bluetuith];
}
+24
hosts/dzwonek/modules/trill.nix
···
···
+
{pkgs, inputs, ...}:
+
let
+
rootDomain = "vpn.gaze.systems";
+
domain = "trill.ptr.pet";
+
pkg = pkgs.callPackage "${inputs.trill}/nix" rec {
+
memos-modules = pkgs.callPackage "${inputs.trill}/nix/modules.nix" {};
+
VITE_CLIENT_URI = "https://${domain}";
+
VITE_OAUTH_CLIENT_ID = "${VITE_CLIENT_URI}/oauth-client-metadata.json";
+
VITE_OAUTH_REDIRECT_URL = "${VITE_CLIENT_URI}/";
+
};
+
in
+
{
+
security.acme.certs.${rootDomain}.extraDomainNames = [domain];
+
services.nginx.virtualHosts.${domain} = {
+
useACMEHost = rootDomain;
+
forceSSL = true;
+
quic = true;
+
kTLS = true;
+
locations."/" = {
+
root = pkg;
+
tryFiles = "$uri $uri/ /index.html";
+
};
+
};
+
}
+2 -2
hosts/wolumonde/modules/tangled.nix/knot.nix
···
...
}:
let
-
knotCfg = config.services.tangled-knot;
in
{
imports = [
"${inputs.tangled}/nix/modules/knot.nix"
];
-
services.tangled-knot = {
enable = true;
package = terra.tangled-knot;
gitUser = "git";
···
...
}:
let
+
knotCfg = config.services.tangled.knot;
in
{
imports = [
"${inputs.tangled}/nix/modules/knot.nix"
];
+
services.tangled.knot = {
enable = true;
package = terra.tangled-knot;
gitUser = "git";
+2 -2
hosts/wolumonde/modules/tangled.nix/spindle.nix
···
...
}:
let
-
spindleCfg = config.services.tangled-spindle;
in
{
imports = [
"${inputs.tangled}/nix/modules/spindle.nix"
];
-
services.tangled-spindle = {
enable = true;
package = terra.tangled-spindle;
server = {
···
...
}:
let
+
spindleCfg = config.services.tangled.spindle;
in
{
imports = [
"${inputs.tangled}/nix/modules/spindle.nix"
];
+
services.tangled.spindle = {
enable = true;
package = terra.tangled-spindle;
server = {
+4
nvfetcher.toml
···
src.git = "https://tangled.org/@ptr.pet/nucleus"
fetch.git = "https://tangled.org/@ptr.pet/nucleus"
## TANGLED ##
[tangled]
···
src.git = "https://tangled.org/@ptr.pet/nucleus"
fetch.git = "https://tangled.org/@ptr.pet/nucleus"
+
[trill]
+
src.git = "https://tangled.org/@ptr.pet/trill"
+
fetch.git = "https://tangled.org/@ptr.pet/trill"
+
## TANGLED ##
[tangled]
+3 -1
pkgs-set/overlays/nixpkgs-xr.nix
···
-
{inputs, ...}: final: prev: ((import inputs.nixpkgs-xr).overlays.default final prev) // { wivrn = prev.wivrn; }
···
+
{inputs, ...}: final: prev:
+
((import inputs.nixpkgs-xr).overlays.default final prev)
+
# // { wivrn = prev.wivrn; }
+49
pkgs-set/pkgs/helium.nix
···
···
+
{
+
lib,
+
pkgs,
+
...
+
}:
+
pkgs.appimageTools.wrapType2 rec {
+
pname = "helium";
+
version = "0.6.4.1";
+
+
src = let
+
platformMap = {
+
"x86_64-linux" = "x86_64";
+
"aarch64-linux" = "arm64";
+
};
+
+
platform = platformMap.${pkgs.system};
+
+
hashes = {
+
"x86_64-linux" = "sha256-DlEFuFwx2Qjr9eb6uiSYzM/F3r2hdtkMW5drJyJt/YE=";
+
"aarch64-linux" = "sha256-B63tvOtSRlMRJozvzC7lqG2LM0ZgLIq2G/AHABl+Qqg=";
+
};
+
+
hash = hashes.${pkgs.system};
+
in
+
pkgs.fetchurl {
+
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-${platform}.AppImage";
+
inherit hash;
+
};
+
+
extraInstallCommands = let
+
contents = pkgs.appimageTools.extractType2 {inherit pname version src;};
+
in ''
+
mkdir -p "$out/share/applications"
+
mkdir -p "$out/share/lib/helium"
+
cp -r ${contents}/opt/helium/locales "$out/share/lib/helium"
+
cp -r ${contents}/usr/share/* "$out/share"
+
cp "${contents}/${pname}.desktop" "$out/share/applications/"
+
substituteInPlace $out/share/applications/${pname}.desktop --replace-fail 'Exec=AppRun' 'Exec=${meta.mainProgram}'
+
'';
+
+
meta = {
+
description = "Private, fast, and honest web browser based on Chromium";
+
homepage = "https://github.com/imputnet/helium-chromium";
+
changelog = "https://github.com/imputnet/helium-linux/releases/tag/${version}";
+
platforms = ["x86_64-linux" "aarch64-linux"];
+
license = lib.licenses.gpl3;
+
mainProgram = "helium";
+
};
+
}
+13 -2
users/mayer/default.nix
···
lib,
tlib,
config,
...
}@globalAttrs:
let
···
"adbusers"
"dialout"
"video"
];
shell = pkgs.nushell;
hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/";
···
}
];
home-manager.users.mayer =
{
pkgs,
···
home = {
homeDirectory = nixosConfig.users.users.mayer.home;
-
packages = with pkgs; [
# Font stuff
noto-fonts-cjk-sans
font-awesome
···
gearlever
signal-desktop
bs-manager
-
];
};
fonts.fontconfig.enable = l.mkForce true;
···
lib,
tlib,
config,
+
terra,
...
}@globalAttrs:
let
···
"adbusers"
"dialout"
"video"
+
"input"
];
shell = pkgs.nushell;
hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/";
···
}
];
+
xdg.portal = {
+
enable = true;
+
wlr.enable = true;
+
xdgOpenUsePortal = true;
+
};
+
+
services.joycond.enable = true;
+
home-manager.users.mayer =
{
pkgs,
···
home = {
homeDirectory = nixosConfig.users.users.mayer.home;
+
packages = (with pkgs; [
# Font stuff
noto-fonts-cjk-sans
font-awesome
···
gearlever
signal-desktop
bs-manager
+
cemu
+
]) ++ [terra.helium];
};
fonts.fontconfig.enable = l.mkForce true;
+7 -3
users/modules/niri/config.kdl
···
}
warp-mouse-to-focus
-
focus-follows-mouse
mod-key "Super"
mod-key-nested "Alt"
···
struts { }
}
-
spawn-at-startup "swaybg" "-c" "000000"
hotkey-overlay {
// skip-at-startup
···
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
-
match app-id=r#"^tofi"#
open-floating true
}
···
// match namespace="^notifications$"
block-out-from "screen-capture"
}
window-rule {
···
}
warp-mouse-to-focus
+
focus-follows-mouse max-scroll-amount="0%"
mod-key "Super"
mod-key-nested "Alt"
···
struts { }
}
+
spawn-at-startup "swaybg" "-i" "%%wallpaper%%"
hotkey-overlay {
// skip-at-startup
···
// - host Firefox (app-id is "firefox")
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
open-floating true
}
···
// match namespace="^notifications$"
block-out-from "screen-capture"
+
}
+
+
window-rule {
+
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
+
default-floating-position x=10 y=10 relative-to="bottom-right"
}
window-rule {
+13 -1
users/modules/niri/default.nix
···
tlib,
...
}:
{
imports = [
../wayland
···
];
home.packages = with pkgs; [niri xwayland-satellite brightnessctl swaybg];
-
xdg.configFile."niri/config.kdl".source = ./config.kdl;
}
···
tlib,
...
}:
+
let
+
l = lib;
+
in
{
imports = [
../wayland
···
];
home.packages = with pkgs; [niri xwayland-satellite brightnessctl swaybg];
+
xdg.configFile."niri/config.kdl".text =
+
let
+
replace = {
+
wallpaper = toString ../../mayer/wallpaper.png;
+
};
+
in
+
l.replaceStrings
+
(l.map (n: "%%${n}%%") (l.attrNames replace))
+
(l.attrValues replace)
+
(l.fileContents ./config.kdl);
}