summaryrefslogtreecommitdiff
path: root/users/seth
diff options
context:
space:
mode:
Diffstat (limited to 'users/seth')
-rw-r--r--users/seth/default.nix2
-rw-r--r--users/seth/desktop/budgie/default.nix6
-rw-r--r--users/seth/desktop/default.nix37
-rw-r--r--users/seth/desktop/gnome/default.nix6
-rw-r--r--users/seth/desktop/plasma/default.nix6
-rw-r--r--users/seth/home.nix5
-rw-r--r--users/seth/module.nix7
-rw-r--r--users/seth/programs/chromium.nix26
-rw-r--r--users/seth/programs/default.nix72
-rw-r--r--users/seth/programs/firefox.nix28
-rw-r--r--users/seth/programs/git.nix46
-rw-r--r--users/seth/programs/gpg.nix29
-rw-r--r--users/seth/programs/mangohud.nix36
-rw-r--r--users/seth/programs/neovim/default.nix130
-rw-r--r--users/seth/programs/ssh.nix80
-rw-r--r--users/seth/programs/vim.nix64
16 files changed, 339 insertions, 241 deletions
diff --git a/users/seth/default.nix b/users/seth/default.nix
index 3ea6771..535f88e 100644
--- a/users/seth/default.nix
+++ b/users/seth/default.nix
@@ -29,7 +29,7 @@
home-manager.users.seth = {
imports = [
./home.nix
- ./desktop
+ ./module.nix
nix-index-database.hmModules.nix-index
];
diff --git a/users/seth/desktop/budgie/default.nix b/users/seth/desktop/budgie/default.nix
index 66a5467..7eced2b 100644
--- a/users/seth/desktop/budgie/default.nix
+++ b/users/seth/desktop/budgie/default.nix
@@ -4,8 +4,8 @@
pkgs,
...
}: let
- cfg = config.desktop.budgie;
- inherit (lib) mkEnableOption mkIf;
+ cfg = config.getchoo.desktop.budgie;
+ inherit (lib) mkIf;
fromYaml = file: let
json = with pkgs;
runCommand "converted.json" {} ''
@@ -14,8 +14,6 @@
in
with builtins; fromJSON (readFile json);
in {
- options.desktop.budgie.enable = mkEnableOption "enable budgie";
-
config = mkIf cfg.enable {
programs.alacritty = {
enable = true;
diff --git a/users/seth/desktop/default.nix b/users/seth/desktop/default.nix
index 8960d88..bdcef3d 100644
--- a/users/seth/desktop/default.nix
+++ b/users/seth/desktop/default.nix
@@ -5,24 +5,27 @@
osConfig,
...
}: let
- cfg = config.desktop;
- inherit (lib) mkEnableOption mkIf;
-
+ cfg = config.getchoo.desktop;
desktops = ["budgie" "gnome" "plasma"];
+ inherit (lib) mkEnableOption mkIf;
in {
imports = [
./budgie
./gnome
./plasma
- ../programs/mangohud.nix
- ../programs/firefox.nix
];
- options.desktop.enable = mkEnableOption "desktop configuration" // {default = osConfig.desktop.enable or false;};
+ options.getchoo.desktop =
+ {
+ enable = mkEnableOption "desktop configuration" // {default = osConfig.desktop.enable or false;};
+ }
+ // lib.genAttrs desktops (desktop: {
+ enable =
+ mkEnableOption desktop
+ // {default = osConfig.desktop.${desktop}.enable or false;};
+ });
config = mkIf cfg.enable {
- desktop = lib.genAttrs desktops (desktop: {enable = osConfig.desktop.${desktop}.enable or false;});
-
home.packages = with pkgs; [
discord
element-desktop
@@ -31,20 +34,10 @@ in {
prismlauncher
];
- programs = {
- chromium = {
- enable = true;
- # hw accel support
- commandLineArgs = [
- "--ignore-gpu-blocklist"
- "--enable-gpu-rasterization"
- "--enable-gpu-compositing"
- "--enable-native-gpu-memory-buffers"
- "--enable-zero-copy"
- "--enable-features=VaapiVideoDecoder,VaapiVideoEncoder,CanvasOopRasterization,RawDraw,WebRTCPipeWireCapturer,Vulkan,WaylandWindowDecorations,WebUIDarkMode"
- "--force-dark-mode"
- ];
- };
+ getchoo.programs = {
+ chromium.enable = true;
+ firefox.enable = true;
+ mangohud.enable = true;
};
};
}
diff --git a/users/seth/desktop/gnome/default.nix b/users/seth/desktop/gnome/default.nix
index 71acdba..26b91df 100644
--- a/users/seth/desktop/gnome/default.nix
+++ b/users/seth/desktop/gnome/default.nix
@@ -4,11 +4,9 @@
pkgs,
...
}: let
- cfg = config.desktop.gnome;
- inherit (lib) mkEnableOption mkIf;
+ cfg = config.getchoo.desktop.gnome;
+ inherit (lib) mkIf;
in {
- options.desktop.gnome.enable = mkEnableOption "enable gnome";
-
config = mkIf cfg.enable {
home.packages = with pkgs;
[adw-gtk3]
diff --git a/users/seth/desktop/plasma/default.nix b/users/seth/desktop/plasma/default.nix
index f19f2c1..4f59528 100644
--- a/users/seth/desktop/plasma/default.nix
+++ b/users/seth/desktop/plasma/default.nix
@@ -4,11 +4,9 @@
pkgs,
...
}: let
- cfg = config.desktop.plasma;
- inherit (lib) mkEnableOption mkIf;
+ cfg = config.getchoo.desktop.plasma;
+ inherit (lib) mkIf;
in {
- options.desktop.plasma.enable = mkEnableOption "enable plasma";
-
config = mkIf cfg.enable {
home.packages = with pkgs; [
catppuccin-cursors
diff --git a/users/seth/home.nix b/users/seth/home.nix
index c24472b..e242a3e 100644
--- a/users/seth/home.nix
+++ b/users/seth/home.nix
@@ -3,11 +3,6 @@
pkgs,
...
}: {
- imports = [
- ./programs
- ./shell
- ];
-
home = let
username = "seth";
inherit (pkgs.stdenv) isLinux isDarwin;
diff --git a/users/seth/module.nix b/users/seth/module.nix
new file mode 100644
index 0000000..9a9a12d
--- /dev/null
+++ b/users/seth/module.nix
@@ -0,0 +1,7 @@
+_: {
+ imports = [
+ ./desktop
+ ./programs
+ ./shell
+ ];
+}
diff --git a/users/seth/programs/chromium.nix b/users/seth/programs/chromium.nix
new file mode 100644
index 0000000..de61719
--- /dev/null
+++ b/users/seth/programs/chromium.nix
@@ -0,0 +1,26 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.getchoo.programs.chromium;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.programs.chromium.enable = mkEnableOption "chromium" // {default = config.getchoo.desktop.enable;};
+
+ config = mkIf cfg.enable {
+ programs.chromium = {
+ enable = true;
+ # hw accel support
+ commandLineArgs = [
+ "--ignore-gpu-blocklist"
+ "--enable-gpu-rasterization"
+ "--enable-gpu-compositing"
+ "--enable-native-gpu-memory-buffers"
+ "--enable-zero-copy"
+ "--enable-features=VaapiVideoDecoder,VaapiVideoEncoder,CanvasOopRasterization,RawDraw,WebRTCPipeWireCapturer,Vulkan,WaylandWindowDecorations,WebUIDarkMode"
+ "--force-dark-mode"
+ ];
+ };
+ };
+}
diff --git a/users/seth/programs/default.nix b/users/seth/programs/default.nix
index 1a13160..2b0dc26 100644
--- a/users/seth/programs/default.nix
+++ b/users/seth/programs/default.nix
@@ -1,44 +1,60 @@
-{pkgs, ...}: {
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.getchoo.programs.defaultPrograms;
+ inherit (lib) mkDefault mkEnableOption mkIf;
+in {
+ options.getchoo.programs.defaultPrograms.enable = mkEnableOption "default programs" // {enable = true;};
+
imports = [
+ ./chromium.nix
+ ./firefox.nix
./git.nix
./gpg.nix
+ ./mangohud.nix
./neovim
./ssh.nix
./vim.nix
];
- home.packages = with pkgs; [
- fd
- gh
- nix-your-shell
- nurl
- rclone
- restic
- ripgrep
- ];
+ config = mkIf cfg.enable {
+ home.packages = with pkgs; [
+ fd
+ nix-your-shell
+ nurl
+ rclone
+ restic
+ ];
- programs = {
- btop.enable = true;
+ programs = {
+ btop.enable = mkDefault true;
- direnv = {
- enable = true;
- nix-direnv = {
- enable = true;
+ direnv = {
+ enable = mkDefault true;
+ nix-direnv.enable = mkDefault true;
};
- };
- nix-index-database.comma.enable = true;
- };
+ ripgrep.enable = mkDefault true;
+
+ nix-index-database.comma.enable = mkDefault true;
+ };
- xdg = {
- enable = true;
- configFile."btop/themes/catppuccin_mocha.theme".source =
- pkgs.fetchFromGitHub {
- owner = "catppuccin";
- repo = "btop";
- rev = "ecb8562bb6181bb9f2285c360bbafeb383249ec3";
- sha256 = "sha256-ovVtupO5jWUw6cwA3xEzRe1juUB8ykfarMRVTglx3mk=";
+ xdg =
+ {
+ enable = mkDefault true;
}
- + "/catppuccin_mocha.theme";
+ // (mkIf cfg.programs.btop.enable {
+ configFile."btop/themes/catppuccin_mocha.theme".source =
+ pkgs.fetchFromGitHub {
+ owner = "catppuccin";
+ repo = "btop";
+ rev = "ecb8562bb6181bb9f2285c360bbafeb383249ec3";
+ sha256 = "sha256-ovVtupO5jWUw6cwA3xEzRe1juUB8ykfarMRVTglx3mk=";
+ }
+ + "/catppuccin_mocha.theme";
+ });
};
}
diff --git a/users/seth/programs/firefox.nix b/users/seth/programs/firefox.nix
index 3f28d56..ed66a27 100644
--- a/users/seth/programs/firefox.nix
+++ b/users/seth/programs/firefox.nix
@@ -4,19 +4,23 @@
pkgs,
...
}: let
- cfg = config.desktop;
- inherit (lib) mkIf;
+ cfg = config.getchoo.programs.firefox;
+ inherit (lib) mkEnableOption mkIf;
in {
- config.programs.firefox = mkIf cfg.enable {
- enable = true;
- profiles.arkenfox = {
- extensions = with pkgs.nur.repos.rycee.firefox-addons; [
- bitwarden
- floccus
- private-relay
- ublock-origin
- ];
- isDefault = true;
+ options.getchoo.programs.firefox.enable = mkEnableOption "firefox" // {default = config.getchoo.desktop.enable;};
+
+ config = mkIf cfg.enable {
+ programs.firefox = {
+ enable = true;
+ profiles.arkenfox = {
+ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+ bitwarden
+ floccus
+ private-relay
+ ublock-origin
+ ];
+ isDefault = true;
+ };
};
};
}
diff --git a/users/seth/programs/git.nix b/users/seth/programs/git.nix
index f496f90..290a1e8 100644
--- a/users/seth/programs/git.nix
+++ b/users/seth/programs/git.nix
@@ -1,17 +1,39 @@
-_: {
- programs.git = {
- enable = true;
+{
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.getchoo.programs.git;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.programs.git.enable = mkEnableOption "git" // {default = true;};
- extraConfig = {
- init = {defaultBranch = "main";};
- };
+ config = mkIf cfg.enable {
+ programs = {
+ gh = {
+ enable = true;
+ settings = {
+ git_protocol = "ssh";
+ editor = "nvim";
+ prompt = "enabled";
+ };
+ };
- signing = {
- key = "D31BD0D494BBEE86";
- signByDefault = true;
- };
+ git = {
+ enable = true;
+
+ extraConfig = {
+ init = {defaultBranch = "main";};
+ };
- userEmail = "[email protected]";
- userName = "seth";
+ signing = {
+ key = "D31BD0D494BBEE86";
+ signByDefault = true;
+ };
+
+ userEmail = "[email protected]";
+ userName = "seth";
+ };
+ };
};
}
diff --git a/users/seth/programs/gpg.nix b/users/seth/programs/gpg.nix
index 3fba0d3..f4f1a33 100644
--- a/users/seth/programs/gpg.nix
+++ b/users/seth/programs/gpg.nix
@@ -4,19 +4,26 @@
pkgs,
osConfig,
...
-}: {
- programs.gpg.enable = true;
+}: let
+ cfg = config.getchoo.programs.gpg;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.programs.gpg.enable = mkEnableOption "gpg" // {default = true;};
- services.gpg-agent = lib.mkIf pkgs.stdenv.isLinux {
- enable = true;
+ config = mkIf cfg.enable {
+ programs.gpg.enable = true;
- enableBashIntegration = config.programs.bash.enable;
- enableFishIntegration = config.programs.fish.enable;
- enableZshIntegration = config.programs.zsh.enable;
+ services.gpg-agent = lib.mkIf pkgs.stdenv.isLinux {
+ enable = true;
- pinentryFlavor =
- if osConfig ? programs
- then osConfig.programs.gnupg.agent.pinentryFlavor or "curses"
- else "curses";
+ enableBashIntegration = config.programs.bash.enable;
+ enableFishIntegration = config.programs.fish.enable;
+ enableZshIntegration = config.programs.zsh.enable;
+
+ pinentryFlavor =
+ if osConfig ? programs
+ then osConfig.programs.gnupg.agent.pinentryFlavor or "curses"
+ else "curses";
+ };
};
}
diff --git a/users/seth/programs/mangohud.nix b/users/seth/programs/mangohud.nix
index 6d325b2..1ab8bb0 100644
--- a/users/seth/programs/mangohud.nix
+++ b/users/seth/programs/mangohud.nix
@@ -1,27 +1,29 @@
{
config,
lib,
- pkgs,
...
}: let
- cfg = config.desktop;
- inherit (lib) mkIf;
+ cfg = config.getchoo.programs.mangohud;
+ inherit (lib) mkEnableOption mkIf;
in {
- config = mkIf cfg.enable {
- home.packages = with pkgs; [mangohud];
+ options.getchoo.programs.mangohud.enable =
+ mkEnableOption "mangohud"
+ // {default = config.getchoo.desktop.enable;};
- xdg.configFile."MangoHud/MangoHud.conf" = {
- text = ''
- legacy_layout=false
- cpu_stats
- cpu_temp
- gpu_stats
- gpu_temp
- fps
- frametime
- media_player
- media_player_name = spotify
- '';
+ config = mkIf cfg.enable {
+ programs.mangohud = {
+ enable = true;
+ settings = {
+ legacy_layout = false;
+ cpu_stats = true;
+ cpu_temp = true;
+ gpu_stats = true;
+ gpu_temp = true;
+ fps = true;
+ frametime = true;
+ media_player = true;
+ media_player_name = "spotify";
+ };
};
};
}
diff --git a/users/seth/programs/neovim/default.nix b/users/seth/programs/neovim/default.nix
index 995d154..fe7edd3 100644
--- a/users/seth/programs/neovim/default.nix
+++ b/users/seth/programs/neovim/default.nix
@@ -1,62 +1,74 @@
-{pkgs, ...}: {
- programs.neovim = {
- enable = true;
- defaultEditor = true;
- extraPackages = with pkgs; [
- actionlint
- alejandra
- beautysh
- codespell
- deadnix
- just
- nil
- nodePackages.alex
- shellcheck
- statix
- stylua
- sumneko-lua-language-server
- ];
- plugins = with pkgs.vimPlugins; [
- bufferline-nvim
- catppuccin-nvim
- cmp-nvim-lsp
- cmp-buffer
- cmp_luasnip
- cmp-path
- editorconfig-nvim
- # TODO: don't pin when deprecation notice
- # is no longer in nixpkgs
- (fidget-nvim.overrideAttrs (_: {
- src = pkgs.fetchFromGitHub {
- owner = "j-hui";
- repo = "fidget.nvim";
- rev = "41f327b53c7977d47aee56f05e0bdbb4b994c5eb";
- hash = "sha256-v9qARsW8Gozit4Z3+igiemjI467QgRhwM+crqwO9r6U=";
- };
- }))
- gitsigns-nvim
- leap-nvim
- lualine-nvim
- luasnip
- nvim-autopairs
- nvim-cmp
- nvim-lspconfig
- null-ls-nvim
- nvim-tree-lua
- nvim-treesitter.withAllGrammars
- nvim-web-devicons
- pkgs.vim-just
- plenary-nvim
- telescope-nvim
- trouble-nvim
- ];
- extraLuaConfig = ''
- require("getchoo")
- '';
- };
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.getchoo.programs.neovim;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.programs.neovim.enable = mkEnableOption "neovim" // {default = true;};
+
+ config = mkIf cfg.enable {
+ programs.neovim = {
+ enable = true;
+ defaultEditor = true;
+ extraPackages = with pkgs; [
+ actionlint
+ alejandra
+ beautysh
+ codespell
+ deadnix
+ just
+ nil
+ nodePackages.alex
+ shellcheck
+ statix
+ stylua
+ sumneko-lua-language-server
+ ];
+ plugins = with pkgs.vimPlugins; [
+ bufferline-nvim
+ catppuccin-nvim
+ cmp-nvim-lsp
+ cmp-buffer
+ cmp_luasnip
+ cmp-path
+ editorconfig-nvim
+ # TODO: don't pin when deprecation notice
+ # is no longer in nixpkgs
+ (fidget-nvim.overrideAttrs (_: {
+ src = pkgs.fetchFromGitHub {
+ owner = "j-hui";
+ repo = "fidget.nvim";
+ rev = "41f327b53c7977d47aee56f05e0bdbb4b994c5eb";
+ hash = "sha256-v9qARsW8Gozit4Z3+igiemjI467QgRhwM+crqwO9r6U=";
+ };
+ }))
+ gitsigns-nvim
+ leap-nvim
+ lualine-nvim
+ luasnip
+ nvim-autopairs
+ nvim-cmp
+ nvim-lspconfig
+ null-ls-nvim
+ nvim-tree-lua
+ nvim-treesitter.withAllGrammars
+ nvim-web-devicons
+ pkgs.vim-just
+ plenary-nvim
+ telescope-nvim
+ trouble-nvim
+ ];
+ extraLuaConfig = ''
+ require("getchoo")
+ '';
+ };
- xdg.configFile."nvim/lua/getchoo" = {
- source = ./config;
- recursive = true;
+ xdg.configFile."nvim/lua/getchoo" = {
+ source = ./config;
+ recursive = true;
+ };
};
}
diff --git a/users/seth/programs/ssh.nix b/users/seth/programs/ssh.nix
index 69a7b57..7be5f0e 100644
--- a/users/seth/programs/ssh.nix
+++ b/users/seth/programs/ssh.nix
@@ -1,48 +1,56 @@
{
config,
+ lib,
pkgs,
...
-}: {
- programs.ssh = {
- enable = true;
- package = pkgs.openssh;
-
- matchBlocks = let
- sshDir = "${config.home.homeDirectory}/.ssh";
- in {
- # git forges
- "github.com" = {
- identityFile = "${sshDir}/github";
- user = "git";
- };
+}: let
+ cfg = config.getchoo.programs.ssh;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.programs.ssh.enable = mkEnableOption "ssh" // {default = true;};
- "codeberg.org" = {
- identityFile = "${sshDir}/codeberg";
- user = "git";
- };
+ config = mkIf cfg.enable {
+ programs.ssh = {
+ enable = true;
+ package = pkgs.openssh;
- # linux packaging
- "aur.archlinux.org" = {
- identityFile = "${sshDir}/aur";
- user = "aur";
- };
+ matchBlocks = let
+ sshDir = "${config.home.homeDirectory}/.ssh";
+ in {
+ # git forges
+ "github.com" = {
+ identityFile = "${sshDir}/github";
+ user = "git";
+ };
- "pagure.io" = {
- identityFile = "${sshDir}/copr";
- user = "git";
- };
+ "codeberg.org" = {
+ identityFile = "${sshDir}/codeberg";
+ user = "git";
+ };
- # router
- "192.168.1.1" = {
- identityFile = "${sshDir}/openwrt";
- user = "root";
- };
+ # linux packaging
+ "aur.archlinux.org" = {
+ identityFile = "${sshDir}/aur";
+ user = "aur";
+ };
- # servers
- "atlas".user = "atlas";
- "p-body".user = "p-body";
+ "pagure.io" = {
+ identityFile = "${sshDir}/copr";
+ user = "git";
+ };
+
+ # router
+ "192.168.1.1" = {
+ identityFile = "${sshDir}/openwrt";
+ user = "root";
+ };
+
+ # servers
+ "atlas".user = "atlas";
+ "p-body".user = "p-body";
+ };
};
- };
- services.ssh-agent.enable = pkgs.stdenv.isLinux;
+ services.ssh-agent.enable = pkgs.stdenv.isLinux;
+ };
}
diff --git a/users/seth/programs/vim.nix b/users/seth/programs/vim.nix
index 68062a7..0f81cfb 100644
--- a/users/seth/programs/vim.nix
+++ b/users/seth/programs/vim.nix
@@ -1,31 +1,43 @@
-{pkgs, ...}: {
- programs.vim = {
- enable = true;
- packageConfigurable = pkgs.vim;
- settings = {
- expandtab = false;
- shiftwidth = 2;
- tabstop = 2;
- };
- extraConfig = ''
- " https://wiki.archlinux.org/title/XDG_Base_Directory
- set runtimepath^=$XDG_CONFIG_HOME/vim
- set runtimepath+=$XDG_DATA_HOME/vim
- set runtimepath+=$XDG_CONFIG_HOME/vim/after
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.getchoo.programs.vim;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.programs.vim.enable = mkEnableOption "vim" // {default = true;};
+
+ config = mkIf cfg.enable {
+ programs.vim = {
+ enable = true;
+ packageConfigurable = pkgs.vim;
+ settings = {
+ expandtab = false;
+ shiftwidth = 2;
+ tabstop = 2;
+ };
+ extraConfig = ''
+ " https://wiki.archlinux.org/title/XDG_Base_Directory
+ set runtimepath^=$XDG_CONFIG_HOME/vim
+ set runtimepath+=$XDG_DATA_HOME/vim
+ set runtimepath+=$XDG_CONFIG_HOME/vim/after
- set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
- set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after
- set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
- set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after
+ set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
+ set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after
+ set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
+ set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after
- let g:netrw_home = $XDG_DATA_HOME."/vim"
- call mkdir($XDG_DATA_HOME."/vim/spell", 'p')
+ let g:netrw_home = $XDG_DATA_HOME."/vim"
+ call mkdir($XDG_DATA_HOME."/vim/spell", 'p')
- set backupdir=$XDG_STATE_HOME/vim/backup | call mkdir(&backupdir, 'p')
- set directory=$XDG_STATE_HOME/vim/swap | call mkdir(&directory, 'p')
- set undodir=$XDG_STATE_HOME/vim/undo | call mkdir(&undodir, 'p')
- set viewdir=$XDG_STATE_HOME/vim/view | call mkdir(&viewdir, 'p')
- set viminfofile=$XDG_STATE_HOME/vim/viminfo
- '';
+ set backupdir=$XDG_STATE_HOME/vim/backup | call mkdir(&backupdir, 'p')
+ set directory=$XDG_STATE_HOME/vim/swap | call mkdir(&directory, 'p')
+ set undodir=$XDG_STATE_HOME/vim/undo | call mkdir(&undodir, 'p')
+ set viewdir=$XDG_STATE_HOME/vim/view | call mkdir(&viewdir, 'p')
+ set viminfofile=$XDG_STATE_HOME/vim/viminfo
+ '';
+ };
};
}