Compare commits
2 Commits
23cbac2b68
...
a2b469f7dd
Author | SHA1 | Date | |
---|---|---|---|
a2b469f7dd | |||
b5d3fbe60d |
148
flake.lock
generated
148
flake.lock
generated
@ -148,27 +148,6 @@
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
@ -189,24 +168,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -640,34 +601,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.8",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -850,29 +783,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750855714,
|
||||
"narHash": "sha256-vgvO/5WL6n1kIVucgyiMcQfsI+WKt1/YoZDEonZw9fo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "e7e6cfd32b09b7218f8759e349824b7aecd7dec5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nmd": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -953,29 +863,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749730855,
|
||||
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
@ -1009,7 +896,6 @@
|
||||
"nixCats": "nixCats",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixvim": "nixvim",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
@ -1037,13 +923,13 @@
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nur": "nur",
|
||||
"systems": "systems_4",
|
||||
"systems": "systems_2",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
@ -1094,36 +980,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -12,11 +12,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
#neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
hyprland-plugins = {
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
|
@ -6,7 +6,7 @@
|
||||
imports = [
|
||||
../../modules/home-manager/hyprland.nix
|
||||
../../modules/home-manager/git.nix
|
||||
../../modules/home-manager/nixvim.nix
|
||||
../../modules/home-manager/nixcats
|
||||
../../modules/home-manager/kitty.nix
|
||||
../../modules/home-manager/zsh.nix
|
||||
../../modules/home-manager/tmux.nix
|
||||
|
@ -55,6 +55,7 @@
|
||||
dotnet-sdk
|
||||
watchman
|
||||
typescript-language-server
|
||||
scrcpy
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
@ -8,7 +8,7 @@
|
||||
#../../modules/home-manager/sway.nix
|
||||
../../modules/home-manager/i3
|
||||
../../modules/home-manager/git.nix
|
||||
../../modules/home-manager/nixvim.nix
|
||||
../../modules/home-manager/nixcats
|
||||
../../modules/home-manager/kitty.nix
|
||||
../../modules/home-manager/zsh.nix
|
||||
../../modules/home-manager/tmux.nix
|
||||
|
@ -13,6 +13,9 @@
|
||||
typescript
|
||||
nodejs
|
||||
# mathpix-snipping-tool
|
||||
cmake
|
||||
libtool
|
||||
glibtool
|
||||
];
|
||||
|
||||
programs.emacs = {
|
||||
|
@ -28,6 +28,8 @@
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||
|
||||
(straight-use-package 'org)
|
||||
|
||||
;; EMACS
|
||||
(use-package emacs
|
||||
:ensure nil
|
||||
@ -81,8 +83,22 @@
|
||||
(save-place-mode 1)
|
||||
(winner-mode 1)
|
||||
(xterm-mouse-mode 1)
|
||||
(file-name-shadow-mode 1)
|
||||
(load-theme 'modus-operandi t))
|
||||
(file-name-shadow-mode 1))
|
||||
|
||||
(use-package doom-themes
|
||||
:ensure t
|
||||
:straight t
|
||||
:custom
|
||||
;; Global settings (defaults)
|
||||
(doom-themes-enable-bold t) ; if nil, bold is universally disabled
|
||||
(doom-themes-enable-italic t) ; if nil, italics is universally disabled
|
||||
:config
|
||||
(load-theme 'doom-one t)
|
||||
|
||||
;; Enable flashing mode-line on errors
|
||||
(doom-themes-visual-bell-config)
|
||||
;; Corrects (and improves) org-mode's native fontification.
|
||||
(doom-themes-org-config))
|
||||
|
||||
(use-package eldoc
|
||||
:ensure nil
|
||||
@ -100,11 +116,15 @@
|
||||
:custom
|
||||
(org-return-follows-link t)
|
||||
(org-hide-emphasis-markers t)
|
||||
(org-log-into-drawer t)
|
||||
(org-log-done 'time)
|
||||
(org-todo-keywords
|
||||
'((sequence "TODO(t)" "NEXT(n)" "HOLD(h@)" "|" "DONE(d)" "CANCELLED(c@/!)")))
|
||||
(org-capture-templates
|
||||
`(("i" "Inbox" entry (file "inbox.org")
|
||||
,(concat "* TODO %?\n"
|
||||
"/Entered on/ %U"))
|
||||
("@" "Inbox [mu4e]" entry (file "inbox.org")
|
||||
("@" "Inbox [email]" entry (file "inbox.org")
|
||||
,(concat "* TODO Process \"%a\" %?\n"
|
||||
"/Entered on/ %U"))))
|
||||
(org-refile-use-outline-path 'file)
|
||||
@ -118,6 +138,11 @@
|
||||
:init
|
||||
(require 'org-tempo))
|
||||
|
||||
(use-package toc-org
|
||||
:ensure t
|
||||
:straight t
|
||||
:hook (org-mode . toc-org-mode))
|
||||
|
||||
(use-package org-roam
|
||||
:ensure t
|
||||
:straight t
|
||||
@ -369,17 +394,21 @@
|
||||
(treesit-auto-install 'prompt)
|
||||
:config
|
||||
(treesit-auto-add-to-auto-mode-alist 'all)
|
||||
(global-treesit-auto-mode))
|
||||
(global-treesit-auto-mode)
|
||||
:init
|
||||
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)))
|
||||
|
||||
(use-package corfu
|
||||
:ensure t
|
||||
:straight t
|
||||
:custom
|
||||
(corfu-auto t)
|
||||
(corfu-auto-prefix 1)
|
||||
(corfu-cycle t)
|
||||
(corfu-auto-prefix 2)
|
||||
(corfu-popupinfo-mode t)
|
||||
(corfu-popupinfo-delay 0.5)
|
||||
(corfu-on-exact-match nil)
|
||||
(completion-ignore-case t)
|
||||
:init
|
||||
(global-corfu-mode))
|
||||
|
||||
@ -388,16 +417,18 @@
|
||||
:straight t
|
||||
:after corfu
|
||||
:init (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||
;; Add extensions
|
||||
|
||||
(use-package cape
|
||||
:ensure t
|
||||
:straight t
|
||||
:after corfu
|
||||
:bind ("C-c p" . cape-prefix-map)
|
||||
:init
|
||||
(add-hook 'completion-at-point-functions #'cape-dabbrev)
|
||||
(add-hook 'completion-at-point-functions #'cape-dict)
|
||||
(add-hook 'completion-at-point-functions #'cape-file)
|
||||
(add-hook 'completion-at-point-functions #'cape-elisp-block))
|
||||
(add-hook 'completion-at-point-functions #'cape-elisp-block)
|
||||
(add-hook 'completion-at-point-functions #'cape-keyword))
|
||||
|
||||
;; (use-package company
|
||||
;; :ensure t
|
||||
@ -539,17 +570,19 @@
|
||||
:init
|
||||
(exec-path-from-shell-initialize))
|
||||
|
||||
(use-package direnv
|
||||
:ensure t
|
||||
:straight t
|
||||
:config
|
||||
(direnv-mode))
|
||||
|
||||
;; (use-package envrc
|
||||
;; (use-package direnv
|
||||
;; :ensure t
|
||||
;; :straight t
|
||||
;; :hook
|
||||
;; (after-init . envrc-global-mode))
|
||||
;; :config
|
||||
;; (direnv-mode))
|
||||
|
||||
(use-package envrc
|
||||
:ensure t
|
||||
:straight t
|
||||
:init
|
||||
(setq envrc-show-summary-in-minibuffer nil)
|
||||
:hook
|
||||
(after-init . envrc-global-mode))
|
||||
|
||||
;; (use-package add-node-modules-path
|
||||
;; :ensure t
|
||||
@ -634,6 +667,39 @@
|
||||
(mu4e-sent-folder . "/personal/Sent")
|
||||
(mu4e-trash-folder . "/personal/Trash"))))))
|
||||
|
||||
(use-package notmuch
|
||||
:ensure t
|
||||
:straight t
|
||||
:bind (("C-c m" . notmuch-hello))
|
||||
:custom
|
||||
(notmuch-saved-searches
|
||||
'((:name "inbox (personal)" :query "tag:inbox AND tag:personal")
|
||||
(:name "unread (personal)" :query "tag:unread AND tag:personal")
|
||||
(:name "sent (personal)" :query "tag:sent AND tag:personal")
|
||||
(:name "all mail (personal)" :query "tag:personal")
|
||||
(:name "inbox (work)" :query "tag:inbox AND tag:work")
|
||||
(:name "unread (work)" :query "tag:unread AND tag:work")
|
||||
(:name "sent (work)" :query "tag:sent AND tag:work")
|
||||
(:name "all mail (work)" :query "tag:work")
|
||||
(:name "drafts" :query "tag:draft")))
|
||||
:init
|
||||
(add-hook 'message-send-hook (lambda ()
|
||||
(let ((from (message-fetch-field "From")))
|
||||
(if (string-match-p (regexp-quote "michael@michaelthomson.dev") from)
|
||||
(progn
|
||||
(setq sendmail-program "msmtp")
|
||||
(setq message-sendmail-extra-arguments nil))
|
||||
(progn
|
||||
(setq sendmail-program "gmi")
|
||||
(setq message-sendmail-extra-arguments '("send" "--quiet" "-t" "-C" "~/Maildir/work")))))))
|
||||
:config
|
||||
(setq notmuch-fcc-dirs nil))
|
||||
|
||||
(use-package ol-notmuch
|
||||
:ensure t
|
||||
:straight t
|
||||
:bind
|
||||
("C-c l" . org-store-link))
|
||||
|
||||
;; epubs
|
||||
(use-package nov
|
||||
@ -646,5 +712,21 @@
|
||||
:straight t
|
||||
:bind ("C-c d" . docker))
|
||||
|
||||
(provide 'init)
|
||||
(use-package alert
|
||||
:ensure t
|
||||
:straight t
|
||||
:commands (alert)
|
||||
:init
|
||||
(setq alert-default-style 'notifier))
|
||||
|
||||
(use-package vterm
|
||||
:ensure t
|
||||
:straight t)
|
||||
|
||||
(use-package nix-mode
|
||||
:ensure t
|
||||
:straight t
|
||||
:mode "\\.nix\\'")
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
|
@ -67,6 +67,22 @@
|
||||
};
|
||||
notmuch = {
|
||||
enable = true;
|
||||
new.tags = [ "new" ];
|
||||
hooks = {
|
||||
postNew = ''
|
||||
notmuch tag +personal "path:personal/**"
|
||||
notmuch tag +work "path:work/**"
|
||||
|
||||
notmuch tag +sent -new tag:new from:michael@michaelthomson.dev
|
||||
notmuch tag +sent -new tag:new from:mthomson@konradgroup.com
|
||||
|
||||
notmuch tag +inbox +unread -new "tag:new"
|
||||
'';
|
||||
preNew = ''
|
||||
mbsync -a
|
||||
(cd ~/Maildir/work/ && gmi sync)
|
||||
'';
|
||||
};
|
||||
};
|
||||
lieer = {
|
||||
enable = true;
|
||||
@ -125,6 +141,25 @@
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
accounts.work = {
|
||||
primary = false;
|
||||
flavor = "gmail.com";
|
||||
address = "mthomson@konradgroup.com";
|
||||
realName = "Michael Thomson";
|
||||
aerc = {
|
||||
enable = true;
|
||||
};
|
||||
notmuch = {
|
||||
enable = true;
|
||||
};
|
||||
lieer = {
|
||||
enable = true;
|
||||
settings = {
|
||||
replace_slash_with_dot = true;
|
||||
ignore_tags = [ "new" "personal" "work" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
calendar = {
|
||||
basePath = ".calendar";
|
||||
|
@ -1,186 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
settings = {
|
||||
monitor = [
|
||||
"eDP-1,1920x1080@60,0x0,1.00"
|
||||
"Virtual-1,1920x1080@60,0x0,1.00"
|
||||
];
|
||||
exec-once = [
|
||||
"waybar"
|
||||
];
|
||||
env = [
|
||||
# Nvidia stuff
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
|
||||
# cursor
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
];
|
||||
"$mainMod" = "SUPER";
|
||||
"$terminal" = "kitty";
|
||||
"$menu" = "wofi --show drun";
|
||||
general = {
|
||||
gaps_in = 0;
|
||||
gaps_out = 0;
|
||||
|
||||
border_size = 2;
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = "rgba(595959aa)";
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false;
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false;
|
||||
|
||||
layout = "dwindle";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
rounding_power = 0;
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 4;
|
||||
render_power = 3;
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
|
||||
vibrancy = 0.1696;
|
||||
};
|
||||
};
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
};
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "";
|
||||
kb_rules = "";
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false;
|
||||
};
|
||||
};
|
||||
bind = [
|
||||
"$mainMod, Q, exec, $terminal"
|
||||
"$mainMod, C, killactive,"
|
||||
"$mainMod, M, exit,"
|
||||
"$mainMod, V, togglefloating,"
|
||||
"$mainMod, R, exec, $menu"
|
||||
"$mainMod, P, pseudo, # dwindle"
|
||||
"$mainMod, J, togglesplit, # dwindle"
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"$mainMod, left, movefocus, l"
|
||||
"$mainMod, right, movefocus, r"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"$mainMod, 1, workspace, 1"
|
||||
"$mainMod, 2, workspace, 2"
|
||||
"$mainMod, 3, workspace, 3"
|
||||
"$mainMod, 4, workspace, 4"
|
||||
"$mainMod, 5, workspace, 5"
|
||||
"$mainMod, 6, workspace, 6"
|
||||
"$mainMod, 7, workspace, 7"
|
||||
"$mainMod, 8, workspace, 8"
|
||||
"$mainMod, 9, workspace, 9"
|
||||
"$mainMod, 0, workspace, 10"
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
# x11.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
theme = {
|
||||
package = pkgs.flat-remix-gtk;
|
||||
name = "Flat-Remix-GTK-Grey-Darkest";
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
name = "Adwaita";
|
||||
};
|
||||
|
||||
font = {
|
||||
name = "Sans";
|
||||
size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
waybar = {
|
||||
enable = true;
|
||||
};
|
||||
wofi = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
dunst = {
|
||||
enable = true;
|
||||
};
|
||||
hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = true;
|
||||
preload =[ "~/wallpapers/brown_city_planet_w.jpg" ];
|
||||
wallpaper = [
|
||||
", ~/wallpapers/brown_city_planet_w.jpg"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,596 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
alejandra
|
||||
ripgrep
|
||||
rustup
|
||||
];
|
||||
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
#package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default;
|
||||
defaultEditor = true;
|
||||
vimdiffAlias = true;
|
||||
colorschemes = {
|
||||
gruvbox = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
maplocalleader = " ";
|
||||
};
|
||||
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
mouse = "a";
|
||||
showmode = false;
|
||||
laststatus = 3;
|
||||
swapfile = false;
|
||||
|
||||
tabstop = 4;
|
||||
softtabstop = 0;
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
|
||||
breakindent = true;
|
||||
undofile = true;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
signcolumn = "yes";
|
||||
updatetime = 50;
|
||||
timeoutlen = 300;
|
||||
inccommand = "split";
|
||||
cursorline = true;
|
||||
scrolloff = 10;
|
||||
hlsearch = true;
|
||||
foldlevel = 99;
|
||||
conceallevel = 2;
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
#harpoon
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>a";
|
||||
action.__raw = "function() require('harpoon.mark').add_file() end";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>e";
|
||||
action.__raw = "function() require('harpoon.ui').toggle_quick_menu() end";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>j";
|
||||
action.__raw = "function() require('harpoon.ui').nav_next() end";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>k";
|
||||
action.__raw = "function() require('harpoon.ui').nav_prev() end";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>j";
|
||||
action.__raw = "function() require'harpoon'.ui:nav_prev() end";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>fe";
|
||||
action = "<cmd>Oil<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ff";
|
||||
action = "<cmd>Pick files<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>fg";
|
||||
action = "<cmd>Pick grep_live<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>u";
|
||||
action = "<cmd>UndotreeToggle<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>zf";
|
||||
action = "<cmd>ZkNotes<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>zt";
|
||||
action = "<cmd>ZkTags<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>zn";
|
||||
action = "<cmd>ZkNew<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>zj";
|
||||
action = "<cmd>ZkNew { dir = \"journal/daily\" } <CR>";
|
||||
}
|
||||
# quickfix/location list
|
||||
{
|
||||
mode = "n";
|
||||
key = "]q";
|
||||
action = "<cmd>cnext<CR>zz";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "[q";
|
||||
action = "<cmd>cprev<CR>zz";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "]l";
|
||||
action = "<cmd>lnext<CR>zz";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "[l";
|
||||
action = "<cmd>lprev<CR>zz";
|
||||
}
|
||||
# gitsigns
|
||||
{
|
||||
mode = "n";
|
||||
key = "]c";
|
||||
action.__raw = ''
|
||||
function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal { ']c', bang = true }
|
||||
else
|
||||
require('gitsigns').nav_hunk 'next'
|
||||
end
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Jump to next git [C]hange";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "[c";
|
||||
action.__raw = ''
|
||||
function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal { '[c', bang = true }
|
||||
else
|
||||
require('gitsigns').nav_hunk 'prev'
|
||||
end
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Jump to previous git [C]hange";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = "<leader>hs";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "stage git hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = "<leader>hr";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "reset git hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hs";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').stage_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [s]tage hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hr";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').reset_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [r]eset hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hS";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').stage_buffer()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [S]tage buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hu";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').undo_stage_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [u]ndo stage hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hR";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').reset_buffer()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [R]eset buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hp";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').preview_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [p]review hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hb";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').blame_line()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [b]lame line";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hd";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').diffthis()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [d]iff against index";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hD";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').diffthis '@'
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [D]iff against last commit";
|
||||
};
|
||||
}
|
||||
# Toggles
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>tb";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').toggle_current_line_blame()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[T]oggle git show [b]lame line";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>tD";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').toggle_deleted()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[T]oggle git show [D]eleted";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
plugins = {
|
||||
web-devicons.enable = true;
|
||||
sleuth = {
|
||||
enable = true;
|
||||
};
|
||||
spectre = {
|
||||
enable = true;
|
||||
};
|
||||
treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
settings = {
|
||||
highlight = {
|
||||
enable = true;
|
||||
additional_vim_regex_highlighting = true;
|
||||
};
|
||||
indent = {
|
||||
enable = true;
|
||||
};
|
||||
autotag = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
gitsigns = {
|
||||
enable = true;
|
||||
settings = {
|
||||
signs = {
|
||||
add = {text = "+";};
|
||||
change = {text = "~";};
|
||||
delete = {text = "_";};
|
||||
topdelete = {text = "‾";};
|
||||
changedelete = {text = "~";};
|
||||
};
|
||||
};
|
||||
};
|
||||
harpoon = {
|
||||
enable = true;
|
||||
};
|
||||
mini = {
|
||||
enable = true;
|
||||
modules = {
|
||||
ai = {
|
||||
n_lines = 500;
|
||||
};
|
||||
splitjoin = {};
|
||||
surround = {};
|
||||
statusline = {
|
||||
use_icons = true;
|
||||
};
|
||||
comment = {};
|
||||
trailspace = {};
|
||||
pick = {};
|
||||
jump = {};
|
||||
};
|
||||
};
|
||||
zk = {
|
||||
enable = true;
|
||||
settings = {
|
||||
picker = "minipick";
|
||||
};
|
||||
};
|
||||
orgmode = {
|
||||
enable = true;
|
||||
settings = {
|
||||
org_agenda_files = "~/everything/**/*";
|
||||
org_default_notes_file = "~/everything/refile.org";
|
||||
};
|
||||
};
|
||||
render-markdown = {
|
||||
enable = false;
|
||||
};
|
||||
friendly-snippets = {
|
||||
enable = true;
|
||||
};
|
||||
lspkind = {
|
||||
enable = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
luasnip = {
|
||||
enable = true;
|
||||
};
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
snippet = {
|
||||
expand = ''
|
||||
function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end
|
||||
'';
|
||||
};
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert";
|
||||
};
|
||||
mapping = {
|
||||
"<C-n>" = "cmp.mapping.select_next_item()";
|
||||
"<C-p>" = "cmp.mapping.select_prev_item()";
|
||||
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-y>" = "cmp.mapping.confirm { select = true }";
|
||||
"<C-Space>" = "cmp.mapping.complete {}";
|
||||
"<C-l>" = ''
|
||||
cmp.mapping(function()
|
||||
local luasnip = require('luasnip')
|
||||
if luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
end
|
||||
end, { 'i', 's' })
|
||||
'';
|
||||
"<C-h>" = ''
|
||||
cmp.mapping(function()
|
||||
local luasnip = require('luasnip')
|
||||
if luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
end
|
||||
end, { 'i', 's' })
|
||||
'';
|
||||
};
|
||||
sources = [
|
||||
{
|
||||
name = "luasnip";
|
||||
}
|
||||
{
|
||||
name = "nvim_lsp";
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
oil = {
|
||||
enable = true;
|
||||
};
|
||||
undotree = {
|
||||
enable = true;
|
||||
};
|
||||
tmux-navigator = {
|
||||
enable = true;
|
||||
};
|
||||
cmp-nvim-lsp = {
|
||||
enable = true;
|
||||
};
|
||||
fidget = {
|
||||
enable = true;
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
# nixd = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# nixpkgs = {
|
||||
# expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).inputs.nixpkgs { }";
|
||||
# };
|
||||
# formatting = {
|
||||
# command = ["alejandra"];
|
||||
# };
|
||||
# options = {
|
||||
# nixos = {
|
||||
# expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).nixosConfigurations.desktop.options";
|
||||
# };
|
||||
# nix-darwin = {
|
||||
# expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).darwinConfigurations.macbook.options";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
ts_ls = {
|
||||
enable = false;
|
||||
};
|
||||
eslint = {
|
||||
enable = true;
|
||||
};
|
||||
html = {
|
||||
enable = true;
|
||||
};
|
||||
cssls = {
|
||||
enable = true;
|
||||
};
|
||||
# stylelint_lsp = {
|
||||
# enable = true;
|
||||
# };
|
||||
volar = {
|
||||
enable = true;
|
||||
tslsIntegration = false;
|
||||
filetypes = [ "typescript" "javascript" "javascriptreact" "typescriptreact" "vue" ];
|
||||
extraOptions = {
|
||||
init_options = {
|
||||
vue = {
|
||||
hybridMode = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
angularls = {
|
||||
enable = true;
|
||||
};
|
||||
gopls = {
|
||||
enable = true;
|
||||
};
|
||||
golangci_lint_ls = {
|
||||
enable = true;
|
||||
};
|
||||
bashls = {
|
||||
enable = true;
|
||||
};
|
||||
clangd = {
|
||||
enable = true;
|
||||
};
|
||||
rust_analyzer = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
keymaps = {
|
||||
diagnostic = {
|
||||
"[d" = "goto_next";
|
||||
"]d" = "goto_prev";
|
||||
"<leader>d" = "open_float";
|
||||
};
|
||||
lspBuf = {
|
||||
"K" = "hover";
|
||||
"gd" = "definition";
|
||||
"gr" = "references";
|
||||
"<leader>rn" = "rename";
|
||||
"<leader>ca" = "code_action";
|
||||
};
|
||||
};
|
||||
};
|
||||
neotest = {
|
||||
enable = true;
|
||||
adapters = {
|
||||
vitest = {
|
||||
enable = true;
|
||||
};
|
||||
go = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
nvim-jdtls = {
|
||||
enable = true;
|
||||
cmd = [
|
||||
(lib.getExe pkgs.jdt-language-server)
|
||||
];
|
||||
};
|
||||
markdown-preview = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -6,7 +6,7 @@ lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.stylix.homeManagerModules.stylix
|
||||
inputs.stylix.homeModules.stylix
|
||||
];
|
||||
|
||||
stylix = {
|
||||
|
@ -1,19 +0,0 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
nix.settings = {
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user