Advertisement
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, ... }:
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
- # nix.nixPath = [
- # "nixpkgs=https://releases.nixos.org/nixos/18.09/nixos-18.09.2303.e542fc2c94d/nixexprs.tar.xz"
- # "nixos-config=/etc/nixos/configuration.nix"
- # "nixpkgs-overlays=/etc/nixos/overlays/"
- # ];
- # Use the GRUB 2 boot loader.
- boot.loader.grub.enable = true;
- boot.loader.grub.version = 2;
- boot.loader.grub.efiSupport = true;
- boot.loader.grub.efiInstallAsRemovable = true;
- # boot.loader.efi.efiSysMountPoint = "/boot/efi";
- # Define on which hard drive you want to install Grub.
- boot.loader.grub.device = "nodev"; # or "nodev" for efi only
- networking.hostName = "nixmech"; # Define your hostname.
- networking.hostId = "d6ef9403"; # 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";
- # Select internationalisation properties.
- i18n = {
- # consoleFont = "Lat2-Terminus16";
- consoleKeyMap = "us";
- defaultLocale = "en_US.UTF-8";
- };
- # Set your time zone.
- time.timeZone = "Asia/Hong_Kong";
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- wget
- vim
- emacs
- firefox
- xscreensaver
- unzip
- which
- networkmanagerapplet
- git
- tmux
- parted
- fish
- pciutils
- smbclient
- rxvt_unicode-with-plugins
- polybar
- compton
- brave
- ];
- # 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;
- # Enable CUPS to print documents.
- # services.printing.enable = true;
- # Enable sound.
- sound.enable = true;
- hardware.pulseaudio.enable = true;
- # Enable the X11 windowing system.
- # services.xserver.enable = true;
- # services.xserver.layout = "us";
- # services.xserver.xkbOptions = "eurosign:e";
- # Enable touchpad support.
- # services.xserver.libinput.enable = true;
- # Enable the KDE Desktop Environment.
- # services.xserver.displayManager.sddm.enable = true;
- # services.xserver.desktopManager.plasma5.enable = true;
- services.xserver = {
- enable = true;
- desktopManager = {
- default = "none";
- xterm.enable = false;
- };
- windowManager.i3 = {
- enable = true;
- package = pkgs.i3-gaps;
- };
- windowManager.default = "i3";
- layout = "us";
- libinput.enable = true;
- };
- # Define a user account. Don't forget to set a password with ‘passwd’.
- # users.users.guest = {
- # isNormalUser = true;
- # uid = 1000;
- # };
- users.extraUsers.wayc = {
- createHome = true;
- extraGroups = ["wheel" "audio" "video" "disk" "networkmanager"];
- group = "users";
- home = "/home/wayc";
- isNormalUser = true;
- uid = 1000;
- shell = pkgs.fish;
- };
- nixpkgs.config = {
- # allow unfree packages
- allowUnfree = true;
- packageOverrides = pkgs: rec {
- polybar = pkgs.polybar.override {
- i3Support = true;
- };
- };
- };
- services.xserver.videoDrivers = [ "nvidia" ];
- hardware.nvidia.optimus_prime.enable = true;
- hardware.nvidia.optimus_prime.nvidiaBusId = "PCI:1:0:0";
- hardware.nvidia.optimus_prime.intelBusId = "PCI:2:0:0";
- fonts = {
- fonts = with pkgs; [
- nerdfonts
- source-code-pro
- roboto-mono
- ];
- };
- # auto mount our FreeNAS SMB share
- fileSystems."/mnt/freenas" = {
- device = "//192.168.1.187/SMBMediaLibrary";
- fsType = "cifs";
- options = [ "username=wchan" "password=xxxxxxxx" "rw" "uid=1000" "gid=100" ];
- };
- system.autoUpgrade.enable = true;
- system.autoUpgrade.channel = https://nixos.org/channels/nixos-19.03;
- # This value determines the NixOS release with which your system is to be
- # compatible, in order to avoid breaking some software such as database
- # servers. You should change this only after NixOS release notes say you
- # should.
- system.stateVersion = "18.09"; # Did you read the comment?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement