# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { pkgs, inputs, ... }: let old-pkgs = import inputs.nixpkgs-old { system = pkgs.system; config.allowUnfree = true; }; in { imports = [ # Include the results of the hardware scan. ../../base.nix ../../linux.nix ../../unfree.nix #../../android.nix ../gui.nix ../i3.nix # ../gnome.nix # ../wayland.nix ../nvidia.nix ./keyboard.nix # ./rgb.nix ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_zen; boot.kernelParams = ["intel_pstate=active"]; # boot.supportedFilesystems = ["ntfs"]; services.fprintd.enable = true; nix.settings.trusted-users = ["root" "y"]; networking = { hostName = "master"; # Define your hostname. }; # Set your time zone. time.timeZone = "Asia/Bangkok"; # Enable the OpenSSH daemon. services.openssh = { enable = true; ports = [5555]; settings.PasswordAuthentication = false; }; services.tailscale = { enable = true; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # # environment.systemPackages = [ old-pkgs.vivaldi # for AI IDE shit # pkgs.nodejs # pkgs.python312 # pkgs.openrgb-with-all-plugins ]; environment.etc."X11/xorg.conf.d/20-nvidia.conf".source = ./xorg.conf; services.xserver.displayManager.xserverArgs = ["-config ${./xorg.conf}"]; system.stateVersion = "23.11"; # Did you read the comment? #debugging segfaults # powerManagement.cpufreq.max = 4000000; # powerManagement.cpufreq.min = 800000; # Define the systemd service # systemd.services.my-custom-script = { # description = "Run my custom script on startup"; # wantedBy = ["multi-user.target"]; # after = ["network.target"]; # or any other service you need to wait for # serviceConfig = { # ExecStart = "${pkgs.bash}/bin/bash /etc/startup.sh"; # Type = "oneshot"; # RemainAfterExit = true; # }; # }; # Ensure the script is copied to the system # environment.etc."startup.sh".source = ./startup.sh; # temp! # run vllm through docker (its broken in nixpkgs, but this may be better anyway?) # virtualisation.oci-containers = { # backend = "podman"; # containers = { # vllm = { # autoStart = false; # image = "vllm/vllm-openai:latest"; # ports = ["5000:5000"]; # extraOptions = [ # "--runtime" # "nvidia" # "--gpus" # "all" # "--ipc" # "host" # "--pull=always" # "--network=host" # ]; # cmd = [ # "--model" # "mistralai/Mistral-7B-v0.1" # ]; # }; # }; # }; }