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

@ -41,18 +41,10 @@
./nixos/hardware-configuration.nix ./nixos/hardware-configuration.nix
./nixos/configuration.nix ./nixos/configuration.nix
./nixos/home.nix ./nixos/home.nix
./modules/desktop/xorg.nix ./modules/desktop
./modules/desktop/i3.nix ./modules/hardware
./modules/desktop/fonts.nix ./modules/system
./modules/hardware/boot.nix ./modules/shell
./modules/hardware/mouse.nix
./modules/hardware/keyboard.nix
./modules/hardware/monitors.nix
./modules/hardware/audio.nix
./modules/hardware/networking.nix
./modules/system/timezone.nix
./modules/system/doas.nix
./modules/system/user.nix
./modules/gaming ./modules/gaming
./modules/services/keybase.nix ./modules/services/keybase.nix
./modules/applications/firefox.nix ./modules/applications/firefox.nix
@ -60,10 +52,6 @@
./modules/applications/media.nix ./modules/applications/media.nix
./modules/applications/1password.nix ./modules/applications/1password.nix
./modules/applications/discord.nix ./modules/applications/discord.nix
./modules/shell/fish.nix
./modules/shell/utilities.nix
./modules/shell/git.nix
./modules/shell/github.nix
./modules/editor/neovim.nix ./modules/editor/neovim.nix
]; ];
}; };

View File

@ -0,0 +1,5 @@
{ ... }: {
imports = [ ./xorg.nix ./fonts.nix ./i3.nix ];
}

View File

@ -1,10 +1,14 @@
{ pkgs, gui, ... }: { { pkgs, lib, gui, ... }: {
fonts.fonts = with pkgs; config = lib.mkIf gui.enable {
[
gui.font.package # Used for Vim and Terminal fonts.fonts = with pkgs;
# siji # More icons for Polybar [
]; gui.font.package # Used for Vim and Terminal
fonts.fontconfig.defaultFonts.monospace = [ gui.font.name ]; # siji # More icons for Polybar
];
fonts.fontconfig.defaultFonts.monospace = [ gui.font.name ];
};
} }

View File

@ -1,34 +1,37 @@
{ config, pkgs, identity, gui, ... }: { { config, pkgs, lib, identity, gui, ... }: {
# Enable the X11 windowing system. config = lib.mkIf gui.enable {
services.xserver = {
enable = gui.enable;
# Enable touchpad support # Enable the X11 windowing system.
libinput.enable = true; services.xserver = {
enable = gui.enable;
# Login screen # Enable touchpad support
displayManager = { libinput.enable = true;
lightdm = {
enable = config.services.xserver.enable;
# Make the login screen dark # Login screen
greeters.gtk.theme.name = gui.gtkTheme; displayManager = {
lightdm = {
enable = config.services.xserver.enable;
# Make the login screen dark
greeters.gtk.theme.name = gui.gtkTheme;
};
}; };
};
environment.systemPackages = with pkgs;
[
xclip # Clipboard
];
home-manager.users.${identity.user}.programs.fish.shellAliases = {
pbcopy = "xclip -selection clipboard -in";
pbpaste = "xclip -selection clipboard -out";
}; };
}; };
environment.systemPackages = with pkgs;
[
xclip # Clipboard
];
home-manager.users.${identity.user}.programs.fish.shellAliases = {
pbcopy = "xclip -selection clipboard -in";
pbpaste = "xclip -selection clipboard -out";
};
} }

View File

@ -1,11 +1,13 @@
{ pkgs, ... }: { { pkgs, lib, gui, ... }: {
sound.enable = true; config = lib.mkIf gui.enable {
hardware.pulseaudio.enable = true; sound.enable = true;
hardware.pulseaudio.enable = true;
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs;
[ [
pamixer # Audio control 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 # Timezone required for Redshift schedule
imports = [ ../system/timezone.nix ]; imports = [ ../system/timezone.nix ];
environment.systemPackages = with pkgs; config = lib.mkIf gui.enable {
[
ddcutil # Monitor brightness control
];
# Reduce blue light at night environment.systemPackages = with pkgs;
services.redshift = { [
enable = true; ddcutil # Monitor brightness control
brightness = { ];
day = "1.0";
night = "1.0"; # Reduce blue light at night
services.redshift = {
enable = true;
brightness = {
day = "1.0";
night = "1.0";
};
}; };
};
# Detect monitors (brightness) # Detect monitors (brightness)
hardware.i2c.enable = true; hardware.i2c.enable = true;
# Grant user access to external monitors # Grant user access to external monitors
users.users.${identity.user}.extraGroups = [ "i2c" ]; users.users.${identity.user}.extraGroups = [ "i2c" ];
services.xserver.displayManager = { services.xserver.displayManager = {
# Put the login screen on the left monitor # Put the login screen on the left monitor
lightdm.greeters.gtk.extraConfig = '' lightdm.greeters.gtk.extraConfig = ''
active-monitor=0 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 config = lib.mkIf gui.enable {
services.ratbagd.enable = true;
environment.systemPackages = with pkgs; [ # Mouse config
libratbag # Mouse adjustments services.ratbagd.enable = true;
piper # Mouse adjustments GUI
]; 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";
}; };
} }

View File

@ -1 +1 @@
{ ... }: { imports = [ ./fish.nix ]; } { ... }: { imports = [ ./fish.nix ./git.nix ./github.nix ./utilities.nix ]; }

View File

@ -0,0 +1,5 @@
{ ... }: {
imports = [ ./user.nix ./timezone.nix ./doas.nix ];
}