nixos-config/modules/i3/default.nix

90 lines
2.3 KiB
Nix
Raw Normal View History

2021-08-30 20:36:01 +00:00
{ config, pkgs, lib, ... }:
let
cfg = config.sconfig.i3;
in
{
options.sconfig.i3 = {
enable = lib.mkEnableOption "Enable the i3 Window Manager";
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
};
};
config = lib.mkIf cfg.enable {
services.xserver.windowManager.i3 = {
enable = true;
extraSessionCommands = ''
echo 'Xft.dpi: 96' > ~/.Xresources
echo 'Xcursor.size: 24' >> ~/.Xresources
2021-08-31 05:37:10 +00:00
xsetroot -solid '#333333'
2021-08-30 20:36:01 +00:00
'';
};
hardware.pulseaudio.enable = true;
environment.etc."xdg/gtk-3.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Yaru-dark
gtk-icon-theme-name=Numix
'';
environment.etc."i3/config".source = pkgs.runCommand "i3config" { } ''
(
cat '${pkgs.i3}/etc/i3/config' |
sed 's/Mod1/Mod4/' |
2021-08-31 22:21:37 +00:00
sed 's/^exec i3-config-wizard/#&/' |
sed 's/^font.*/font pango:DejaVuSans, FontAwesome5Free 12/' |
sed 's,status_command i3status,status_command i3status-rs \n tray_output primary,' |
2021-08-30 20:36:01 +00:00
sed 's/i3-sensible-terminal/alacritty/' |
sed 's/10%/2%/'
cat '${pkgs.writeText "i3extra" cfg.extraConfig}'
)|
tee "$out"
'';
2021-08-31 22:21:37 +00:00
sconfig.i3.extraConfig = ''
default_border normal 4
default_floating_border normal 4
bindsym Mod4+Escape kill
hide_edge_borders both
bindsym XF86MonBrightnessUp exec brightnessctl -n500 -e s -- +10%
bindsym XF86MonBrightnessDown exec brightnessctl -n500 -e s -- -10%
'';
2021-08-30 20:36:01 +00:00
services.gvfs.enable = true;
networking.networkmanager.enable = true;
2021-08-31 22:21:37 +00:00
fonts.fonts = with pkgs; [
font-awesome
powerline-fonts
];
2021-08-30 20:36:01 +00:00
services.xserver = {
enable = true;
libinput.enable = true;
displayManager.sddm.enable = true;
};
environment.systemPackages = with pkgs; [
2021-08-31 22:21:37 +00:00
i3status-rust
2021-08-30 20:36:01 +00:00
alacritty
2021-08-31 05:37:10 +00:00
brightnessctl
2021-08-30 20:36:01 +00:00
numix-icon-theme
yaru-theme
gnome3.networkmanagerapplet
gnome3.file-roller
gnome3.adwaita-icon-theme
mate.mate-terminal
xfce.thunar
xfce.thunar-archive-plugin
caffeine-ng
2021-09-01 04:37:22 +00:00
(runCommand "default_cursor" { } ''
mkdir -p $out/share/icons/default
ln -sf /run/current-system/sw/share/icons/Yaru/cursor.theme $out/share/icons/default/index.theme
'')
2021-08-30 20:36:01 +00:00
];
};
}