feat(wpcarro/marcus): Add marcus to the depot

me: marcus, meet depot. depot, meet marcus.
Change-Id: Ic6a25ac85e4c7f6dfea2a42b46a4400f92df70a2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4351
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
This commit is contained in:
William Carroll 2021-12-15 18:40:44 -05:00 committed by wpcarro
parent ca56cb2d9f
commit 1ca4c6d2be
4 changed files with 134 additions and 0 deletions

View file

@ -12,4 +12,8 @@
(with depot.users.grfn.system.system; [
yeren
]) ++
(with depot.users.wpcarro.nixos; [
marcus
])

View file

@ -0,0 +1,7 @@
{ depot, lib, ... }:
let systemFor = sys: (depot.ops.nixos.nixosFor sys).system;
in {
marcusSystem = systemFor depot.users.wpcarro.nixos.marcus;
meta.targets = [ "marcusSystem" ];
}

View file

@ -0,0 +1,91 @@
{ 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 = true;
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";
}

View file

@ -0,0 +1,32 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/b8b911ee-e9b9-40ea-89d6-551f11350e7b";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A7EA-369C";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/b87e2b8f-c835-4179-a428-fe466a846df0"; }
];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}