# 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, self, ... }: { imports = [ ./hardware-configuration.nix ../../services/suspend.nix ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.kernel.sysctl."net.ipv4.ip_forward" = 1; networking = { hostName = "olive"; wireless = { enable = true; interfaces = [ "wlp2s0" ]; environmentFile = "/run/secrets/wireless.env"; networks = { Sanic.pskRaw = "@PSK_SANI@"; Gopalan.pskRaw = "@PSK_GOPA@"; Srividhya.pskRaw = "@PSK_SRIV@"; sage.pskRaw = "@PSK_SAGE@"; }; extraConfig = '' ctrl_interface=/run/wpa_supplicant ctrl_interface_group=wheel ''; }; useDHCP = false; interfaces.wlp2s0.useDHCP = true; }; #networking.nameservers = [ "1.1.1.1" "1.0.0.1" ]; i18n.defaultLocale = "en_US.UTF-8"; time.timeZone = "Asia/Kolkata"; nixpkgs.config = { "2bwm".patches = [ ../../patches/2bwm/nerd-patch.diff ]; st = { conf = builtins.readFile ../../programs/st/config.h; extraLibs = with pkgs; [ harfbuzz ]; patches = [ ../../patches/st/xres.diff ../../patches/st/bright.diff ../../patches/st/ligatures.diff ]; }; }; nixpkgs.overlays = with self.overlays; [ nvim-nightly statix ]; environment.systemPackages = with pkgs; [ _2bwm man-pages man-pages-posix (lib.hiPrio pkgs.bashInteractive_5) ]; documentation = { dev.enable = true; man.generateCaches = true; }; users.motd = with config; '' Host ${networking.hostName} OS NixOS ${system.nixos.release} (${system.nixos.codeName}) Version ${system.nixos.version} Kernel ${boot.kernelPackages.kernel.version} ''; programs = { light.enable = true; adb.enable = true; }; sound.enable = true; hardware = { pulseaudio = { enable = true; package = pkgs.pulseaudioFull; extraConfig = "load-module module-switch-on-connect"; }; bluetooth = { enable = true; powerOnBoot = true; }; }; # Enable the X11 windowing system. services.xserver = { enable = true; layout = "us"; xkbOptions = "caps:swapescape"; displayManager.startx.enable = true; libinput.enable = true; }; services.batteryNotifier = { enable = true; notifyCapacity = 20; suspendCapacity = 10; }; users.users.np = { isNormalUser = true; home = "/home/np"; extraGroups = [ "wheel" "users" "tty" "audio" "video" "input" "adbusers" "docker" ]; }; nix = { package = pkgs.nixUnstable; extraOptions = '' experimental-features = nix-command flakes ca-derivations warn-dirty = false keep-outputs = true keep-derivations = true ''; }; nix.trustedUsers = [ "root" "np" ]; # 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 = "20.03"; # Did you read the comment? }