add niri, emacs and stylix modules
This commit is contained in:
parent
db2ad54f74
commit
590b415352
6 changed files with 304 additions and 5 deletions
|
|
@ -1,5 +0,0 @@
|
|||
{...}: {
|
||||
flake.homeModules.lucy = {
|
||||
|
||||
};
|
||||
}
|
||||
106
modules/home/programs/emacs.nix
Normal file
106
modules/home/programs/emacs.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{ ... }: {
|
||||
|
||||
flake.homeModules.emacs = { pkgs, ... }: {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
packages = pkgs.emacs-pgtk;
|
||||
extraConfig = ''
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(setq make-backup-files nil)
|
||||
|
||||
(add-to-list 'default-frame-alist '(font . "JetBrainsMono Nerd Font Mono-14"))
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa-snapshots"
|
||||
.
|
||||
"https://snapshots.melpa.org/packages/")
|
||||
t)
|
||||
;; add packages
|
||||
(use-package org-view-mode :ensure t)
|
||||
(use-package envrc :ensure t)
|
||||
|
||||
(use-package nix-mode :ensure t)
|
||||
(use-package
|
||||
eldoc-box
|
||||
:ensure t
|
||||
:hook (eglot-managed-mode . eldoc-box-hover-mode)
|
||||
)
|
||||
(use-package
|
||||
elisp-autofmt
|
||||
:ensure t
|
||||
:commands (elisp-autofmt-buffer elisp-autofmt-mode)
|
||||
:hook (emacs-lisp-mode . elisp-autofmt-mode)
|
||||
:config)
|
||||
(use-package portage-modes :ensure t)
|
||||
(use-package
|
||||
corfu
|
||||
:ensure t
|
||||
:init
|
||||
(setq
|
||||
corfu-auto t
|
||||
corfu-auto-prefix 1
|
||||
corfu-auto-delay 0.2)
|
||||
(global-corfu-mode))
|
||||
|
||||
(setq tab-always-indent 'complete)
|
||||
(use-package
|
||||
cape
|
||||
:ensure t
|
||||
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
|
||||
:init (add-hook 'completion-at-point-functions #'cape-file))
|
||||
(setq corfu-auto-prefix 2)
|
||||
(use-package qml-mode :ensure t)
|
||||
(use-package lua-mode :ensure t)
|
||||
(use-package elcord :ensure t :init (elcord-mode))
|
||||
|
||||
(add-to-list
|
||||
'display-buffer-alist
|
||||
'("\\*compilation\\*" (display-buffer-reuse-window
|
||||
display-buffer-below-selected)
|
||||
(window-height . 0.3)))
|
||||
|
||||
|
||||
;; remove useless shit and set default opts
|
||||
(setq org-hide-emphasis-markers t)
|
||||
(setq ring-bell-function 'ignore)
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(setq display-line-numbers-type 'relative)
|
||||
(global-display-line-numbers-mode +1)
|
||||
(global-tab-line-mode 1)
|
||||
(scroll-bar-mode -1)
|
||||
(setq inhibit-splash-screen 1)
|
||||
(setq custom-file "~/.emacs.d/custom.el")
|
||||
(load custom-file 'noerror)
|
||||
|
||||
|
||||
;; lsp shit
|
||||
(add-hook 'nix-mode-hook #'eglot-ensure)
|
||||
(add-hook 'c-mode-hook #'eglot-ensure)
|
||||
(add-hook 'qml-mode-hook #'eglot-ensure)
|
||||
(with-eval-after-load 'eglot
|
||||
(add-to-list 'eglot-server-programs '(nix-mode . ("nixd")))
|
||||
(add-to-list 'eglot-server-programs '(qml-mode . ("qmlls"))))
|
||||
|
||||
;; keybindings
|
||||
(keymap-global-set "C-c f" 'eglot-format)
|
||||
(keymap-global-set "C-c t" 'term)
|
||||
(keymap-global-set "C-c c" 'compile)
|
||||
(keymap-global-set "C-c k b" 'kill-current-buffer)
|
||||
(keymap-global-set "C-c k w" 'kill-buffer-and-window)
|
||||
(keymap-global-set "C-c v" 'org-view-mode)
|
||||
(windmove-default-keybindings)
|
||||
;; replace dashes with bullets in org mode
|
||||
(font-lock-add-keywords 'org-mode
|
||||
'(("^ +\\([-*]\\) "
|
||||
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
|
||||
|
||||
(setq org-view-prettify-credentials nil)
|
||||
(setq org-view-hide-keywords nil)
|
||||
(envrc-global-mode)
|
||||
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
184
modules/home/programs/niri.nix
Normal file
184
modules/home/programs/niri.nix
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
{ ... }: {
|
||||
flake.homeModules.niri = {
|
||||
wayland.windowManager.niri = {
|
||||
enable = true;
|
||||
settings = {
|
||||
prefer-no-csd = { };
|
||||
hotkey-overlay.skip-at-startup = { };
|
||||
input = {
|
||||
keyboard.xkb.layout = "eu";
|
||||
touchpad = {
|
||||
tap = { };
|
||||
natural-scroll = { };
|
||||
};
|
||||
mouse = {
|
||||
accel-speed = -0.4;
|
||||
accel-profile = "flat";
|
||||
};
|
||||
focus-follows-mouse._props.max-scroll-amount = "20%";
|
||||
};
|
||||
spawn-at-startup = [ "qs" ];
|
||||
screenshot-path = null;
|
||||
animations = { };
|
||||
layout = {
|
||||
gaps = 16;
|
||||
center-focused-column = "never";
|
||||
default-column-width._children = [ { proportion = 0.6; } ];
|
||||
};
|
||||
binds = {
|
||||
"Mod+Return".spawn-sh = "ghostty +new-window";
|
||||
"Mod+space".spawn = [ "fuzzel" ];
|
||||
"Mod+e".spawn = [ "nautilus" ];
|
||||
"XF86AudioRaiseVolume" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0";
|
||||
};
|
||||
"XF86AudioLowerVolume" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-";
|
||||
};
|
||||
"XF86AudioMute" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"XF86AudioMicMute" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||
};
|
||||
"XF86AudioPlay" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "playerctl play-pause";
|
||||
};
|
||||
"XF86AudioStop" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "playerctl stop";
|
||||
};
|
||||
"XF86AudioPrev" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "playerctl previous";
|
||||
};
|
||||
"XF86AudioNext" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn-sh = "playerctl next";
|
||||
};
|
||||
"XF86MonBrightnessUp" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn = [
|
||||
"brightnessctl"
|
||||
"--class=backlight"
|
||||
"set"
|
||||
"+10%"
|
||||
];
|
||||
};
|
||||
"XF86MonBrightnessDown" = {
|
||||
_props.allow-when-locked = true;
|
||||
spawn = [
|
||||
"brightnessctl"
|
||||
"--class=backlight"
|
||||
"set"
|
||||
"10%-"
|
||||
];
|
||||
};
|
||||
"Mod+O" = {
|
||||
_props.repeat = false;
|
||||
toggle-overview = { };
|
||||
};
|
||||
"Mod+Q" = {
|
||||
_props.repeat = false;
|
||||
close-window = { };
|
||||
};
|
||||
"Mod+Left".focus-column-left = { };
|
||||
"Mod+Down".focus-window-down = { };
|
||||
"Mod+Up".focus-window-up = { };
|
||||
"Mod+Right".focus-column-right = { };
|
||||
"Mod+H".focus-column-left = { };
|
||||
"Mod+J".focus-window-down = { };
|
||||
"Mod+K".focus-window-up = { };
|
||||
"Mod+L".focus-column-right = { };
|
||||
"Mod+Ctrl+Left".move-column-left = { };
|
||||
"Mod+Ctrl+Down".move-window-down = { };
|
||||
"Mod+Ctrl+Up".move-window-up = { };
|
||||
"Mod+Ctrl+Right".move-column-right = { };
|
||||
"Mod+Ctrl+H".move-column-left = { };
|
||||
"Mod+Ctrl+J".move-window-down = { };
|
||||
"Mod+Ctrl+K".move-window-up = { };
|
||||
"Mod+Ctrl+L".move-column-right = { };
|
||||
"Mod+comma".focus-monitor-left = { };
|
||||
"Mod+period".focus-monitor-right = { };
|
||||
"Mod+Shift+comma".move-column-to-monitor-left = { };
|
||||
"Mod+Shift+period".move-column-to-monitor-right = { };
|
||||
"Mod+Shift+WheelScrollDown".focus-column-right = { };
|
||||
"Mod+Shift+WheelScrollUp".focus-column-left = { };
|
||||
"Mod+1".focus-workspace = 1;
|
||||
"Mod+2".focus-workspace = 2;
|
||||
"Mod+3".focus-workspace = 3;
|
||||
"Mod+4".focus-workspace = 4;
|
||||
"Mod+5".focus-workspace = 5;
|
||||
"Mod+6".focus-workspace = 6;
|
||||
"Mod+7".focus-workspace = 7;
|
||||
"Mod+8".focus-workspace = 8;
|
||||
"Mod+9".focus-workspace = 9;
|
||||
"Mod+Shift+1".move-column-to-workspace = 1;
|
||||
"Mod+Shift+2".move-column-to-workspace = 2;
|
||||
"Mod+Shift+3".move-column-to-workspace = 3;
|
||||
"Mod+Shift+4".move-column-to-workspace = 4;
|
||||
"Mod+Shift+5".move-column-to-workspace = 5;
|
||||
"Mod+Shift+6".move-column-to-workspace = 6;
|
||||
"Mod+Shift+7".move-column-to-workspace = 7;
|
||||
"Mod+Shift+8".move-column-to-workspace = 8;
|
||||
"Mod+Shift+9".move-column-to-workspace = 9;
|
||||
"Mod+BracketLeft".consume-or-expel-window-left = { };
|
||||
"Mod+BracketRight".consume-or-expel-window-right = { };
|
||||
"Mod+F".maximize-column = { };
|
||||
"Mod+Minus".set-column-width = "-10%";
|
||||
"Mod+Equal".set-column-width = "+10%";
|
||||
"Mod+V".toggle-window-floating = { };
|
||||
"Mod+Shift+S".screenshot = { };
|
||||
"Alt+Shift+S".screenshot-screen = { };
|
||||
"Alt+Ctrl+S".screenshot-window = { };
|
||||
"Mod+Shift+q".quit = { };
|
||||
};
|
||||
_children = [
|
||||
{
|
||||
output = {
|
||||
_args = [ "PNP(BNQ) BenQ EX2710Q K6R04023019" ];
|
||||
mode = "2560x1440@165.002";
|
||||
scale = 1;
|
||||
transform = "normal";
|
||||
position._props = {
|
||||
x = 1920;
|
||||
y = 0;
|
||||
};
|
||||
position._props = {
|
||||
x = 1920;
|
||||
y = 0;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
output = {
|
||||
_args = [ "Dell Inc. DELL P2317H 9KFDW6C533DB" ];
|
||||
position._props = {
|
||||
x = 0;
|
||||
y = 0;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
output = {
|
||||
_args = [ "eDP-1" ];
|
||||
scale = 1;
|
||||
};
|
||||
}
|
||||
{
|
||||
window-rule._children = [
|
||||
{ geometry-corner-radius = 16; }
|
||||
{ clip-to-geometry = true; }
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
11
modules/home/stylix/targets.nix
Normal file
11
modules/home/stylix/targets.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{inputs, ...}: {
|
||||
flake.homeModules.homeStylix = {
|
||||
imports = [ inputs.stylix.homeModules.stylix ];
|
||||
stylix.targets = {
|
||||
ghostty.enable = true;
|
||||
fuzzel.enable = true;
|
||||
gtk.enable = true;
|
||||
niri.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -17,6 +17,9 @@
|
|||
home-manager.sharedModules = with self.homeModules; [
|
||||
nixcord
|
||||
ghostty
|
||||
niri
|
||||
emacs
|
||||
homeStylix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue