{ inputs, lib, pkgs, mainUser, ... }: let getFlakePackage = package: inputs."${package}".packages.x86_64-linux.default; in { # these settings propagate to home-manager's nixpkgs nixpkgs = { overlays = [ # inputs.nix-rice.overlays.default inputs.helix.overlays.default inputs.nil.overlays.nil inputs.niri.overlays.niri ]; config = { allowUnfree = true; allowUnfreePredicate = _: true; cudaSupport = true; }; }; nix = { # add flake inputs to our registry to allow global use registry = lib.mapAttrs (_: value: { flake = value; }) inputs; settings = { # trusted-users = ["bolt" "plank"]; experimental-features = [ "nix-command" "flakes" "pipe-operator" ]; substitute = true; }; extraOptions = '' keep-outputs = true keep-derivations = true ''; optimise.automatic = true; # package = pkgs.lix; }; imports = [ ./modules/network.nix ./modules/term.nix ./modules/systemdboot.nix ./modules/sound.nix ./modules/sydney.nix ./modules/docs.nix ./modules/nix-meta.nix ./modules/anal-retentive.nix ./modules/niri.nix ./modules/culr.nix ]; programs.meat = { enable = true; flake = "/home/${mainUser}/.nix"; }; hardware.enableRedistributableFirmware = true; hardware.enableAllFirmware = true; boot.tmp.useTmpfs = true; # services.udev.extraHwdb = '' # evdev:atkbd:* # KEYBOARD_KEY_3a=esc # ''; services.xserver.xkb.options = "caps:swapescape"; # services.xserver.xkb.extraLayouts."swap" = { # description = "caps swap"; # languages = [ "eng" ]; # symbolsFile = pkgs.writeText "keyboard" '' # xkb_symbols # { # include "us(basic)" # key {[ Escape ]}; # } # ''; # }; console.useXkbConfig = true; services.libinput.enable = true; hardware.graphics.enable = true; hardware.graphics.enable32Bit = true; services.udisks2.enable = true; # services.flatpak.enable = true; security.polkit.enable = true; xdg.autostart.enable = true; xdg.portal.enable = true; # services.tailscale.enable = true; # TODO - move these to more appropriate places environment.systemPackages = with pkgs; [ curl eza git jujutsu ]; # services.atuin.enable = true; programs.nh = { enable = true; clean.enable = true; clean.extraArgs = "--keep-since 3d --keep 3"; package = getFlakePackage "nh"; }; programs.nix-index-database.comma.enable = true; programs.nix-index.enableZshIntegration = false; programs.nix-index.enableBashIntegration = false; # gnome/freedesktop compat stuff programs.dconf.enable = true; services.gvfs.enable = true; # give cpuset to user systemd.services."user@".serviceConfig.Delegate = "memory pids cpu cpuset"; systemd.user.extraConfig = "LogLevel=debug"; system.nixos.tags = [ "fatcock" ]; }