# 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 ]; config = { boot.kernelParams = [ "snd-intel-dspcfg.dsp_driver=1" ]; hardware.nvidia = { modesetting.enable = true; powerManagement.enable = true; powerManagement.finegrained = true; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.stable; prime = { # Make sure to use the correct Bus ID values for your system! intelBusId = "PCI:0:2:0"; nvidiaBusId = "PCI:1:0:0"; # WARNING: sync and offload are mutually exclusive. # You can only pick one!! #sync.enable = true; offload = { enable = true; enableOffloadCmd = true; }; }; }; sops = { defaultSopsFile = ./secrets.yaml; secrets = { "nathan/pass" = { neededForUsers = true; }; remoteBuildKey = {}; }; }; sysconfig = { users = { nathan = { isSuperuser = true; extraGroups = [ "networkmanager" ]; hashedPasswordFile = config.sops.secrets."nathan/pass".path; shell = pkgs.zsh; home-manager = { enable = true; standalone = false; extraModules = [ { homeconfig = { minimal = false; hyprland.enable = true; hyprlock.enable = true; wal.enable = true; mpd.enable = true; hyprpanel.enable = true; calcurse.enable = true; rofi.enable = true; firefox.enable = true; git.enable = true; #nh.enable = true; }; #monitor=eDP-1, addreserved, 40,0,0,0 wayland.windowManager.hyprland.extraConfig = '' monitor=eDP-1,1920x1080@60,0x0,1 bind = CTRL SHIFT, XF86Launch2, exec, bash -c 'if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then pkexec --user root /nix/var/nix/profiles/system/bin/switch-to-configuration switch; else pkexec --user root /nix/var/nix/profiles/system/specialisation/docked/bin/switch-to-configuration switch; fi' bind = ALT, Escape, exec, if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then hyprctl keyword monitor eDP-1,1920x1080@60,0x0,1; else hyprctl keyword monitor eDP-1,1920x1080@300,0x0,1; fi ''; } ]; }; }; }; }; services.xserver.videoDrivers = [ "nvidia" ]; # 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? }; }