summaryrefslogtreecommitdiff
path: root/users/seth
diff options
context:
space:
mode:
Diffstat (limited to 'users/seth')
-rw-r--r--users/seth/darwin.nix10
-rw-r--r--users/seth/default.nix42
-rw-r--r--users/seth/desktop/budgie/default.nix44
-rw-r--r--users/seth/desktop/default.nix43
-rw-r--r--users/seth/desktop/gnome/default.nix88
-rw-r--r--users/seth/desktop/plasma/default.nix59
-rw-r--r--users/seth/home.nix20
-rw-r--r--users/seth/module.nix7
-rw-r--r--users/seth/programs/chromium.nix27
-rw-r--r--users/seth/programs/default.nix60
-rw-r--r--users/seth/programs/firefox/arkenfox.nix71
-rw-r--r--users/seth/programs/firefox/default.nix50
-rw-r--r--users/seth/programs/git.nix51
-rw-r--r--users/seth/programs/gpg.nix29
-rw-r--r--users/seth/programs/mangohud.nix29
-rw-r--r--users/seth/programs/neovim/.luarc.json3
-rw-r--r--users/seth/programs/neovim/config/init.lua17
-rw-r--r--users/seth/programs/neovim/config/keybinds.lua49
-rw-r--r--users/seth/programs/neovim/config/plugins/general.lua107
-rw-r--r--users/seth/programs/neovim/config/plugins/init.lua3
-rw-r--r--users/seth/programs/neovim/config/plugins/lsp.lua170
-rw-r--r--users/seth/programs/neovim/config/plugins/ui.lua40
-rw-r--r--users/seth/programs/neovim/default.nix93
-rw-r--r--users/seth/programs/ssh.nix50
-rw-r--r--users/seth/programs/vim.nix43
-rw-r--r--users/seth/shell/bash.nix21
-rw-r--r--users/seth/shell/default.nix79
-rw-r--r--users/seth/shell/fish.nix52
-rw-r--r--users/seth/shell/starship.toml220
-rw-r--r--users/seth/shell/zsh.nix114
30 files changed, 0 insertions, 1691 deletions
diff --git a/users/seth/darwin.nix b/users/seth/darwin.nix
deleted file mode 100644
index 4240dec..0000000
--- a/users/seth/darwin.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{pkgs, ...}: {
- imports = [./home.nix];
-
- home.packages = with pkgs; [
- discord
- iterm2
- #prismlauncher
- #spotify
- ];
-}
diff --git a/users/seth/default.nix b/users/seth/default.nix
deleted file mode 100644
index 2e7e106..0000000
--- a/users/seth/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- config,
- lib,
- pkgs,
- arkenfox,
- nix-index-database,
- ...
-}: {
- users.users.seth = let
- inherit (pkgs.stdenv) isLinux isDarwin;
- in
- lib.recursiveUpdate {
- shell = pkgs.fish;
- home = lib.optionalString (isLinux || isDarwin) (
- if isLinux
- then "/home/seth"
- else "/Users/seth"
- );
- } (lib.optionalAttrs pkgs.stdenv.isLinux {
- extraGroups = lib.optional pkgs.stdenv.isLinux "wheel";
- isNormalUser = true;
- hashedPasswordFile = config.age.secrets.sethPassword.path;
- });
-
- programs.fish.enable = true;
-
- home-manager = {
- useGlobalPkgs = true;
- useUserPackages = true;
- };
-
- home-manager.users.seth = {
- imports = [
- ./home.nix
- ./module.nix
- arkenfox.hmModules.arkenfox
- nix-index-database.hmModules.nix-index
- ];
-
- nixpkgs.overlays = config.nixpkgs.overlays;
- };
-}
diff --git a/users/seth/desktop/budgie/default.nix b/users/seth/desktop/budgie/default.nix
deleted file mode 100644
index 7eced2b..0000000
--- a/users/seth/desktop/budgie/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.getchoo.desktop.budgie;
- inherit (lib) mkIf;
- fromYaml = file: let
- json = with pkgs;
- runCommand "converted.json" {} ''
- ${yj}/bin/yj < ${file} > $out
- '';
- in
- with builtins; fromJSON (readFile json);
-in {
- config = mkIf cfg.enable {
- programs.alacritty = {
- enable = true;
- settings = let
- file =
- pkgs.fetchFromGitHub {
- owner = "catppuccin";
- repo = "alacritty";
- rev = "3c808cbb4f9c87be43ba5241bc57373c793d2f17";
- sha256 = "sha256-w9XVtEe7TqzxxGUCDUR9BFkzLZjG8XrplXJ3lX6f+x0=";
- }
- + "/catppuccin-mocha.yml";
- in
- (fromYaml file)
- // {
- };
- };
-
- dconf = {
- enable = true;
- settings = {
- "com.solus-project.budgie-panel:Budgie" = {
- pinned-launchers = ["firefox.desktop" "nemo.desktop" "discord.desktop"];
- };
- };
- };
- };
-}
diff --git a/users/seth/desktop/default.nix b/users/seth/desktop/default.nix
deleted file mode 100644
index bdcef3d..0000000
--- a/users/seth/desktop/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- config,
- lib,
- pkgs,
- osConfig,
- ...
-}: let
- cfg = config.getchoo.desktop;
- desktops = ["budgie" "gnome" "plasma"];
- inherit (lib) mkEnableOption mkIf;
-in {
- imports = [
- ./budgie
- ./gnome
- ./plasma
- ];
-
- 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 {
- home.packages = with pkgs; [
- discord
- element-desktop
- spotify
- steam
- prismlauncher
- ];
-
- 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
deleted file mode 100644
index ff2d1d4..0000000
--- a/users/seth/desktop/gnome/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.getchoo.desktop.gnome;
- inherit (lib) mkIf;
-in {
- config = mkIf cfg.enable {
- home.packages = with pkgs;
- [
- adw-gtk3
- tuba
- ]
- ++ (with pkgs.gnomeExtensions; [
- caffeine
- clipboard-history
- gradience
- ]);
-
- dconf = {
- enable = true;
- settings = {
- "org/gnome/shell" = {
- disable-user-extensions = false;
-
- enabled-extensions = [
- ];
-
- favorite-apps = [
- "firefox.desktop"
- "org.gnome.Nautilus.desktop"
- "discord.desktop"
- ];
- };
-
- "org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- font-antialiasing = ''rgba'';
- font-name = ''Noto Sans 11'';
- document-font-name = ''Noto Sans 11'';
- monospace-font-name = ''FiraCode Nerd Font 10'';
- };
-
- "org/gnome/desktop/peripherals/mouse" = {
- accel-profile = ''flat'';
- };
-
- "org/gnome/desktop/wm/preferences" = {
- titlebar-font = ''Noto Sans Bold 11'';
- };
-
- "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
- name = "blackbox";
- command = "blackbox";
- binding = "<Control><Alt>t";
- };
-
- "com/raggesilver/BlackBox" = {
- font = ''FiraCode Nerd Font 12'';
- theme-dark = ''Catppuccin-Mocha'';
- remember-window-size = true;
- };
- };
- };
-
- gtk = {
- enable = true;
- theme = {
- name = "adw-gtk3";
- package = pkgs.adw-gtk3;
- };
- };
-
- xdg.dataFile."blackbox/schemes/Catppuccin-Mocha.json".source =
- pkgs.fetchFromGitHub {
- owner = "catppuccin";
- repo = "tilix";
- rev = "3fd05e03419321f2f2a6aad6da733b28be1765ef";
- sha256 = "sha256-SI7QxQ+WBHzeuXbTye+s8pi4tDVZOV4Aa33mRYO276k=";
- }
- + "/src/Catppuccin-Mocha.json";
- };
-}
diff --git a/users/seth/desktop/plasma/default.nix b/users/seth/desktop/plasma/default.nix
deleted file mode 100644
index 4f59528..0000000
--- a/users/seth/desktop/plasma/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.getchoo.desktop.plasma;
- inherit (lib) mkIf;
-in {
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- catppuccin-cursors
- (catppuccin-kde.override
- {
- flavour = ["mocha"];
- accents = ["mauve"];
- })
-
- (catppuccin-kvantum.override
- {
- variant = "Mocha";
- accent = "Mauve";
- })
-
- libsForQt5.qtstyleplugin-kvantum
- papirus-icon-theme
- ];
-
- xdg = {
- configFile = let
- themeDir = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}";
- in {
- "gtk-4.0/gtk.css".source = "${themeDir}/gtk-4.0/gtk.css";
- "gtk-4.0/gtk-dark.css".source = "${themeDir}/gtk-4.0/gtk-dark.css";
- };
-
- dataFile."konsole/catppuccin-mocha.colorscheme".source =
- pkgs.fetchFromGitHub {
- owner = "catppuccin";
- repo = "konsole";
- rev = "7d86b8a1e56e58f6b5649cdaac543a573ac194ca";
- sha256 = "EwSJMTxnaj2UlNJm1t6znnatfzgm1awIQQUF3VPfCTM=";
- }
- + "/Catppuccin-Mocha.colorscheme";
- };
-
- gtk = {
- enable = true;
-
- theme = {
- name = "Catppuccin-Mocha-Standard-Mauve-dark";
- package = pkgs.catppuccin-gtk.override {
- accents = ["mauve"];
- variant = "mocha";
- };
- };
- };
- };
-}
diff --git a/users/seth/home.nix b/users/seth/home.nix
deleted file mode 100644
index e242a3e..0000000
--- a/users/seth/home.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- lib,
- pkgs,
- ...
-}: {
- home = let
- username = "seth";
- inherit (pkgs.stdenv) isLinux isDarwin;
- optionalLinuxDarwin = lib.optionalString (isLinux || isDarwin);
- in {
- inherit username;
- homeDirectory = optionalLinuxDarwin (
- if isLinux
- then "/home/${username}"
- else "/Users/${username}"
- );
-
- stateVersion = "23.11";
- };
-}
diff --git a/users/seth/module.nix b/users/seth/module.nix
deleted file mode 100644
index 9a9a12d..0000000
--- a/users/seth/module.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-_: {
- imports = [
- ./desktop
- ./programs
- ./shell
- ];
-}
diff --git a/users/seth/programs/chromium.nix b/users/seth/programs/chromium.nix
deleted file mode 100644
index e313235..0000000
--- a/users/seth/programs/chromium.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- 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"
- "--enable-features=WebRTCPipeWireCapturer,WaylandWindowDecorations,WebUIDarkMode"
- "--force-dark-mode"
- ];
- };
- };
-}
diff --git a/users/seth/programs/default.nix b/users/seth/programs/default.nix
deleted file mode 100644
index 93ba8f5..0000000
--- a/users/seth/programs/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.getchoo.programs.defaultPrograms;
- inherit (lib) mkDefault mkEnableOption mkIf;
-in {
- options.getchoo.programs.defaultPrograms.enable = mkEnableOption "default programs" // {default = true;};
-
- imports = [
- ./chromium.nix
- ./firefox
- ./git.nix
- ./gpg.nix
- ./mangohud.nix
- ./neovim
- ./ssh.nix
- ./vim.nix
- ];
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- fd
- nix-your-shell
- nurl
- rclone
- restic
- ];
-
- programs = {
- btop.enable = mkDefault true;
-
- direnv = {
- enable = mkDefault true;
- nix-direnv.enable = mkDefault true;
- };
-
- ripgrep.enable = mkDefault true;
-
- nix-index-database.comma.enable = mkDefault true;
- };
-
- xdg =
- {
- enable = mkDefault true;
- }
- // (mkIf config.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/arkenfox.nix b/users/seth/programs/firefox/arkenfox.nix
deleted file mode 100644
index 3da3a25..0000000
--- a/users/seth/programs/firefox/arkenfox.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.getchoo.programs.firefox;
- inherit (lib) genAttrs mkEnableOption mkIf recursiveUpdate;
-
- enableSections = sections: genAttrs sections (_: {enable = true;});
-in {
- options.getchoo.programs.firefox.arkenfoxConfig.enable =
- mkEnableOption "default arkenfox config" // {default = true;};
-
- config.programs.firefox = mkIf (cfg.enable && cfg.arkenfoxConfig.enable) {
- arkenfox = {
- enable = true;
- version = "115.1";
- };
-
- profiles.arkenfox.arkenfox =
- recursiveUpdate {
- enable = true;
-
- # enable safe browsing
- "0400"."0403"."browser.safebrowsing.downloads.remote.enabled".value = true;
-
- # fix hulu
- "1200"."1201"."security.ssl.require_safe_negotiation".value = false;
-
- "2600"."2651"."browser.download.useDownloadDir" = {
- enable = true;
- value = true;
- };
-
- # disable rfp letterboxing
- "4500"."4504"."privacy.resistFingerprinting.letterboxing".value = false;
-
- "5000" = {
- "5003"."signon.rememberSignons".enable = true;
- # enable search autocomplete
- "5021"."keyword.enabled".value = true;
- };
-
- # enable drm
- "5500"."5508"."media.eme.enabled" = {
- enable = true;
- value = true;
- };
- } (enableSections [
- "0100"
- "0200"
- "0300"
- "0400"
- "0600"
- "0700"
- "0800"
- "0900"
- "1000"
- "1200"
- "1400"
- "1600"
- "1700"
- "2000"
- "2400"
- "2600"
- "2700"
- "2800"
- "4500"
- ]);
- };
-}
diff --git a/users/seth/programs/firefox/default.nix b/users/seth/programs/firefox/default.nix
deleted file mode 100644
index 82ba80d..0000000
--- a/users/seth/programs/firefox/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.getchoo.programs.firefox;
- inherit (lib) mkEnableOption mkIf;
-in {
- options.getchoo.programs.firefox.enable = mkEnableOption "firefox" // {default = config.getchoo.desktop.enable;};
-
- imports = [
- ./arkenfox.nix
- ];
-
- config = mkIf cfg.enable {
- home.sessionVariables = {
- MOZ_ENABLE_WAYLAND = "1";
- };
-
- programs.firefox = {
- enable = true;
- profiles.arkenfox = {
- extensions = with pkgs.nur.repos.rycee.firefox-addons; [
- bitwarden
- floccus
- private-relay
- ublock-origin
- ];
-
- isDefault = true;
-
- settings = {
- # disable firefox accounts & pocket
- "extensions.pocket.enabled" = false;
- "identity.fxaccounts.enabled" = false;
-
- "gfx.webrender.all" = true;
- "fission.autostart" = true;
-
- # hw accel
- "media.ffmpeg.vaapi.enabled" = true;
-
- # widevine drm
- "media.gmp-widevinecdm.enabled" = true;
- };
- };
- };
- };
-}
diff --git a/users/seth/programs/git.nix b/users/seth/programs/git.nix
deleted file mode 100644
index ec92f8d..0000000
--- a/users/seth/programs/git.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.getchoo.programs.git;
- inherit (lib) mkEnableOption mkIf;
-in {
- options.getchoo.programs.git.enable = mkEnableOption "git" // {default = true;};
-
- config = mkIf cfg.enable {
- programs = {
- gh = {
- enable = true;
- settings = {
- git_protocol = "https";
- editor = "nvim";
- prompt = "enabled";
- };
-
- gitCredentialHelper = {
- enable = true;
- hosts = ["https://github.com" "https://github.example.com"];
- };
- };
-
- git = {
- enable = true;
-
- delta = {
- enable = true;
- options = {
- syntax-theme = "catppuccin";
- };
- };
-
- extraConfig = {
- init = {defaultBranch = "main";};
- };
-
- signing = {
- key = "D31BD0D494BBEE86";
- signByDefault = true;
- };
-
- userEmail = "[email protected]";
- userName = "seth";
- };
- };
- };
-}
diff --git a/users/seth/programs/gpg.nix b/users/seth/programs/gpg.nix
deleted file mode 100644
index f4f1a33..0000000
--- a/users/seth/programs/gpg.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- config,
- lib,
- pkgs,
- osConfig,
- ...
-}: let
- cfg = config.getchoo.programs.gpg;
- inherit (lib) mkEnableOption mkIf;
-in {
- options.getchoo.programs.gpg.enable = mkEnableOption "gpg" // {default = true;};
-
- config = mkIf cfg.enable {
- programs.gpg.enable = true;
-
- services.gpg-agent = lib.mkIf pkgs.stdenv.isLinux {
- enable = true;
-
- 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
deleted file mode 100644
index 1ab8bb0..0000000
--- a/users/seth/programs/mangohud.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.getchoo.programs.mangohud;
- inherit (lib) mkEnableOption mkIf;
-in {
- options.getchoo.programs.mangohud.enable =
- mkEnableOption "mangohud"
- // {default = config.getchoo.desktop.enable;};
-
- 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/.luarc.json b/users/seth/programs/neovim/.luarc.json
deleted file mode 100644
index 23b9ee2..0000000
--- a/users/seth/programs/neovim/.luarc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "workspace.checkThirdParty": false
-} \ No newline at end of file
diff --git a/users/seth/programs/neovim/config/init.lua b/users/seth/programs/neovim/config/init.lua
deleted file mode 100644
index 854f26c..0000000
--- a/users/seth/programs/neovim/config/init.lua
+++ /dev/null
@@ -1,17 +0,0 @@
-local cmd = vim.cmd
-local opt = vim.opt
-
--- text options
-opt.tabstop = 2
-opt.shiftwidth = 2
-opt.expandtab = false
-opt.smartindent = true
-opt.wrap = true
-
--- appearance
-opt.syntax = "on"
-cmd("filetype plugin indent on")
-opt.termguicolors = true
-
-require("getchoo.keybinds")
-require("getchoo.plugins")
diff --git a/users/seth/programs/neovim/config/keybinds.lua b/users/seth/programs/neovim/config/keybinds.lua
deleted file mode 100644
index 7dab12e..0000000
--- a/users/seth/programs/neovim/config/keybinds.lua
+++ /dev/null
@@ -1,49 +0,0 @@
-vim.g.mapleader = ","
-
-local opts = { noremap = true, silent = true }
-local set = function(mode, key, vimcmd)
- vim.keymap.set(mode, key, vimcmd, opts)
-end
-
-if pcall(require, "neo-tree.command") then
- set("n", "<leader>t", function()
- require("neo-tree.command").execute({
- toggle = true,
- dir = vim.loop.cwd(),
- })
- end)
-end
-
-if pcall(require, "flash") then
- set({ "n", "o", "x" }, "s", function()
- require("flash").jump()
- end)
-end
-
-for i = 1, 9 do
- set("n", "<leader>" .. i, function()
- local vimcmd = "BufferLineGoToBuffer " .. i
- vim.cmd(vimcmd)
- end)
-end
-
-set("n", "<leader>q", function()
- vim.cmd("BufferLinePickClose")
-end)
-
-set("n", "<leader>e", vim.diagnostic.open_float)
-set("n", "[d", vim.diagnostic.goto_prev)
-set("n", "]d", vim.diagnostic.goto_next)
-set("n", "<leader>u", vim.diagnostic.setloclist)
-
-set("n", "<leader>f", function()
- vim.cmd("Telescope")
-end)
-
-set("n", "<leader>p", function()
- vim.cmd("TroubleToggle")
-end)
-
-set("n", "<leader>z", function()
- vim.api.nvim_clear_autocmds({ group = "LspFormatting" })
-end)
diff --git a/users/seth/programs/neovim/config/plugins/general.lua b/users/seth/programs/neovim/config/plugins/general.lua
deleted file mode 100644
index f9a0c2c..0000000
--- a/users/seth/programs/neovim/config/plugins/general.lua
+++ /dev/null
@@ -1,107 +0,0 @@
----- catppuccin
-local compile_path = vim.fn.stdpath("cache") .. "/catppuccin-nvim"
-vim.fn.mkdir(compile_path, "p")
-vim.opt.runtimepath:append(compile_path)
-
-require("catppuccin").setup({
- compile_path = compile_path,
- flavour = "mocha", -- mocha, macchiato, frappe, latte
- integrations = {
- cmp = true,
- flash = true,
- gitsigns = true,
- native_lsp = {
- enabled = true,
- },
- neotree = true,
- treesitter_context = true,
- treesitter = true,
- telescope = true,
- lsp_trouble = true,
- },
- no_italic = true,
-})
-vim.api.nvim_command("colorscheme catppuccin")
-
----- bufferline
-require("bufferline").setup({
- options = {
- always_show_bufferline = false,
- highlights = require("catppuccin.groups.integrations.bufferline").get(),
- diagnostics = "nvim_lsp",
- mode = "buffers",
- numbers = "ordinal",
- separator_style = "slant",
- offsets = {
- {
- filetype = "neo-tree",
- text = "neo-tree",
- highlight = "Directory",
- text_align = "left",
- },
- },
- },
-})
-
----- gitsigns
-require("gitsigns").setup()
-
----- indent-blankline.nvim
-require("indent_blankline").setup({
- filetype_exclude = {
- "help",
- "neo-tree",
- "Trouble",
- "lazy",
- "mason",
- "notify",
- "toggleterm",
- },
- show_trailing_blankline_indent = false,
- show_current_context = false,
-})
-
----- lualine
-require("lualine").setup({
- options = {
- theme = "catppuccin",
- },
- extensions = { "neo-tree", "trouble" },
-})
-
----- mini.nvim
-require("mini.pairs").setup({})
-require("mini.indentscope").setup({
- options = { try_as_border = true },
-})
-
-vim.api.nvim_create_autocmd("FileType", {
- pattern = {
- "help",
- "neo-tree",
- "Trouble",
- "lazy",
- "mason",
- "notify",
- "toggleterm",
- },
- callback = function()
- vim.b.miniindentscope_disable = true
- end,
-})
-
----- nvim-tree
-require("neo-tree").setup({
- sources = { "filesystem", "buffers", "git_status", "document_symbols" },
- open_files_do_not_replace_types = { "terminal", "Trouble", "qf", "Outline" },
- filesystem = {
- bind_to_cwd = false,
- follow_current_file = { enabled = true },
- use_libuv_file_watcher = true,
- },
-})
-
----- which-key
-require("which-key").setup({
- plugins = { spelling = true },
-})
diff --git a/users/seth/programs/neovim/config/plugins/init.lua b/users/seth/programs/neovim/config/plugins/init.lua
deleted file mode 100644
index 95883c7..0000000
--- a/users/seth/programs/neovim/config/plugins/init.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-require("getchoo.plugins.general")
-require("getchoo.plugins.lsp")
-require("getchoo.plugins.ui")
diff --git a/users/seth/programs/neovim/config/plugins/lsp.lua b/users/seth/programs/neovim/config/plugins/lsp.lua
deleted file mode 100644
index e776ed4..0000000
--- a/users/seth/programs/neovim/config/plugins/lsp.lua
+++ /dev/null
@@ -1,170 +0,0 @@
----- cmp
-local cmp = require("cmp")
-local luasnip = require("luasnip")
-local mapping = cmp.mapping
-
-require("cmp").setup({
- completion = {
- completeopt = "menu,menuone,noinsert",
- },
-
- snippet = {
- expand = function(args)
- luasnip.lsp_expand(args.body)
- end,
- },
-
- mapping = mapping.preset.insert({
- ["<C-n>"] = mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
- ["<C-p>"] = mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
- ["<C-b>"] = mapping.scroll_docs(-4),
- ["<C-f>"] = mapping.scroll_docs(4),
- ["<C-Space>"] = mapping.complete(),
- ["<C-e>"] = mapping.abort(),
- ["<CR>"] = mapping.confirm({ select = true }),
- ["<S-CR>"] = mapping.confirm({
- behavior = cmp.ConfirmBehavior.Replace,
- select = true,
- }),
- }),
-
- sources = cmp.config.sources({
- { name = "nvim_lsp" },
- { name = "luasnip" },
- { name = "async_path" },
- { name = "buffer" },
- }),
-})
-
----- gitsigns
-require("gitsigns").setup()
-
----- fidget
-require("fidget").setup()
-
----- lsp sources
-local null_ls = require("null-ls")
-local diagnostics = null_ls.builtins.diagnostics
-local formatting = null_ls.builtins.formatting
-
-local sources = {
- lsp_servers = {
- ["bashls"] = "bash-language-server",
- ["clangd"] = "clangd",
- ["eslint"] = "eslint",
- ["nil_ls"] = "nil",
- ["pyright"] = "pyright-langserver",
- ["rust_analyzer"] = "rust-analyzer",
- ["tsserver"] = "typescript-language-server",
- },
- null_ls = {
- diagnostics.actionlint,
- diagnostics.alex,
- diagnostics.codespell,
- diagnostics.deadnix,
- diagnostics.pylint,
- diagnostics.shellcheck,
- diagnostics.statix,
- formatting.alejandra,
- formatting.beautysh,
- formatting.codespell,
- formatting.just,
- formatting.nimpretty,
- formatting.prettier,
- formatting.rustfmt,
- formatting.shellharden,
- formatting.stylua,
- formatting.yapf,
- },
-}
-
---- lsp config
-local capabilities = vim.tbl_deep_extend(
- "force",
- require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
- { workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } }
-)
-
-local all_config = {
- capabilities = capabilities,
-}
-
-local servers = {}
-for server, binary in pairs(sources.lsp_servers) do
- if vim.fn.executable(binary) == 1 then
- servers[server] = all_config
- end
-end
-
-servers["lua_ls"] = {
- capabilities = capabilities,
- settings = {
- Lua = {
- runtime = {
- version = "LuaJIT",
- },
- diagnostics = {
- globals = { "vim" },
- },
- workspace = {
- library = vim.api.nvim_get_runtime_file("", true),
- },
- },
- },
-}
-
-for server, settings in pairs(servers) do
- require("lspconfig")[server].setup(settings)
-end
-
----- null-ls
--- auto-format
-local lsp_formatting = function(bufnr)
- vim.lsp.buf.format({
- filter = function(client)
- return client.name == "null-ls"
- end,
- bufnr = bufnr,
- })
-end
-
-local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
-local formatting_on_attach = function(client, bufnr)
- if client.supports_method("textDocument/formatting") then
- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
- vim.api.nvim_create_autocmd("BufWritePre", {
- group = augroup,
- buffer = bufnr,
- callback = function()
- lsp_formatting(bufnr)
- end,
- })
- end
-end
-
-require("mini.comment").setup({
- options = {
- custom_commentstring = function()
- return require("ts_context_commentstring.internal").calculate_commentstring()
- or vim.bo.context_commentstring
- end,
- },
-})
-
-require("null-ls").setup({
- on_attach = formatting_on_attach,
- sources = sources.null_ls,
-})
-
-require("nvim-treesitter.configs").setup({
- auto_install = false,
- highlight = { enable = true },
- indent = { enable = true },
- context_commentstring = {
- enable = true,
- enable_autocmd = false,
- },
-})
-
----- trouble
-require("trouble").setup()
diff --git a/users/seth/programs/neovim/config/plugins/ui.lua b/users/seth/programs/neovim/config/plugins/ui.lua
deleted file mode 100644
index 3a0cc2e..0000000
--- a/users/seth/programs/neovim/config/plugins/ui.lua
+++ /dev/null
@@ -1,40 +0,0 @@
-require("dressing")
-
-vim.notify = require("notify")
-
-vim.ui.select = function(...)
- return vim.ui.select(...)
-end
-
-vim.ui.input = function(...)
- return vim.ui.input(...)
-end
-
-require("noice").setup({
- lsp = {
- override = {
- ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
- ["vim.lsp.util.stylize_markdown"] = true,
- ["cmp.entry.get_documentation"] = true,
- },
- },
- routes = {
- {
- filter = {
- event = "msg_show",
- any = {
- { find = "%d+L, %d+B" },
- { find = "; after #%d+" },
- { find = "; before #%d+" },
- },
- },
- view = "mini",
- },
- },
- presets = {
- bottom_search = true,
- command_palette = true,
- long_message_to_split = true,
- inc_rename = true,
- },
-})
diff --git a/users/seth/programs/neovim/default.nix b/users/seth/programs/neovim/default.nix
deleted file mode 100644
index 2a186ac..0000000
--- a/users/seth/programs/neovim/default.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- 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; [
- # general
- catppuccin-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=";
- };
- }))
-
- flash-nvim
- gitsigns-nvim
- indent-blankline-nvim
- lualine-nvim
- neo-tree-nvim
- nvim-web-devicons
- mini-nvim
-
- # completion
- nvim-cmp
- cmp-nvim-lsp
- cmp-buffer
- cmp_luasnip
- cmp-async-path
- luasnip
-
- # ui
- dressing-nvim
- noice-nvim
- nui-nvim
- nvim-notify
-
- # lsp
- nvim-lspconfig
- null-ls-nvim
- pkgs.vim-just
-
- ## utils
- bufferline-nvim
- plenary-nvim
- telescope-nvim
- trouble-nvim
- which-key-nvim
-
- # treesitter
- nvim-treesitter.withAllGrammars
- nvim-ts-context-commentstring
- ];
- extraLuaConfig = ''
- require("getchoo")
- '';
- };
-
- xdg.configFile."nvim/lua/getchoo" = {
- source = ./config;
- recursive = true;
- };
- };
-}
diff --git a/users/seth/programs/ssh.nix b/users/seth/programs/ssh.nix
deleted file mode 100644
index 080a60e..0000000
--- a/users/seth/programs/ssh.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.getchoo.programs.ssh;
- inherit (lib) mkEnableOption mkIf;
-in {
- options.getchoo.programs.ssh.enable = mkEnableOption "ssh" // {default = true;};
-
- config = mkIf cfg.enable {
- programs.ssh = {
- enable = true;
- package = pkgs.openssh;
-
- matchBlocks = let
- sshDir = "${config.home.homeDirectory}/.ssh";
- in {
- # git forges
- "codeberg.org" = {
- identityFile = "${sshDir}/codeberg";
- user = "git";
- };
-
- # linux packaging
- "aur.archlinux.org" = {
- identityFile = "${sshDir}/aur";
- user = "aur";
- };
-
- "pagure.io" = {
- identityFile = "${sshDir}/copr";
- user = "git";
- };
-
- # router
- "192.168.1.1" = {
- identityFile = "${sshDir}/openwrt";
- user = "root";
- };
-
- # servers
- "atlas".user = "atlas";
- };
- };
-
- services.ssh-agent.enable = pkgs.stdenv.isLinux;
- };
-}
diff --git a/users/seth/programs/vim.nix b/users/seth/programs/vim.nix
deleted file mode 100644
index 0f81cfb..0000000
--- a/users/seth/programs/vim.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- 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
-
- 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
- '';
- };
- };
-}
diff --git a/users/seth/shell/bash.nix b/users/seth/shell/bash.nix
deleted file mode 100644
index f9a1afa..0000000
--- a/users/seth/shell/bash.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{config, ...}: {
- programs.bash = {
- enable = true;
- bashrcExtra = ''
- nixfile=${config.home.homeDirectory}/.nix-profile/etc/profile.d/nix.sh
- [ -e "$nixfile" ] && source "$nixfile"
- '';
- historyFile = "${config.xdg.stateHome}/bash/history";
- historyFileSize = 1000;
- historySize = 100;
- shellOptions = [
- "cdspell"
- "checkjobs"
- "checkwinsize"
- "dirspell"
- "globstar"
- "histappend"
- "no_empty_cmd_completion"
- ];
- };
-}
diff --git a/users/seth/shell/default.nix b/users/seth/shell/default.nix
deleted file mode 100644
index 5f7e24c..0000000
--- a/users/seth/shell/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- config,
- pkgs,
- ...
-}: let
- inherit (builtins) fromTOML readFile;
- inherit (pkgs) fetchFromGitHub;
-in {
- imports = [
- ./bash.nix
- ./fish.nix
- ];
-
- programs = {
- bat = {
- enable = true;
- config = {
- theme = "catppuccin";
- };
- themes = {
- catppuccin = readFile (fetchFromGitHub {
- owner = "catppuccin";
- repo = "bat";
- rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
- sha256 = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
- }
- + "/Catppuccin-mocha.tmTheme");
- };
- };
-
- eza = {
- enable = true;
- enableAliases = true;
- icons = true;
- };
-
- starship = {
- enable = true;
- enableBashIntegration = false;
- enableZshIntegration = false;
- settings =
- {
- format = "$all";
- palette = "catppuccin_mocha";
- command_timeout = 50;
- }
- // fromTOML (readFile ./starship.toml)
- // fromTOML (readFile
- (fetchFromGitHub
- {
- owner = "catppuccin";
- repo = "starship";
- rev = "3e3e54410c3189053f4da7a7043261361a1ed1bc";
- sha256 = "sha256-soEBVlq3ULeiZFAdQYMRFuswIIhI9bclIU8WXjxd7oY=";
- }
- + "/palettes/mocha.toml"));
- };
- };
-
- home = {
- sessionVariables = let
- inherit (config.xdg) configHome dataHome stateHome;
- in {
- EDITOR = "nvim";
- VISUAL = "$EDITOR";
- GPG_TTY = "$(tty)";
- CARGO_HOME = "${dataHome}/cargo";
- RUSTUP_HOME = "${dataHome}/rustup";
- LESSHISTFILE = "${stateHome}/less/history";
- NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc";
- };
-
- shellAliases = {
- diff = "diff --color=auto";
- g = "git";
- gs = "g status";
- };
- };
-}
diff --git a/users/seth/shell/fish.nix b/users/seth/shell/fish.nix
deleted file mode 100644
index 7488b40..0000000
--- a/users/seth/shell/fish.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- config,
- pkgs,
- ...
-}: {
- xdg.configFile."fish/themes" = {
- recursive = true;
- source =
- pkgs.fetchFromGitHub
- {
- owner = "catppuccin";
- repo = "fish";
- rev = "b90966686068b5ebc9f80e5b90fdf8c02ee7a0ba";
- sha256 = "sha256-wQlYQyqklU/79K2OXRZXg5LvuIugK7vhHgpahpLFaOw=";
- }
- + "/themes";
- };
-
- programs.fish = {
- enable = true;
-
- interactiveShellInit = ''
- set -l nixfile ${config.home.homeDirectory}/.nix-profile/etc/profile.d/nix.fish
- if test -e $nixfile
- source $nixfile
- end
-
- fish_config theme choose "Catppuccin Mocha"
- nix-your-shell fish | source
-
- abbr -a !! --position anywhere --function last_history_item
- '';
-
- functions = {
- last_history_item.body = "echo $history[1]";
- };
-
- shellAbbrs = {
- nixgc = "sudo nix-collect-garbage -d && nix-collect-garbage -d";
- };
-
- plugins = let
- mkFishPlugins = builtins.map (plugin: {
- name = plugin;
- inherit (pkgs.fishPlugins.${plugin}) src;
- });
- in
- mkFishPlugins [
- "autopair"
- ];
- };
-}
diff --git a/users/seth/shell/starship.toml b/users/seth/shell/starship.toml
deleted file mode 100644
index 94a2922..0000000
--- a/users/seth/shell/starship.toml
+++ /dev/null
@@ -1,220 +0,0 @@
-[aws]
-symbol = " "
-
-[bun]
-format = "via [$symbol]($style)"
-
-[buf]
-format = "via [$symbol]($style)"
-symbol = " "
-
-[c]
-symbol = " "
-
-[cmake]
-format = "via [$symbol]($style)"
-
-[cobol]
-format = "via [$symbol]($style)"
-
-[conda]
-symbol = " "
-
-[crystal]
-format = "via [$symbol]($style)"
-
-[daml]
-format = "via [$symbol]($style)"
-
-[dart]
-format = "via [$symbol]($style)"
-symbol = " "
-
-[directory]
-read_only = " "
-
-[deno]
-format = "via [$symbol]($style)"
-
-[docker_context]
-symbol = " "
-
-[dotnet]
-format = "[$symbol(🎯 $tfm )]($style)"
-
-[elixir]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[elm]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[erlang]
-format = 'via [$symbol]($style)'
-
-[fennel]
-format = 'via [$symbol]($style)'
-
-[fossil_branch]
-symbol = " "
-
-[git_branch]
-symbol = " "
-
-[golang]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[gradle]
-format = 'via [$symbol]($style)'
-
-[guix_shell]
-symbol = " "
-
-[haskell]
-symbol = " "
-
-[haxe]
-format = 'via [$symbol]($style)'
-symbol = "⌘ "
-
-[helm]
-format = 'via [$symbol]($style)'
-
-[hg_branch]
-symbol = " "
-
-[java]
-symbol = " "
-
-[julia]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[kotlin]
-format = 'via [$symbol]($style)'
-
-[lua]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[memory_usage]
-symbol = " "
-
-[meson]
-format = 'via [$symbol]($style)'
-symbol = "喝 "
-
-[nim]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[nix_shell]
-symbol = " "
-
-[nodejs]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[ocaml]
-format = 'via [$symbol(\($switch_indicator$switch_name\) )]($style)'
-
-[opa]
-format = 'via [$symbol]($style)'
-
-[os.symbols]
-Alpine = " "
-Amazon = " "
-Android = " "
-Arch = " "
-CentOS = " "
-Debian = " "
-DragonFly = " "
-Emscripten = " "
-EndeavourOS = " "
-Fedora = " "
-FreeBSD = " "
-Garuda = "﯑ "
-Gentoo = " "
-HardenedBSD = "ﲊ "
-Illumos = " "
-Linux = " "
-Macos = " "
-Manjaro = " "
-Mariner = " "
-MidnightBSD = " "
-Mint = " "
-NetBSD = " "
-NixOS = " "
-OpenBSD = " "
-openSUSE = " "
-OracleLinux = " "
-Pop = " "
-Raspbian = " "
-Redhat = " "
-RedHatEnterprise = " "
-Redox = " "
-Solus = "ﴱ "
-SUSE = " "
-Ubuntu = " "
-Unknown = " "
-Windows = " "
-
-[package]
-symbol = " "
-
-[perl]
-format = 'via [$symbol]($style)'
-
-[php]
-format = 'via [$symbol]($style)'
-
-[pijul_channel]
-symbol = "🪺 "
-
-[pulumi]
-format = 'via [$symbol$stack]($style)'
-
-[purescript]
-format = 'via [$symbol]($style)'
-
-[python]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[raku]
-format = 'via [$symbol]($style)'
-
-[red]
-format = 'via [$symbol]($style)'
-
-[rlang]
-format = 'via [$symbol]($style)'
-symbol = "ﳒ "
-
-[ruby]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[rust]
-format = 'via [$symbol]($style)'
-symbol = " "
-
-[scala]
-symbol = " "
-
-[spack]
-symbol = "🅢 "
-
-[swift]
-format = 'via [$symbol]($style)'
-
-[vagrant]
-format = 'via [$symbol]($style)'
-
-[vlang]
-format = 'via [$symbol]($style)'
-
-[zig]
-format = 'via [$symbol]($style)'
diff --git a/users/seth/shell/zsh.nix b/users/seth/shell/zsh.nix
deleted file mode 100644
index 23d5813..0000000
--- a/users/seth/shell/zsh.nix
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- config,
- pkgs,
- ...
-}: {
- programs.zsh = {
- enable = true;
- enableAutosuggestions = true;
-
- completionInit = ''
- autoload -Uz bashcompinit compinit
- local zdump="${config.xdg.cacheHome}/zsh/zdump"
- bashcompinit
- compinit -d "$zdump"
- if [[ ! "$zdump.zwc" -nt "$zdump" ]]
- then
- zcompile "$zdump"
- fi
- unset zdump
- '';
-
- defaultKeymap = "emacs";
- dotDir = ".config/zsh";
-
- initExtra = ''
- if [[ -r "$XDG_CACHE_HOME/p10k-instant-prompt-*.zsh" ]]; then
- source "$XDG_CACHE_HOME/p10k-instant-prompt-*.zsh"
- fi
- autoload -Uz promptinit colors
- promptinit
- colors
-
- nix-your-shell zsh | source /dev/stdin
-
- zmodload zsh/zutil
- zmodload zsh/complist
- zstyle ":completion::*" group-name ""
- zstyle ":completion:*" menu "select"
- zstyle ":completion:*" squeeze-slashes "true"
- zstyle ":completion::*" use-cache "true"
- zstyle ":completion::*" cache-path "$zdump"
-
- unsetopt beep
- unsetopt hist_beep
- unsetopt ignore_braces
- unsetopt list_beep
- setopt always_to_end
- setopt prompt_subst
- setopt share_history
-
- # clear backbuffer with ctrl-l
- function clear-screen-and-scrollback() {
- echoti civis >"$TTY"
- printf '%b' '\e[H\e[2J' >"$TTY"
- zle .reset-prompt
- zle -R
- printf '%b' '\e[3J' >"$TTY"
- echoti cnorm >"$TTY"
- }
-
- zle -N clear-screen-and-scrollback
- bindkey '^L' clear-screen-and-scrollback
-
- [[ ! -f ~/.config/zsh/.p10k.zsh ]] || source ~/.config/zsh/.p10k.zsh
- '';
-
- history = {
- expireDuplicatesFirst = true;
- path = "${config.xdg.stateHome}/zsh/zsh_history";
- save = 1000;
- size = 100;
- };
-
- plugins = [
- {
- name = "cattppuccin-zsh-syntax-highlighting";
- src = pkgs.fetchFromGitHub {
- owner = "catppuccin";
- repo = "zsh-syntax-highlighting";
- rev = "06d519c20798f0ebe275fc3a8101841faaeee8ea";
- sha256 = "sha256-Q7KmwUd9fblprL55W0Sf4g7lRcemnhjh4/v+TacJSfo=";
- };
-
- file = "themes/catppuccin_mocha-zsh-syntax-highlighting.zsh";
- }
-
- {
- name = "nix-zsh-completions";
- src = pkgs.nix-zsh-completions;
- file = "share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh";
- }
-
- {
- name = "powerlevel10k";
- src = pkgs.zsh-powerlevel10k;
- file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
- }
-
- {
- name = "zsh-autopair";
- src = pkgs.zsh-autopair;
- file = "share/zsh/zsh-autopair/autopair.zsh";
- }
-
- {
- name = "zsh-completions";
- src = pkgs.zsh-completions;
- file = "share/zsh-completions/zsh-completions.plugin.zsh";
- }
- ];
-
- enableSyntaxHighlighting = true;
- };
-}