diff --git a/configuration.pc.nix b/configuration.pc.nix index 212befe..f2466c4 100644 --- a/configuration.pc.nix +++ b/configuration.pc.nix @@ -62,28 +62,28 @@ # Emacs bindings (Dvorak physical positions) # Use Alt-Backspace for delete-word (works everywhere natively) - # control = { - # # a = "home"; # C-a → Home - # d = "end"; # C-e → End (dvorak 'e' = qwerty 'd') - # r = "up"; # C-p → Up (dvorak 'p' = qwerty 'r') - # l = "down"; # C-n → Down (dvorak 'n' = qwerty 'l') - # j = "backspace"; # C-h → Backspace (dvorak 'h' = qwerty 'j') - # m = "enter"; # C-m → Enter - # }; + control = { + a = "home"; # C-a → Home + d = "end"; # C-e → End (dvorak 'e' = qwerty 'd') + r = "up"; # C-p → Up (dvorak 'p' = qwerty 'r') + l = "down"; # C-n → Down (dvorak 'n' = qwerty 'l') + j = "backspace"; # C-h → Backspace (dvorak 'h' = qwerty 'j') + m = "enter"; # C-m → Enter + }; - # # macOS-style Super/Cmd shortcuts (Dvorak physical positions) - # meta = { - # # a = "C-a"; # Cmd+a → select all - # i = "C-i"; # Cmd+c → copy (dvorak 'c' = qwerty 'i') - # k = "C-k"; # Cmd+t → new tab (dvorak 't' = qwerty 'k') - # l = "C-l"; # Cmd+n → new window (dvorak 'n' = qwerty 'l') - # comma = "C-comma"; # Cmd+w → close tab (dvorak 'w' = qwerty ',') - # period = "C-period"; # Cmd+v → paste (dvorak 'v' = qwerty '.') - # semicolon = "C-semicolon"; # Cmd+s → save (dvorak 's' = qwerty ';') - # slash = "C-slash"; # Cmd+z → undo (dvorak 'z' = qwerty '/') - # x = "C-x"; # Cmd+q → quit (dvorak 'q' = qwerty 'x') - # b = "C-b"; # Cmd+x → cut (dvorak 'x' = qwerty 'b') - # }; + # macOS-style Super/Cmd shortcuts (Dvorak physical positions) + meta = { + a = "C-a"; # Cmd+a → select all + i = "C-i"; # Cmd+c → copy (dvorak 'c' = qwerty 'i') + k = "C-k"; # Cmd+t → new tab (dvorak 't' = qwerty 'k') + l = "C-l"; # Cmd+n → new window (dvorak 'n' = qwerty 'l') + comma = "C-comma"; # Cmd+w → close tab (dvorak 'w' = qwerty ',') + period = "C-period"; # Cmd+v → paste (dvorak 'v' = qwerty '.') + semicolon = "C-semicolon"; # Cmd+s → save (dvorak 's' = qwerty ';') + slash = "C-slash"; # Cmd+z → undo (dvorak 'z' = qwerty '/') + x = "C-x"; # Cmd+q → quit (dvorak 'q' = qwerty 'x') + b = "C-b"; # Cmd+x → cut (dvorak 'x' = qwerty 'b') + }; }; }; }; @@ -134,23 +134,23 @@ description = "Dustin Swan"; extraGroups = [ "networkmanager" "wheel" ]; shell = pkgs.fish; - # packages = with pkgs; [ ]; + packages = with pkgs; [ + # thunderbird + ]; }; programs.fish.enable = true; programs.steam.enable = true; - # programs.xwayland.enable = true; - # programs.hyprland.enable = true; - # programs.niri.enable = true; - # programs.dms-shell.enable = true; # Allow unfree packages nixpkgs.config.allowUnfree = true; - # List packages installed in system profile + # List packages installed in system profile. To search, run: + # $ nix search wget environment.systemPackages = with pkgs; [ - vim - git + vim + git + # wget ]; # Some programs need SUID wrappers, can be configured further or are @@ -170,12 +170,21 @@ networking.firewall.allowedTCPPorts = [ 24800 # Deskflow 24801 # Deskflow + # 47984 # Sunshine + # 47989 # Sunshine + # 47990 # Sunshine + # 48010 # Sunshine 53317 # LocalSend ]; networking.firewall.allowedUDPPorts = [ 24800 # Deskflow 24801 # Deskflow + # 47998 # Sunshine + # 47999 # Sunshine + # 48000 # Sunshine + # 48002 # Sunshine + # 48010 # Sunshine 53317 # LocalSend ]; # Or disable the firewall altogether. diff --git a/hardware-configuration.pc.nix b/hardware-configuration.pc.nix deleted file mode 100644 index 8d7137e..0000000 --- a/hardware-configuration.pc.nix +++ /dev/null @@ -1,54 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - # Trying to get suspend working.. - # boot.kernelParams = [ "processor.max_cstate=1" ]; - boot.kernelParams = [ - # "mem_sleep_default=deep" # forces S3 suspend instead of s2idle - # "processor.max_cstate=5" # prevents CPU from going into deep C-states that break resume - # "amd_iommu=off" # optional, can help on some ASUS boards - "btusb.enable_autosuspend=0" - "usbcore.autosuspend=-1" - "btmtk.disable_sco_esco=Y" - ]; - boot.kernelModules = [ "kvm-amd" "btusb" "btmtk" ]; - - fileSystems."/" = - { device = "/dev/mapper/luks-78910c3e-3aec-4122-af7b-8a6e55005f1b"; - fsType = "ext4"; - }; - - boot.initrd.luks.devices."luks-78910c3e-3aec-4122-af7b-8a6e55005f1b".device = "/dev/disk/by-uuid/78910c3e-3aec-4122-af7b-8a6e55005f1b"; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/B0C0-690A"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = [ ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - - # Trying to get Bluetooth working.. - boot.kernelPackages = pkgs.linuxPackages_latest; - hardware.enableRedistributableFirmware = true; - hardware.firmware = with pkgs; [ - linux-firmware - ]; - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - # services.blueman.enable = true; -} diff --git a/home-cli.nix b/home-cli.nix index 48a4288..27d0ec7 100644 --- a/home-cli.nix +++ b/home-cli.nix @@ -16,6 +16,7 @@ in }; imports = [ + nixvim.homeModules.nixvim ./home-nvim.nix ]; @@ -31,14 +32,14 @@ in poppler-utils # pdftotext xan # e.g. xan slice 3,2 file.csv | xan behead | xan view -An; see also: csvi doxx # read docx files - sqlit-tui # see also: pam; harlequin; lazysql; gobang; dblab + sqlit-tui # see also: harlequin; lazysql; gobang; dblab # snitch # see also: bandwhich epy # ebook reader. see also: erp; bookokrat; lue # mimic # tts engine, used by epy posting # see also: httpie, yapi, sled, Yaak (GUI), Bruno (GUI) croc magic-wormhole # transfer files # calcure # calendar cli app, can point to ics files or URL - dust duf dua # disk usage. see also: cull + dust duf dua # disk usage doggo # dig ddev ngrok @@ -88,6 +89,11 @@ in xdg.enable = true; + catppuccin = { + enable = true; + flavor = "mocha"; + zed.enable = false; + }; programs.home-manager.enable = true; @@ -111,29 +117,12 @@ in # open # highlight: o -> open; ctrl-o -> $EDITOR; S -> web search vim-tmux-navigator # ctrl-h, -j, -k, -l -> move between tmux and vim splits # extrakto # prefix tab -> fuzzy find text on screen; enter to copy; tab to paste - # fingers # prefix F -> copy/open/edit items on screen by letter + fingers # prefix F -> copy/open/edit items on screen by letter ]; # Remove that SHELL thing when fixed upstream extraConfig = '' set -ag terminal-overrides ",xterm-256color:RGB" set -g default-command "$SHELL" - - # Status bar - inherits terminal fg/bg so it follows light/dark mode - set -g status-style "bg=default,fg=default" - set -g status-justify centre - set -g status-left "" - set -g status-right "" - set -g window-status-format " #I " - set -g window-status-current-format " #I " - set -g window-status-current-style "bold,reverse" - set -g window-status-style "dim" - - # Pane borders - set -g pane-border-style "fg=brightblack" - set -g pane-active-border-style "fg=white" - - # Messages - set -g message-style "bg=default,fg=default,bold" ''; }; @@ -170,10 +159,7 @@ in programs.nix-search-tv.enable = true; # programs.fzf.enable = true; # used by other apps, tmux, etc. programs.zoxide.enable = true; - programs.bat = { - enable = true; - config.theme = "ansi"; - }; + programs.bat.enable = true; programs.ripgrep.enable = true; programs.ripgrep-all.enable = true; programs.yazi.enable = true; @@ -259,13 +245,6 @@ in programs.gpg.enable = true; - programs.password-store = { - enable = true; - settings = { - PASSWORD_STORE_DIR = "$HOME/.password-store"; - }; - }; - programs.keychain = { enable = true; keys = [ "id_rsa" "id_rsa_mr" "2B3A6377" ]; diff --git a/home-gui.nix b/home-gui.nix index 41e68ae..8eb44f3 100644 --- a/home-gui.nix +++ b/home-gui.nix @@ -7,8 +7,6 @@ localsend ]; - programs.sioyek.enable = true; - programs.halloy = { enable = true; settings = { @@ -26,40 +24,41 @@ programs.ghostty = { enable = true; installBatSyntax = false; + package = pkgs.ghostty-bin; settings = { font-family = "Iosevka NFM"; - font-size = 12; + font-size = 16; font-thicken = true; - theme = "dark:One Half Dark,light:One Half Light"; + # theme = "dark:catppuccin-mocha,light:catppuccin-latte"; # TODO: waiting on all cli apps to handle auto switching too + theme = "catppuccin-mocha"; background-opacity = 0.95; background-blur-radius = 15; window-padding-x = 12; window-padding-y = 8; window-padding-balance = true; macos-titlebar-style = "tabs"; - window-theme = "auto"; macos-option-as-alt = "left"; copy-on-select = "clipboard"; }; }; - # programs.zed-editor = { - # enable = true; - # userSettings = { - # vim_mode = true; - # theme = { - # mode = "system"; - # light = "Catppuccin Latte"; - # dark = "Catppuccin Frappé"; - # }; - # buffer_font_size = 16; - # buffer_font_family = "Iosevka Nerd Font Mono"; - # vim = { - # enable_vim_sneak = true; - # use_smartcase_find = true; - # }; - # format_on_save = "off"; - # }; - # }; + programs.zed-editor = { + enable = true; + userSettings = { + vim_mode = true; + theme = { + mode = "system"; + light = "Catppuccin Latte"; + dark = "Catppuccin Frappé"; + }; + buffer_font_size = 16; + buffer_font_family = "Iosevka Nerd Font Mono"; + vim = { + enable_vim_sneak = true; + use_smartcase_find = true; + }; + format_on_save = "off"; + }; + }; } diff --git a/home-linux.nix b/home-linux.nix index a7447ae..e6335ec 100644 --- a/home-linux.nix +++ b/home-linux.nix @@ -1,153 +1,38 @@ {pkgs, lib, ... }: -let - secrets = import ./secrets.nix; -in - { home.homeDirectory = "/home/dustinswan"; home.packages = with pkgs; [ # retroarch gimp blender brave - # ghostty + ghostty bitwarden-desktop nerd-fonts.iosevka high-tide tidal-hifi deskflow sunshine - # steam # added as a system package, so it actually works - # wl-clipboard # For Wayland clipboard (wl-copy, wl-paste) ]; - programs.gnome-shell = { - enable = true; - extensions = with pkgs.gnomeExtensions; [ - { package = caffeine; } - { package = vitals; } - { package = appindicator; } - { package = syncthing-indicator; } - { package = blur-my-shell; } - { package = media-controls; } - ]; - }; - - dconf.settings = { - # Custom keybinding for Vicinae - "org/gnome/settings-daemon/plugins/media-keys" = { - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" - ]; - }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { - name = "Vicinae"; - command = "vicinae toggle"; - binding = "space"; - }; - - # Extension settings - "org/gnome/shell/extensions/vitals" = { - show-gpu = true; - }; - "org/gnome/shell/extensions/caffeine" = { - show-indicator = "always"; - }; - "org/gnome/shell/extensions/blur-my-shell" = { - settings-version = 2; - }; - }; + # home.keyboard.options = [ "ctrl:nocaps" "compose:ralt" ]; programs.vicinae = { enable = true; - systemd = { - enable = true; - autoStart = true; - }; }; services.syncthing = { enable = true; - settings = { - devices = { - "Desktop" = { id = secrets.syncthing.desktop; }; - "Laptop" = { id = secrets.syncthing.laptop; }; - "Phone" = { id = secrets.syncthing.phone; }; - }; - folders = { - "Camera" = { - id = "sm-n950u-photos"; - path = "~/Camera"; - devices = [ "Laptop" "Phone" ]; - }; - "Sync" = { - path = "~/Sync"; - devices = [ "Laptop" "Phone" ]; - }; - "Passwords" = { - path = "~/.password-store"; - devices = [ "Laptop" ]; - }; - }; - }; }; services.gpg-agent = { enable = true; enableSshSupport = true; - defaultCacheTtl = 34560000; - maxCacheTtl = 34560000; - defaultCacheTtlSsh = 34560000; - maxCacheTtlSsh = 34560000; + defaultCacheTtl = 86400; + maxCacheTtl = 86400; + defaultCacheTtlSsh = 86400; + maxCacheTtlSsh = 86400; pinentry.package = pkgs.pinentry-all; }; - services.mbsync = { - enable = true; - frequency = "*:0/15"; # every 15 minutes - }; - - services.vdirsyncer = { - enable = true; - frequency = "*:0/15"; # every 15 minutes - }; - - # Niri config - imported from separate file - # xdg.configFile."niri/config.kdl".source = ./niri-config.kdl; - - # wayland.windowManager.hyprland = { - # enable = true; - # settings = { - # "$mod" = "ALT"; - # input = { - # kb_layout = "us"; - # kb_variant = "dvorak"; - # }; - # # general = { - # # gaps_in = 0; - # # gaps_out = 0; - # # border_size = 2; - # # "col.active_border" = "rgba(89b4faaa)"; # Example color - # # "col.inactive_border" = "rgba(303030aa)"; - # # }; - # # decoration = { - # # shadow_offset = "0 5"; - # # "col.shadow" = "rgba(00000099)"; - # # }; - # # bindm = [ # Mouse bindings - # # "$mod, mouse:272, movewindow" - # # "$mod, mouse:273, resizewindow" - # # ]; - # bind = [ # Keyboard bindings - # # "$mod, Q, killactive," - # # "$mod, M, exit," # Exit Hyprland - # # "$mod, E, exec, firefox" # Open Firefox - # "$mod, Enter, exec, ghostty" - # ]; - # exec-once = [ # Run once on startup - # "vicinae server &" - # ]; - # }; - # }; - imports = [ ./home-cli.nix ./home-gui.nix ./home-mail.nix ]; } diff --git a/home-mac.nix b/home-mac.nix index 751fe30..3529b84 100644 --- a/home-mac.nix +++ b/home-mac.nix @@ -8,51 +8,15 @@ terminal-notifier ]; - programs.ghostty.package = pkgs.ghostty-bin; - programs.ghostty.settings.font-size = 16; - home.file.gpg-agent = { target = ".gnupg/gpg-agent.conf"; text = '' pinentry-program ${pkgs.pinentry_mac}/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac - default-cache-ttl 34560000 - max-cache-ttl 34560000 + default-cache-ttl 86400 + max-cache-ttl 86400 ''; }; - services.imapnotify.enable = true; - - # Add PATH to imapnotify service so it can find pass - launchd.agents.imapnotify-FastMail.config.EnvironmentVariables = { - PATH = "${pkgs.pass}/bin:${pkgs.gnupg}/bin:/usr/bin:/bin"; - }; - - launchd.agents.mbsync = { - enable = true; - config = { - ProgramArguments = [ "${pkgs.isync}/bin/mbsync" "-a" ]; - StartInterval = 900; # every 15 minutes - StandardOutPath = "/tmp/mbsync.log"; - StandardErrorPath = "/tmp/mbsync.err"; - EnvironmentVariables = { - PATH = "${pkgs.pass}/bin:${pkgs.gnupg}/bin:/usr/bin:/bin"; - }; - }; - }; - - launchd.agents.vdirsyncer = { - enable = true; - config = { - ProgramArguments = [ "${pkgs.vdirsyncer}/bin/vdirsyncer" "sync" ]; - StartInterval = 900; # every 15 minutes - StandardOutPath = "/tmp/vdirsyncer.log"; - StandardErrorPath = "/tmp/vdirsyncer.err"; - EnvironmentVariables = { - PATH = "${pkgs.pass}/bin:${pkgs.gnupg}/bin:/usr/bin:/bin"; - }; - }; - }; - # https://codeberg.org/adamcstephens/dotfiles/src/commit/e14f35f6e9a9cb9174016948c512c0db364e0dec/apps/fish/init.fish programs.fish.shellInit = '' fenv source "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" diff --git a/home-mail.nix b/home-mail.nix index 398bb96..24ce671 100644 --- a/home-mail.nix +++ b/home-mail.nix @@ -1,52 +1,13 @@ -{ pkgs, lib, ... }: - -let - # Cross-platform opener command - openCmd = if pkgs.stdenv.isDarwin then "open" else "${pkgs.xdg-utils}/bin/xdg-open"; -in +{ ... }: { programs.mbsync.enable = true; programs.msmtp.enable = true; programs.himalaya.enable = true; programs.vdirsyncer.enable = true; - programs.khard.enable = true; - programs.notmuch = { - enable = true; - new = { - tags = [ "new" ]; - }; - hooks = { - preNew = "mbsync -a"; - }; - }; - - accounts.email.accounts.FastMail.notmuch.enable = true; programs.aerc = { enable = true; - extraConfig = { - general.unsafe-accounts-conf = true; - ui = { - mouse-enabled = true; - threading-enabled = true; - }; - compose = { - address-book-cmd = "khard email --parsable '%s'"; - }; - # viewer = { - # alternatives = "text/html,text/plain"; - # }; - filters = { - "text/plain" = "cat"; - "text/html" = "${pkgs.w3m}/bin/w3m -T text/html -cols $(tput cols) -dump -o display_image=false -o display_link_number=true"; - }; - openers = { - "text/html" = "${openCmd}"; - "text/plain" = "less -R"; - "application/pdf" = "${openCmd}"; - "image/*" = "${openCmd}"; - }; - }; + extraConfig.general.unsafe-accounts-conf = true; }; accounts.email = { @@ -71,31 +32,22 @@ in signByDefault = true; key = "AD11750151C10881970BD943AB49BD6B2B3A6377"; }; - passwordCommand = "pass show email/fastmail"; + passwordCommand = "gpg -dq ${builtins.getEnv "HOME"}/.dustinswan@fastmail.com-password.gpg"; mbsync = { enable = true; create = "maildir"; expunge = "maildir"; }; - imapnotify = { - enable = true; - boxes = [ "INBOX" ]; - onNotify = "${pkgs.isync}/bin/mbsync FastMail:INBOX"; - onNotifyPost = let - notifyCmd = if pkgs.stdenv.isDarwin - then "${pkgs.terminal-notifier}/bin/terminal-notifier -title 'New Mail' -message 'FastMail INBOX' -sound default" - else "${pkgs.libnotify}/bin/notify-send 'New Mail' 'FastMail INBOX'"; - in notifyCmd; - }; msmtp.enable = true; aerc.enable = true; himalaya = { enable = true; settings = { - backend = { - type = "maildir"; - root-dir = "${builtins.getEnv "HOME"}/Mail/FastMail"; - }; + # backend = "imap"; + # maildir.root-dir = "/Users/dustinswan/Mail/FastMail"; + # message.send.backend = "smtp"; + # sent-folder = "Sent"; + # draft-folder = "Drafts"; }; }; signature = { @@ -117,33 +69,13 @@ in }; primary = true; remote = { - passwordCommand = ["pass" "show" "email/fastmail"]; + passwordCommand = ["~/dotfiles/bin/decrypt-password" "dustinswan@fastmail.com"]; type = "caldav"; url = "https://caldav.fastmail.com/dav/"; userName = "dustinswan@fastmail.com"; }; vdirsyncer = { enable = true; - collections = ["from a" "from b"]; - }; - }; - }; - }; - - accounts.contact = { - basePath = "Contacts"; - accounts = { - FastMail = { - khard.enable = true; - remote = { - passwordCommand = ["pass" "show" "email/fastmail"]; - type = "carddav"; - url = "https://carddav.fastmail.com/dav/"; - userName = "dustinswan@fastmail.com"; - }; - vdirsyncer = { - enable = true; - collections = ["from a" "from b"]; }; }; }; diff --git a/home-nvim.nix b/home-nvim.nix index ebc3284..bb0efd7 100644 --- a/home-nvim.nix +++ b/home-nvim.nix @@ -8,6 +8,10 @@ withNodeJs = true; withRuby = true; + colorschemes.catppuccin.enable = true; + colorschemes.catppuccin.settings.transparent_background = true; + colorschemes.catppuccin.settings.flavour = "auto"; + opts = { number = true; ignorecase = true; @@ -27,25 +31,14 @@ maplocalleader = " "; }; - autoCmd = [ - { - event = [ "BufRead" "BufNewFile" ]; - pattern = [ "*.cg" ]; - command = "setlocal tabstop=2 shiftwidth=2"; - } - ]; - keymaps = [ { key = "e"; action = "Neotree toggle"; } { key = "f"; action = "Tv files"; } { key = "/"; action = "Tv text"; } { key = "bd"; action = "bdelete"; } { key = "nd"; action = "NoiceDismiss"; } - { key = "xx"; action = "Trouble diagnostics toggle"; } { key = ""; action = "bnext"; } { key = ""; action = "bprev"; } - { key = "s"; mode = [ "n" "x" "o" ]; action.__raw = "function() require('flash').jump() end"; options.desc = "Flash"; } - { key = "S"; mode = [ "n" "x" "o" ]; action.__raw = "function() require('flash').treesitter() end"; options.desc = "Flash Treesitter"; } ]; plugins = { @@ -54,19 +47,11 @@ cmp = { enable = true; autoEnableSources = true; - settings = { - sources = [ - { name = "nvim_lsp"; } - { name = "path"; } - { name = "buffer"; } - ]; - mapping = { - "" = "cmp.mapping.select_next_item()"; - "" = "cmp.mapping.select_prev_item()"; - "" = "cmp.mapping.confirm({ select = false })"; - "" = "cmp.mapping.abort()"; - }; - }; + settings.sources = [ + { name = "nvim_lsp"; } + { name = "path"; } + { name = "buffer"; } + ]; }; cmp-nvim-lsp.enable = true; cmp-buffer.enable = true; @@ -84,11 +69,7 @@ csvview.enable = true; dashboard.enable = true; emmet.enable = true; - flash = { - enable = true; - settings.jump.autojump = true; - # settings.modes.search.enabled = true; - }; + flash.enable = true; gitsigns.enable = true; lazygit.enable = true; lint.enable = true; @@ -119,7 +100,7 @@ }; # lsp-format.enable = true; lsp-lines.enable = true; - # markview.enable = true; + markview.enable = true; neo-tree.enable = true; notify.enable = true; nix.enable = true; @@ -140,7 +121,6 @@ settings = { highlight = true; trim_on_write = false; - ft_blocklist = [ "dashboard" ]; }; }; trouble.enable = true; @@ -149,5 +129,20 @@ web-devicons.enable = true; which-key.enable = true; }; + + # extraPlugins = [(pkgs.vimUtils.buildVimPlugin { + # name = "vim-lumen"; + # src = pkgs.fetchFromGitHub { + # owner = "f-person"; + # repo = "auto-dark-mode.nvim"; + # rev = "4531f8b2b09ed8f0b8875a706419f9cecda1d969"; + # hash = "sha256-JPoyRRwDJ9KOGWnqOEG4VkEX4rJHFhFYV3bwS9F2f9E="; + # }; + # })]; + + # extraConfigLua = '' + # local auto_dark_mode = require('auto-dark-mode') + # auto_dark_mode.setup() + # ''; }; }