147 lines
3.3 KiB
Nix
147 lines
3.3 KiB
Nix
{
|
|
outputs,
|
|
options,
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.modules.desktop.exwm;
|
|
imports = [
|
|
../../dev/editors/emacs
|
|
];
|
|
in {
|
|
options.modules.desktop.exwm = {
|
|
enable = mkEnableOption false;
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
modules.dev.editors.emacs.daemon = lib.mkForce false;
|
|
modules.dev.editors.emacs.enable = lib.mkForce true;
|
|
# this needs to be enabled for gtk apps
|
|
programs.dconf.enable = true;
|
|
|
|
# keyring
|
|
services.gnome.gnome-keyring.enable = true;
|
|
security.pam.services.lightdm.enableGnomeKeyring = true;
|
|
|
|
services.xserver = {
|
|
enable = true;
|
|
# windowManager.exwm = {
|
|
# enable = true;
|
|
# };
|
|
|
|
# backup
|
|
windowManager.bspwm.enable = true;
|
|
|
|
# TODO FIX THIS !!!!!!
|
|
windowManager.session = let
|
|
# dpi thing ill figure out later
|
|
# extraConfig = pkgs.writeText "emacs-extra-config" ''
|
|
# (setq mb/system-settings
|
|
# '((desktop/dpi . ${(toString cfg.dpi)})
|
|
# (desktop/hidpi . ${
|
|
# if cfg.hidpi
|
|
# then "t"
|
|
# else "nil"
|
|
# })))
|
|
# '';
|
|
extraConfig = pkgs.writeText "emacs-loadscript" ''
|
|
(require 'exwm-config)
|
|
(exwm-config-default)
|
|
(exwm-enable)
|
|
'';
|
|
in
|
|
singleton {
|
|
name = "exwm";
|
|
# launch emacs in fullscreen with dbus lol
|
|
start = ''
|
|
${pkgs.dbus.dbus-launch} --exit-with-session emacs -mm \
|
|
-l "${extraConfig}"
|
|
'';
|
|
};
|
|
displayManager = {
|
|
lightdm = {
|
|
enable = true;
|
|
background = ../../../config/background.png;
|
|
greeters.gtk = {
|
|
enable = true;
|
|
theme = {
|
|
name = "vimix-dark-ruby";
|
|
package = pkgs.vimix-gtk-themes;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
libinput = {
|
|
enable = true;
|
|
|
|
# mouse
|
|
mouse = {
|
|
accelProfile = "flat";
|
|
};
|
|
|
|
# touchpad
|
|
touchpad = {
|
|
accelProfile = "flat";
|
|
};
|
|
};
|
|
};
|
|
|
|
users.users.sako.packages = with pkgs; [
|
|
rofi
|
|
# network
|
|
networkmanagerapplet
|
|
# brightness
|
|
brightnessctl
|
|
# background
|
|
feh
|
|
# gee tee k
|
|
vimix-gtk-themes
|
|
vimix-icon-theme
|
|
lxappearance
|
|
catppuccin-cursors.mochaDark
|
|
# screen shot (s)
|
|
flameshot
|
|
# counsel-linux-apps
|
|
# surely theres a better way right? just need gtk-laucnh
|
|
gtk3
|
|
];
|
|
|
|
# environment.systemPackages = with pkgs; [
|
|
# ];
|
|
|
|
home-manager.users.sako = {pkgs, ...}: {
|
|
home.pointerCursor = {
|
|
name = "Catppuccin-Mocha-Dark";
|
|
size = 16;
|
|
x11 = {
|
|
enable = true;
|
|
};
|
|
gtk.enable = true;
|
|
package = pkgs.catppuccin-cursors.mochaDark;
|
|
};
|
|
gtk = {
|
|
enable = true;
|
|
theme.name = "vimix-dark-ruby";
|
|
iconTheme.name = "Vimix Ruby Dark";
|
|
};
|
|
home.file = {
|
|
"background.png" = {
|
|
enable = true;
|
|
source = ../../../config/background.png;
|
|
};
|
|
};
|
|
xdg.configFile = {
|
|
# backup
|
|
bspwm = {
|
|
source = ../../../config/bspwm;
|
|
};
|
|
sxhkd = {
|
|
source = ../../../config/sxhkd;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|