setup more default.nix

This commit is contained in:
Noah Masur
2022-04-30 12:32:00 -04:00
parent 9d7307d16d
commit 0685a90aa3
10 changed files with 127 additions and 100 deletions

View File

@ -1,11 +1,13 @@
{ pkgs, ... }: {
{ pkgs, lib, gui, ... }: {
sound.enable = true;
hardware.pulseaudio.enable = true;
config = lib.mkIf gui.enable {
sound.enable = true;
hardware.pulseaudio.enable = true;
environment.systemPackages = with pkgs;
[
pamixer # Audio control
];
environment.systemPackages = with pkgs;
[
pamixer # Audio control
];
};
}

View File

@ -0,0 +1,12 @@
{ lib, gui, ... }: {
imports = [
./audio.nix
./boot.nix
./keyboard.nix
./monitors.nix
./mouse.nix
./networking.nix
];
}

View File

@ -1,49 +1,53 @@
{ pkgs, identity, ... }: {
{ pkgs, lib, gui, identity, ... }: {
# Timezone required for Redshift schedule
imports = [ ../system/timezone.nix ];
environment.systemPackages = with pkgs;
[
ddcutil # Monitor brightness control
];
config = lib.mkIf gui.enable {
# Reduce blue light at night
services.redshift = {
enable = true;
brightness = {
day = "1.0";
night = "1.0";
environment.systemPackages = with pkgs;
[
ddcutil # Monitor brightness control
];
# Reduce blue light at night
services.redshift = {
enable = true;
brightness = {
day = "1.0";
night = "1.0";
};
};
};
# Detect monitors (brightness)
hardware.i2c.enable = true;
# Detect monitors (brightness)
hardware.i2c.enable = true;
# Grant user access to external monitors
users.users.${identity.user}.extraGroups = [ "i2c" ];
# Grant user access to external monitors
users.users.${identity.user}.extraGroups = [ "i2c" ];
services.xserver.displayManager = {
services.xserver.displayManager = {
# Put the login screen on the left monitor
lightdm.greeters.gtk.extraConfig = ''
active-monitor=0
'';
# Put the login screen on the left monitor
lightdm.greeters.gtk.extraConfig = ''
active-monitor=0
'';
# Set up screen position and rotation
setupCommands = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-0 \
--mode 1920x1200 \
--pos 1920x0 \
--rotate left \
--output HDMI-0 \
--primary \
--mode 1920x1080 \
--pos 0x559 \
--rotate normal \
--output DVI-0 --off \
--output DVI-1 --off \
'';
};
# Set up screen position and rotation
setupCommands = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-0 \
--mode 1920x1200 \
--pos 1920x0 \
--rotate left \
--output HDMI-0 \
--primary \
--mode 1920x1080 \
--pos 0x559 \
--rotate normal \
--output DVI-0 --off \
--output DVI-1 --off \
'';
};
}

View File

@ -1,17 +1,21 @@
{ pkgs, ... }: {
{ pkgs, lib, gui, ... }: {
# Mouse config
services.ratbagd.enable = true;
config = lib.mkIf gui.enable {
environment.systemPackages = with pkgs; [
libratbag # Mouse adjustments
piper # Mouse adjustments GUI
];
# Mouse config
services.ratbagd.enable = true;
environment.systemPackages = with pkgs; [
libratbag # Mouse adjustments
piper # Mouse adjustments GUI
];
services.xserver.libinput.mouse = {
# Disable mouse acceleration
accelProfile = "flat";
accelSpeed = "1.15";
};
services.xserver.libinput.mouse = {
# Disable mouse acceleration
accelProfile = "flat";
accelSpeed = "1.15";
};
}