111 lines
2.5 KiB
Nix
111 lines
2.5 KiB
Nix
{
|
|
outputs,
|
|
options,
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.modules.desktop.xmonad;
|
|
in {
|
|
options.modules.desktop.xmonad = {
|
|
enable = mkEnableOption false;
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
# https://nixos.wiki/wiki/XMonad
|
|
services.xserver = {
|
|
enable = true;
|
|
windowManager.xmonad = {
|
|
enable = true;
|
|
enableContribAndExtras = true;
|
|
ghcArgs = [
|
|
"-hidir /tmp" # place interface files in /tmp, otherwise ghc tries to write them to the nix store
|
|
"-odir /tmp" # place object files in /tmp, otherwise ghc tries to write them to the nix store
|
|
# "-i${xmonad-contexts}" # tell ghc to search in the respective nix store path for the module
|
|
];
|
|
};
|
|
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
|
|
# gee tee k
|
|
vimix-gtk-themes
|
|
vimix-icon-theme
|
|
lxappearance
|
|
catppuccin-cursors.mochaDark
|
|
# screen shot (s)
|
|
flameshot
|
|
];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
# bar
|
|
xmobar
|
|
# tray
|
|
trayer
|
|
];
|
|
|
|
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 = {
|
|
theme.name = "vimix-dark-ruby";
|
|
iconTheme.name = "Vimix Ruby Dark";
|
|
};
|
|
home.file = {
|
|
"background.png" = {
|
|
enable = true;
|
|
source = ../../../config/background.png;
|
|
};
|
|
};
|
|
xdg.configFile = {
|
|
xmonad = {
|
|
source = ../../../config/xmonad;
|
|
recursive = true;
|
|
};
|
|
xmobar = {
|
|
source = ../../../config/xmobar;
|
|
recursive = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|