remove hyprland

This commit is contained in:
Michael Thomson 2025-06-29 07:24:41 -04:00
parent 23cbac2b68
commit b5d3fbe60d
Signed by: mthomson
GPG Key ID: B6CA05EE5F436C79
9 changed files with 68 additions and 825 deletions

View File

@ -12,11 +12,6 @@
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";

View File

@ -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/nixvim.nix ../../modules/home-manager/nixcats
../../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

View File

@ -55,6 +55,7 @@
dotnet-sdk dotnet-sdk
watchman watchman
typescript-language-server typescript-language-server
scrcpy
]; ];
programs.home-manager.enable = true; programs.home-manager.enable = true;

View File

@ -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/nixvim.nix ../../modules/home-manager/nixcats
../../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

View File

@ -13,6 +13,9 @@
typescript typescript
nodejs nodejs
# mathpix-snipping-tool # mathpix-snipping-tool
cmake
libtool
glibtool
]; ];
programs.emacs = { programs.emacs = {

View File

@ -28,6 +28,8 @@
(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
@ -81,8 +83,22 @@
(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
@ -100,7 +116,7 @@
:custom :custom
(org-return-follows-link t) (org-return-follows-link t)
(org-hide-emphasis-markers t) (org-hide-emphasis-markers t)
(org-capture-templates (org-capturen-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"))
@ -118,6 +134,11 @@
: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
@ -369,17 +390,21 @@
(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-auto-prefix 1) (corfu-cycle t)
(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))
@ -388,16 +413,18 @@
: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
@ -539,17 +566,19 @@
: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
;; :hook ;; :config
;; (after-init . envrc-global-mode)) ;; (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 ;; (use-package add-node-modules-path
;; :ensure t ;; :ensure t
@ -646,5 +675,21 @@
:straight t :straight t
:bind ("C-c d" . docker)) :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 ;;; init.el ends here

View File

@ -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"
];
};
};
};
}

View File

@ -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;
};
};
};
}

View File

@ -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";
}