Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b1caa0057 | ||
|
|
590b415352 | ||
|
|
db2ad54f74 |
10 changed files with 297 additions and 8 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
result
|
||||
|
|
@ -23,11 +23,18 @@ in
|
|||
[
|
||||
{
|
||||
config.dualBoot = true;
|
||||
config.networking.hostName = "nerv";
|
||||
}
|
||||
]
|
||||
++ mods;
|
||||
};
|
||||
flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = mods;
|
||||
modules = [
|
||||
{
|
||||
config.networking.hostName = "seele";
|
||||
}
|
||||
]
|
||||
++ mods;
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
163
modules/home/programs/niri.nix
Normal file
163
modules/home/programs/niri.nix
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
{ ... }: {
|
||||
flake.homeModules.niri = {
|
||||
wayland.windowManager.niri = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
prefer-no-csd
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
environment {
|
||||
GTK_THEME "adw-gtk3-dark"
|
||||
XDG_CURRENT_DESKTOP "niri"
|
||||
XDG_SESSION_TYPE "wayland"
|
||||
XDG_SESSION_DESKTOP "niri"
|
||||
QT_QPA_PLATFORM "wayland;xcb"
|
||||
OZONE_PLATFORM "wayland"
|
||||
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||
}
|
||||
cursor {
|
||||
xcursor-size 24
|
||||
xcursor-theme "macOS"
|
||||
}
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "eu"
|
||||
}
|
||||
}
|
||||
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
|
||||
}
|
||||
|
||||
mouse {
|
||||
accel-speed -0.4
|
||||
accel-profile "flat"
|
||||
}
|
||||
focus-follows-mouse max-scroll-amount="20%"
|
||||
|
||||
}
|
||||
|
||||
output "PNP(BNQ) BenQ EX2710Q K6R04023019" {
|
||||
mode "2560x1440@165.002"
|
||||
scale 1
|
||||
transform "normal"
|
||||
position x=1920 y=0
|
||||
}
|
||||
output "Dell Inc. DELL P2317H 9KFDW6C533DB" {
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
output "eDP-1" {
|
||||
scale 1
|
||||
}
|
||||
|
||||
|
||||
layout {
|
||||
gaps 16
|
||||
center-focused-column "never"
|
||||
default-column-width { proportion 0.6; }
|
||||
focus-ring {
|
||||
off
|
||||
}
|
||||
border {
|
||||
width 2
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
}
|
||||
spawn-at-startup "qs"
|
||||
screenshot-path null
|
||||
animations {}
|
||||
window-rule {
|
||||
geometry-corner-radius 16
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
binds {
|
||||
Mod+return { spawn-sh "ghostty +new-window"; }
|
||||
Mod+space { spawn "fuzzel"; }
|
||||
Mod+e { spawn "nautilus"; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||
|
||||
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
||||
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
||||
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
||||
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
Mod+Q 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; }
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{ inputs, ... }: {
|
||||
flake.homeModules.nixcord = {
|
||||
imports = [ inputs.nixcord.homeModules.nixord ];
|
||||
imports = [ inputs.nixcord.homeModules.nixcord ];
|
||||
programs.nixcord = {
|
||||
enable = true;
|
||||
discord.enable = false;
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
polkit.enable = true; # polkit
|
||||
# polkit.enablePkexecWrapper = true;
|
||||
};
|
||||
networking.networkmanager.enable = true;
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{ ... }: {
|
||||
flake.nixosModules.packages = { pkgs, ... }: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
programs.niri.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
stow
|
||||
ufetch
|
||||
|
|
|
|||
|
|
@ -15,7 +15,11 @@
|
|||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
home-manager.sharedModules = with self.homeModules; [
|
||||
|
||||
nixcord
|
||||
ghostty
|
||||
niri
|
||||
emacs
|
||||
homeStylix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue