168 lines
3.7 KiB
Nix
168 lines
3.7 KiB
Nix
|
{ pkgs, config, lib, ... }: {
|
|||
|
imports = [
|
|||
|
./bspwm.nix
|
|||
|
./picom.nix
|
|||
|
./polybar.nix
|
|||
|
./iosevka.nix
|
|||
|
./kitty.nix
|
|||
|
./element.nix
|
|||
|
];
|
|||
|
|
|||
|
# User packages
|
|||
|
users.users.agatha.packages = with pkgs; [
|
|||
|
brightnessctl
|
|||
|
broot
|
|||
|
colmena
|
|||
|
element-desktop
|
|||
|
firefox
|
|||
|
flameshot
|
|||
|
gnome.eog
|
|||
|
gnome.file-roller
|
|||
|
gnome.geary
|
|||
|
gnome.gnome-calendar
|
|||
|
gnome.gnome-control-center
|
|||
|
gnome.gnome-disk-utility
|
|||
|
gnome.gnome-font-viewer
|
|||
|
gnome.nautilus
|
|||
|
gnome.totem
|
|||
|
hyperfine
|
|||
|
lxappearance
|
|||
|
magic-wormhole
|
|||
|
neofetch
|
|||
|
nitrogen
|
|||
|
pamixer
|
|||
|
pavucontrol
|
|||
|
pfetch
|
|||
|
playerctl
|
|||
|
pridefetch
|
|||
|
rofi
|
|||
|
rofi-calc
|
|||
|
rofimoji
|
|||
|
tdesktop
|
|||
|
wireguard-tools
|
|||
|
xdg-utils
|
|||
|
yubioath-desktop
|
|||
|
];
|
|||
|
|
|||
|
# Brightness/volume keys
|
|||
|
users.users.agatha.extraGroups = [ "video" ];
|
|||
|
programs.light.enable = true;
|
|||
|
|
|||
|
services.xserver = {
|
|||
|
enable = true;
|
|||
|
displayManager = {
|
|||
|
gdm.enable = true;
|
|||
|
# gdm.wayland = true;
|
|||
|
|
|||
|
sessionPackages = [ pkgs.sway ];
|
|||
|
session = [{
|
|||
|
manage = "window";
|
|||
|
name = "bspwm";
|
|||
|
start = let cfg = config.home-manager.users.agatha;
|
|||
|
in ''
|
|||
|
${cfg.services.sxhkd.package}/bin/sxhkd ${
|
|||
|
toString cfg.services.sxhkd.extraOptions
|
|||
|
} &
|
|||
|
${cfg.xsession.windowManager.bspwm.package}/bin/bspwm -c ${cfg.xdg.configHome}/bspwm/bspwmrc
|
|||
|
'';
|
|||
|
}];
|
|||
|
};
|
|||
|
# Layout overrides
|
|||
|
layout = lib.mkForce "eu,de(qwerty),ua,ru";
|
|||
|
xkbOptions = "ctrl:nocaps,compose:rctrl";
|
|||
|
|
|||
|
synaptics = {
|
|||
|
enable = true;
|
|||
|
|
|||
|
tapButtons = true;
|
|||
|
vertTwoFingerScroll = true;
|
|||
|
vertEdgeScroll = true;
|
|||
|
|
|||
|
horizEdgeScroll = true;
|
|||
|
horizTwoFingerScroll = true;
|
|||
|
|
|||
|
palmDetect = true;
|
|||
|
palmMinWidth = 8;
|
|||
|
palmMinZ = 100;
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
home-manager.users.agatha = {
|
|||
|
# Compose key sequences
|
|||
|
home.file.".XCompose".text = ''
|
|||
|
include "%L"
|
|||
|
|
|||
|
<Multi_key> <l> <f> : "( ͡° ͜ʖ ͡°)"
|
|||
|
<Multi_key> <s> <f> : "¯\\_(ツ)_/¯"
|
|||
|
<Multi_key> <g> <f> : "༼ つ ◕_◕ ༽つ"
|
|||
|
<Multi_key> <B> <B> : "🅱️"
|
|||
|
<Multi_key> <o> <asterisk> : "•"
|
|||
|
<Multi_key> <h> <r> : "◆"
|
|||
|
<Multi_key> <v> <v> : "✔"
|
|||
|
<Multi_key> <v> <period> <v> : "✓"
|
|||
|
<Multi_key> <space> <space> : ""
|
|||
|
<Multi_key> <s> <0> : "§"
|
|||
|
<Multi_key> <b><l> : "█"
|
|||
|
<Multi_key> <h><s> : "☭"
|
|||
|
<Multi_key> <s><r> : "√"
|
|||
|
<Multi_key> <t><r> : "⚧️ trans rights uwu"
|
|||
|
<Multi_key> <w><apostrophe> : "òwó"
|
|||
|
<Multi_key> <W><apostrophe> : "ÒwÓ"
|
|||
|
<Multi_key> <p><t> : "👉👈"
|
|||
|
<Multi_key> <p><l> : "🥺"
|
|||
|
<Multi_key> <m><s> : "/html <span data-mx-spoiler=\"\"></span>"
|
|||
|
'';
|
|||
|
|
|||
|
# Cursor theme
|
|||
|
home.pointerCursor = {
|
|||
|
name = "Adwaita";
|
|||
|
package = pkgs.gnome.adwaita-icon-theme;
|
|||
|
size = 24;
|
|||
|
x11 = {
|
|||
|
enable = true;
|
|||
|
defaultCursor = "Adwaita";
|
|||
|
};
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
security.polkit.enable = true;
|
|||
|
|
|||
|
# Screenshare on wlroots
|
|||
|
xdg = {
|
|||
|
portal = {
|
|||
|
enable = true;
|
|||
|
extraPortals = with pkgs; [
|
|||
|
xdg-desktop-portal-wlr
|
|||
|
xdg-desktop-portal-gtk
|
|||
|
];
|
|||
|
wlr.enable = true;
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
fonts.fontconfig.enable = true;
|
|||
|
fonts.fonts = with pkgs; [
|
|||
|
cantarell-fonts
|
|||
|
crimson
|
|||
|
dejavu_fonts
|
|||
|
fira-code
|
|||
|
fira-code-symbols
|
|||
|
font-awesome_5
|
|||
|
iosevka
|
|||
|
noto-fonts-cjk
|
|||
|
siji
|
|||
|
twitter-color-emoji
|
|||
|
(nerdfonts.override { fonts = [ "DaddyTimeMono" "NerdFontsSymbolsOnly" ]; })
|
|||
|
];
|
|||
|
|
|||
|
services.printing.enable = true;
|
|||
|
|
|||
|
# Pipewire
|
|||
|
security.rtkit.enable = true;
|
|||
|
services.pipewire = {
|
|||
|
enable = true;
|
|||
|
alsa.enable = true;
|
|||
|
alsa.support32Bit = true;
|
|||
|
pulse.enable = true;
|
|||
|
};
|
|||
|
}
|