From b5d3fbe60d556d9bb35fe803b65f4c0007b1f20b Mon Sep 17 00:00:00 2001 From: Michael Thomson Date: Sun, 29 Jun 2025 07:24:41 -0400 Subject: [PATCH] remove hyprland --- flake.nix | 5 - hosts/desktop/home.nix | 2 +- hosts/macbook/home.nix | 1 + hosts/thinkpad/home.nix | 2 +- modules/home-manager/emacs/default.nix | 3 + modules/home-manager/emacs/emacs/init.el | 79 ++- modules/home-manager/hyprland.nix | 186 ------- modules/home-manager/nixvim.nix | 596 ----------------------- modules/nixos/hyprland.nix | 19 - 9 files changed, 68 insertions(+), 825 deletions(-) delete mode 100644 modules/home-manager/hyprland.nix delete mode 100644 modules/home-manager/nixvim.nix delete mode 100644 modules/nixos/hyprland.nix diff --git a/flake.nix b/flake.nix index 8d09344..97594c2 100644 --- a/flake.nix +++ b/flake.nix @@ -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"; diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index c123a44..7ad9f93 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -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 diff --git a/hosts/macbook/home.nix b/hosts/macbook/home.nix index f8da748..fd45928 100644 --- a/hosts/macbook/home.nix +++ b/hosts/macbook/home.nix @@ -55,6 +55,7 @@ dotnet-sdk watchman typescript-language-server + scrcpy ]; programs.home-manager.enable = true; diff --git a/hosts/thinkpad/home.nix b/hosts/thinkpad/home.nix index 4c801b4..f4e673c 100644 --- a/hosts/thinkpad/home.nix +++ b/hosts/thinkpad/home.nix @@ -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 diff --git a/modules/home-manager/emacs/default.nix b/modules/home-manager/emacs/default.nix index ab016e1..98410fc 100644 --- a/modules/home-manager/emacs/default.nix +++ b/modules/home-manager/emacs/default.nix @@ -13,6 +13,9 @@ typescript nodejs # mathpix-snipping-tool + cmake + libtool + glibtool ]; programs.emacs = { diff --git a/modules/home-manager/emacs/emacs/init.el b/modules/home-manager/emacs/emacs/init.el index 9f81cbe..6860d4b 100644 --- a/modules/home-manager/emacs/emacs/init.el +++ b/modules/home-manager/emacs/emacs/init.el @@ -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,7 +116,7 @@ :custom (org-return-follows-link t) (org-hide-emphasis-markers t) - (org-capture-templates + (org-capturen-templates `(("i" "Inbox" entry (file "inbox.org") ,(concat "* TODO %?\n" "/Entered on/ %U")) @@ -118,6 +134,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 +390,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 +413,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 +566,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 @@ -646,5 +675,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 diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix deleted file mode 100644 index 33e911f..0000000 --- a/modules/home-manager/hyprland.nix +++ /dev/null @@ -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" - ]; - }; - }; - }; -} diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix deleted file mode 100644 index 126b610..0000000 --- a/modules/home-manager/nixvim.nix +++ /dev/null @@ -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 = "a"; - action.__raw = "function() require('harpoon.mark').add_file() end"; - } - { - mode = "n"; - key = "e"; - action.__raw = "function() require('harpoon.ui').toggle_quick_menu() end"; - } - { - mode = "n"; - key = "j"; - action.__raw = "function() require('harpoon.ui').nav_next() end"; - } - { - mode = "n"; - key = "k"; - action.__raw = "function() require('harpoon.ui').nav_prev() end"; - } - { - mode = "n"; - key = "j"; - action.__raw = "function() require'harpoon'.ui:nav_prev() end"; - } - { - mode = "n"; - key = "fe"; - action = "Oil"; - } - { - mode = "n"; - key = "ff"; - action = "Pick files"; - } - { - mode = "n"; - key = "fg"; - action = "Pick grep_live"; - } - { - mode = "n"; - key = "u"; - action = "UndotreeToggle"; - } - { - mode = "n"; - key = "zf"; - action = "ZkNotes"; - } - { - mode = "n"; - key = "zt"; - action = "ZkTags"; - } - { - mode = "n"; - key = "zn"; - action = "ZkNew"; - } - { - mode = "n"; - key = "zj"; - action = "ZkNew { dir = \"journal/daily\" } "; - } - # quickfix/location list - { - mode = "n"; - key = "]q"; - action = "cnextzz"; - } - { - mode = "n"; - key = "[q"; - action = "cprevzz"; - } - { - mode = "n"; - key = "]l"; - action = "lnextzz"; - } - { - mode = "n"; - key = "[l"; - action = "lprevzz"; - } - # 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 = "hs"; - action.__raw = '' - function() - require('gitsigns').stage_hunk { vim.fn.line '.', vim.fn.line 'v' } - end - ''; - options = { - desc = "stage git hunk"; - }; - } - { - mode = "v"; - key = "hr"; - action.__raw = '' - function() - require('gitsigns').reset_hunk { vim.fn.line '.', vim.fn.line 'v' } - end - ''; - options = { - desc = "reset git hunk"; - }; - } - { - mode = "n"; - key = "hs"; - action.__raw = '' - function() - require('gitsigns').stage_hunk() - end - ''; - options = { - desc = "git [s]tage hunk"; - }; - } - { - mode = "n"; - key = "hr"; - action.__raw = '' - function() - require('gitsigns').reset_hunk() - end - ''; - options = { - desc = "git [r]eset hunk"; - }; - } - { - mode = "n"; - key = "hS"; - action.__raw = '' - function() - require('gitsigns').stage_buffer() - end - ''; - options = { - desc = "git [S]tage buffer"; - }; - } - { - mode = "n"; - key = "hu"; - action.__raw = '' - function() - require('gitsigns').undo_stage_hunk() - end - ''; - options = { - desc = "git [u]ndo stage hunk"; - }; - } - { - mode = "n"; - key = "hR"; - action.__raw = '' - function() - require('gitsigns').reset_buffer() - end - ''; - options = { - desc = "git [R]eset buffer"; - }; - } - { - mode = "n"; - key = "hp"; - action.__raw = '' - function() - require('gitsigns').preview_hunk() - end - ''; - options = { - desc = "git [p]review hunk"; - }; - } - { - mode = "n"; - key = "hb"; - action.__raw = '' - function() - require('gitsigns').blame_line() - end - ''; - options = { - desc = "git [b]lame line"; - }; - } - { - mode = "n"; - key = "hd"; - action.__raw = '' - function() - require('gitsigns').diffthis() - end - ''; - options = { - desc = "git [d]iff against index"; - }; - } - { - mode = "n"; - key = "hD"; - action.__raw = '' - function() - require('gitsigns').diffthis '@' - end - ''; - options = { - desc = "git [D]iff against last commit"; - }; - } - # Toggles - { - mode = "n"; - key = "tb"; - action.__raw = '' - function() - require('gitsigns').toggle_current_line_blame() - end - ''; - options = { - desc = "[T]oggle git show [b]lame line"; - }; - } - { - mode = "n"; - key = "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 = { - "" = "cmp.mapping.select_next_item()"; - "" = "cmp.mapping.select_prev_item()"; - "" = "cmp.mapping.scroll_docs(-4)"; - "" = "cmp.mapping.scroll_docs(4)"; - "" = "cmp.mapping.confirm { select = true }"; - "" = "cmp.mapping.complete {}"; - "" = '' - cmp.mapping(function() - local luasnip = require('luasnip') - if luasnip.expand_or_locally_jumpable() then - luasnip.expand_or_jump() - end - end, { 'i', 's' }) - ''; - "" = '' - 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"; - "d" = "open_float"; - }; - lspBuf = { - "K" = "hover"; - "gd" = "definition"; - "gr" = "references"; - "rn" = "rename"; - "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; - }; - }; - }; -} diff --git a/modules/nixos/hyprland.nix b/modules/nixos/hyprland.nix deleted file mode 100644 index 855f745..0000000 --- a/modules/nixos/hyprland.nix +++ /dev/null @@ -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"; -}