aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--alacritty/default.nix120
-rw-r--r--bspwm/bspwmrc2
-rw-r--r--bspwm/default.nix39
-rw-r--r--git/default.nix10
-rw-r--r--home.nix1
-rw-r--r--lf/default.nix8
-rw-r--r--nvim/colorscheme.nix43
-rw-r--r--nvim/default.nix60
-rw-r--r--nvim/keybindings.lua10
-rw-r--r--nvim/options.lua30
-rw-r--r--nvim/plugins/base16.nix11
-rw-r--r--nvim/plugins/lualine.lua (renamed from nvim/plugins/lualine/init.lua)5
-rw-r--r--nvim/plugins/lualine/default.nix6
-rw-r--r--nvim/plugins/lualine/theme.nix15
-rw-r--r--nvim/plugins/nvim-tree.lua6
-rw-r--r--polybar/default.nix2
-rw-r--r--polybar/modules/battery.nix31
-rw-r--r--rofi/default.nix8
-rw-r--r--sxhkd/default.nix53
-rw-r--r--zsh/default.nix10
20 files changed, 223 insertions, 247 deletions
diff --git a/alacritty/default.nix b/alacritty/default.nix
index b4dd846..5dee8ee 100644
--- a/alacritty/default.nix
+++ b/alacritty/default.nix
@@ -1,77 +1,75 @@
{ pkgs, config, ... }:
{
- programs.alacritty = {
- enable = true;
+ programs.alacritty.enable = true;
- settings = {
- window = {
- opacity = 1.0;
- padding = {
- x = 4;
- y = 0;
- };
- decorations = "full";
+ programs.alacritty.settings = {
+ window = {
+ opacity = 1.0;
+ padding = {
+ x = 4;
+ y = 0;
};
+ decorations = "full";
+ };
- font = {
- normal = {
- family = "Fira Code Nerd Font";
- style = "Retina";
- };
- bold = {
- family = "Fira Code Nerd Font";
- style = "Bold";
- };
- italic = {
- family = "Fira Code Nerd Font";
- };
- size = 16.0;
+ font = {
+ normal = {
+ family = "Fira Code Nerd Font";
+ style = "Retina";
};
+ bold = {
+ family = "Fira Code Nerd Font";
+ style = "Bold";
+ };
+ italic = {
+ family = "Fira Code Nerd Font";
+ };
+ size = 16.0;
+ };
- colors = with config.lib.stylix.colors; {
- primary = {
- background = "0x${base00}";
- foreground = "0x${base05}";
- };
-
- normal = {
- black = "0x${base00}";
- red = "0x${base08}";
- green = "0x${base0B}";
- yellow = "0x${base0A}";
- blue = "0x${base0D}";
- magenta = "0x${base0E}";
- cyan = "0x${base0C}";
- white = "0x${base05}";
- };
+ colors = with config.lib.stylix.colors; {
+ primary = {
+ background = "0x${base00}";
+ foreground = "0x${base05}";
+ };
- bright = {
- black = "0x${base03}";
- red = "0x${base08}";
- green = "0x${base0B}";
- yellow = "0x${base0A}";
- blue = "0x${base0D}";
- magenta = "0x${base0E}";
- cyan = "0x${base0C}";
- white = "0x${base07}";
- };
+ normal = {
+ black = "0x${base00}";
+ red = "0x${base08}";
+ green = "0x${base0B}";
+ yellow = "0x${base0A}";
+ blue = "0x${base0D}";
+ magenta = "0x${base0E}";
+ cyan = "0x${base0C}";
+ white = "0x${base05}";
+ };
- dim = {
- black = "0x${base01}";
- red = "0x${base08}";
- green = "0x${base0B}";
- yellow = "0x${base0A}";
- blue = "0x${base0D}";
- magenta = "0x${base0E}";
- cyan = "0x${base0C}";
- white = "0x${base04}";
- };
+ bright = {
+ black = "0x${base03}";
+ red = "0x${base08}";
+ green = "0x${base0B}";
+ yellow = "0x${base0A}";
+ blue = "0x${base0D}";
+ magenta = "0x${base0E}";
+ cyan = "0x${base0C}";
+ white = "0x${base07}";
};
- shell = {
- program = "${pkgs.zsh}/bin/zsh";
+ dim = {
+ black = "0x${base01}";
+ red = "0x${base08}";
+ green = "0x${base0B}";
+ yellow = "0x${base0A}";
+ blue = "0x${base0D}";
+ magenta = "0x${base0E}";
+ cyan = "0x${base0C}";
+ white = "0x${base04}";
};
};
+
+ shell = {
+ program = "${pkgs.zsh}/bin/zsh";
+ };
};
}
diff --git a/bspwm/bspwmrc b/bspwm/bspwmrc
index b163ad2..8a3a35a 100644
--- a/bspwm/bspwmrc
+++ b/bspwm/bspwmrc
@@ -1,5 +1,3 @@
for monitor in $(xrandr -q | grep -w 'connected' | cut -d' ' -f1); do
bspc monitor "$monitor" -d '1' '2' '3' '4' '5' '6'
done
-
-bspc rule -a "File Explorer" state=floating sticky
diff --git a/bspwm/default.nix b/bspwm/default.nix
index a45b1e8..e31662d 100644
--- a/bspwm/default.nix
+++ b/bspwm/default.nix
@@ -1,22 +1,29 @@
{ ... }:
{
- xsession.windowManager.bspwm = {
- enable = true;
- settings = {
- window_gap = 5;
- split_ratio = 0.51;
- single_monocle = true;
- borderless_monocle = false;
- gapless_monocle = false;
- focus_follows_pointer = true;
- pointer_follows_focus = false;
- pointer_motion_interval = 5;
- pointer_modifier = "mod4";
- pointer_action1 = "move";
- pointer_action2 = "resize_side";
- pointer_action3 = "resize_corner";
+ xsession.windowManager.bspwm.enable = true;
+
+ xsession.windowManager.bspwm.settings = {
+ window_gap = 5;
+ split_ratio = 0.5;
+ single_monocle = true;
+ borderless_monocle = false;
+ gapless_monocle = false;
+ focus_follows_pointer = true;
+ pointer_follows_focus = false;
+ pointer_motion_interval = 60;
+ pointer_modifier = "mod4";
+ pointer_action1 = "move";
+ pointer_action2 = "resize_side";
+ pointer_action3 = "resize_corner";
+ };
+
+ xsession.windowManager.bspwm.rules = {
+ "File Explorer" = {
+ state = "floating";
+ sticky = true;
};
- extraConfig = builtins.readFile ./bspwmrc;
};
+
+ xsession.windowManager.bspwm.extraConfig = builtins.readFile ./bspwmrc;
}
diff --git a/git/default.nix b/git/default.nix
index 32e74d4..8854e2f 100644
--- a/git/default.nix
+++ b/git/default.nix
@@ -1,10 +1,8 @@
{ ... }:
{
- programs.git = {
- enable = true;
- userEmail = "54011232+arpitchakladar@users.noreply.github.com";
- userName = "Arpit Chakladar";
- extraConfig.credential.helper = "store --file ~/.cache/git/credential";
- };
+ programs.git.enable = true;
+ programs.git.userEmail = "54011232+arpitchakladar@users.noreply.github.com";
+ programs.git.userName = "Arpit Chakladar";
+ programs.git.extraConfig.credential.helper = "store --file ~/.cache/git/credential";
}
diff --git a/home.nix b/home.nix
index 091054a..09fea69 100644
--- a/home.nix
+++ b/home.nix
@@ -31,7 +31,6 @@
home.packages = with pkgs; [
git
- neovim
alacritty
sxhkd
bspwm
diff --git a/lf/default.nix b/lf/default.nix
index 74c5fd4..bd16b02 100644
--- a/lf/default.nix
+++ b/lf/default.nix
@@ -1,10 +1,8 @@
{ ... }:
{
- programs.lf = {
- enable = true;
- settings = {
- hidden = true;
- };
+ programs.lf.enable = true;
+ programs.lf.settings = {
+ hidden = true;
};
}
diff --git a/nvim/colorscheme.nix b/nvim/colorscheme.nix
deleted file mode 100644
index d053324..0000000
--- a/nvim/colorscheme.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-# Using the stylix to have a consistent colorscheme
-config:
-
-with config.lib.stylix.colors.withHashtag;
-''
--- Apply the color scheme
-vim.cmd("highlight clear")
-vim.cmd("syntax reset")
-
--- Set terminal colors
-vim.g.terminal_color_0 = "${base00}"
-vim.g.terminal_color_1 = "${base08}"
-vim.g.terminal_color_2 = "${base0B}"
-vim.g.terminal_color_3 = "${base0A}"
-vim.g.terminal_color_4 = "${base0D}"
-vim.g.terminal_color_5 = "${base0E}"
-vim.g.terminal_color_6 = "${base0C}"
-vim.g.terminal_color_7 = "${base05}"
-vim.g.terminal_color_8 = "${base03}"
-vim.g.terminal_color_9 = "${base08}"
-vim.g.terminal_color_10 = "${base0B}"
-vim.g.terminal_color_11 = "${base0A}"
-vim.g.terminal_color_12 = "${base0D}"
-vim.g.terminal_color_13 = "${base0E}"
-vim.g.terminal_color_14 = "${base0C}"
-vim.g.terminal_color_15 = "${base07}"
-
--- Set highlight groups
-vim.api.nvim_set_hl(0, "Normal", { fg = "${base05}", bg = "${base00}" })
-vim.api.nvim_set_hl(0, "Comment", { fg = "${base03}", bg = "${base00}", italic = true })
-vim.api.nvim_set_hl(0, "Constant", { fg = "${base09}" })
-vim.api.nvim_set_hl(0, "String", { fg = "${base0B}" })
-vim.api.nvim_set_hl(0, "Identifier", { fg = "${base08}" })
-vim.api.nvim_set_hl(0, "Function", { fg = "${base0D}" })
-vim.api.nvim_set_hl(0, "Statement", { fg = "${base0E}" })
-vim.api.nvim_set_hl(0, "Keyword", { fg = "${base0E}" })
-vim.api.nvim_set_hl(0, "Type", { fg = "${base0A}" })
-vim.api.nvim_set_hl(0, "Special", { fg = "${base0C}" })
-vim.api.nvim_set_hl(0, "PreProc", { fg = "${base0A}" })
-vim.api.nvim_set_hl(0, "Underlined", { fg = "${base0B}", underline = true })
-vim.api.nvim_set_hl(0, "Error", { fg = "${base08}", bg = "${base00}", bold = true })
-vim.api.nvim_set_hl(0, "Todo", { fg = "${base0A}", bg = "${base00}", bold = true })
-''
diff --git a/nvim/default.nix b/nvim/default.nix
index f2589ae..bf5b050 100644
--- a/nvim/default.nix
+++ b/nvim/default.nix
@@ -1,37 +1,43 @@
{ pkgs, config, ... }:
{
- programs.neovim =
- let
- toLua = str: "lua << EOF\n${str}\nEOF\n";
- toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";
- in {
- enable = true;
- viAlias = true;
- vimAlias = true;
- vimdiffAlias = true;
+ programs.neovim.enable = true;
+ programs.neovim.viAlias = true;
+ programs.neovim.vimAlias = true;
+ programs.neovim.vimdiffAlias = true;
- extraLuaConfig = ''
-${import ./colorscheme.nix config}
+ programs.neovim.extraLuaConfig =
+''
${builtins.readFile ./options.lua}
${builtins.readFile ./keybindings.lua}
'';
- plugins = with pkgs.vimPlugins; [
- {
- plugin = comment-nvim;
- config = toLuaFile ./plugins/comment.lua;
- }
- {
- plugin = lualine-nvim;
- config = toLua (import ./plugins/lualine/default.nix config);
- }
+ programs.neovim.plugins =
+ with pkgs.vimPlugins;
+ let
+ toLua = str: "lua << EOF\n${str}\nEOF\n";
+ toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";
+ in [
+ {
+ plugin = comment-nvim;
+ config = toLuaFile ./plugins/comment.lua;
+ }
+
+ {
+ plugin = lualine-nvim;
+ config = toLuaFile ./plugins/lualine.lua;
+ }
+
+ {
+ plugin = base16-nvim;
+ config = toLua (import ./plugins/base16.nix config);
+ }
+
+ nvim-web-devicons
- nvim-web-devicons
- {
- plugin = nvim-tree-lua;
- config = toLuaFile ./plugins/nvim-tree.lua;
- }
- ];
- };
+ {
+ plugin = nvim-tree-lua;
+ config = toLuaFile ./plugins/nvim-tree.lua;
+ }
+ ];
}
diff --git a/nvim/keybindings.lua b/nvim/keybindings.lua
index d952736..3e8e0fa 100644
--- a/nvim/keybindings.lua
+++ b/nvim/keybindings.lua
@@ -1,8 +1,8 @@
-- Navigate splits
-vim.keymap.set("n", "<C-h>", ":wincmd h<CR>", { silent = true })
-vim.keymap.set("n", "<C-j>", ":wincmd j<CR>", { silent = true })
-vim.keymap.set("n", "<C-k>", ":wincmd k<CR>", { silent = true })
-vim.keymap.set("n", "<C-l>", ":wincmd l<CR>", { silent = true })
+vim.keymap.set("n", "<C-h>", ":wincmd h<CR>", { silent = true });
+vim.keymap.set("n", "<C-j>", ":wincmd j<CR>", { silent = true });
+vim.keymap.set("n", "<C-k>", ":wincmd k<CR>", { silent = true });
+vim.keymap.set("n", "<C-l>", ":wincmd l<CR>", { silent = true });
-- NvimTree
-vim.keymap.set("n", "<C-n>", ":NvimTreeToggle<CR>", { silent = true })
+vim.keymap.set("n", "<C-n>", ":NvimTreeToggle<CR>", { silent = true });
diff --git a/nvim/options.lua b/nvim/options.lua
index 2897a69..5efd8d5 100644
--- a/nvim/options.lua
+++ b/nvim/options.lua
@@ -1,23 +1,23 @@
-vim.g.mapleader = " "
-vim.g.maplocalleader = " "
+vim.g.mapleader = " ";
+vim.g.maplocalleader = " ";
-vim.o.clipboard = "unnamedplus"
+vim.o.clipboard = "unnamedplus";
-vim.o.number = true
-vim.o.list = true
-vim.o.listchars = "tab:| ,trail:_,lead:_"
+vim.o.number = true;
+vim.o.list = true;
+vim.o.listchars = "tab:| ,trail:_,lead:_";
-vim.o.laststatus = 3
-vim.opt.fillchars = { eob = " " }
+vim.o.laststatus = 3;
+vim.opt.fillchars = { eob = " " };
-vim.o.signcolumn = "auto"
+vim.o.signcolumn = "auto";
-vim.o.tabstop = 2
-vim.o.shiftwidth = 2
-vim.o.expandtab = false
+vim.o.tabstop = 2;
+vim.o.shiftwidth = 2;
+vim.o.expandtab = false;
-vim.o.updatetime = 300
+vim.o.updatetime = 300;
-vim.o.termguicolors = true
+vim.o.termguicolors = true;
-vim.o.mouse = "a"
+vim.o.mouse = "a";
diff --git a/nvim/plugins/base16.nix b/nvim/plugins/base16.nix
new file mode 100644
index 0000000..170b68b
--- /dev/null
+++ b/nvim/plugins/base16.nix
@@ -0,0 +1,11 @@
+config:
+
+with config.lib.stylix.colors.withHashtag;
+''
+require("base16-colorscheme").setup {
+ base00 = "${base00}", base01 = "${base01}", base02 = "${base02}", base03 = "${base03}",
+ base04 = "${base04}", base05 = "${base05}", base06 = "${base06}", base07 = "${base07}",
+ base08 = "${base08}", base09 = "${base09}", base0A = "${base0A}", base0B = "${base0B}",
+ base0C = "${base0C}", base0D = "${base0D}", base0E = "${base0E}", base0F = "${base0F}",
+};
+''
diff --git a/nvim/plugins/lualine/init.lua b/nvim/plugins/lualine.lua
index 36acda4..ba2eda6 100644
--- a/nvim/plugins/lualine/init.lua
+++ b/nvim/plugins/lualine.lua
@@ -1,6 +1,5 @@
require("lualine").setup {
options = {
globalstatus = true,
- theme = theme
- }
-}
+ },
+};
diff --git a/nvim/plugins/lualine/default.nix b/nvim/plugins/lualine/default.nix
deleted file mode 100644
index b6be39e..0000000
--- a/nvim/plugins/lualine/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-config:
-
-''
-${import ./theme.nix config}
-${builtins.readFile ./init.lua}
-''
diff --git a/nvim/plugins/lualine/theme.nix b/nvim/plugins/lualine/theme.nix
deleted file mode 100644
index 26c420e..0000000
--- a/nvim/plugins/lualine/theme.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-config:
-
-with config.lib.stylix.colors.withHashtag;
-''
-local theme = {
- normal = {
- a = { fg = "${base07}", bg = "${base0D}", gui = "bold" },
- b = { fg = "${base05}", bg = "${base01}" },
- c = { fg = "${base03}", bg = "${base00}" },
- },
- insert = { a = { fg = "${base07}", bg = "${base0B}", gui = "bold" } },
- visual = { a = { fg = "${base07}", bg = "${base0C}", gui = "bold" } },
- replace = { a = { fg = "${base07}", bg = "${base08}", gui = "bold" } },
- command = { a = { fg = "${base07}", bg = "${base0A}", gui = "bold" } },
-}''
diff --git a/nvim/plugins/nvim-tree.lua b/nvim/plugins/nvim-tree.lua
index 1aa2e6e..c6c4102 100644
--- a/nvim/plugins/nvim-tree.lua
+++ b/nvim/plugins/nvim-tree.lua
@@ -8,6 +8,6 @@ require("nvim-tree").setup {
},
root_folder_label = function(path)
return vim.fn.fnamemodify(path, ":t")
- end
- }
-}
+ end,
+ },
+};
diff --git a/polybar/default.nix b/polybar/default.nix
index 7bc1231..832bffd 100644
--- a/polybar/default.nix
+++ b/polybar/default.nix
@@ -2,7 +2,9 @@
{
services.polybar.enable = true;
+
services.polybar.script = "polybar main &";
+
services.polybar.config = with config.lib.stylix.colors.withHashtag; {
"bar/main" = import ./bars/main.nix config;
"module/xwindow" = import ./modules/xwindow.nix config;
diff --git a/polybar/modules/battery.nix b/polybar/modules/battery.nix
index 1bb1264..9e9e2d5 100644
--- a/polybar/modules/battery.nix
+++ b/polybar/modules/battery.nix
@@ -5,19 +5,32 @@ with config.lib.stylix.colors.withHashtag;
type = "internal/battery";
battery = "BAT0";
adapter = "ADP1";
- full-at = "98";
format-charging = "<animation-charging> <label-charging>";
format-discharging = "<ramp-capacity> <label-discharging>";
- format-full-prefix = "%{F${base0B}}󱊣%{F-}";
- label-full = "%percentage_used%%";
+ format-full-prefix = "%{F${base0B}}󰁹%{F-}";
- ramp-capacity-0 = "%{F${base0C}}󱊡%{F-}";
- ramp-capacity-1 = "%{F${base0C}}󱊢%{F-}";
- ramp-capacity-2 = "%{F${base0C}}󱊣%{F-}";
+ ramp-capacity-0 = "%{F${base0C}}󰁺%{F-}";
+ ramp-capacity-1 = "%{F${base0C}}󰁻%{F-}";
+ ramp-capacity-2 = "%{F${base0C}}󰁼%{F-}";
+ ramp-capacity-3 = "%{F${base0C}}󰁽%{F-}";
+ ramp-capacity-4 = "%{F${base0C}}󰁾%{F-}";
+ ramp-capacity-5 = "%{F${base0C}}󰁿%{F-}";
+ ramp-capacity-6 = "%{F${base0C}}󰂀%{F-}";
+ ramp-capacity-7 = "%{F${base0C}}󰂁%{F-}";
+ ramp-capacity-8 = "%{F${base0C}}󰂂%{F-}";
+ ramp-capacity-9 = "%{F${base0C}}󰁹%{F-}";
+
+ animation-charging-0 = "%{F${base0C}}󰁺%{F-}";
+ animation-charging-1 = "%{F${base0C}}󰁻%{F-}";
+ animation-charging-2 = "%{F${base0C}}󰁼%{F-}";
+ animation-charging-3 = "%{F${base0C}}󰁽%{F-}";
+ animation-charging-4 = "%{F${base0C}}󰁾%{F-}";
+ animation-charging-5 = "%{F${base0C}}󰁿%{F-}";
+ animation-charging-6 = "%{F${base0C}}󰂀%{F-}";
+ animation-charging-7 = "%{F${base0C}}󰂁%{F-}";
+ animation-charging-8 = "%{F${base0C}}󰂂%{F-}";
+ animation-charging-9 = "%{F${base0C}}󰁹%{F-}";
- animation-charging-0 = "%{F${base0C}}󱊡%{F-}";
- animation-charging-1 = "%{F${base0C}}󱊢%{F-}";
- animation-charging-2 = "%{F${base0C}}󱊣%{F-}";
animation-charging-framerate = 750;
}
diff --git a/rofi/default.nix b/rofi/default.nix
index 136550f..5c6c248 100644
--- a/rofi/default.nix
+++ b/rofi/default.nix
@@ -1,9 +1,7 @@
{ config, ... }:
{
- programs.rofi = {
- enable = true;
- font = "FiraCode Nerd Font 16";
- theme = import ./theme.nix config;
- };
+ programs.rofi.enable = true;
+ programs.rofi.font = "FiraCode Nerd Font 16";
+ programs.rofi.theme = import ./theme.nix config;
}
diff --git a/sxhkd/default.nix b/sxhkd/default.nix
index b17bdc0..8a987b1 100644
--- a/sxhkd/default.nix
+++ b/sxhkd/default.nix
@@ -1,24 +1,39 @@
{ ... }:
{
- services.sxhkd = {
- enable = true;
- keybindings = {
- "super + r" = "rofi -show run";
- "super + t" = "alacritty";
- "super + q" = "bspc node -c";
- "super + {1-9,0}" = "bspc desktop -f {1-9,10}";
- # resize windows
- "super + alt + {h,j,k,l}" = ''
- {bspc node @parent/second -z left -20 0; \
- bspc node @parent/first -z right -20 0, \
- bspc node @parent/second -z top 0 +20; \
- bspc node @parent/first -z bottom 0 +20, \
- bspc node @parent/first -z bottom 0 -20; \
- bspc node @parent/second -z top 0 -20, \
- bspc node @parent/first -z right +20 0; \
- bspc node @parent/second -z left +20 0}
- '';
- };
+ services.sxhkd.enable = true;
+
+ services.sxhkd.keybindings = {
+ "super + r" = "rofi -show run";
+ "super + t" = "alacritty";
+ "super + f" = "alacritty -t 'File Explorer' --class 'File Explorer' -e lf";
+ "super + q" = "bspc node -c";
+
+ # switch desktops
+ "super + {1-9,0}" = "bspc desktop -f {1-9,10}";
+
+ # move window to desktop
+ "super + shift + {1-9,0}" = "bspc node -d {1-9,10} --follow";
+
+ # tiled
+ "super + n" = "bspc node focused -t tiled";
+
+ # floating
+ "super + d" = "bspc node focused -t floating";
+
+ # fullscreen
+ "super + m" = "bspc node focused -t fullscreen";
+
+ # resize windows
+ "super + alt + {h,j,k,l}" = ''
+ {bspc node @parent/second -z left -20 0; \
+ bspc node @parent/first -z right -20 0, \
+ bspc node @parent/second -z top 0 +20; \
+ bspc node @parent/first -z bottom 0 +20, \
+ bspc node @parent/first -z bottom 0 -20; \
+ bspc node @parent/second -z top 0 -20, \
+ bspc node @parent/first -z right +20 0; \
+ bspc node @parent/second -z left +20 0}
+ '';
};
}
diff --git a/zsh/default.nix b/zsh/default.nix
index ba93024..f7c5f26 100644
--- a/zsh/default.nix
+++ b/zsh/default.nix
@@ -1,10 +1,8 @@
{ ... }:
{
- programs.zsh = {
- enable = true;
- dotDir = ".config/zsh";
- history.path = "$HOME/.cache/zsh/history";
- initExtra = builtins.readFile ./zshrc;
- };
+ programs.zsh.enable = true;
+ programs.zsh.dotDir = ".config/zsh";
+ programs.zsh.history.path = "$HOME/.cache/zsh/history";
+ programs.zsh.initExtra = builtins.readFile ./zshrc;
}