{ config, pkgs, unstablePkgs, unfreePkgs, unstableUnfreePkgs, userOptions, lib, nixgl, ... }: { imports = [ ../../modules/base.nix ]; home.sessionPath = [ "${userOptions.userHome}/.local/share/coursier/bin" ]; home.packages = [ pkgs.nixgl.nixGLIntel ]; xsession.windowManager.i3 = { enable = true; config = { modifier = "Mod4"; fonts = { names = [ "BlexMono Nerd Font SemiBold" ]; size = 10.0; }; terminal = "nixGLIntel alacritty"; keybindings = let mod = "Mod4"; in { "${mod}+Return" = "exec nixGLIntel alacritty"; "${mod}+o" = "exec ~/Applications/firefox/firefox"; "${mod}+d" = "exec dmenu_run"; "${mod}+b" = "workspace back_and_forth"; "${mod}+c" = "kill"; "${mod}+f" = "fullscreen toggle"; "${mod}+h" = "split h"; "${mod}+v" = "split v"; "${mod}+Left" = "focus left"; "${mod}+Down" = "focus down"; "${mod}+Up" = "focus up"; "${mod}+Right" = "focus right"; "${mod}+Shift+Left" = "move left"; "${mod}+Shift+Down" = "move down"; "${mod}+Shift+Up" = "move up"; "${mod}+Shift+Right" = "move right"; "${mod}+Shift+c" = "reload"; "${mod}+Shift+r" = "restart"; "${mod}+Shift+e" = "exec i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"; "${mod}+1" = "workspace number 1"; "${mod}+2" = "workspace number 2"; "${mod}+3" = "workspace number 3"; "${mod}+4" = "workspace number 4"; "${mod}+5" = "workspace number 5"; "${mod}+6" = "workspace number 6"; "${mod}+7" = "workspace number 7"; "${mod}+8" = "workspace number 8"; "${mod}+9" = "workspace number 9"; "${mod}+0" = "workspace number 0"; "${mod}+Shift+1" = "move container to workspace 1"; "${mod}+Shift+2" = "move container to workspace 2"; "${mod}+Shift+3" = "move container to workspace 3"; "${mod}+Shift+4" = "move container to workspace 4"; "${mod}+Shift+5" = "move container to workspace 5"; "${mod}+Shift+6" = "move container to workspace 6"; "${mod}+Shift+7" = "move container to workspace 7"; "${mod}+Shift+8" = "move container to workspace 8"; "${mod}+Shift+9" = "move container to workspace 9"; "${mod}+Shift+0" = "move container to workspace 0"; }; bars = [ { fonts = { names = [ "BlexMono Nerd Font" ]; style = "SemiBold"; size = 10.0; }; position = "bottom"; statusCommand = "i3status"; } ]; gaps = { smartGaps = true; inner = 10; outer = 5; }; window = { border = 1; titlebar = false; commands = [ { criteria = { window_role = "About"; }; command = "floating enable"; } ]; }; }; }; programs.i3status = { enable = true; enableDefault = false; general = { colors = true; interval = 5; }; modules = { "tztime local" = { position = 6; settings = { format = "%Y-%m-%d %H-%M"; }; }; "disk /" = { position = 5; settings = { format = "disk: %free"; }; }; "cpu_usage" = { position = 4; settings = { format = "cpu: %usage"; }; }; "cpu_temperature 0" = { position = 3; settings = { format = "cpu: %degrees°C"; path = "/sys/class/hwmon/hwmon1/temp1_input"; }; }; "cpu_temperature 1" = { position = 2; settings = { format = "gpu: %degrees°C"; path = "/sys/class/hwmon/hwmon2/temp1_input"; }; }; "memory" = { position = 1; settings = { format = "mem: %percentage_used"; }; }; }; }; programs.alacritty.settings.font.size = lib.mkForce 8; services.gpg-agent.pinentry.package = pkgs.pinentry-curses; programs.zsh.shellAliases.pbcopy = "xclip -selection clipboard"; }