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.dualBoot = true;
|
||||||
|
config.networking.hostName = "nerv";
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ mods;
|
++ mods;
|
||||||
};
|
};
|
||||||
flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem {
|
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, ... }: {
|
{ inputs, ... }: {
|
||||||
flake.homeModules.nixcord = {
|
flake.homeModules.nixcord = {
|
||||||
imports = [ inputs.nixcord.homeModules.nixord ];
|
imports = [ inputs.nixcord.homeModules.nixcord ];
|
||||||
programs.nixcord = {
|
programs.nixcord = {
|
||||||
enable = true;
|
enable = true;
|
||||||
discord.enable = false;
|
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.enable = true; # polkit
|
||||||
# polkit.enablePkexecWrapper = true;
|
# polkit.enablePkexecWrapper = true;
|
||||||
};
|
};
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
flake.nixosModules.packages = { pkgs, ... }: {
|
flake.nixosModules.packages = { pkgs, ... }: {
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
programs.niri.enable = true;
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
stow
|
stow
|
||||||
ufetch
|
ufetch
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,11 @@
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
home-manager.sharedModules = with self.homeModules; [
|
home-manager.sharedModules = with self.homeModules; [
|
||||||
|
nixcord
|
||||||
|
ghostty
|
||||||
|
niri
|
||||||
|
emacs
|
||||||
|
homeStylix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue