Trying out nixvim and fish again. And other stuff
This commit is contained in:
parent
a889460bc4
commit
ecf2a0db9f
6 changed files with 296 additions and 287 deletions
108
home-cli.nix
108
home-cli.nix
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
secrets = import ./secrets.nix;
|
secrets = import ./secrets.nix;
|
||||||
|
nixvim = import (builtins.fetchGit { url = "https://github.com/nix-community/nixvim"; });
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.stateVersion = "18.09";
|
home.stateVersion = "18.09";
|
||||||
|
|
@ -9,8 +10,15 @@ in
|
||||||
home.username = "dustinswan";
|
home.username = "dustinswan";
|
||||||
home.homeDirectory = "/Users/dustinswan";
|
home.homeDirectory = "/Users/dustinswan";
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
package = pkgs.nix;
|
||||||
|
settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
<catppuccin/modules/home-manager>
|
<catppuccin/modules/home-manager>
|
||||||
|
nixvim.homeManagerModules.nixvim
|
||||||
|
./home-nvim.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -21,7 +29,7 @@ in
|
||||||
httpie
|
httpie
|
||||||
ngrok
|
ngrok
|
||||||
ddev
|
ddev
|
||||||
bitwarden-cli
|
# bitwarden-cli
|
||||||
mkcert
|
mkcert
|
||||||
gnupg
|
gnupg
|
||||||
rage
|
rage
|
||||||
|
|
@ -38,6 +46,7 @@ in
|
||||||
yarn
|
yarn
|
||||||
php83
|
php83
|
||||||
stack
|
stack
|
||||||
|
cargo
|
||||||
ruby
|
ruby
|
||||||
# haskellPackages.ghcup
|
# haskellPackages.ghcup
|
||||||
php83Packages.composer
|
php83Packages.composer
|
||||||
|
|
@ -70,6 +79,11 @@ in
|
||||||
|
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
|
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
|
|
@ -97,19 +111,19 @@ in
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||||
'';
|
'';
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.eza = {
|
programs.eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
git = true;
|
git = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
# z doc -> cd ~/Documents; zi -> interactive
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
|
|
@ -118,39 +132,57 @@ in
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ "git" "httpie" "aws" "fzf" "mosh" "npm" "rsync" "sudo" "yarn" "vi-mode" ];
|
plugins = [ "git" "httpie" "aws" "mosh" "npm" "rsync" "sudo" "yarn" "vi-mode" ];
|
||||||
};
|
};
|
||||||
syntaxHighlighting.catppuccin.enable = true;
|
};
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "plugin-git";
|
||||||
|
src = pkgs.fishPlugins.plugin-git.src;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "foreign-env";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "oh-my-fish";
|
||||||
|
repo = "plugin-foreign-env";
|
||||||
|
rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc";
|
||||||
|
sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# https://codeberg.org/adamcstephens/dotfiles/src/commit/e14f35f6e9a9cb9174016948c512c0db364e0dec/apps/fish/init.fish
|
||||||
|
shellInit = ''
|
||||||
|
fenv source "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
||||||
|
source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish
|
||||||
|
source /nix/var/nix/profiles/default/etc/profile.d/nix.fish
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
# enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
catppuccin.enable = true;
|
enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# programs.skim = {
|
||||||
|
# enable = true;
|
||||||
|
# enableFishIntegration = true;
|
||||||
|
# enableZshIntegration = true;
|
||||||
|
# };
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
# ctrl-t, ctrl-r, ssh **<tab>
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
defaultCommand = "fd --type file --color=always";
|
|
||||||
defaultOptions = [
|
|
||||||
"--height 40%"
|
|
||||||
"--border"
|
|
||||||
"--ansi"
|
|
||||||
"--color bg+:#302D41,bg:#1E1E2E,spinner:#F8BD96,hl:#F28FAD"
|
|
||||||
"--color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96"
|
|
||||||
"--color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD"
|
|
||||||
];
|
|
||||||
|
|
||||||
fileWidgetCommand = "fd --type file --color=always";
|
|
||||||
fileWidgetOptions = [ "--min-height 30 --preview-window noborder --preview '(bat --style=numbers,changes --wrap never --color always {} || cat {} || tree -C {}) 2> /dev/null'" ];
|
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
|
|
@ -189,41 +221,16 @@ in
|
||||||
userName = "Dustin Swan";
|
userName = "Dustin Swan";
|
||||||
userEmail = "dustin@dustinswan.com";
|
userEmail = "dustin@dustinswan.com";
|
||||||
signing = {
|
signing = {
|
||||||
# signByDefault = true;
|
signByDefault = true;
|
||||||
key = "AD11750151C10881970BD943AB49BD6B2B3A6377";
|
key = "AD11750151C10881970BD943AB49BD6B2B3A6377";
|
||||||
};
|
};
|
||||||
delta = {
|
delta.enable = true;
|
||||||
enable = true;
|
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.lazygit = {
|
programs.lazygit.enable = true;
|
||||||
enable = true;
|
programs.gitui.enable = true;
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.gitui = {
|
|
||||||
enable = true;
|
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
withNodeJs = true;
|
|
||||||
withPython3 = true;
|
|
||||||
withRuby = true;
|
|
||||||
};
|
|
||||||
# xdg.configFile."nvim/lua/plugins/lazyvim-plugins.lua".source = ./lazyvim-plugins.lua;
|
|
||||||
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
programs.bat.enable = true;
|
||||||
programs.gpg.enable = true;
|
programs.gpg.enable = true;
|
||||||
programs.tealdeer.enable = true;
|
programs.tealdeer.enable = true;
|
||||||
programs.ripgrep.enable = true;
|
programs.ripgrep.enable = true;
|
||||||
|
|
@ -231,6 +238,7 @@ in
|
||||||
programs.keychain = {
|
programs.keychain = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
inheritType = "any";
|
inheritType = "any";
|
||||||
agents = [ "gpg" "ssh" ];
|
agents = [ "gpg" "ssh" ];
|
||||||
keys = [ "id_rsa" "id_rsa_mr" "2B3A6377" ];
|
keys = [ "id_rsa" "id_rsa_mr" "2B3A6377" ];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# home.packages = with pkgs; [ iosevka-bin ];
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
|
|
@ -22,6 +21,5 @@
|
||||||
size = 16.0;
|
size = 16.0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
catppuccin.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
241
home-mail.nix
241
home-mail.nix
|
|
@ -4,14 +4,15 @@ let
|
||||||
secrets = import ./secrets.nix;
|
secrets = import ./secrets.nix;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ vdirsyncer khard khal imapnotify ];
|
|
||||||
|
|
||||||
programs.mbsync.enable = true;
|
programs.mbsync.enable = true;
|
||||||
programs.msmtp.enable = true;
|
programs.msmtp.enable = true;
|
||||||
programs.himalaya.enable = true;
|
programs.himalaya.enable = true;
|
||||||
programs.notmuch.enable = true;
|
# programs.notmuch.enable = true;
|
||||||
programs.aerc.enable = true;
|
programs.aerc.enable = true;
|
||||||
programs.aerc.extraConfig.general.unsafe-accounts-conf = true;
|
programs.aerc.extraConfig.general.unsafe-accounts-conf = true;
|
||||||
|
programs.khal.enable = true;
|
||||||
|
programs.khard.enable = true;
|
||||||
|
programs.vdirsyncer.enable = true;
|
||||||
|
|
||||||
accounts.email = {
|
accounts.email = {
|
||||||
maildirBasePath = "Mail";
|
maildirBasePath = "Mail";
|
||||||
|
|
@ -47,19 +48,19 @@ in
|
||||||
# onNotify = "\${pkgs.isync}/bin/mbsync -a";
|
# onNotify = "\${pkgs.isync}/bin/mbsync -a";
|
||||||
# onNotifyPost = { mail = "\${pkgs.noti}/bin/noti 'New mail'"; };
|
# onNotifyPost = { mail = "\${pkgs.noti}/bin/noti 'New mail'"; };
|
||||||
# };
|
# };
|
||||||
notmuch.enable = true;
|
# notmuch.enable = true;
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
aerc.enable = true;
|
aerc.enable = true;
|
||||||
# himalaya = {
|
himalaya = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# settings = {
|
settings = {
|
||||||
# backend = "maildir";
|
# backend = "imap";
|
||||||
# maildir.root-dir = "";
|
# maildir.root-dir = "/Users/dustinswan/Mail/FastMail";
|
||||||
# message.send.backend = "smtp";
|
message.send.backend = "smtp";
|
||||||
# sent-folder = "Sent";
|
# sent-folder = "Sent";
|
||||||
# draft-folder = "Drafts";
|
# draft-folder = "Drafts";
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
signature = {
|
signature = {
|
||||||
text = ''Dustin Swan | dustinswan.com'';
|
text = ''Dustin Swan | dustinswan.com'';
|
||||||
showSignature = "append";
|
showSignature = "append";
|
||||||
|
|
@ -85,7 +86,7 @@ in
|
||||||
expunge = "maildir";
|
expunge = "maildir";
|
||||||
};
|
};
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
notmuch.enable = true;
|
# notmuch.enable = true;
|
||||||
aerc.enable = true;
|
aerc.enable = true;
|
||||||
# himalaya = {
|
# himalaya = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
|
|
@ -98,100 +99,124 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO: home-manager now supports all this, don't need to do custom config files
|
accounts.calendar = {
|
||||||
|
basePath = "Calendars";
|
||||||
home.file.vdirsyncer = {
|
accounts = {
|
||||||
target = ".config/vdirsyncer/config";
|
FastMail = {
|
||||||
text = ''[general]
|
khal = {
|
||||||
status_path = "~/.vdirsyncer/status/"
|
enable = true;
|
||||||
|
# addresses = [ "dustin@dustinswan.com" ];
|
||||||
[pair fastmail_contacts]
|
type = "discover";
|
||||||
a = "fastmail_contacts_local"
|
};
|
||||||
b = "fastmail_contacts_remote"
|
primary = true;
|
||||||
collections = ["from b"]
|
remote = {
|
||||||
conflict_resolution = "b wins"
|
passwordCommand = ["~/dotfiles/bin/decrypt-password" "dustinswan@fastmail.com"];
|
||||||
|
type = "caldav";
|
||||||
[storage fastmail_contacts_local]
|
url = "https://caldav.fastmail.com/";
|
||||||
type = "filesystem"
|
userName = "dustinswan@fastmail.com";
|
||||||
path = "~/Contacts/"
|
};
|
||||||
fileext = ".vcf"
|
vdirsyncer = {
|
||||||
|
enable = true;
|
||||||
[storage fastmail_contacts_remote]
|
};
|
||||||
type = "carddav"
|
};
|
||||||
url = "https://carddav.messagingengine.com/"
|
};
|
||||||
username = "dustinswan@fastmail.com"
|
|
||||||
password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
|
|
||||||
|
|
||||||
|
|
||||||
[pair fastmail_calendar]
|
|
||||||
a = "fastmail_calendar_local"
|
|
||||||
b = "fastmail_calendar_remote"
|
|
||||||
collections = ["from b"]
|
|
||||||
conflict_resolution = "b wins"
|
|
||||||
metadata = ["color", "displayname"]
|
|
||||||
|
|
||||||
[storage fastmail_calendar_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/Calendars/Fastmail"
|
|
||||||
fileext = ".ics"
|
|
||||||
|
|
||||||
[storage fastmail_calendar_remote]
|
|
||||||
type = "caldav"
|
|
||||||
url = "https://caldav.messagingengine.com/"
|
|
||||||
username = "dustinswan@fastmail.com"
|
|
||||||
password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
|
|
||||||
|
|
||||||
|
|
||||||
[pair google_calendar]
|
|
||||||
a = "google_calendar_local"
|
|
||||||
b = "google_calendar_remote"
|
|
||||||
collections = null
|
|
||||||
# conflict_resolution = "b wins"
|
|
||||||
# metadata = ["color", "displayname"]
|
|
||||||
|
|
||||||
[storage google_calendar_local]
|
|
||||||
type = "filesystem"
|
|
||||||
path = "~/Calendars/Google"
|
|
||||||
fileext = ".ics"
|
|
||||||
|
|
||||||
[storage google_calendar_remote]
|
|
||||||
type = "http"
|
|
||||||
url = "${secrets.google-calendar.our-stuff}"
|
|
||||||
# type = "google_calendar"
|
|
||||||
# token_file = "~/token_file"
|
|
||||||
# client_id = "${secrets.google-vdirsyncer.id}"
|
|
||||||
# client_secret = "${secrets.google-vdirsyncer.secret}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.khard = {
|
|
||||||
target = ".config/khard/khard.conf";
|
|
||||||
text = ''[addressbooks]
|
|
||||||
[[contacts]]
|
|
||||||
path = ~/Contacts/Default
|
|
||||||
|
|
||||||
[general]
|
|
||||||
default_action = list'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.khal = {
|
|
||||||
target = ".config/khal/config";
|
|
||||||
text = ''[calendars]
|
|
||||||
[[Fastmail]]
|
|
||||||
path = ~/Calendars/Fastmail/*
|
|
||||||
color = light green
|
|
||||||
type = discover
|
|
||||||
|
|
||||||
[[Google]]
|
|
||||||
path = ~/Calendars/Google
|
|
||||||
color = light blue
|
|
||||||
type = discover
|
|
||||||
|
|
||||||
[locale]
|
|
||||||
timeformat = %H:%M
|
|
||||||
dateformat = %Y-%m-%d
|
|
||||||
longdateformat = %Y-%m-%d
|
|
||||||
datetimeformat = %Y-%m-%d %H:%M
|
|
||||||
longdatetimeformat = %Y-%m-%d %H:%M'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# TODO: home-manager now supports all this, don't need to do custom config files
|
||||||
|
|
||||||
|
#
|
||||||
|
# home.file.vdirsyncer = {
|
||||||
|
# target = ".config/vdirsyncer/config";
|
||||||
|
# text = ''[general]
|
||||||
|
# status_path = "~/.vdirsyncer/status/"
|
||||||
|
#
|
||||||
|
# [pair fastmail_contacts]
|
||||||
|
# a = "fastmail_contacts_local"
|
||||||
|
# b = "fastmail_contacts_remote"
|
||||||
|
# collections = ["from b"]
|
||||||
|
# conflict_resolution = "b wins"
|
||||||
|
#
|
||||||
|
# [storage fastmail_contacts_local]
|
||||||
|
# type = "filesystem"
|
||||||
|
# path = "~/Contacts/"
|
||||||
|
# fileext = ".vcf"
|
||||||
|
#
|
||||||
|
# [storage fastmail_contacts_remote]
|
||||||
|
# type = "carddav"
|
||||||
|
# url = "https://carddav.messagingengine.com/"
|
||||||
|
# username = "dustinswan@fastmail.com"
|
||||||
|
# password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# [pair fastmail_calendar]
|
||||||
|
# a = "fastmail_calendar_local"
|
||||||
|
# b = "fastmail_calendar_remote"
|
||||||
|
# collections = ["from b"]
|
||||||
|
# conflict_resolution = "b wins"
|
||||||
|
# metadata = ["color", "displayname"]
|
||||||
|
#
|
||||||
|
# [storage fastmail_calendar_local]
|
||||||
|
# type = "filesystem"
|
||||||
|
# path = "~/Calendars/Fastmail"
|
||||||
|
# fileext = ".ics"
|
||||||
|
#
|
||||||
|
# [storage fastmail_calendar_remote]
|
||||||
|
# type = "caldav"
|
||||||
|
# url = "https://caldav.messagingengine.com/"
|
||||||
|
# username = "dustinswan@fastmail.com"
|
||||||
|
# password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# [pair google_calendar]
|
||||||
|
# a = "google_calendar_local"
|
||||||
|
# b = "google_calendar_remote"
|
||||||
|
# collections = null
|
||||||
|
# # conflict_resolution = "b wins"
|
||||||
|
# # metadata = ["color", "displayname"]
|
||||||
|
#
|
||||||
|
# [storage google_calendar_local]
|
||||||
|
# type = "filesystem"
|
||||||
|
# path = "~/Calendars/Google"
|
||||||
|
# fileext = ".ics"
|
||||||
|
#
|
||||||
|
# [storage google_calendar_remote]
|
||||||
|
# type = "http"
|
||||||
|
# url = "${secrets.google-calendar.our-stuff}"
|
||||||
|
# # type = "google_calendar"
|
||||||
|
# # token_file = "~/token_file"
|
||||||
|
# # client_id = "${secrets.google-vdirsyncer.id}"
|
||||||
|
# # client_secret = "${secrets.google-vdirsyncer.secret}"
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# home.file.khard = {
|
||||||
|
# target = ".config/khard/khard.conf";
|
||||||
|
# text = ''[addressbooks]
|
||||||
|
# [[contacts]]
|
||||||
|
# path = ~/Contacts/Default
|
||||||
|
#
|
||||||
|
# [general]
|
||||||
|
# default_action = list'';
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# home.file.khal = {
|
||||||
|
# target = ".config/khal/config";
|
||||||
|
# text = ''[calendars]
|
||||||
|
# [[Fastmail]]
|
||||||
|
# path = ~/Calendars/Fastmail/*
|
||||||
|
# color = light green
|
||||||
|
# type = discover
|
||||||
|
#
|
||||||
|
# [[Google]]
|
||||||
|
# path = ~/Calendars/Google
|
||||||
|
# color = light blue
|
||||||
|
# type = discover
|
||||||
|
#
|
||||||
|
# [locale]
|
||||||
|
# timeformat = %H:%M
|
||||||
|
# dateformat = %Y-%m-%d
|
||||||
|
# longdateformat = %Y-%m-%d
|
||||||
|
# datetimeformat = %Y-%m-%d %H:%M
|
||||||
|
# longdatetimeformat = %Y-%m-%d %H:%M'';
|
||||||
|
# };
|
||||||
|
|
|
||||||
105
home-nvim.nix
Normal file
105
home-nvim.nix
Normal file
|
|
@ -0,0 +1,105 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
withNodeJs = true;
|
||||||
|
withRuby = true;
|
||||||
|
|
||||||
|
colorschemes.catppuccin.enable = true;
|
||||||
|
colorschemes.catppuccin.settings.transparent_background = true;
|
||||||
|
|
||||||
|
opts = {
|
||||||
|
number = true;
|
||||||
|
ignorecase = true;
|
||||||
|
smartcase = true;
|
||||||
|
|
||||||
|
tabstop = 4;
|
||||||
|
shiftwidth = 4;
|
||||||
|
softtabstop = 0;
|
||||||
|
expandtab = true;
|
||||||
|
smarttab = true;
|
||||||
|
|
||||||
|
clipboard = "unnamedplus";
|
||||||
|
};
|
||||||
|
|
||||||
|
globals = {
|
||||||
|
mapleader = " ";
|
||||||
|
maplocalleader = " ";
|
||||||
|
};
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{ key = "<leader>e"; action = "<cmd>Neotree toggle<cr>"; }
|
||||||
|
{ key = "<leader>ff"; action = "<cmd>Telescope find_files<cr>"; }
|
||||||
|
{ key = "<leader>fr"; action = "<cmd>Telescope oldfiles<cr>"; }
|
||||||
|
{ key = "<leader>bd"; action = "<cmd>bdelete<cr>"; }
|
||||||
|
{ key = "<S-l>"; action = "<cmd>bnext<cr>"; }
|
||||||
|
{ key = "<S-h>"; action = "<cmd>bprev<cr>"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
plugins = {
|
||||||
|
bufferline.enable = true;
|
||||||
|
cmp = {
|
||||||
|
enable = true;
|
||||||
|
autoEnableSources = true;
|
||||||
|
settings.sources = [
|
||||||
|
{ name = "nvim_lsp"; }
|
||||||
|
{ name = "path"; }
|
||||||
|
{ name = "buffer"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
cmp-nvim-lsp.enable = true;
|
||||||
|
cmp-buffer.enable = true;
|
||||||
|
cmp-path.enable = true;
|
||||||
|
codeium-nvim.enable = true;
|
||||||
|
commentary.enable = true;
|
||||||
|
# conform-nvim.enable = true;
|
||||||
|
dashboard.enable = true;
|
||||||
|
emmet.enable = true;
|
||||||
|
gitsigns.enable = true;
|
||||||
|
lazygit.enable = true;
|
||||||
|
lint.enable = true;
|
||||||
|
lualine.enable = true;
|
||||||
|
luasnip.enable = true;
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
inlayHints = true;
|
||||||
|
servers = {
|
||||||
|
eslint.enable = true;
|
||||||
|
html.enable = true;
|
||||||
|
lua-ls.enable = true;
|
||||||
|
nil-ls.enable = true;
|
||||||
|
# phpactor.enable = true;
|
||||||
|
intelephense.enable = true;
|
||||||
|
# rust-analyzer.enable = true;
|
||||||
|
tsserver.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lsp-format.enable = true;
|
||||||
|
lsp-lines.enable = true;
|
||||||
|
neo-tree.enable = true;
|
||||||
|
notify.enable = true;
|
||||||
|
nix.enable = true;
|
||||||
|
noice.enable = true;
|
||||||
|
nvim-autopairs.enable = true;
|
||||||
|
oil.enable = true;
|
||||||
|
orgmode = {
|
||||||
|
enable = true;
|
||||||
|
settings.org_agenda_files = "~/Sync/Notes/*";
|
||||||
|
settings.org_default_notes_file = "~/Sync/Notes/Main.org";
|
||||||
|
};
|
||||||
|
persistence.enable = true;
|
||||||
|
surround.enable = true;
|
||||||
|
telescope.enable = true;
|
||||||
|
tmux-navigator.enable = true;
|
||||||
|
todo-comments.enable = true;
|
||||||
|
treesitter.enable = true;
|
||||||
|
trouble.enable = true;
|
||||||
|
ts-autotag.enable = true;
|
||||||
|
which-key.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
-- Options are automatically loaded before lazy.nvim startup
|
|
||||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
|
||||||
-- Add any additional options here
|
|
||||||
|
|
||||||
vim.opt.relativenumber = false
|
|
||||||
vim.g.autoformat = false
|
|
||||||
|
|
@ -1,121 +0,0 @@
|
||||||
return {
|
|
||||||
|
|
||||||
{ "tpope/vim-sleuth" },
|
|
||||||
|
|
||||||
{
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
config = function()
|
|
||||||
require("catppuccin").setup({
|
|
||||||
transparent_background = true,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- {
|
|
||||||
-- "f-person/auto-dark-mode.nvim",
|
|
||||||
-- config = {
|
|
||||||
-- set_dark_mode = function()
|
|
||||||
-- vim.api.nvim_set_option("background", "dark")
|
|
||||||
-- vim.cmd("colorscheme catppuccin")
|
|
||||||
-- -- vim.cmd("colorscheme rose-pine")
|
|
||||||
-- end,
|
|
||||||
-- set_light_mode = function()
|
|
||||||
-- vim.api.nvim_set_option("background", "light")
|
|
||||||
-- vim.cmd("colorscheme catppuccin")
|
|
||||||
-- -- vim.cmd("colorscheme rose-pine")
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
|
|
||||||
{
|
|
||||||
"LazyVim/LazyVim",
|
|
||||||
opts = {
|
|
||||||
colorscheme = "catppuccin",
|
|
||||||
background_colour = "#000000",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"nvim-orgmode/orgmode",
|
|
||||||
config = function()
|
|
||||||
-- require("orgmode").setup_ts_grammar()
|
|
||||||
|
|
||||||
require("nvim-treesitter.configs").setup({
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
additional_vim_regex_highlighting = { "org" }, -- Required for spellcheck, some LaTex highlights and code block highlights that do not have ts grammar
|
|
||||||
},
|
|
||||||
ensure_installed = { "org" }, -- Or run :TSUpdate org
|
|
||||||
})
|
|
||||||
|
|
||||||
require("orgmode").setup({
|
|
||||||
org_agenda_files = { "~/Sync/Notes/*" },
|
|
||||||
org_default_notes_file = "~/Sync/Notes/Main.org",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{ "dhruvasagar/vim-table-mode" },
|
|
||||||
|
|
||||||
{
|
|
||||||
"akinsho/toggleterm.nvim",
|
|
||||||
version = "*",
|
|
||||||
config = true,
|
|
||||||
keys = {
|
|
||||||
{ [[<C-\>]] },
|
|
||||||
{
|
|
||||||
"<leader>TT",
|
|
||||||
"<cmd>ToggleTerm direction=horizontal<cr>",
|
|
||||||
desc = "Open a horizontal terminal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>TV",
|
|
||||||
"<cmd>ToggleTerm size=60 direction=vertical<cr>",
|
|
||||||
desc = "Open a vertical terminal",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"christoomey/vim-tmux-navigator",
|
|
||||||
cmd = {
|
|
||||||
"TmuxNavigateLeft",
|
|
||||||
"TmuxNavigateDown",
|
|
||||||
"TmuxNavigateUp",
|
|
||||||
"TmuxNavigateRight",
|
|
||||||
"TmuxNavigatePrevious",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
|
||||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
|
||||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
|
||||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
|
||||||
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{ "lukas-reineke/headlines.nvim", opts = { org = { fat_headlines = false } } },
|
|
||||||
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
vim.list_extend(opts.ensure_installed, {
|
|
||||||
"php",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"chrisgrieser/nvim-rip-substitute",
|
|
||||||
cmd = "RipSubstitute",
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>fs",
|
|
||||||
function() require("rip-substitute").sub() end,
|
|
||||||
mode = { "n", "x" },
|
|
||||||
desc = " rip substitute",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue