# SPDX-FileCopyrightText: 2026 Qyriad # # SPDX-License-Identifier: EUPL-1.1 { pkgs, lib, modulesPath, config, ... }: let moduleList = import (modulesPath + "/module-list.nix"); dynixFromSearchPath = let res = builtins.tryEval ; in lib.optional res.success res.value; in { imports = [ (modulesPath + "/testing/test-instrumentation.nix") ] ++ lib.concatLists [ dynixFromSearchPath moduleList ]; system.switch.enable = true; documentation.enable = false; boot.loader.grub = { enable = true; device = "/dev/vda"; forceInstall = true; }; nix = { package = pkgs.lixPackageSets.latest.lix; nixPath = [ ("nixpkgs=" + pkgs.path) "/nix/var/nix/profiles/per-user/root/profile/share/nixos/modules" ]; settings = { experimental-features = [ "nix-command" "pipe-operator" ]; substituters = lib.mkForce [ ]; hashed-mirrors = null; connect-timeout = 1; # For my debugging purposes. show-trace = true; }; }; # Setup XDG base directories for me. security.pam.services.login = { rules.session.xdg = { enable = true; control = "optional"; modulePath = "${pkgs.pam_xdg}/lib/security/pam_xdg.so"; args = [ ]; order = 10500; }; }; environment.pathsToLink = [ "/share" ]; environment.extraOutputsToInstall = [ "modules" ]; environment.variables = { "NIXOS_CONFIG" = "/etc/nixos/configuration.nix"; }; environment.sessionVariables = { "NIXOS_CONFIG" = "/etc/nixos/configuration.nix"; }; systemd.services.dynix-daemon = { enable = true; path = [ config.nix.package ]; serviceConfig = { Environment = [ "RUST_LOG=trace" ]; ExecSearchPath = [ "/run/current-system/sw/bin" ]; SuccessExitStatus = [ "0" "2" ]; # `bash -l` so XDG_RUNTIME_DIR is set correctly. lol. ExecStart = "bash -l -c 'exec /root/.nix-profile/bin/dynix daemon --color=always'"; SyslogIdentifier = "dynix-daemon"; }; }; environment.shellAliases = { ls = "eza --long --header --group --group-directories-first --classify --binary"; }; environment.systemPackages = with pkgs; [ eza fd ripgrep netcat.nc socat python3 ]; }