chore: routine maintenance

This commit is contained in:
danny 2025-11-23 16:24:38 +08:00
parent c45ba82b90
commit c7743490a7
75 changed files with 1200 additions and 634 deletions

View file

@ -3,13 +3,14 @@
proxy ? true,
}:
{
pkgs,
config,
lib,
inputs,
system,
...
}:
let
inherit (pkgs.stdenv.hostPlatform) system;
inherit (builtins) toString;
inherit (lib) mkIf;

View file

@ -1,14 +0,0 @@
{ pkgs, ... }:
{
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
services = {
flatpak.enable = true;
};
}

View file

@ -4,7 +4,9 @@
lib,
...
}:
let
inherit (config.systemConf) username;
in
{
nix = {
settings = {
@ -17,12 +19,17 @@
programs.gamescope.enable = lib.mkDefault true;
users.users.${username}.extraGroups = [ "gamemode" ];
programs = {
steam = {
enable = true;
protontricks.enable = true;
gamescopeSession.enable = true;
extest.enable = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;

View file

@ -1,11 +1,11 @@
{
pkgs,
inputs,
system,
...
}:
let
inherit (pkgs.stdenv.hostPlatform) system;
pkgs-hyprland = inputs.hyprland.inputs.nixpkgs.legacyPackages.${system};
in
{
@ -17,8 +17,8 @@ in
package = pkgs-hyprland.mesa;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiVdpau
(vaapiIntel.override {
libva-vdpau-driver
(intel-vaapi-driver.override {
enableHybridCodec = true;
})
libvdpau-va-gl

View file

@ -23,28 +23,6 @@ let
cp ${caBundle} resources/config/ca-bundle.crt
'';
});
# Patch for downloading models. Hardcoded to `/var/lib/nextcloud/models`
recognize = pkgs.stdenvNoCC.mkDerivation (finalAttrs: {
pname = "recognize-patched";
version = "10.0.4";
src = pkgs.fetchNextcloudApp {
url = "https://github.com/nextcloud/recognize/releases/download/v10.0.4/recognize-10.0.4.tar.gz";
sha256 = "sha256-/RHnnvGJMcxe4EuceYc20xh3qkYy1ZzGsyvp0h03eLk=";
license = "agpl3Plus";
};
patches = [
../../pkgs/patches/nextcloud_recognize_models_path.patch
];
installPhase = ''
mkdir -p $out
cp -r . $out/
'';
});
in
{
imports = [
@ -90,14 +68,13 @@ in
inherit (config.services.nextcloud.package.packages.apps)
contacts
calendar
tasks
whiteboard
user_oidc
memories
recognize # May break
recognize
;
# inherit recognize;
camerarawpreviews = pkgs.fetchNextcloudApp {
url = "https://github.com/ariselseng/camerarawpreviews/releases/download/v0.8.8/camerarawpreviews_nextcloud.tar.gz";
sha256 = "sha256-Pnjm38hn90oV3l4cPAnQ+oeO6x57iyqkm80jZGqDo1I=";
@ -138,7 +115,7 @@ in
services.nextcloud-whiteboard-server = {
enable = true;
settings = {
NEXTCLOUD_URL = "http${optionalString configureACME "s"}://${hostname}";
NEXTCLOUD_URL = "http${optionalString https "s"}://${hostname}";
PORT = "3002";
};
secrets = whiteboardSecrets;

View file

@ -4,9 +4,11 @@
nix = {
settings = {
substituters = [
"https://yazi.cachix.org"
"https://cache.net.dn/dn-main"
];
trusted-public-keys = [
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
"dn-main:ZjQmZEOWpe0TjZgHGwkgtPdOUXpN82RL9wy30EW1V7k="
];
warn-dirty = false;

View file

@ -88,7 +88,7 @@ lib.checkListOfEnum "Nvidia Prime Mode" validModes [ nvidia-mode ] {
enable32Bit = true;
extraPackages = with pkgs; [
nvidia-vaapi-driver
vaapiVdpau
libva-vdpau-driver
libvdpau-va-gl
];
};

View file

@ -1,9 +1,11 @@
{
pkgs,
inputs,
system,
...
}:
let
inherit (pkgs.stdenv.hostPlatform) system;
in
{
environment.systemPackages = with pkgs; [
file
@ -31,7 +33,7 @@
p7zip
killall
zip
glxinfo # OpenGL info
mesa-demos # OpenGL info
pciutils # PCI info
xdotool # Keyboard input simulation
ffmpeg # Video encoding

View file

@ -24,7 +24,7 @@ in
};
PAPERLESS_URL = "http${optionalString configureNginx "s"}://${domain}";
};
configureTika = true;
configureTika = false;
database.createLocally = true;
};

View file

@ -6,11 +6,9 @@
../auto-mount.nix
../bluetooth.nix
../display-manager.nix
../flatpak.nix
../obs-studio.nix
../plymouth.nix
../polkit.nix
../security.nix
../hyprland.nix
];

View file

@ -17,5 +17,6 @@
../ca.nix
../sops-nix.nix
../gc.nix
../security.nix
];
}

View file

@ -12,13 +12,6 @@
];
programs = {
gnupg = {
agent = {
enable = true;
enableSSHSupport = true;
};
};
neovim = {
enable = true;
configure = {

View file

@ -1,12 +1,34 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
services.udev.packages = [ pkgs.yubikey-personalization ];
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
security.sudo-rs = {
enable = true;
execWheelOnly = true;
extraConfig = ''
Defaults timestamp_timeout=0
'';
};
security.sudo.enable = !config.security.sudo-rs.enable;
# ==== PAM u2f ===== #
# $ nix shell nixpkgs#pam_u2f
# $ mkdir -p ~/.config/Yubico
# $ pamu2fcfg > ~/.config/Yubico/u2f_keys
security.pam = {
services.hyprlock = { };
services.hyprlock = {
u2fAuth = false;
};
services = {
sudo.u2fAuth = true;
login.u2fAuth = true;
};
u2f = {
@ -16,7 +38,5 @@
};
};
environment.systemPackages = with pkgs; [
yubikey-manager
];
programs.yubikey-manager.enable = true;
}

View file

@ -1,10 +1,9 @@
{
adminPassFile,
dbPassFile,
dkimKey,
ldapConf,
domain ? null,
acmeConf ? null,
acmeConfs ? null,
certs ? null,
enableNginx ? true,
}:
{
@ -16,15 +15,6 @@ let
inherit (lib) mkIf;
logFilePath = "${config.services.stalwart-mail.dataDir}/logs";
mkCondition = (
condition: ithen: ielse: [
{
"if" = condition;
"then" = ithen;
}
{ "else" = ielse; }
]
);
in
{
services.postgresql = {
@ -104,7 +94,8 @@ in
hostname = "mx1.${domain}";
domain = "${domain}";
};
acme."letsencrypt" = mkIf (acmeConf != null) acmeConf;
acme = mkIf (acmeConfs != null) acmeConfs;
certificate = mkIf (certs != null) certs;
directory = {
"in-memory" = {
@ -120,9 +111,10 @@ in
};
"ldap" = ldapConf;
imap.lookup.domains = [
domain
"mx1.${domain}"
];
};
authentication.fallback-admin = {
user = "admin";
secret = "%{file:${adminPassFile}}%";

View file

@ -29,7 +29,7 @@ in
monospace = caskaydia;
emoji = {
package = pkgs.noto-fonts-emoji;
package = pkgs.noto-fonts-color-emoji;
name = "Noto Color Emoji";
};
@ -47,7 +47,7 @@ in
jetbrains-mono
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
noto-fonts-color-emoji
liberation_ttf
# dfkai-sb
sf-pro-display-bold

View file

@ -33,7 +33,9 @@
services.nginx.virtualHosts.${domain} = {
enableACME = true;
forceSSL = true;
locations."/".proxyPass =
"http://localhost:${toString config.services.vaultwarden.config.ROCKET_PORT}/";
locations."/" = {
proxyPass = "http://localhost:${toString config.services.vaultwarden.config.ROCKET_PORT}/";
proxyWebsockets = true;
};
};
}

View file

@ -1,11 +1,25 @@
{
pkgs,
...
}:
{
virtualisation = {
docker.enable = true;
docker.daemon.settings = {
containers = {
enable = true;
containersConf.settings.compose_warning_logs = false;
};
oci-containers.backend = "podman";
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
spiceUSBRedirection.enable = true;
};
environment.systemPackages = with pkgs; [
dive # look into docker image layers
podman-tui
podman-compose
];
}