From 151790a591fc9a6c9b153b1d514610e26d6bc87e Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 21 Jan 2023 20:04:37 +0530 Subject: 6.1.7 working --- hosts/myrtle/configuration.nix | 145 ++++++++++++++++++++++++++++++++ hosts/myrtle/hardware-configuration.nix | 40 +++++++++ 2 files changed, 185 insertions(+) create mode 100644 hosts/myrtle/configuration.nix create mode 100644 hosts/myrtle/hardware-configuration.nix (limited to 'hosts') diff --git a/hosts/myrtle/configuration.nix b/hosts/myrtle/configuration.nix new file mode 100644 index 0000000..7539696 --- /dev/null +++ b/hosts/myrtle/configuration.nix @@ -0,0 +1,145 @@ +{ config, pkgs, lib, self, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking = { + hostName = "myrtle"; + wireless.enable = true; + wireless.networks.Srividhya.psk = "gopalan2020"; + }; + + + 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 + ]; + }; + + # for zoom-us, nvidia + allowUnfree = true; + }; + + nixpkgs.overlays = with self.overlays; [ + # statix + prompt + ]; + + 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-bluetooth-policy auto_switch=2"; + }; + # opengl.enable = true; + bluetooth = { + enable = true; + powerOnBoot = true; + }; + # nvidia = { + # prime = { + # offload.enable = true; + # nvidiaBusId = "PCI:1:0:0"; + # intelBusId = "PCI:0:2:0"; + # }; + # }; + }; + + + services.xserver = { + enable = true; + layout = "us"; + videoDrivers = [ "nvidia" ]; + displayManager.startx.enable = true; + libinput.enable = true; + }; + + services.asusd = { + enable = true; + enableUserService = true; + }; + services.supergfxd.enable = true; + + 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 + warn-dirty = false + keep-outputs = false + keep-derivations = false + ''; + settings = { + trusted-users = [ + "root" + "np" + ]; + }; + }; + + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = 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). + system.stateVersion = "23.05"; # Did you read the comment? + +} + diff --git a/hosts/myrtle/hardware-configuration.nix b/hosts/myrtle/hardware-configuration.nix new file mode 100644 index 0000000..86638d2 --- /dev/null +++ b/hosts/myrtle/hardware-configuration.nix @@ -0,0 +1,40 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/59c9ddc2-b914-414b-9e7e-74b405cbf3f6"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/7004-C5AE"; + fsType = "vfat"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + # high-resolution display + hardware.video.hidpi.enable = lib.mkDefault true; +} -- cgit v1.2.3