{ inputs, outputs, lib, config, pkgs, ... }: { imports = [ ./components/bootloader.nix ./components/networking.nix ./components/packages-base.nix ./components/security.nix ./locales/paris.nix ./programs/git.nix ./programs/neovim.nix ./programs/zsh.nix ./programs/ssh.nix ./services/sshd.nix ]; nix = { settings = { # Enable flakes and new 'nix' command experimental-features = "nix-command flakes"; # Deduplicate and optimize nix store auto-optimise-store = true; warn-dirty = false; }; # This will add each flake input as a registry # To make nix3 commands consistent with your flake registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs); # This will additionally add your inputs to the system's legacy channels # Making legacy nix commands consistent as well, awesome! nixPath = ["/etc/nix/path"]; }; environment.etc = lib.mapAttrs' (name: value: { name = "nix/path/${name}"; value.source = value.flake; }) config.nix.registry; nixpkgs = { overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages ]; # Unfree packages that can be installes regardless of the machine's free software policy config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "steam" "steam-original" "steam-run" "nvidia-x11" "nvidia-settings" "osu-lazer-bin" "android-studio-stable" # TODO # "cuda-merged" # "cuda_cuobjdump" # "cuda_gdb" # "cuda_nvcc" # "cuda_nvdisasm" # "cuda_nvprune" # "cuda_cccl" # "cuda_cudart" # "cuda_cupti" # "cuda_cuxxfilt" # "cuda_nvml_dev" # "cuda_nvrtc" # "cuda_nvtx" # "cuda_profiler_api" # "cuda_sanitizer_api" # "libcublas" # "libcufft" # "libcurand" # "libcusolver" # "libnvjitlink" # "libcusparse" # "libnpp" "cnijfilter2" ]; }; # boot.kernelPackages = pkgs.linuxPackages_6_6; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. programs.mtr.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; services = { fwupd.enable = true; tailscale.enable = true; }; }