refactor(tazjin/nixos): Split up desktop/laptop configurations
Change-Id: I0f5d631491be0c811ad171510568aac097d2fddd Reviewed-on: https://cl.tvl.fyi/c/depot/+/5553 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
c4a3500d70
commit
5518f620bb
5 changed files with 83 additions and 69 deletions
53
users/tazjin/nixos/modules/desktop.nix
Normal file
53
users/tazjin/nixos/modules/desktop.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# EXWM and other desktop configuration.
|
||||
{ depot, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
redshift.enable = true;
|
||||
blueman.enable = true;
|
||||
|
||||
xserver = {
|
||||
enable = true;
|
||||
layout = "us";
|
||||
xkbOptions = "caps:super";
|
||||
|
||||
libinput.enable = true;
|
||||
|
||||
displayManager = {
|
||||
# Give EXWM permission to control the session.
|
||||
sessionCommands = "${pkgs.xorg.xhost}/bin/xhost +SI:localuser:$USER";
|
||||
lightdm.enable = true;
|
||||
# lightdm.greeters.gtk.clock-format = "%H:%M"; # TODO(tazjin): TZ?
|
||||
};
|
||||
|
||||
windowManager.session = lib.singleton {
|
||||
name = "exwm";
|
||||
start = "${depot.users.tazjin.emacs}/bin/tazjins-emacs";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Set variables to enable EXWM-XIM and other Emacs features.
|
||||
environment.sessionVariables = {
|
||||
XMODIFIERS = "@im=exwm-xim";
|
||||
GTK_IM_MODULE = "xim";
|
||||
QT_IM_MODULE = "xim";
|
||||
CLUTTER_IM_MODULE = "xim";
|
||||
EDITOR = "emacsclient";
|
||||
};
|
||||
|
||||
# Do not restart the display manager automatically
|
||||
systemd.services.display-manager.restartIfChanged = lib.mkForce false;
|
||||
|
||||
# If something needs more than 10s to stop it should probably be
|
||||
# killed.
|
||||
systemd.extraConfig = ''
|
||||
DefaultTimeoutStopSec=10s
|
||||
'';
|
||||
}
|
||||
12
users/tazjin/nixos/modules/laptop.nix
Normal file
12
users/tazjin/nixos/modules/laptop.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Configuration specifically for laptops that move around.
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
# Automatically detect location to use for redshift
|
||||
location.provider = "geoclue2";
|
||||
|
||||
# Enable power-saving features.
|
||||
services.tlp.enable = true;
|
||||
|
||||
programs.light.enable = true;
|
||||
}
|
||||
|
|
@ -21,4 +21,6 @@
|
|||
"/etc/machine-id"
|
||||
];
|
||||
};
|
||||
|
||||
programs.fuse.userAllowOther = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,4 +72,16 @@
|
|||
xsecurelock
|
||||
zoxide
|
||||
]);
|
||||
|
||||
# Run services & configure programs for all machines.
|
||||
services = {
|
||||
mullvad-vpn.enable = true;
|
||||
fwupd.enable = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
mosh.enable = true;
|
||||
ssh.startAgent = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue