From 5cdb4e421a809de51c3ebe8404e50d732721238b Mon Sep 17 00:00:00 2001 From: Akshay Date: Sun, 26 Sep 2021 21:26:36 +0530 Subject: init --- hosts/olive/configuration.nix | 145 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 hosts/olive/configuration.nix (limited to 'hosts/olive/configuration.nix') diff --git a/hosts/olive/configuration.nix b/hosts/olive/configuration.nix new file mode 100644 index 0000000..68b7d99 --- /dev/null +++ b/hosts/olive/configuration.nix @@ -0,0 +1,145 @@ +# 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/battery.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" + ]; + networks = { + Sanic = { + pskRaw = "03fbbe8c6b400af40c64ea475be59812ca1d13f40beaf0bf188c50a1e959c8fd"; + }; + Gopalan = { + pskRaw = "52f7f6548fa6f7f24965aae2bd7aa1a34d22a650cdc319d9d6a8567f91be85c8"; + }; + Srividhya = { + pskRaw = "f4302c17d20d0ac8791960495bb3ca4e790677d87d16a7d8c414350dd67c9713"; + }; + }; + 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 + ]; + + environment.systemPackages = with pkgs; [ + _2bwm + manpages + ]; + + 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"; + }; + + hardware.bluetooth.enable = true; + hardware.bluetooth.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 = 40; + suspendCapacity = 5; + }; + + users.users.np = { + isNormalUser = true; + home = "/home/np"; + extraGroups = [ "wheel" "users" "tty" "audio" "video" "input" "adbusers" "docker" ]; + }; + + documentation.man.generateCaches = true; + + nix = { + package = pkgs.nixUnstable; + extraOptions = '' + experimental-features = nix-command flakes ca-references 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? +} -- cgit v1.2.3