Includes the following fixes: * users/wpcarro: disable pulseaudio option (can't have pipewire _and_ PA) * users/aspen: disable pipewire (there's PA config here, so whatever) * bump wasm-bindgen in Rust frontend projects * users/tazjin: disable builds for frog (it's in storage) Change-Id: Ia508b14b84619d06c1d98f7245e84d66bc791592 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12466 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
		
			
				
	
	
		
			166 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ depot, pkgs, lib, ... }:
 | 
						|
{ ... }:
 | 
						|
 | 
						|
let
 | 
						|
  inherit (depot.users) wpcarro;
 | 
						|
  inherit (depot.users.wpcarro.lib) usermod;
 | 
						|
 | 
						|
  wpcarrosEmacs = wpcarro.emacs.nixos {
 | 
						|
    load = [ ./marcus.el ];
 | 
						|
  };
 | 
						|
 | 
						|
  quasselClient = pkgs.quassel.override {
 | 
						|
    client = true;
 | 
						|
    enableDaemon = false;
 | 
						|
    monolithic = false;
 | 
						|
  };
 | 
						|
in
 | 
						|
{
 | 
						|
  imports = [
 | 
						|
    (depot.path.origSrc + "/users/wpcarro/nixos/marcus/hardware.nix")
 | 
						|
    (pkgs.home-manager.src + "/nixos")
 | 
						|
    (usermod "laptop.nix")
 | 
						|
  ];
 | 
						|
 | 
						|
  # Use the TVL binary cache
 | 
						|
  tvl.cache.enable = true;
 | 
						|
 | 
						|
  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;
 | 
						|
  };
 | 
						|
 | 
						|
  services = wpcarro.common.services // {
 | 
						|
    # Enable the Tailscale daemon to connect to work and personal Tailnet.
 | 
						|
    tailscale.enable = true;
 | 
						|
 | 
						|
    tzupdate.enable = true;
 | 
						|
 | 
						|
    depot.auto-deploy = {
 | 
						|
      enable = true;
 | 
						|
      interval = "1d";
 | 
						|
    };
 | 
						|
 | 
						|
    libinput = {
 | 
						|
      enable = true;
 | 
						|
      touchpad.naturalScrolling = false;
 | 
						|
      touchpad.tapping = false;
 | 
						|
    };
 | 
						|
 | 
						|
    xserver = {
 | 
						|
      enable = true;
 | 
						|
      xkb.layout = "us";
 | 
						|
      xkb.options = "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;
 | 
						|
      };
 | 
						|
      extraConfig = ''
 | 
						|
        Section "InputClass"
 | 
						|
            Identifier "Touchscreen catchall"
 | 
						|
            MatchIsTouchscreen "on"
 | 
						|
            Option "Ignore" "on"
 | 
						|
        EndSection
 | 
						|
      '';
 | 
						|
      windowManager.session = lib.singleton {
 | 
						|
        name = "exwm";
 | 
						|
        start = "${wpcarrosEmacs}/bin/wpcarros-emacs";
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  users.mutableUsers = true;
 | 
						|
  users.users.wpcarro = {
 | 
						|
    isNormalUser = true;
 | 
						|
    extraGroups = [
 | 
						|
      "networkmanager"
 | 
						|
      "wheel"
 | 
						|
      "video" # needed to control the screen brightness
 | 
						|
    ];
 | 
						|
    shell = pkgs.fish;
 | 
						|
  };
 | 
						|
 | 
						|
  security.sudo.wheelNeedsPassword = false;
 | 
						|
 | 
						|
  fonts = {
 | 
						|
    packages = with pkgs; [
 | 
						|
      jetbrains-mono
 | 
						|
    ];
 | 
						|
 | 
						|
    fontconfig = {
 | 
						|
      defaultFonts = {
 | 
						|
        monospace = [ "JetBrains Mono" ];
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  programs = wpcarro.common.programs;
 | 
						|
 | 
						|
  environment.variables = {
 | 
						|
    EDITOR = "emacsclient";
 | 
						|
    ALTERNATE_EDITOR = "emacs -q -nw";
 | 
						|
    VISUAL = "emacsclient";
 | 
						|
  };
 | 
						|
 | 
						|
  home-manager.useGlobalPkgs = true;
 | 
						|
  home-manager.users.wpcarro = { config, lib, ... }: {
 | 
						|
    programs.git = {
 | 
						|
      enable = true;
 | 
						|
      userName = "William Carroll";
 | 
						|
      userEmail = "wpcarro@gmail.com";
 | 
						|
      extraConfig = {
 | 
						|
        pull.rebase = true;
 | 
						|
      };
 | 
						|
    };
 | 
						|
 | 
						|
    services.picom = {
 | 
						|
      enable = true;
 | 
						|
      vSync = true;
 | 
						|
      backend = "glx";
 | 
						|
    };
 | 
						|
 | 
						|
    services.redshift = {
 | 
						|
      enable = true;
 | 
						|
      latitude = 37.4223931;
 | 
						|
      longitude = -122.0864016;
 | 
						|
    };
 | 
						|
 | 
						|
    services.dunst.enable = true;
 | 
						|
    xdg.configFile."dunst/dunstrc" = {
 | 
						|
      source = wpcarro.dotfiles.dunstrc;
 | 
						|
      onChange = ''
 | 
						|
        ${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
 | 
						|
      '';
 | 
						|
    };
 | 
						|
 | 
						|
    systemd.user.startServices = true;
 | 
						|
 | 
						|
    # Previous default version, see https://github.com/nix-community/home-manager/blob/master/docs/release-notes/rl-2211.adoc
 | 
						|
    home.stateVersion = "18.09";
 | 
						|
  };
 | 
						|
 | 
						|
  environment.systemPackages =
 | 
						|
    wpcarro.common.shell-utils ++
 | 
						|
    (with pkgs; [
 | 
						|
      alacritty
 | 
						|
      firefox
 | 
						|
      pavucontrol
 | 
						|
      quasselClient
 | 
						|
      tdesktop
 | 
						|
      weechat
 | 
						|
      wpcarrosEmacs
 | 
						|
      xsecurelock
 | 
						|
    ]);
 | 
						|
 | 
						|
  system.stateVersion = "21.11";
 | 
						|
}
 |