snix/users/wpcarro/nixos/marcus/default.nix
William Carroll ec76f6264d feat(wpcarro/marcus): Install xsecurelock
TL;DR:
- Install `xsecurelock`
- Support screen-locking for personal (and corporate) devices

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

90 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
xsecurelock
];
system.stateVersion = "21.11";
}