Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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’).
- { config, pkgs, lib, ... }:
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- networking.hostName = "host"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # Enable networking
- networking.networkmanager.enable = true;
- #MAC Address randomization
- networking.networkmanager.ethernet.macAddress = "random";
- networking.networkmanager.wifi.macAddress = "random";
- # Set your time zone.
- time.timeZone = "Etc/GMT+3";
- # Select internationalisation properties.
- i18n.defaultLocale = "en_US.UTF-8";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "en_US.UTF-8";
- LC_IDENTIFICATION = "en_US.UTF-8";
- LC_MEASUREMENT = "en_US.UTF-8";
- LC_MONETARY = "en_US.UTF-8";
- LC_NAME = "en_US.UTF-8";
- LC_NUMERIC = "en_US.UTF-8";
- LC_PAPER = "en_US.UTF-8";
- LC_TELEPHONE = "en_US.UTF-8";
- LC_TIME = "en_US.UTF-8";
- };
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- #Automatic updating
- system.autoUpgrade.enable = true;
- system.autoUpgrade.dates = "weekly";
- system.autoUpgrade.operation = "boot";
- #Kernel updating
- boot.kernelPackages = pkgs.linuxPackages_latest;
- #Automatic cleanup
- nix.gc.automatic = true;
- nix.gc.dates = "daily";
- nix.gc.options = "--delete-older-than 10d";
- nix.settings.auto-optimise-store = true;
- # Enable the GNOME Desktop Environment.
- services.xserver.displayManager.gdm.enable = true;
- services.xserver.desktopManager.gnome.enable = true;
- environment.gnome.excludePackages = (with pkgs; [
- baobab
- cheese
- decibels
- epiphany
- geary
- gnome-calendar
- gnome-characters
- gnome-clocks
- gnome-connections
- gnome-contacts
- gnome-font-viewer
- gnome-logs
- gnome-maps
- gnome-music
- gnome-photos
- gnome-tour
- gnome-weather
- seahorse
- simple-scan
- snapshot
- totem
- yelp
- showtime
- ]);
- # Enable CUPS to print documents.
- services.printing.enable = true;
- # Enable sound with pipewire.
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
- # use the example session manager (no others are packaged yet so this is enabled by default,
- # no need to redefine it in your config for now)
- #media-session.enable = true;
- };
- # Enable touchpad support (enabled default in most desktopManager).
- # services.xserver.libinput.enable = true;
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.user = {
- isNormalUser = true;
- description = "user";
- extraGroups = [ "networkmanager" "wheel" "libvirtd" ];
- packages = with pkgs; [
- # thunderbird
- ];
- };
- # Install firefox.
- programs.firefox.enable = false;
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
- #sandbox attempt
- nix.settings.sandbox = true;
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- mullvad-browser
- keepassxc
- vesktop
- vlc
- strawberry
- prismlauncher
- nicotine-plus
- git
- tor
- tor-browser
- gnome-tweaks
- adw-gtk3
- qbittorrent
- pcsx2
- dolphin-emu
- electrum
- bisq2
- sparrow
- umu-launcher
- vim
- easyrpg-player
- newsflash
- monero-gui
- ryubing
- melonDS
- mullvad-vpn
- ];
- services.xserver.excludePackages = [
- pkgs.xterm
- ];
- #nvidia drivers
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- };
- services.xserver.videoDrivers = ["nvidia"];
- hardware.nvidia.open = true;
- hardware.nvidia.powerManagement.enable = true;
- hardware.nvidia.modesetting.enable = true;
- hardware.nvidia.prime = {
- sync.enable = true;
- amdgpuBusId = "PCI:5:0:0";
- nvidiaBusId = "PCI:1:0:0";
- };
- services.udev.extraRules = let
- nvidiaId = map (i: lib.toHexString (lib.toInt i)) (
- lib.drop 1 (lib.splitString ":" config.hardware.nvidia.prime.nvidiaBusId)
- );
- domain = "0000";
- bus = builtins.elemAt nvidiaId 0;
- device = builtins.elemAt nvidiaId 1;
- function = builtins.elemAt nvidiaId 2;
- in ''
- SUBSYSTEM=="drm", ENV{DEVTYPE}=="drm_minor", ENV{DEVLINKS}=="/dev/dri/by-path/pci-${domain}:${bus}:${device}.${function}", TAG+="mutter-device-preferred-primary"
- '';
- #steam
- programs.steam.enable = true;
- programs.steam.gamescopeSession.enable = true;
- programs.gamemode.enable = true;
- #vpn
- services.mullvad-vpn.enable = true;
- #virtualization PLEASE WORK
- virtualisation.libvirtd.enable = true;
- programs.virt-manager.enable = true;
- }
- # 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;
- # };
- # List services that you want to enable:
- # Enable the OpenSSH daemon.
- # services.openssh.enable = true;
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
- # 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).
- # system.stateVersion = "24.11"; # Did you read the comment?
Add Comment
Please, Sign In to add comment