Compare commits
No commits in common. "a2b469f7dd30df2b95759405b40a51e377161c10" and "23cbac2b68b6654af31a8e1f6c22d4a90b6f6261" have entirely different histories.
a2b469f7dd
...
23cbac2b68
148
flake.lock
generated
148
flake.lock
generated
@ -148,6 +148,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"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": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"stylix",
|
"stylix",
|
||||||
@ -168,6 +189,24 @@
|
|||||||
"type": "github"
|
"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": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -601,6 +640,34 @@
|
|||||||
"type": "github"
|
"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": {
|
"nix-darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -783,6 +850,29 @@
|
|||||||
"type": "github"
|
"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": {
|
"nmd": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -863,6 +953,29 @@
|
|||||||
"type": "github"
|
"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": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
@ -896,6 +1009,7 @@
|
|||||||
"nixCats": "nixCats",
|
"nixCats": "nixCats",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixvim": "nixvim",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -923,13 +1037,13 @@
|
|||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts_2",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_2",
|
"systems": "systems_4",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@ -980,6 +1094,36 @@
|
|||||||
"type": "github"
|
"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": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -12,6 +12,11 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
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.url = "github:hyprwm/Hyprland";
|
||||||
hyprland-plugins = {
|
hyprland-plugins = {
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../../modules/home-manager/hyprland.nix
|
../../modules/home-manager/hyprland.nix
|
||||||
../../modules/home-manager/git.nix
|
../../modules/home-manager/git.nix
|
||||||
../../modules/home-manager/nixcats
|
../../modules/home-manager/nixvim.nix
|
||||||
../../modules/home-manager/kitty.nix
|
../../modules/home-manager/kitty.nix
|
||||||
../../modules/home-manager/zsh.nix
|
../../modules/home-manager/zsh.nix
|
||||||
../../modules/home-manager/tmux.nix
|
../../modules/home-manager/tmux.nix
|
||||||
|
@ -55,7 +55,6 @@
|
|||||||
dotnet-sdk
|
dotnet-sdk
|
||||||
watchman
|
watchman
|
||||||
typescript-language-server
|
typescript-language-server
|
||||||
scrcpy
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#../../modules/home-manager/sway.nix
|
#../../modules/home-manager/sway.nix
|
||||||
../../modules/home-manager/i3
|
../../modules/home-manager/i3
|
||||||
../../modules/home-manager/git.nix
|
../../modules/home-manager/git.nix
|
||||||
../../modules/home-manager/nixcats
|
../../modules/home-manager/nixvim.nix
|
||||||
../../modules/home-manager/kitty.nix
|
../../modules/home-manager/kitty.nix
|
||||||
../../modules/home-manager/zsh.nix
|
../../modules/home-manager/zsh.nix
|
||||||
../../modules/home-manager/tmux.nix
|
../../modules/home-manager/tmux.nix
|
||||||
|
@ -13,9 +13,6 @@
|
|||||||
typescript
|
typescript
|
||||||
nodejs
|
nodejs
|
||||||
# mathpix-snipping-tool
|
# mathpix-snipping-tool
|
||||||
cmake
|
|
||||||
libtool
|
|
||||||
glibtool
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
|
@ -28,8 +28,6 @@
|
|||||||
(require 'package)
|
(require 'package)
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||||
|
|
||||||
(straight-use-package 'org)
|
|
||||||
|
|
||||||
;; EMACS
|
;; EMACS
|
||||||
(use-package emacs
|
(use-package emacs
|
||||||
:ensure nil
|
:ensure nil
|
||||||
@ -83,22 +81,8 @@
|
|||||||
(save-place-mode 1)
|
(save-place-mode 1)
|
||||||
(winner-mode 1)
|
(winner-mode 1)
|
||||||
(xterm-mouse-mode 1)
|
(xterm-mouse-mode 1)
|
||||||
(file-name-shadow-mode 1))
|
(file-name-shadow-mode 1)
|
||||||
|
(load-theme 'modus-operandi t))
|
||||||
(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
|
(use-package eldoc
|
||||||
:ensure nil
|
:ensure nil
|
||||||
@ -116,15 +100,11 @@
|
|||||||
:custom
|
:custom
|
||||||
(org-return-follows-link t)
|
(org-return-follows-link t)
|
||||||
(org-hide-emphasis-markers 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
|
(org-capture-templates
|
||||||
`(("i" "Inbox" entry (file "inbox.org")
|
`(("i" "Inbox" entry (file "inbox.org")
|
||||||
,(concat "* TODO %?\n"
|
,(concat "* TODO %?\n"
|
||||||
"/Entered on/ %U"))
|
"/Entered on/ %U"))
|
||||||
("@" "Inbox [email]" entry (file "inbox.org")
|
("@" "Inbox [mu4e]" entry (file "inbox.org")
|
||||||
,(concat "* TODO Process \"%a\" %?\n"
|
,(concat "* TODO Process \"%a\" %?\n"
|
||||||
"/Entered on/ %U"))))
|
"/Entered on/ %U"))))
|
||||||
(org-refile-use-outline-path 'file)
|
(org-refile-use-outline-path 'file)
|
||||||
@ -138,11 +118,6 @@
|
|||||||
:init
|
:init
|
||||||
(require 'org-tempo))
|
(require 'org-tempo))
|
||||||
|
|
||||||
(use-package toc-org
|
|
||||||
:ensure t
|
|
||||||
:straight t
|
|
||||||
:hook (org-mode . toc-org-mode))
|
|
||||||
|
|
||||||
(use-package org-roam
|
(use-package org-roam
|
||||||
:ensure t
|
:ensure t
|
||||||
:straight t
|
:straight t
|
||||||
@ -394,21 +369,17 @@
|
|||||||
(treesit-auto-install 'prompt)
|
(treesit-auto-install 'prompt)
|
||||||
:config
|
:config
|
||||||
(treesit-auto-add-to-auto-mode-alist 'all)
|
(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
|
(use-package corfu
|
||||||
:ensure t
|
:ensure t
|
||||||
:straight t
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(corfu-auto t)
|
(corfu-auto t)
|
||||||
(corfu-cycle t)
|
(corfu-auto-prefix 1)
|
||||||
(corfu-auto-prefix 2)
|
|
||||||
(corfu-popupinfo-mode t)
|
(corfu-popupinfo-mode t)
|
||||||
(corfu-popupinfo-delay 0.5)
|
(corfu-popupinfo-delay 0.5)
|
||||||
(corfu-on-exact-match nil)
|
(corfu-on-exact-match nil)
|
||||||
(completion-ignore-case t)
|
|
||||||
:init
|
:init
|
||||||
(global-corfu-mode))
|
(global-corfu-mode))
|
||||||
|
|
||||||
@ -417,18 +388,16 @@
|
|||||||
:straight t
|
:straight t
|
||||||
:after corfu
|
:after corfu
|
||||||
:init (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
:init (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||||
|
;; Add extensions
|
||||||
|
|
||||||
(use-package cape
|
(use-package cape
|
||||||
:ensure t
|
:ensure t
|
||||||
:straight t
|
:straight t
|
||||||
:after corfu
|
|
||||||
:bind ("C-c p" . cape-prefix-map)
|
:bind ("C-c p" . cape-prefix-map)
|
||||||
:init
|
:init
|
||||||
(add-hook 'completion-at-point-functions #'cape-dabbrev)
|
(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-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
|
;; (use-package company
|
||||||
;; :ensure t
|
;; :ensure t
|
||||||
@ -570,19 +539,17 @@
|
|||||||
:init
|
:init
|
||||||
(exec-path-from-shell-initialize))
|
(exec-path-from-shell-initialize))
|
||||||
|
|
||||||
;; (use-package direnv
|
(use-package direnv
|
||||||
;; :ensure t
|
|
||||||
;; :straight t
|
|
||||||
;; :config
|
|
||||||
;; (direnv-mode))
|
|
||||||
|
|
||||||
(use-package envrc
|
|
||||||
:ensure t
|
:ensure t
|
||||||
:straight t
|
:straight t
|
||||||
:init
|
:config
|
||||||
(setq envrc-show-summary-in-minibuffer nil)
|
(direnv-mode))
|
||||||
:hook
|
|
||||||
(after-init . envrc-global-mode))
|
;; (use-package envrc
|
||||||
|
;; :ensure t
|
||||||
|
;; :straight t
|
||||||
|
;; :hook
|
||||||
|
;; (after-init . envrc-global-mode))
|
||||||
|
|
||||||
;; (use-package add-node-modules-path
|
;; (use-package add-node-modules-path
|
||||||
;; :ensure t
|
;; :ensure t
|
||||||
@ -667,39 +634,6 @@
|
|||||||
(mu4e-sent-folder . "/personal/Sent")
|
(mu4e-sent-folder . "/personal/Sent")
|
||||||
(mu4e-trash-folder . "/personal/Trash"))))))
|
(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
|
;; epubs
|
||||||
(use-package nov
|
(use-package nov
|
||||||
@ -712,21 +646,5 @@
|
|||||||
:straight t
|
:straight t
|
||||||
:bind ("C-c d" . docker))
|
:bind ("C-c d" . docker))
|
||||||
|
|
||||||
(use-package alert
|
(provide 'init)
|
||||||
: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
|
;;; init.el ends here
|
||||||
|
@ -67,22 +67,6 @@
|
|||||||
};
|
};
|
||||||
notmuch = {
|
notmuch = {
|
||||||
enable = true;
|
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 = {
|
lieer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -141,25 +125,6 @@
|
|||||||
enable = true;
|
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 = {
|
calendar = {
|
||||||
basePath = ".calendar";
|
basePath = ".calendar";
|
||||||
|
186
modules/home-manager/hyprland.nix
Normal file
186
modules/home-manager/hyprland.nix
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
{
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
596
modules/home-manager/nixvim.nix
Normal file
596
modules/home-manager/nixvim.nix
Normal file
@ -0,0 +1,596 @@
|
|||||||
|
{
|
||||||
|
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 = [
|
imports = [
|
||||||
inputs.stylix.homeModules.stylix
|
inputs.stylix.homeManagerModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
|
19
modules/nixos/hyprland.nix
Normal file
19
modules/nixos/hyprland.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ 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