{ config, lib, inputs, ... }: { imports = [ inputs.lix-module.nixosModules.default inputs.private.nixosModules.base inputs.private.nixosModules.substituter ./xonsh.nix ]; nix = { settings = { auto-optimise-store = true; experimental-features = [ "nix-command" "flakes" "ca-derivations" ]; use-xdg-base-directories = true; }; gc = { automatic = true; dates = "8:00"; options = "--delete-older-than 14d"; }; }; nixpkgs = { overlays = [ inputs.artemist.overlays.default inputs.fonts.overlays.default (final: prev: { nheko = prev.nheko.overrideAttrs (attrs: { patches = attrs.patches ++ (with final; [ (fetchpatch { name = "custom-reactions-display.patch"; url = "https://github.com/Nheko-Reborn/nheko/commit/2f1b3519d38c99ded45c1a9d9e86f5d4dd961238.patch"; hash = "sha256-1/7jisXw+VfC65SeDC15yVuHqx01OJlJkOVGeIiLeN4="; }) (fetchpatch { name = "custom-reactions-history.patch"; url = "https://github.com/Nheko-Reborn/nheko/commit/1994ea634eab69478cfdf1da37cbb9de62dbe595.patch"; hash = "sha256-P3nG9s4TWBwcEmEJlTpFsM4QQbRYNGmcRC4zZW8Zj4Y="; }) ]); }); }) ]; config.allowUnfreePredicate = pkg: (pkg ? passthru && pkg.passthru ? font && pkg.passthru.font) || (builtins.elem (lib.getName pkg) [ "1password" "brscan5" "brscan5-etc-files" "celeste64" "corefonts" "google-chrome" "jlink" "makemkv" "steam" "steam-jupiter-original" "steam-original" "steam-run" "steamdeck-hw-theme" "uhk-agent" "uhk-udev-rules" "unrar" ]); }; console = { keyMap = "us"; earlySetup = true; }; time.timeZone = "Etc/UTC"; environment.shellAliases.cp = "cp --reflink=auto --sparse=always"; networking.firewall.enable = false; programs.fish.enable = true; users = { users.artemis = { isNormalUser = true; description = "Artemis Tosini"; uid = 1000; extraGroups = [ "wheel" "artemis" ]; shell = "/run/current-system/sw/bin/fish"; # hashedPassword set in private }; groups.artemis.gid = config.users.users.artemis.uid; mutableUsers = false; }; security.sudo.execWheelOnly = true; systemd.extraConfig = "DefaultLimitCORE=infinity"; security.pam.loginLimits = [ { domain = "*"; item = "core"; type = "hard"; value = "infinity"; } ]; }