summaryrefslogtreecommitdiff
path: root/hosts/gheshki/home.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/gheshki/home.nix')
-rw-r--r--hosts/gheshki/home.nix168
1 files changed, 159 insertions, 9 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";
}