diff options
| author | Amir Saeid <amir@glgdgt.com> | 2026-04-18 21:45:44 +0100 |
|---|---|---|
| committer | Amir Saeid <amir@glgdgt.com> | 2026-04-18 21:45:44 +0100 |
| commit | 9158edcb475f7cf4d000c7c06d56791e24166c75 (patch) | |
| tree | fc2a19612c13e62b919cc0c476002ce0fd9de25f /hosts | |
| parent | 531b20fdf744059f5fd859135ba27defa31c3a34 (diff) | |
Add i3 config
Diffstat (limited to 'hosts')
| -rw-r--r-- | hosts/gheshki/home.nix | 168 | ||||
| -rw-r--r-- | hosts/mentat/home.nix | 15 |
2 files changed, 167 insertions, 16 deletions
diff --git a/hosts/gheshki/home.nix b/hosts/gheshki/home.nix index e6b45db..090dead 100644 --- a/hosts/gheshki/home.nix +++ b/hosts/gheshki/home.nix @@ -1,12 +1,13 @@ -{ config -, pkgs -, unstablePkgs -, unfreePkgs -, unstableUnfreePkgs -, userOptions -, lib -, nixgl -, ... +{ + config, + pkgs, + unstablePkgs, + unfreePkgs, + unstableUnfreePkgs, + userOptions, + lib, + nixgl, + ... }: { imports = [ @@ -21,6 +22,155 @@ 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"; } diff --git a/hosts/mentat/home.nix b/hosts/mentat/home.nix index 3351cbe..69789b5 100644 --- a/hosts/mentat/home.nix +++ b/hosts/mentat/home.nix @@ -1,10 +1,11 @@ -{ config -, pkgs -, unstablePkgs -, unfreePkgs -, unstableUnfreePkgs -, userOptions -, ... +{ + config, + pkgs, + unstablePkgs, + unfreePkgs, + unstableUnfreePkgs, + userOptions, + ... }: { imports = [ |
