tvl-depot/users/wpcarro/nixos/marcus/default.nix
William Carroll 854dcbc55e feat(wpcarro/marcus): Disable natural scrolling
Something about the end-result of this doesn't feel quite natural to me.

Change-Id: Idaa7a991893d386110bd75f9288b4c3831a59cae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4353
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-16 22:07:02 +00:00

89 lines
2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ depot, pkgs, lib, ... }:
{ config, ... }:
let
# TODO(wpcarro): Drop dependency on the briefcase concept.
wpcarros-emacs = depot.users.wpcarro.emacs.nixos {
briefcasePath = "$HOME/depot/users/wpcarro";
};
in {
imports = [ ./hardware.nix ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking = {
# The global useDHCP flag is deprecated, therefore explicitly set to false
# here. Per-interface useDHCP will be mandatory in the future, so this
# generated config replicates the default behaviour.
useDHCP = false;
hostName = "marcus";
networkmanager.enable = true;
interfaces.enp0s31f6.useDHCP = true;
interfaces.wlp0s20f3.useDHCP = true;
};
time.timeZone = "America/New_York";
services.xserver = {
enable = true;
libinput = {
enable = true;
touchpad.naturalScrolling = false;
touchpad.tapping = false;
};
layout = "us";
xkbOptions = "caps:escape";
displayManager = {
# Give EXWM permission to control the session (from tazjin's setup).
sessionCommands = "${pkgs.xorg.xhost}/bin/xhost +SI:localhost:$USER";
lightdm.enable = true;
};
windowManager.session = lib.singleton {
name = "exwm";
start = "${wpcarros-emacs}/bin/wpcarros-emacs";
};
};
# Enable sound.
sound.enable = true;
hardware.pulseaudio.enable = true;
users.mutableUsers = true;
users.users.wpcarro = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
shell = pkgs.fish;
};
fonts = {
fonts = with pkgs; [
jetbrains-mono
];
fontconfig = {
defaultFonts = {
monospace = [ "JetBrains Mono" ];
};
};
};
programs.fish.enable = true;
environment.systemPackages = with pkgs; [
alacritty
dig
direnv
fd
firefox
fzf
git
ripgrep
vim
weechat
wpcarros-emacs
xclip
];
system.stateVersion = "21.11";
}