diff options
author | William Carroll <wpcarro@gmail.com> | 2021-12-15T23·40-0500 |
---|---|---|
committer | wpcarro <wpcarro@gmail.com> | 2021-12-16T22·07+0000 |
commit | 1ca4c6d2beb5ea42a5b69d91cd84ec3e2011c428 (patch) | |
tree | c3328fe2cc1fa06572828c0fe0ff6615861549dd /users/wpcarro/nixos/marcus/default.nix | |
parent | ca56cb2d9f3cf325cec61a394e16a8bdaedba4e2 (diff) |
feat(wpcarro/marcus): Add marcus to the depot r/3272
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>
Diffstat (limited to 'users/wpcarro/nixos/marcus/default.nix')
-rw-r--r-- | users/wpcarro/nixos/marcus/default.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/users/wpcarro/nixos/marcus/default.nix b/users/wpcarro/nixos/marcus/default.nix new file mode 100644 index 000000000000..ef1e60bd780d --- /dev/null +++ b/users/wpcarro/nixos/marcus/default.nix @@ -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"; +} |