From b702dccffa02bd33235f4c6de4684613dbc6d4c6 Mon Sep 17 00:00:00 2001 From: Amir Saeid Date: Wed, 29 Apr 2026 22:16:31 +0100 Subject: Retire custom .xinitrc --- hosts/gheshki/home.nix | 189 +++++++++++++++++++++++++++---------------------- 1 file changed, 103 insertions(+), 86 deletions(-) (limited to 'hosts') diff --git a/hosts/gheshki/home.nix b/hosts/gheshki/home.nix index 05ef648..a83b3cc 100644 --- a/hosts/gheshki/home.nix +++ b/hosts/gheshki/home.nix @@ -22,101 +22,104 @@ pkgs.nixgl.nixGLIntel ]; - xsession.windowManager.i3 = { + xsession = { enable = true; - config = { - modifier = "Mod4"; - - fonts = { - names = [ "${userOptions.fontName} 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"; + windowManager.i3 = { + enable = true; + config = { + modifier = "Mod4"; + + fonts = { + names = [ "${userOptions.fontName} SemiBold" ]; + size = 10.0; }; - bars = [ - { - fonts = { - names = [ userOptions.fontName ]; - style = "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 10"; + + "${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 10"; }; - position = "bottom"; - statusCommand = "i3status"; - } - ]; - - gaps = { - smartGaps = true; - inner = 10; - outer = 5; - }; - window = { - border = 1; - titlebar = false; - commands = [ + bars = [ { - criteria = { - window_role = "About"; + fonts = { + names = [ userOptions.fontName ]; + style = "SemiBold"; + size = 10.0; }; - command = "floating enable"; + position = "bottom"; + statusCommand = "i3status"; } ]; + + gaps = { + smartGaps = true; + inner = 10; + outer = 5; + }; + + window = { + border = 1; + titlebar = false; + commands = [ + { + criteria = { + window_role = "About"; + }; + command = "floating enable"; + } + ]; + }; }; }; }; @@ -173,4 +176,18 @@ programs.alacritty.settings.font.size = lib.mkForce 8; services.gpg-agent.pinentry.package = pkgs.pinentry-curses; programs.zsh.shellAliases.pbcopy = "xclip -selection clipboard"; + + services.sctd-amir = { + enable = true; + latitude = 53.3498; + longitude = -6.2603; + }; + + home.keyboard = { + layout = "us,ir"; + options = [ + "grp:shifts_toggle" + "caps:swapescape" + ]; + }; } -- cgit v1.2.3