treewide: 25.11

Changed files
+55 -43
global
gensokyo
presets
gui
overlays
programs
systems
koumakan
services
renko
users
cassie
home
+4 -4
flake.nix
···
inputs = {
mystia.url = "github:soopyc/mystia";
# nixpkgs.follows = "mystia/nixpkgs";
-
nixpkgs.url = "https://nixpkgs.dev/channel/nixos-25.05";
nixos-hardware.url = "github:soopyc/nixos-hardware/apple-t2-updates";
-
catppuccin.url = "github:catppuccin/nix/release-25.05";
hydra.url = "github:NixOS/hydra";
ghostty.url = "github:ghostty-org/ghostty";
···
home-manager = {
# sync with nixpkgs!
-
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
···
};
lanzaboote = {
-
url = "github:nix-community/lanzaboote/v0.4.2";
inputs.nixpkgs.follows = "nixpkgs";
};
···
inputs = {
mystia.url = "github:soopyc/mystia";
# nixpkgs.follows = "mystia/nixpkgs";
+
nixpkgs.url = "https://nixpkgs.dev/channel/nixos-25.11";
nixos-hardware.url = "github:soopyc/nixos-hardware/apple-t2-updates";
+
catppuccin.url = "github:catppuccin/nix/release-25.05"; # TODO
hydra.url = "github:NixOS/hydra";
ghostty.url = "github:ghostty-org/ghostty";
···
home-manager = {
# sync with nixpkgs!
+
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
···
};
lanzaboote = {
+
url = "github:nix-community/lanzaboote/v0.4.3";
inputs.nixpkgs.follows = "nixpkgs";
};
-2
global/gensokyo/presets/nginx.nix
···
{
lib,
-
pkgs,
config,
...
}:
···
services.nginx = {
enable = lib.mkDefault true;
enableReload = lib.mkDefault true;
-
package = lib.mkDefault pkgs.nginxQuic;
statusPage = true;
···
{
lib,
config,
...
}:
···
services.nginx = {
enable = lib.mkDefault true;
enableReload = lib.mkDefault true;
statusPage = true;
-1
global/gui/browser.nix
···
{
-
pkgs,
lib,
config,
...
···
{
lib,
config,
...
+5 -4
global/overlays/default.nix
···
-
inputs: [
-
# we can probably live without an overlay?
-
# inputs.mystia.overlays.default
-
]
···
+
_: []
+
# inputs: [
+
# # we can probably live without an overlay?
+
# # inputs.mystia.overlays.default
+
# ]
+1 -1
global/programs/misc.nix
···
file
ripgrep
ack
-
du-dust
parallel
cryptsetup
borgbackup
···
file
ripgrep
ack
+
dust
parallel
cryptsetup
borgbackup
+2
global/programs/nix/config.nix
···
max-jobs = "auto";
auto-optimise-store = true;
download-buffer-size = 268435456; # 256 MiB
};
nix.gc = {
···
max-jobs = "auto";
auto-optimise-store = true;
download-buffer-size = 268435456; # 256 MiB
+
+
trace-import-from-derivation = true;
};
nix.gc = {
+1
global/programs/scm.nix
···
push.autoSetupRemote = true;
gpg.ssh.allowedSignersFile = pkgs.writeText "soopyc.allowedsigners" ''
me@soopy.moe namespaces="git" ${builtins.readFile ../../creds/ssh/auth}
'';
rebase.autoStash = true;
···
push.autoSetupRemote = true;
gpg.ssh.allowedSignersFile = pkgs.writeText "soopyc.allowedsigners" ''
me@soopy.moe namespaces="git" ${builtins.readFile ../../creds/ssh/auth}
+
git@soopy.moe namespaces="git" ${builtins.readFile ../../creds/ssh/auth}
'';
rebase.autoStash = true;
+2 -1
global/programs/security/crypto.nix
···
{
environment.systemPackages = with pkgs; [
gnupg
-
pinentry
opensc
rage
···
{
environment.systemPackages = with pkgs; [
gnupg
+
pinentry-curses
+
pinentry-qt
opensc
rage
+1 -1
global/programs/security/kanidm.nix
···
{
services.kanidm = {
enableClient = true;
-
package = pkgs.kanidm_1_7;
clientSettings = {
uri = "https://serenity.mist-nessie.ts.net";
};
···
{
services.kanidm = {
enableClient = true;
+
package = pkgs.kanidm_1_8;
clientSettings = {
uri = "https://serenity.mist-nessie.ts.net";
};
+2 -1
systems/koumakan/services/proxies/searxng.nix
···
services.searx = {
enable = true;
-
runInUwsgi = true;
environmentFile = secrets.getTemplate "searxng.env";
redisCreateLocally = true;
uwsgiConfig = {
http = "/run/searx/searxng.sock";
chmod-socket = "660";
···
services.searx = {
enable = true;
environmentFile = secrets.getTemplate "searxng.env";
redisCreateLocally = true;
+
+
configureUwsgi = true;
uwsgiConfig = {
http = "/run/searx/searxng.sock";
chmod-socket = "660";
-7
systems/koumakan/services/scm/tangled-knot.nix
···
{
_utils,
-
config,
...
}:
-
let
-
secrets = _utils.setupSecrets config {
-
namespace = "tangled";
-
secrets = [ "knot/key" ];
-
};
-
in
{
services.tangled-knotserver = {
enable = true;
···
{
_utils,
...
}:
{
services.tangled-knotserver = {
enable = true;
+2 -2
systems/koumakan/services/security/pocket-id.nix
···
{
_utils,
config,
-
# lib,
...
}:
let
···
enable = true;
settings = {
-
PUBLIC_APP_URL = "https://gatekeeper.soopy.moe";
TRUST_PROXY = true;
PORT = "31411";
KEYS_STORAGE = "database";
···
{
_utils,
config,
...
}:
let
···
enable = true;
settings = {
+
APP_URL = "https://gatekeeper.soopy.moe";
+
HOST = "127.0.0.1";
TRUST_PROXY = true;
PORT = "31411";
KEYS_STORAGE = "database";
+1 -1
systems/koumakan/services/storage/garage.nix
···
isSystemUser = true;
group = "garage";
};
-
groups.garage = {};
};
services.garage = {
···
isSystemUser = true;
group = "garage";
};
+
groups.garage = { };
};
services.garage = {
+5
systems/koumakan/services/storage/zipline.nix
···
client_max_body_size 100M;
'';
};
}
···
client_max_body_size 100M;
'';
};
+
+
systemd.services.zipline.serviceConfig = {
+
Restart = "on-failure";
+
RestartSec = "10s";
+
};
}
+1 -1
systems/renko/services/forgejo-runner.nix
···
imports = lib.singleton secrets.generate;
services.gitea-actions-runner = {
-
package = pkgs.forgejo-actions-runner;
instances.default = {
enable = true;
name = "renko-default";
···
imports = lib.singleton secrets.generate;
services.gitea-actions-runner = {
+
package = pkgs.forgejo-runner;
instances.default = {
enable = true;
name = "renko-default";
+16 -14
users/cassie/home/dev/git.nix
···
programs.git = lib.mkMerge [
{
enable = true;
-
userName = "Sophie Cheung";
-
userEmail = "me@soopy.moe";
-
# difftastic.enable = true;
-
# delta.enable = true;
-
diff-so-fancy = {
-
enable = true;
-
stripLeadingSymbols = false;
};
}
(lib.mkIf traits.gui {
-
signing = {
-
signByDefault = true;
-
key = inputs.self + "/creds/ssh/auth";
-
};
-
-
extraConfig = {
gpg.format = "ssh";
};
})
];
home.shellAliases = {
# redo previous commit when something explodes, like my key died or something
-
gcmm = "git commit -eF .git/COMMIT_EDITMSG";
};
}
···
programs.git = lib.mkMerge [
{
enable = true;
+
settings = {
+
user.name = "Sophie Cheung";
+
user.email = "git@soopy.moe";
};
}
(lib.mkIf traits.gui {
+
settings = {
gpg.format = "ssh";
+
commit.gpgSign = true;
+
tag.gpgSign = true;
+
+
user.signingKey = inputs.self + "/creds/ssh/auth";
};
})
];
+
programs.diff-so-fancy = {
+
enable = true;
+
enableGitIntegration = true;
+
+
settings.stripLeadingSymbols = false;
+
};
+
home.shellAliases = {
# redo previous commit when something explodes, like my key died or something
+
gcmm = "git commit -eF .git/COMMIT_EDITMSG"; # FIXME: strip the thing after ------ 8< ------
};
}
+12 -3
users/cassie/home/dev/ssh.nix
···
{
programs.ssh = {
enable = true;
-
hashKnownHosts = true;
-
forwardAgent = true;
matchBlocks = {
# most intuitive design /s
···
identitiesOnly = true;
identityFile = "~/.ssh/id_minecraft_backup";
};
};
# extraConfig is config for the Host * block.
## n.b.: identitesonly and identityfile makes bootstrapping other devices hard esp.
## if they're embedded or resource constrained.
extraConfig = ''
-
VisualHostKey yes
'';
};
}
···
{
programs.ssh = {
enable = true;
+
enableDefaultConfig = false; # silent warning
matchBlocks = {
# most intuitive design /s
···
identitiesOnly = true;
identityFile = "~/.ssh/id_minecraft_backup";
};
+
+
"*" = {
+
forwardAgent = true;
+
compression = false;
+
serverAliveInterval = 0;
+
serverAliveCountMax = 3;
+
hashKnownHosts = true;
+
userKnownHostsFile = "~/.ssh/known_hosts";
+
# visualHostKey = true; # if this doesn't work im moving to hjem
+
};
};
# extraConfig is config for the Host * block.
## n.b.: identitesonly and identityfile makes bootstrapping other devices hard esp.
## if they're embedded or resource constrained.
extraConfig = ''
+
VisualHostKey = true; # if this doesn't work im moving to hjem
'';
};
}