update
This commit is contained in:
parent
fd229ecd76
commit
371b1b1432
|
@ -1,6 +1,6 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
|
#REGION test
|
||||||
#sound.enable = true;
|
#sound.enable = true;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
@ -9,20 +9,20 @@
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
systemWide = false;
|
systemWide = true;
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
};
|
};
|
||||||
hardware.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
|
|
||||||
environment.sessionVariables =
|
environment.sessionVariables =
|
||||||
let
|
let
|
||||||
makePluginPath = format:
|
makePluginPath =
|
||||||
(lib.makeSearchPath format [
|
format:
|
||||||
|
"$HOME/.${format}:"
|
||||||
|
+ (lib.makeSearchPath format [
|
||||||
"$HOME/.nix-profile/lib"
|
"$HOME/.nix-profile/lib"
|
||||||
"/run/current-system/sw/lib"
|
"/run/current-system/sw/lib"
|
||||||
"/etc/profiles/per-user/$USER/lib"
|
"/etc/profiles/per-user/$USER/lib"
|
||||||
])
|
]);
|
||||||
+ ":$HOME/.${format}";
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
ALSOFT_DRIVERS = "pulse";
|
ALSOFT_DRIVERS = "pulse";
|
||||||
|
@ -36,11 +36,37 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev = {
|
services.udev = let
|
||||||
|
script = pkgs.writeShellScript "arch-mknod" ''
|
||||||
|
ACTION=$1
|
||||||
|
KERNEL=$(basename $2)
|
||||||
|
MAJOR=$3
|
||||||
|
MINOR=$4
|
||||||
|
|
||||||
|
|
||||||
|
if (systemctl is-active --quiet systemd-nspawn@archlinux); then
|
||||||
|
if [[ $ACTION == "add" || "$ACTION" == "change" ]]; then
|
||||||
|
machinectl shell root@archlinux /bin/bash -c "
|
||||||
|
if ! [ -f /dev/$KERNEL ]; then
|
||||||
|
mknod /dev/$KERNEL c $MAJOR $MINOR
|
||||||
|
chmod 660 /dev/$KERNEL
|
||||||
|
chown root:input /dev/$KERNEL
|
||||||
|
fi
|
||||||
|
"
|
||||||
|
elif [[ $ACTION == "remove" ]]; then
|
||||||
|
machinectl shell root@archlinux /bin/rm /dev/$KERNEL
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
'';
|
||||||
|
in {
|
||||||
extraRules = ''
|
extraRules = ''
|
||||||
KERNEL=="rtc0", GROUP="audio"
|
KERNEL=="rtc0", GROUP="audio"
|
||||||
KERNEL=="hpet", GROUP="audio"
|
KERNEL=="hpet", GROUP="audio"
|
||||||
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
|
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
|
||||||
|
|
||||||
|
|
||||||
|
SUBSYSTEM=="hidraw", KERNEL=="hidraw*", RUN+="${script} ''$env{ACTION} ''$env{DEVNAME} ''$env{MAJOR} ''$env{MINOR}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
@ -102,10 +102,15 @@ in
|
||||||
"/:/run/host-root"
|
"/:/run/host-root"
|
||||||
|
|
||||||
"/run/udev"
|
"/run/udev"
|
||||||
|
"/run/pipewire"
|
||||||
|
|
||||||
|
"/sys/class"
|
||||||
|
"/sys/devices"
|
||||||
|
|
||||||
"/dev/fuse"
|
"/dev/fuse"
|
||||||
"/dev/snd"
|
"/dev/snd"
|
||||||
"/dev/input"
|
"/dev/input"
|
||||||
|
"/dev/uinput"
|
||||||
"/dev/shm"
|
"/dev/shm"
|
||||||
"/dev/kfd"
|
"/dev/kfd"
|
||||||
"/dev/dri"
|
"/dev/dri"
|
||||||
|
@ -131,9 +136,10 @@ in
|
||||||
overrideStrategy = "asDropin";
|
overrideStrategy = "asDropin";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
DeviceAllow = [
|
DeviceAllow = [
|
||||||
"char-tty rwm"
|
"char-* rwm"
|
||||||
"char-input rwm"
|
"block-* rwm"
|
||||||
"char-drm rwm"
|
"/dev/shm rwm"
|
||||||
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -24,7 +24,8 @@ in
|
||||||
"rcu_nocbs=${materusArg.materusPC.vmCores}"
|
"rcu_nocbs=${materusArg.materusPC.vmCores}"
|
||||||
"nohz_full=${materusArg.materusPC.vmCores}"
|
"nohz_full=${materusArg.materusPC.vmCores}"
|
||||||
"vfio_iommu_type1.allow_unsafe_interrupts=1"
|
"vfio_iommu_type1.allow_unsafe_interrupts=1"
|
||||||
"pcie_acs_override=downstream,multifunction" /*"pci-stub.ids=1002:744c"*/
|
"pcie_acs_override=downstream,multifunction"
|
||||||
|
#''vfio-pci.ids="1002:744c"''
|
||||||
"nox2apic"
|
"nox2apic"
|
||||||
"nvme_core.default_ps_max_latency_us=0"
|
"nvme_core.default_ps_max_latency_us=0"
|
||||||
"nvme_core.io_timeout=255"
|
"nvme_core.io_timeout=255"
|
||||||
|
@ -32,10 +33,13 @@ in
|
||||||
"nvme_core.shutdown_timeout=10"
|
"nvme_core.shutdown_timeout=10"
|
||||||
"amd_iommu=on"
|
"amd_iommu=on"
|
||||||
"amdgpu.ppfeaturemask=0xffffffff"
|
"amdgpu.ppfeaturemask=0xffffffff"
|
||||||
|
"amdgpu.runpm=0"
|
||||||
"iommu=pt"
|
"iommu=pt"
|
||||||
"psi=1"
|
"psi=1"
|
||||||
|
"i915.force_probe=!56a6"
|
||||||
|
"xe.force_probe=56a6"
|
||||||
] ++ video;
|
] ++ video;
|
||||||
boot.kernelModules = [ "pci-stub" "amdgpu" "i2c_dev" "kvm_amd" "vfio" "vfio_iommu_type1" "vfio-pci" "kvmfr" ];
|
boot.kernelModules = [ "pci-stub" "amdgpu" "i2c_dev" "kvm_amd" "vfio" "vfio_iommu_type1" "vfio-pci" "kvmfr" "xe" ];
|
||||||
boot.extraModprobeConfig = ''
|
boot.extraModprobeConfig = ''
|
||||||
options kvm_amd nested=1 avic=1 npt=1 sev=0
|
options kvm_amd nested=1 avic=1 npt=1 sev=0
|
||||||
options vfio_iommu_type1 allow_unsafe_interrupts=1
|
options vfio_iommu_type1 allow_unsafe_interrupts=1
|
||||||
|
@ -49,8 +53,8 @@ in
|
||||||
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "vfio-pci" "amdgpu" ];
|
||||||
|
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback kvmfr ];
|
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback kvmfr ];
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
hardware.opengl.driSupport32Bit = true;
|
hardware.opengl.driSupport32Bit = true;
|
||||||
hardware.opengl.extraPackages = with pkgs; [
|
hardware.opengl.extraPackages = with pkgs; [
|
||||||
vaapiVdpau
|
vaapiVdpau
|
||||||
|
vpl-gpu-rt
|
||||||
|
intel-media-driver
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
amdvlk
|
amdvlk
|
||||||
vkbasalt
|
vkbasalt
|
||||||
|
|
|
@ -1,16 +1,21 @@
|
||||||
{ pkgs, materusArg, lib, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
materusArg,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./plasma.nix
|
./plasma.nix
|
||||||
];
|
];
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
home.homeDirectory = "/home/materus";
|
home.homeDirectory = "/home/materus";
|
||||||
|
|
||||||
programs.git.signing.signByDefault = true;
|
programs.git.signing.signByDefault = true;
|
||||||
|
|
||||||
xdg.userDirs.enable = true;
|
xdg.userDirs.enable = true;
|
||||||
materus.profile = {
|
materus.profile = {
|
||||||
|
|
||||||
fonts.enable = lib.mkDefault true;
|
fonts.enable = lib.mkDefault true;
|
||||||
nixpkgs.enable = lib.mkDefault false;
|
nixpkgs.enable = lib.mkDefault false;
|
||||||
enableDesktop = lib.mkDefault true;
|
enableDesktop = lib.mkDefault true;
|
||||||
|
@ -19,78 +24,86 @@
|
||||||
enableNixDevel = lib.mkDefault true;
|
enableNixDevel = lib.mkDefault true;
|
||||||
editor.emacs.enable = true;
|
editor.emacs.enable = true;
|
||||||
editor.code.fhs.enable = true;
|
editor.code.fhs.enable = true;
|
||||||
editor.code.fhs.packages = (ps: with ps; let llvmpkgs = llvmPackages_18; in [
|
editor.code.fhs.packages = (
|
||||||
llvmpkgs.clang
|
ps:
|
||||||
llvmpkgs.llvm
|
with ps;
|
||||||
llvmpkgs.bintools
|
let
|
||||||
llvmpkgs.lld
|
llvmpkgs = llvmPackages_18;
|
||||||
llvmpkgs.lldb
|
in
|
||||||
llvmpkgs.libllvm
|
[
|
||||||
llvmpkgs.mlir
|
llvmpkgs.clang
|
||||||
llvmpkgs.libllvm.dev
|
llvmpkgs.llvm
|
||||||
|
llvmpkgs.bintools
|
||||||
|
llvmpkgs.lld
|
||||||
|
llvmpkgs.lldb
|
||||||
|
llvmpkgs.libllvm
|
||||||
|
llvmpkgs.mlir
|
||||||
|
llvmpkgs.libllvm.dev
|
||||||
|
|
||||||
fpc
|
fpc
|
||||||
xmake
|
xmake
|
||||||
raylib
|
raylib
|
||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
materusArg.unstable.nixd
|
materusArg.unstable.nixd
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
cmake
|
cmake
|
||||||
gnumake
|
gnumake
|
||||||
ninja
|
ninja
|
||||||
binutils
|
binutils
|
||||||
coreutils
|
coreutils
|
||||||
util-linux
|
util-linux
|
||||||
openssl
|
openssl
|
||||||
openssl.dev
|
openssl.dev
|
||||||
pkg-config
|
pkg-config
|
||||||
dotnet-sdk_8
|
dotnet-sdk_8
|
||||||
mono
|
mono
|
||||||
mold
|
mold
|
||||||
python3
|
python3
|
||||||
lua
|
lua
|
||||||
gtk4.dev
|
gtk4.dev
|
||||||
gtk4
|
gtk4
|
||||||
glib
|
glib
|
||||||
glib.dev
|
glib.dev
|
||||||
miniaudio
|
miniaudio
|
||||||
SDL2.dev
|
SDL2.dev
|
||||||
SDL2
|
SDL2
|
||||||
freeglut.dev
|
freeglut.dev
|
||||||
freeglut
|
freeglut
|
||||||
boost.dev
|
boost.dev
|
||||||
boost
|
boost
|
||||||
glew.dev
|
glew.dev
|
||||||
libGL.dev
|
libGL.dev
|
||||||
libGLU.dev
|
libGLU.dev
|
||||||
vulkan-loader.dev
|
vulkan-loader.dev
|
||||||
vulkan-headers
|
vulkan-headers
|
||||||
xorg.xorgproto
|
xorg.xorgproto
|
||||||
xorg.libX11.dev
|
xorg.libX11.dev
|
||||||
xorg.libXrandr.dev
|
xorg.libXrandr.dev
|
||||||
xorg.libXrender.dev
|
xorg.libXrender.dev
|
||||||
rustup
|
rustup
|
||||||
freetype.dev
|
freetype.dev
|
||||||
|
|
||||||
fpc
|
fpc
|
||||||
gradle
|
gradle
|
||||||
bison
|
bison
|
||||||
flex
|
flex
|
||||||
|
|
||||||
ldc
|
ldc
|
||||||
dmd
|
dmd
|
||||||
dub
|
dub
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
materusArg.pkgs.ffmpeg_7-amf-full
|
materusArg.pkgs.ffmpeg_7-amf-full
|
||||||
(materusArg.pkgs.polymc-qt5.wrap { extraJDKs = [ pkgs.graalvm-ce ]; extraLibs = [ ]; })
|
(materusArg.pkgs.polymc.wrap {
|
||||||
|
extraJDKs = [ pkgs.graalvm-ce ];
|
||||||
|
extraLibs = [ ];
|
||||||
|
})
|
||||||
pkgs.git-crypt
|
pkgs.git-crypt
|
||||||
pkgs.obsidian
|
pkgs.obsidian
|
||||||
];
|
];
|
||||||
|
@ -133,7 +146,11 @@
|
||||||
exec = "${script} %U";
|
exec = "${script} %U";
|
||||||
icon = "brave-browser";
|
icon = "brave-browser";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
categories = [ "Application" "Network" "WebBrowser" ];
|
categories = [
|
||||||
|
"Application"
|
||||||
|
"Network"
|
||||||
|
"WebBrowser"
|
||||||
|
];
|
||||||
mimeType = [
|
mimeType = [
|
||||||
"application/pdf"
|
"application/pdf"
|
||||||
"application/rdf+xml"
|
"application/rdf+xml"
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
services.displayManager.defaultSession = "plasma";
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
xdg.portal.wlr.enable = true;
|
xdg.portal.wlr.enable = true;
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
|
plasma-materus = pkgs.writeScript "plasma-materus" ''
|
||||||
|
export KWIN_DRM_DEVICES="/dev/dri/by-path/pci-0000\:53\:00.0-card"
|
||||||
|
${pkgs.kdePackages.plasma-workspace}/libexec/plasma-dbus-run-session-if-needed ${pkgs.kdePackages.plasma-workspace}/bin/startplasma-wayland
|
||||||
|
'';
|
||||||
|
|
||||||
westonSddm = let xcfg = config.services.xserver; in pkgs.writeText "weston.ini"
|
westonSddm = let xcfg = config.services.xserver; in pkgs.writeText "weston.ini"
|
||||||
''
|
''
|
||||||
[core]
|
[core]
|
||||||
|
@ -21,7 +26,7 @@ let
|
||||||
mode=1920x1080@240
|
mode=1920x1080@240
|
||||||
|
|
||||||
[output]
|
[output]
|
||||||
name=DP-2
|
name=DP-4
|
||||||
mode=off
|
mode=off
|
||||||
|
|
||||||
[output]
|
[output]
|
||||||
|
@ -31,6 +36,8 @@ let
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
services.displayManager.defaultSession = "plasma-materus";
|
||||||
|
|
||||||
services.displayManager.sddm.enable = true;
|
services.displayManager.sddm.enable = true;
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
services.displayManager.sddm.wayland.enable = true;
|
||||||
services.displayManager.sddm.wayland.compositor = lib.mkForce "weston";
|
services.displayManager.sddm.wayland.compositor = lib.mkForce "weston";
|
||||||
|
@ -39,6 +46,17 @@ in
|
||||||
"--shell=kiosk"
|
"--shell=kiosk"
|
||||||
"-c ${westonSddm}"
|
"-c ${westonSddm}"
|
||||||
];
|
];
|
||||||
|
services.displayManager.sessionPackages = [
|
||||||
|
((pkgs.writeTextDir "share/wayland-sessions/plasma-materus.desktop" ''
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Plasma (Wayland Materus)
|
||||||
|
Comment=Plasma Desktop with KWIN_DRM_DEVICES env
|
||||||
|
Exec=${plasma-materus}
|
||||||
|
DesktopNames=KDE
|
||||||
|
Type=Application
|
||||||
|
'')
|
||||||
|
.overrideAttrs (_: {passthru.providedSessions = ["plasma-materus"];}))
|
||||||
|
];
|
||||||
|
|
||||||
services.displayManager.sddm.settings = {
|
services.displayManager.sddm.settings = {
|
||||||
General = {
|
General = {
|
||||||
|
@ -49,4 +67,4 @@ in
|
||||||
CursorSize = "24";
|
CursorSize = "24";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
programs.gamemode.enable = true;
|
programs.gamemode.enable = true;
|
||||||
programs.corectrl.enable = true;
|
programs.corectrl.enable = true;
|
||||||
|
|
||||||
|
@ -14,13 +14,29 @@
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
|
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
|
||||||
|
|
||||||
|
# Gamepad
|
||||||
|
services.udev = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
game-devices-udev-rules
|
||||||
|
];
|
||||||
|
};
|
||||||
|
hardware.uinput.enable = true;
|
||||||
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
|
nix.package = pkgs.nixVersions.nix_2_28;
|
||||||
|
programs.steam = {
|
||||||
|
enable = false;
|
||||||
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
|
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||||
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
|
};
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
services.xserver.xkb.layout = "pl";
|
services.xserver.xkb.layout = "pl";
|
||||||
|
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
#services.xserver.videoDrivers = [ "amdgpu" "intel" ];
|
||||||
services.dbus.enable = true;
|
services.dbus.enable = true;
|
||||||
services.dbus.packages = [ pkgs.gcr ];
|
services.dbus.packages = [ pkgs.gcr ];
|
||||||
|
|
||||||
|
@ -128,9 +144,6 @@
|
||||||
autoStart = false;
|
autoStart = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.sane.enable = true;
|
|
||||||
hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ];
|
|
||||||
|
|
||||||
environment.enableAllTerminfo = true;
|
environment.enableAllTerminfo = true;
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
"/share/zsh"
|
"/share/zsh"
|
||||||
|
|
|
@ -7,9 +7,9 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = materusArg.unstable.neovim-unwrapped;
|
package = pkgs.neovim-unwrapped;
|
||||||
coc.enable = true;
|
coc.enable = true;
|
||||||
coc.package = materusArg.unstable.vimPlugins.coc-nvim;
|
coc.package = pkgs.vimPlugins.coc-nvim;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
|
@ -25,7 +25,7 @@ in
|
||||||
extraPackages = with pkgs;[
|
extraPackages = with pkgs;[
|
||||||
];
|
];
|
||||||
|
|
||||||
plugins = with materusArg.unstable.vimPlugins;[
|
plugins = with pkgs.vimPlugins;[
|
||||||
syntastic
|
syntastic
|
||||||
vim-fugitive
|
vim-fugitive
|
||||||
vim-airline
|
vim-airline
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#+PROPERTY: header-args :tangle no :noweb yes
|
#+PROPERTY: header-args :tangle no :noweb yes
|
||||||
#+OPTIONS: \n:t
|
#+OPTIONS: \n:t
|
||||||
#+auto_tangle: t
|
#+auto_tangle: t
|
||||||
|
|
||||||
* Table of Contents :noexport:TOC_3:
|
* Table of Contents :noexport:TOC_3:
|
||||||
- [[#early-init][Early Init]]
|
- [[#early-init][Early Init]]
|
||||||
- [[#init-core][Init Core]]
|
- [[#init-core][Init Core]]
|
||||||
|
@ -23,12 +24,14 @@
|
||||||
- [[#modeline][Modeline]]
|
- [[#modeline][Modeline]]
|
||||||
- [[#dashboard][Dashboard]]
|
- [[#dashboard][Dashboard]]
|
||||||
- [[#highlight-indent-guides][Highlight Indent Guides]]
|
- [[#highlight-indent-guides][Highlight Indent Guides]]
|
||||||
|
- [[#outli][Outli]]
|
||||||
|
- [[#visual-replace][Visual Replace]]
|
||||||
- [[#terminal][Terminal]]
|
- [[#terminal][Terminal]]
|
||||||
- [[#eat][Eat]]
|
- [[#eat][Eat]]
|
||||||
- [[#vterm][Vterm]]
|
- [[#vterm][Vterm]]
|
||||||
- [[#navigation-and-completion][Navigation and Completion]]
|
- [[#navigation-and-completion][Navigation and Completion]]
|
||||||
- [[#helm][HELM]]
|
- [[#minibuffer-orderless-vertico-marginalia-consult][minibuffer (orderless, vertico, marginalia, consult)]]
|
||||||
- [[#comapny][Comapny]]
|
- [[#code-completion-cape-corfu][Code completion (Cape, corfu)]]
|
||||||
- [[#dirvish][Dirvish]]
|
- [[#dirvish][Dirvish]]
|
||||||
- [[#treemacs][Treemacs]]
|
- [[#treemacs][Treemacs]]
|
||||||
- [[#programming][Programming]]
|
- [[#programming][Programming]]
|
||||||
|
@ -66,9 +69,11 @@
|
||||||
- [[#keybindings][Keybindings]]
|
- [[#keybindings][Keybindings]]
|
||||||
- [[#final-code][Final Code]]
|
- [[#final-code][Final Code]]
|
||||||
- [[#links][Links]]
|
- [[#links][Links]]
|
||||||
|
- [[#tests][Tests]]
|
||||||
- [[#archive][Archive]]
|
- [[#archive][Archive]]
|
||||||
- [[#minibuffer-orderless-vertico-marginalia-consult][minibuffer (orderless, vertico, marginalia, consult)]]
|
- [[#navigation-and-completion-1][Navigation and completion]]
|
||||||
- [[#code-completion-cape-corfu][Code completion (Cape, corfu)]]
|
- [[#helm][HELM]]
|
||||||
|
- [[#comapny][Comapny]]
|
||||||
|
|
||||||
* Early Init
|
* Early Init
|
||||||
#+begin_src emacs-lisp :tangle (expand-file-name "early-init.el" user-emacs-directory) :noweb-ref early-init
|
#+begin_src emacs-lisp :tangle (expand-file-name "early-init.el" user-emacs-directory) :noweb-ref early-init
|
||||||
|
@ -81,7 +86,9 @@
|
||||||
|
|
||||||
(setq c-default-style nil) ; Clear default styles for languages, will set them up later
|
(setq c-default-style nil) ; Clear default styles for languages, will set them up later
|
||||||
(setq default-input-method nil) ; Disable default input method, I'm not using them anyway so far
|
(setq default-input-method nil) ; Disable default input method, I'm not using them anyway so far
|
||||||
(setq initial-major-mode 'fundamental-mode) ; Use fundamental mode in scratch buffer, speed up loading, not really important when emacs used as daemon
|
|
||||||
|
(setq initial-major-mode 'emacs-lisp-mode)
|
||||||
|
|
||||||
(setq auto-save-default nil) ; TODO: configure auto saves, disable for now
|
(setq auto-save-default nil) ; TODO: configure auto saves, disable for now
|
||||||
(setq backup-directory-alist
|
(setq backup-directory-alist
|
||||||
`((".*" . ,(concat user-emacs-directory "var/backups/")))) ; Set backup location
|
`((".*" . ,(concat user-emacs-directory "var/backups/")))) ; Set backup location
|
||||||
|
@ -95,7 +102,7 @@
|
||||||
(setq package-quickstart nil) ; Disable package quickstart
|
(setq package-quickstart nil) ; Disable package quickstart
|
||||||
|
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
|
|
||||||
(setq inhibit-compacting-font-caches t) ; Don't compact fonts
|
(setq inhibit-compacting-font-caches t) ; Don't compact fonts
|
||||||
|
|
||||||
(set-language-environment "UTF-8") ; Use UTF-8
|
(set-language-environment "UTF-8") ; Use UTF-8
|
||||||
|
@ -146,21 +153,17 @@
|
||||||
;;; NATIVE COMPILATION
|
;;; NATIVE COMPILATION
|
||||||
|
|
||||||
(setq native-comp-async-report-warnings-errors nil) ; Silence warnings
|
(setq native-comp-async-report-warnings-errors nil) ; Silence warnings
|
||||||
(setq native-comp-speed 3) ; Set native-comp speed
|
(setq native-comp-speed 2) ; Set native-comp speed
|
||||||
|
|
||||||
(setq native-comp-jit-compilation t
|
(setq native-comp-jit-compilation t
|
||||||
;;native-comp-deferred-compilation t
|
native-comp-deferred-compilation t
|
||||||
package-native-compile t)
|
package-native-compile t)
|
||||||
|
|
||||||
|
|
||||||
;; Setting up native-comp cache location
|
;; Setting up native-comp cache location
|
||||||
|
|
||||||
(when (and (fboundp 'startup-redirect-eln-cache)
|
(when (boundp 'native-comp-eln-load-path)
|
||||||
(fboundp 'native-comp-available-p)
|
(startup-redirect-eln-cache (expand-file-name "var/eln-cache/" user-emacs-directory)))
|
||||||
(native-comp-available-p))
|
|
||||||
(startup-redirect-eln-cache
|
|
||||||
(convert-standard-filename
|
|
||||||
(concat user-emacs-directory "var/eln-cache/"))))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Init Core
|
* Init Core
|
||||||
|
@ -176,7 +179,7 @@
|
||||||
(print "WARN: emacs-build-time not set up, using current time")
|
(print "WARN: emacs-build-time not set up, using current time")
|
||||||
(setq emacs-build-time (decode-time (current-time))))
|
(setq emacs-build-time (decode-time (current-time))))
|
||||||
(add-to-list 'load-path (concat user-emacs-directory "etc/pkgs/")) ; Extra load path for packages
|
(add-to-list 'load-path (concat user-emacs-directory "etc/pkgs/")) ; Extra load path for packages
|
||||||
|
(defvar materus/nixos-config (getenv "MATERUS_CONFIG_DIR"))
|
||||||
(setq read-process-output-max (* 1024 1024 3))
|
(setq read-process-output-max (* 1024 1024 3))
|
||||||
|
|
||||||
#+END_src
|
#+END_src
|
||||||
|
@ -237,6 +240,33 @@
|
||||||
(use-package ,package :ensure nil ,@body))
|
(use-package ,package :ensure nil ,@body))
|
||||||
`(use-package ,package ,@body)))
|
`(use-package ,package ,@body)))
|
||||||
|
|
||||||
|
(defun materus/--outli-modes ()
|
||||||
|
"Check if supported mode"
|
||||||
|
(or (eq major-mode 'nix-mode)
|
||||||
|
(eq major-mode 'nix-ts-mode)
|
||||||
|
(eq major-mode 'c-mode)
|
||||||
|
(eq major-mode 'c-ts-mode)
|
||||||
|
(eq major-mode 'c++-mode)
|
||||||
|
(eq major-mode 'c++-ts-mode)))
|
||||||
|
|
||||||
|
(defun materus/--fix-outli-formatting (FORMATTER STATUS)
|
||||||
|
"Remove whitespaces before outli headers"
|
||||||
|
(when (and (materus/--outli-modes)
|
||||||
|
(eq STATUS :reformatted))
|
||||||
|
(save-excursion
|
||||||
|
(save-restriction
|
||||||
|
(widen)
|
||||||
|
(goto-char (point-min))
|
||||||
|
(while (re-search-forward (concat "^[ ]+\\(" comment-start "\\*+ +[^ ].*\\)[ ]*") nil t)
|
||||||
|
(replace-match "\\1"))))))
|
||||||
|
|
||||||
|
(defun materus/--electric-indent-ignore-outli (char)
|
||||||
|
"Don't indent outli headers"
|
||||||
|
(when (materus/--outli-modes)
|
||||||
|
(save-excursion
|
||||||
|
(backward-char)
|
||||||
|
(beginning-of-line)
|
||||||
|
(if (not (looking-at-p (concat "^\\(" comment-start "\\*+ +[^ ].*\\)[ ]*"))) nil 'no-indent))))
|
||||||
#+END_src
|
#+END_src
|
||||||
|
|
||||||
** Custom File
|
** Custom File
|
||||||
|
@ -269,6 +299,8 @@
|
||||||
(set-frame-parameter frame 'fullscreen 'maximized))
|
(set-frame-parameter frame 'fullscreen 'maximized))
|
||||||
(select-frame-set-input-focus frame) )))
|
(select-frame-set-input-focus frame) )))
|
||||||
(global-tab-line-mode 1)
|
(global-tab-line-mode 1)
|
||||||
|
(setq tab-line-close-tab-function 'kill-buffer)
|
||||||
|
|
||||||
(setq window-divider-default-bottom-width 1)
|
(setq window-divider-default-bottom-width 1)
|
||||||
(setq window-divider-default-right-width 1)
|
(setq window-divider-default-right-width 1)
|
||||||
(window-divider-mode 1)
|
(window-divider-mode 1)
|
||||||
|
@ -329,19 +361,19 @@ Setting up mouse
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Modeline
|
*** Modeline
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; (use-package doom-modeline
|
(use-package doom-modeline
|
||||||
;; :init (setq doom-modeline-support-imenu t)
|
:init (setq doom-modeline-support-imenu t)
|
||||||
;; :hook (elpaca-after-init . doom-modeline-mode)
|
:hook (elpaca-after-init . doom-modeline-mode)
|
||||||
;; :config
|
:config
|
||||||
;; (setq doom-modeline-icon t)
|
(setq doom-modeline-icon t)
|
||||||
;; (setq doom-modeline-project-detection 'auto)
|
(setq doom-modeline-project-detection 'auto)
|
||||||
;; (setq doom-modeline-height 20)
|
(setq doom-modeline-height 20)
|
||||||
;; (setq doom-modeline-enable-word-count t)
|
(setq doom-modeline-enable-word-count t)
|
||||||
;; (setq doom-modeline-minor-modes t)
|
(setq doom-modeline-minor-modes t)
|
||||||
;; (setq display-time-24hr-format t)
|
(setq display-time-24hr-format t)
|
||||||
;; (display-time-mode 1)
|
(display-time-mode 1)
|
||||||
;; (column-number-mode 1)
|
(column-number-mode 1)
|
||||||
;; (line-number-mode 1))
|
(line-number-mode 1))
|
||||||
|
|
||||||
(use-package minions
|
(use-package minions
|
||||||
:hook (elpaca-after-init . minions-mode))
|
:hook (elpaca-after-init . minions-mode))
|
||||||
|
@ -377,6 +409,20 @@ Setting up mouse
|
||||||
(use-package highlight-indent-guides
|
(use-package highlight-indent-guides
|
||||||
:hook ((prog-mode . highlight-indent-guides-mode)))
|
:hook ((prog-mode . highlight-indent-guides-mode)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
*** Outli
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package outli
|
||||||
|
:ensure (:host github :repo "jdtsmith/outli")
|
||||||
|
:hook ((prog-mode . outli-mode)))
|
||||||
|
#+end_src
|
||||||
|
*** Visual Replace
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package visual-replace
|
||||||
|
:defer t
|
||||||
|
:bind (("C-r" . visual-replace)
|
||||||
|
:map isearch-mode-map
|
||||||
|
("C-r" . visual-replace-from-isearch)))
|
||||||
|
#+end_src
|
||||||
** Terminal
|
** Terminal
|
||||||
*** Eat
|
*** Eat
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -414,40 +460,109 @@ Setting up mouse
|
||||||
(materus/use-package vterm)
|
(materus/use-package vterm)
|
||||||
#+end_src
|
#+end_src
|
||||||
** Navigation and Completion
|
** Navigation and Completion
|
||||||
*** HELM
|
*** minibuffer (orderless, vertico, marginalia, consult)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package helm
|
(use-package orderless
|
||||||
:config
|
:init
|
||||||
(setq helm-x-icons-provider 'nerd-icons)
|
;; Tune the global completion style settings to your liking!
|
||||||
(setq helm-move-to-line-cycle-in-source nil)
|
;; This affects the minibuffer and non-lsp completion at point.
|
||||||
(helm-mode 1)
|
(setq completion-styles '(basic partial-completion orderless)
|
||||||
)
|
completion-category-defaults nil
|
||||||
(use-package helm-projectile
|
completion-category-overrides nil))
|
||||||
:after (helm projectile))
|
(use-package consult)
|
||||||
(use-package helm-ag
|
(use-package marginalia)
|
||||||
:after (helm))
|
(use-package embark)
|
||||||
(use-package helm-rg
|
(use-package embark-consult
|
||||||
:after (helm))
|
:after (embark consult))
|
||||||
(use-package helm-ls-git
|
|
||||||
:after (helm))
|
|
||||||
#+end_src
|
|
||||||
#+begin_src emacs-lisp :tangle no :noweb-ref keybindings
|
|
||||||
;; Helm
|
|
||||||
(global-set-key (kbd "M-x") 'helm-M-x)
|
|
||||||
(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks)
|
|
||||||
(global-set-key (kbd "C-x C-f") #'helm-find-files)
|
|
||||||
(global-set-key (kbd "C-x b") #'helm-mini)
|
|
||||||
#+end_src
|
|
||||||
*** Comapny
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package company
|
|
||||||
:hook
|
|
||||||
((prog-mode . company-mode)))
|
|
||||||
(use-package slime-company
|
|
||||||
:if (executable-find "sbcl")
|
|
||||||
:after (company slime))
|
|
||||||
|
|
||||||
|
(use-package vertico
|
||||||
|
:ensure t
|
||||||
|
:after (consult marginalia embark)
|
||||||
|
:config
|
||||||
|
(setq completion-in-region-function
|
||||||
|
(lambda (&rest args)
|
||||||
|
(apply (if vertico-mode
|
||||||
|
#'consult-completion-in-region
|
||||||
|
#'completion--in-region)
|
||||||
|
args)))
|
||||||
|
(vertico-mode 1)
|
||||||
|
(marginalia-mode 1))
|
||||||
|
(use-package vertico-mouse
|
||||||
|
:config
|
||||||
|
(vertico-mouse-mode 1)
|
||||||
|
:ensure nil
|
||||||
|
:after (vertico))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
*** Code completion (Cape, corfu)
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package cape)
|
||||||
|
|
||||||
|
(use-package corfu
|
||||||
|
:ensure t
|
||||||
|
:after (lsp-mode cape)
|
||||||
|
;; Optional customizations
|
||||||
|
:custom
|
||||||
|
(corfu-cycle nil) ;; Enable cycling for `corfu-next/previous'
|
||||||
|
(corfu-auto t) ;; Enable auto completion
|
||||||
|
(global-corfu-minibuffer nil)
|
||||||
|
;; (corfu-quit-at-boundary nil) ;; Never quit at completion boundary
|
||||||
|
;; (corfu-quit-no-match nil) ;; Never quit, even if there is no match
|
||||||
|
(corfu-preview-current nil) ;; Disable current candidate preview
|
||||||
|
;; (corfu-preselect 'prompt) ;; Preselect the prompt
|
||||||
|
;; (corfu-on-exact-match nil) ;; Configure handling of exact matches
|
||||||
|
|
||||||
|
;; Enable Corfu only for certain modes. See also `global-corfu-modes'.
|
||||||
|
;; :hook ((prog-mode . corfu-mode)
|
||||||
|
;; (shell-mode . corfu-mode)
|
||||||
|
;; (eshell-mode . corfu-mode))
|
||||||
|
|
||||||
|
;; Recommended: Enable Corfu globally. This is recommended since Dabbrev can
|
||||||
|
;; be used globally (M-/). See also the customization variable
|
||||||
|
;; `global-corfu-modes' to exclude certain modes.
|
||||||
|
:init
|
||||||
|
(global-corfu-mode 1)
|
||||||
|
(corfu-popupinfo-mode 1)
|
||||||
|
(corfu-history-mode 1)
|
||||||
|
|
||||||
|
(defun materus/orderless-dispatch-flex-first (_pattern index _total)
|
||||||
|
(and (eq index 0) 'orderless-flex))
|
||||||
|
|
||||||
|
(defun materus/lsp-mode-setup-completion ()
|
||||||
|
(setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults))
|
||||||
|
'(orderless))
|
||||||
|
;; Optionally configure the first word as flex filtered.
|
||||||
|
(add-hook 'orderless-style-dispatchers #'materus/orderless-dispatch-flex-first nil 'local)
|
||||||
|
;; Optionally configure the cape-capf-buster.
|
||||||
|
(setq-local completion-at-point-functions (list (cape-capf-buster #'lsp-completion-at-point))))
|
||||||
|
|
||||||
|
:hook
|
||||||
|
(lsp-completion-mode . materus/lsp-mode-setup-completion))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(use-package corfu-terminal
|
||||||
|
:after (corfu)
|
||||||
|
:config
|
||||||
|
(when (or (daemonp) (not (display-graphic-p)))
|
||||||
|
(corfu-terminal-mode)))
|
||||||
|
|
||||||
|
(use-package corfu-mouse
|
||||||
|
:after (corfu)
|
||||||
|
:ensure (:type git :repo "https://codeberg.org/materus/emacs-corfu-mouse.git")
|
||||||
|
:config
|
||||||
|
(corfu-mouse-mode)
|
||||||
|
(keymap-set corfu--mouse-ignore-map "<mouse-movement>" 'ignore)
|
||||||
|
(keymap-set corfu-map "<mouse-movement>" 'ignore))
|
||||||
|
|
||||||
|
(use-package kind-icon
|
||||||
|
:after (corfu)
|
||||||
|
:config
|
||||||
|
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#+end_src
|
||||||
*** Dirvish
|
*** Dirvish
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package dirvish
|
(use-package dirvish
|
||||||
|
@ -503,6 +618,7 @@ Setting up mouse
|
||||||
|
|
||||||
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
||||||
(add-hook 'prog-mode-hook 'electric-indent-local-mode)
|
(add-hook 'prog-mode-hook 'electric-indent-local-mode)
|
||||||
|
(add-hook 'electric-indent-functions 'materus/--electric-indent-ignore-outli)
|
||||||
#+end_src
|
#+end_src
|
||||||
**** LSP
|
**** LSP
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -513,7 +629,7 @@ Setting up mouse
|
||||||
;; (lsp-completion-provider :none) ;; we use Corfu!
|
;; (lsp-completion-provider :none) ;; we use Corfu!
|
||||||
:config
|
:config
|
||||||
(setq lsp-keep-workspace-alive nil)
|
(setq lsp-keep-workspace-alive nil)
|
||||||
|
(setq lsp-enable-on-type-formatting nil)
|
||||||
|
|
||||||
(defun lsp-booster--advice-json-parse (old-fn &rest args)
|
(defun lsp-booster--advice-json-parse (old-fn &rest args)
|
||||||
"Try to parse bytecode instead of json."
|
"Try to parse bytecode instead of json."
|
||||||
|
@ -564,6 +680,18 @@ Setting up mouse
|
||||||
(dap-auto-configure-mode 1))
|
(dap-auto-configure-mode 1))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
**** Formatting
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package format-all
|
||||||
|
:hook ((prog-mode . format-all-mode))
|
||||||
|
:config
|
||||||
|
(defun format-all--buffer-from-hook () nil) ; I don't want formatting on save
|
||||||
|
(add-hook 'format-all-after-format-functions 'materus/--fix-outli-formatting)
|
||||||
|
(setq-default format-all-formatters
|
||||||
|
'(("Nix" (nixfmt))
|
||||||
|
("C++" (clang-format "--fallback-style=microsoft"))
|
||||||
|
("C" (clang-format "--fallback-style=microsoft")))))
|
||||||
|
#+end_src
|
||||||
*** Snippets
|
*** Snippets
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package yasnippet
|
(use-package yasnippet
|
||||||
|
@ -588,8 +716,8 @@ Setting up mouse
|
||||||
(add-hook 'c++-mode-hook 'display-line-numbers-mode)
|
(add-hook 'c++-mode-hook 'display-line-numbers-mode)
|
||||||
(add-hook 'c++-ts-mode-hook 'lsp-deferred)
|
(add-hook 'c++-ts-mode-hook 'lsp-deferred)
|
||||||
(add-hook 'c++-ts-mode-hook 'display-line-numbers-mode)
|
(add-hook 'c++-ts-mode-hook 'display-line-numbers-mode)
|
||||||
;(when (treesit-language-available-p 'c) (push '(c-mode . c-ts-mode) major-mode-remap-alist))
|
(when (treesit-language-available-p 'c) (push '(c-mode . c-ts-mode) major-mode-remap-alist))
|
||||||
;(when (treesit-language-available-p 'cpp) (push '(c++-mode . c++-ts-mode) major-mode-remap-alist))
|
(when (treesit-language-available-p 'cpp) (push '(c++-mode . c++-ts-mode) major-mode-remap-alist))
|
||||||
|
|
||||||
(add-to-list 'c-default-style '(c-mode . "bsd"))
|
(add-to-list 'c-default-style '(c-mode . "bsd"))
|
||||||
(add-to-list 'c-default-style '(c++-mode . "bsd"))
|
(add-to-list 'c-default-style '(c++-mode . "bsd"))
|
||||||
|
@ -632,15 +760,14 @@ Setting up mouse
|
||||||
(use-package nix-mode)
|
(use-package nix-mode)
|
||||||
(use-package nix-ts-mode)
|
(use-package nix-ts-mode)
|
||||||
(use-package lsp-nix
|
(use-package lsp-nix
|
||||||
:after (lsp-mode nix-mode nix-ts-mode)
|
:after (lsp-mode nix-mode nix-ts-mode format-all)
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:config
|
:config
|
||||||
(add-to-list 'lsp-disabled-clients '(nix-mode . nix-nil))
|
(add-to-list 'lsp-disabled-clients '(nix-mode . nix-nil))
|
||||||
(setq lsp-nix-nixd-server-path "nixd")
|
(setq lsp-nix-nixd-server-path "nixd")
|
||||||
(when (executable-find "nixfmt")
|
(when (executable-find "nixfmt")
|
||||||
(setq lsp-nix-nixd-formatting-command [ "nixfmt" ]) )
|
(setq lsp-nix-nixd-formatting-command [ "nixfmt" ]))
|
||||||
|
|
||||||
|
|
||||||
(unless lsp-nix-nixd-nixos-options-expr
|
(unless lsp-nix-nixd-nixos-options-expr
|
||||||
(setq lsp-nix-nixd-nixos-options-expr (concat "(builtins.getFlake \"/etc/nixos\").nixosConfigurations." (system-name) ".options")))
|
(setq lsp-nix-nixd-nixos-options-expr (concat "(builtins.getFlake \"/etc/nixos\").nixosConfigurations." (system-name) ".options")))
|
||||||
(unless lsp-nix-nixd-nixpkgs-expr
|
(unless lsp-nix-nixd-nixpkgs-expr
|
||||||
|
@ -666,8 +793,7 @@ Setting up mouse
|
||||||
(use-package slime
|
(use-package slime
|
||||||
:if (executable-find "sbcl")
|
:if (executable-find "sbcl")
|
||||||
:config
|
:config
|
||||||
(setq inferior-lisp-program "sbcl")
|
(setq inferior-lisp-program "sbcl"))
|
||||||
(slime-setup '(slime-fancy slime-company)))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Shell
|
*** Shell
|
||||||
**** Bash
|
**** Bash
|
||||||
|
@ -704,7 +830,7 @@ Setting up mouse
|
||||||
** Notes & Organization
|
** Notes & Organization
|
||||||
*** Org Mode
|
*** Org Mode
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package org
|
(use-package org
|
||||||
:mode (("\\.org$" . org-mode))
|
:mode (("\\.org$" . org-mode))
|
||||||
:hook
|
:hook
|
||||||
((org-mode . org-indent-mode)
|
((org-mode . org-indent-mode)
|
||||||
|
@ -885,10 +1011,6 @@ Setting up mouse
|
||||||
|
|
||||||
;; CUA-like global
|
;; CUA-like global
|
||||||
(define-key global-map (kbd "C-s") 'save-buffer)
|
(define-key global-map (kbd "C-s") 'save-buffer)
|
||||||
(define-key global-map (kbd "C-r") 'query-replace)
|
|
||||||
(define-key global-map (kbd "C-S-r") 'replace-string)
|
|
||||||
(define-key global-map (kbd "M-r") 'query-replace-regexp)
|
|
||||||
(define-key global-map (kbd "M-S-r") 'replace-regexp)
|
|
||||||
(define-key global-map (kbd "C-a") 'mark-whole-buffer)
|
(define-key global-map (kbd "C-a") 'mark-whole-buffer)
|
||||||
(define-key global-map (kbd "C-f") 'isearch-forward)
|
(define-key global-map (kbd "C-f") 'isearch-forward)
|
||||||
(define-key global-map (kbd "C-S-f") 'isearch-backward)
|
(define-key global-map (kbd "C-S-f") 'isearch-backward)
|
||||||
|
@ -922,7 +1044,6 @@ Setting up mouse
|
||||||
(add-hook 'elpaca-after-init-hook #'materus/keybind-set )
|
(add-hook 'elpaca-after-init-hook #'materus/keybind-set )
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
* Final Code
|
* Final Code
|
||||||
#+begin_src emacs-lisp :tangle (expand-file-name "init.el" user-emacs-directory) :noweb-ref final
|
#+begin_src emacs-lisp :tangle (expand-file-name "init.el" user-emacs-directory) :noweb-ref final
|
||||||
;;; -*- lexical-binding: t; -*-
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
@ -936,115 +1057,80 @@ Setting up mouse
|
||||||
<<init-custom-file>>
|
<<init-custom-file>>
|
||||||
#+end_src
|
#+end_src
|
||||||
Make copy in this repository
|
Make copy in this repository
|
||||||
#+begin_src emacs-lisp :tangle ./early-init.el
|
#+begin_src emacs-lisp :tangle (if (not (string= default-directory user-emacs-directory)) "./early-init.el" "no")
|
||||||
<<early-init>>
|
<<early-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
#+begin_src emacs-lisp :tangle ./init.el
|
#+begin_src emacs-lisp :tangle (if (not (string= default-directory user-emacs-directory)) "./init.el" "no")
|
||||||
<<final>>
|
<<final>>
|
||||||
#+end_src
|
#+end_src
|
||||||
* Links
|
* Links
|
||||||
[[https://github.com/emacs-tw/awesome-emacs][awesome-emacs]]
|
[[https://github.com/emacs-tw/awesome-emacs][awesome-emacs]] - Nice list of Emacs Packages
|
||||||
|
[[https://codeberg.org/ashton314/emacs-bedrock][Emacs Bedrock]] - Initial Config to base on
|
||||||
|
[[https://github.com/benide/emacs-config][benide Config]] - Took use-package macro for NixOS from there
|
||||||
|
[[https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org][DT's Config]] - Some inspiration
|
||||||
|
* Tests
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args: :tangle no
|
||||||
|
:END:
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(let* ((current-pos (point))
|
||||||
|
(start (re-search-backward "^[ \t]*\\(#\\|//\\|;;\\)-NARROW_START[ \t]+\\[\\(.*\\)\\]" nil t))
|
||||||
|
(match (match-string-no-properties 2))
|
||||||
|
(end (re-search-forward (concat "^[ \t]*\\(#\\|//\\|;;\\)-NARROW_END[ \t]+\\[\\" (regexp-quote match) "\\]") nil t)))
|
||||||
|
(if (buffer-narrowed-p)
|
||||||
|
(progn (widen) (goto-char current-pos))
|
||||||
|
(progn
|
||||||
|
(if start
|
||||||
|
(if end
|
||||||
|
(if ( >= end current-pos) (narrow-to-region start end)
|
||||||
|
(message "Not between narrow tags"))
|
||||||
|
(message "Not between narrow tags"))
|
||||||
|
(message "Not between narrow tags"))
|
||||||
|
(goto-char current-pos))))
|
||||||
|
#+end_src
|
||||||
* Archive
|
* Archive
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :tangle no
|
:header-args: :tangle no
|
||||||
:END:
|
:END:
|
||||||
** minibuffer (orderless, vertico, marginalia, consult)
|
** Navigation and completion
|
||||||
|
*** HELM
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package orderless
|
(use-package helm
|
||||||
:init
|
|
||||||
;; Tune the global completion style settings to your liking!
|
|
||||||
;; This affects the minibuffer and non-lsp completion at point.
|
|
||||||
(setq completion-styles '(basic partial-completion orderless)
|
|
||||||
completion-category-defaults nil
|
|
||||||
completion-category-overrides nil))
|
|
||||||
(use-package consult)
|
|
||||||
(use-package marginalia)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(use-package vertico
|
|
||||||
:after (consult marginalia)
|
|
||||||
:config
|
:config
|
||||||
(setq completion-in-region-function
|
(setq helm-x-icons-provider 'nerd-icons)
|
||||||
(lambda (&rest args)
|
(setq helm-move-to-line-cycle-in-source nil)
|
||||||
(apply (if vertico-mode
|
(helm-mode 1)
|
||||||
#'consult-completion-in-region
|
)
|
||||||
#'completion--in-region)
|
(use-package helm-projectile
|
||||||
args)))
|
:after (helm projectile))
|
||||||
(vertico-mode 1)
|
(use-package helm-ag
|
||||||
(marginalia-mode 1))
|
:after (helm))
|
||||||
(use-package vertico-mouse
|
(use-package helm-rg
|
||||||
:config
|
:after (helm))
|
||||||
(vertico-mouse-mode 1)
|
(use-package helm-ls-git
|
||||||
:ensure nil
|
:after (helm))
|
||||||
:after (vertico))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
;; Helm
|
||||||
|
(global-set-key (kbd "M-x") 'helm-M-x)
|
||||||
|
(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks)
|
||||||
|
(global-set-key (kbd "C-x C-f") #'helm-find-files)
|
||||||
|
(global-set-key (kbd "C-x b") #'helm-mini)
|
||||||
|
|
||||||
** Code completion (Cape, corfu)
|
(define-key helm-map (kbd "<right>") #'right-char)
|
||||||
|
(define-key helm-map (kbd "<left>") #'left-char)
|
||||||
|
#+end_src
|
||||||
|
*** Comapny
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package cape)
|
(use-package company
|
||||||
|
:hook
|
||||||
|
((prog-mode . company-mode)))
|
||||||
|
(use-package slime-company
|
||||||
|
:if (executable-find "sbcl")
|
||||||
|
:after (company slime))
|
||||||
|
|
||||||
(use-package corfu
|
#+end_src
|
||||||
:after (lsp-mode cape)
|
|
||||||
;; Optional customizations
|
|
||||||
:custom
|
|
||||||
(corfu-cycle nil) ;; Enable cycling for `corfu-next/previous'
|
|
||||||
(corfu-auto t) ;; Enable auto completion
|
|
||||||
(global-corfu-minibuffer nil)
|
|
||||||
;; (corfu-quit-at-boundary nil) ;; Never quit at completion boundary
|
|
||||||
;; (corfu-quit-no-match nil) ;; Never quit, even if there is no match
|
|
||||||
(corfu-preview-current nil) ;; Disable current candidate preview
|
|
||||||
;; (corfu-preselect 'prompt) ;; Preselect the prompt
|
|
||||||
;; (corfu-on-exact-match nil) ;; Configure handling of exact matches
|
|
||||||
|
|
||||||
;; Enable Corfu only for certain modes. See also `global-corfu-modes'.
|
|
||||||
;; :hook ((prog-mode . corfu-mode)
|
|
||||||
;; (shell-mode . corfu-mode)
|
|
||||||
;; (eshell-mode . corfu-mode))
|
|
||||||
|
|
||||||
;; Recommended: Enable Corfu globally. This is recommended since Dabbrev can
|
|
||||||
;; be used globally (M-/). See also the customization variable
|
|
||||||
;; `global-corfu-modes' to exclude certain modes.
|
|
||||||
:init
|
|
||||||
(global-corfu-mode 1)
|
|
||||||
(corfu-popupinfo-mode 1)
|
|
||||||
(corfu-history-mode 1)
|
|
||||||
|
|
||||||
(defun materus/orderless-dispatch-flex-first (_pattern index _total)
|
|
||||||
(and (eq index 0) 'orderless-flex))
|
|
||||||
|
|
||||||
(defun materus/lsp-mode-setup-completion ()
|
|
||||||
(setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults))
|
|
||||||
'(orderless))
|
|
||||||
;; Optionally configure the first word as flex filtered.
|
|
||||||
(add-hook 'orderless-style-dispatchers #'materus/orderless-dispatch-flex-first nil 'local)
|
|
||||||
;; Optionally configure the cape-capf-buster.
|
|
||||||
(setq-local completion-at-point-functions (list (cape-capf-buster #'lsp-completion-at-point))))
|
|
||||||
|
|
||||||
:hook
|
|
||||||
(lsp-completion-mode . materus/lsp-mode-setup-completion))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(use-package corfu-terminal
|
|
||||||
:after (corfu)
|
|
||||||
:config
|
|
||||||
(when (or (daemonp) (not (display-graphic-p)))
|
|
||||||
(corfu-terminal-mode)))
|
|
||||||
|
|
||||||
;; (use-package corfu-mouse
|
|
||||||
;; :after (corfu)
|
|
||||||
;; :config
|
|
||||||
;; :ensure nil
|
|
||||||
;; (corfu-mouse-mode)
|
|
||||||
;; (keymap-set corfu--mouse-ignore-map "<mouse-movement>" 'ignore)
|
|
||||||
;; (keymap-set corfu-map "<mouse-movement>" 'ignore))
|
|
||||||
|
|
||||||
(use-package kind-icon
|
|
||||||
:after (corfu)
|
|
||||||
:config
|
|
||||||
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#+end_src
|
|
||||||
|
|
|
@ -1,89 +1,87 @@
|
||||||
;;; -*- lexical-binding: t; -*-
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;;; VARIABLES
|
;;; VARIABLES
|
||||||
|
|
||||||
|
|
||||||
(setenv "LSP_USE_PLISTS" "true") ; Make lsp-mode use plists
|
(setenv "LSP_USE_PLISTS" "true") ; Make lsp-mode use plists
|
||||||
|
|
||||||
(setq c-default-style nil) ; Clear default styles for languages, will set them up later
|
(setq c-default-style nil) ; Clear default styles for languages, will set them up later
|
||||||
(setq default-input-method nil) ; Disable default input method, I'm not using them anyway so far
|
(setq default-input-method nil) ; Disable default input method, I'm not using them anyway so far
|
||||||
(setq initial-major-mode 'fundamental-mode) ; Use fundamental mode in scratch buffer, speed up loading, not really important when emacs used as daemon
|
|
||||||
(setq auto-save-default nil) ; TODO: configure auto saves, disable for now
|
(setq initial-major-mode 'emacs-lisp-mode)
|
||||||
(setq backup-directory-alist
|
|
||||||
`((".*" . ,(concat user-emacs-directory "var/backups/")))) ; Set backup location
|
(setq auto-save-default nil) ; TODO: configure auto saves, disable for now
|
||||||
(setq auto-save-file-name-transforms
|
(setq backup-directory-alist
|
||||||
`((".*" ,(concat user-emacs-directory "var/recovery/") t))) ; Set auto-save location
|
`((".*" . ,(concat user-emacs-directory "var/backups/")))) ; Set backup location
|
||||||
(setq auto-save-list-file-prefix (concat user-emacs-directory "var/auto-save/sessions/")) ; Set auto-save-list location
|
(setq auto-save-file-name-transforms
|
||||||
(setq load-prefer-newer t) ; Prefer newer files to load
|
`((".*" ,(concat user-emacs-directory "var/recovery/") t))) ; Set auto-save location
|
||||||
|
(setq auto-save-list-file-prefix (concat user-emacs-directory "var/auto-save/sessions/")) ; Set auto-save-list location
|
||||||
|
(setq load-prefer-newer t) ; Prefer newer files to load
|
||||||
|
|
||||||
|
|
||||||
(setq package-enable-at-startup nil)
|
(setq package-enable-at-startup nil)
|
||||||
(setq package-quickstart nil) ; Disable package quickstart
|
(setq package-quickstart nil) ; Disable package quickstart
|
||||||
|
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
|
|
||||||
(setq inhibit-compacting-font-caches t) ; Don't compact fonts
|
(setq inhibit-compacting-font-caches t) ; Don't compact fonts
|
||||||
|
|
||||||
(set-language-environment "UTF-8") ; Use UTF-8
|
(set-language-environment "UTF-8") ; Use UTF-8
|
||||||
(setq-default buffer-file-coding-system 'utf-8-unix)
|
(setq-default buffer-file-coding-system 'utf-8-unix)
|
||||||
|
|
||||||
(setq custom-file (concat user-emacs-directory "etc/custom.el")) ; Set custom file location, don't want clutter in main directory
|
(setq custom-file (concat user-emacs-directory "etc/custom.el")) ; Set custom file location, don't want clutter in main directory
|
||||||
(setq custom-theme-directory
|
(setq custom-theme-directory
|
||||||
(concat user-emacs-directory "/etc/materus/themes" )) ; Set custom themes location
|
(concat user-emacs-directory "/etc/materus/themes" )) ; Set custom themes location
|
||||||
|
|
||||||
(setq ring-bell-function 'ignore) ; Disable bell
|
(setq ring-bell-function 'ignore) ; Disable bell
|
||||||
|
|
||||||
|
|
||||||
(defvar materus/emacs-gc-cons-threshold (* 64 1024 1024)
|
(defvar materus/emacs-gc-cons-threshold (* 64 1024 1024)
|
||||||
"The value of `gc-cons-threshold' after Emacs startup.") ; Define after init garbage collector threshold
|
"The value of `gc-cons-threshold' after Emacs startup.") ; Define after init garbage collector threshold
|
||||||
|
|
||||||
|
|
||||||
;;; GARBAGE COLLECTOR
|
;;; GARBAGE COLLECTOR
|
||||||
(setq gc-cons-threshold most-positive-fixnum) ; Set `gc-cons-threshold' so it won't collectect during initialization
|
(setq gc-cons-threshold most-positive-fixnum) ; Set `gc-cons-threshold' so it won't collectect during initialization
|
||||||
|
|
||||||
(add-hook 'emacs-startup-hook
|
(add-hook 'emacs-startup-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(setq gc-cons-threshold materus/emacs-gc-cons-threshold))) ; Set `gc-cons-threshold' to desired value after startup
|
(setq gc-cons-threshold materus/emacs-gc-cons-threshold))) ; Set `gc-cons-threshold' to desired value after startup
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;; FRAMES
|
;;; FRAMES
|
||||||
|
|
||||||
(setq frame-inhibit-implied-resize t)
|
(setq frame-inhibit-implied-resize t)
|
||||||
(setq frame-resize-pixelwise t)
|
(setq frame-resize-pixelwise t)
|
||||||
(setq window-resize-pixelwise t) ; Allow pixelwise resizing of window and frame
|
(setq window-resize-pixelwise t) ; Allow pixelwise resizing of window and frame
|
||||||
|
|
||||||
(unless (daemonp)
|
(unless (daemonp)
|
||||||
(add-to-list 'initial-frame-alist '(fullscreen . maximized))) ; Start first frame maximized if not running as daemon, daemon frame are set up later in config
|
(add-to-list 'initial-frame-alist '(fullscreen . maximized))) ; Start first frame maximized if not running as daemon, daemon frame are set up later in config
|
||||||
(setq default-frame-alist ; Set default size for frames
|
(setq default-frame-alist ; Set default size for frames
|
||||||
'((width . 130)
|
'((width . 130)
|
||||||
(height . 40)))
|
(height . 40)))
|
||||||
|
|
||||||
(advice-add #'tty-run-terminal-initialization :override #'ignore)
|
(advice-add #'tty-run-terminal-initialization :override #'ignore)
|
||||||
(add-hook 'window-setup-hook
|
(add-hook 'window-setup-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(unless (display-graphic-p)
|
(unless (display-graphic-p)
|
||||||
(advice-remove #'tty-run-terminal-initialization #'ignore)
|
(advice-remove #'tty-run-terminal-initialization #'ignore)
|
||||||
(tty-run-terminal-initialization (selected-frame) nil t)
|
(tty-run-terminal-initialization (selected-frame) nil t)
|
||||||
)))
|
)))
|
||||||
|
|
||||||
|
|
||||||
;;; NATIVE COMPILATION
|
;;; NATIVE COMPILATION
|
||||||
|
|
||||||
(setq native-comp-async-report-warnings-errors nil) ; Silence warnings
|
(setq native-comp-async-report-warnings-errors nil) ; Silence warnings
|
||||||
(setq native-comp-speed 3) ; Set native-comp speed
|
(setq native-comp-speed 2) ; Set native-comp speed
|
||||||
|
|
||||||
(setq native-comp-jit-compilation t
|
(setq native-comp-jit-compilation t
|
||||||
;;native-comp-deferred-compilation t
|
native-comp-deferred-compilation t
|
||||||
package-native-compile t)
|
package-native-compile t)
|
||||||
|
|
||||||
|
|
||||||
;; Setting up native-comp cache location
|
;; Setting up native-comp cache location
|
||||||
|
|
||||||
(when (and (fboundp 'startup-redirect-eln-cache)
|
(when (boundp 'native-comp-eln-load-path)
|
||||||
(fboundp 'native-comp-available-p)
|
(startup-redirect-eln-cache (expand-file-name "var/eln-cache/" user-emacs-directory)))
|
||||||
(native-comp-available-p))
|
|
||||||
(startup-redirect-eln-cache
|
|
||||||
(convert-standard-filename
|
|
||||||
(concat user-emacs-directory "var/eln-cache/"))))
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
(print "WARN: emacs-build-time not set up, using current time")
|
(print "WARN: emacs-build-time not set up, using current time")
|
||||||
(setq emacs-build-time (decode-time (current-time))))
|
(setq emacs-build-time (decode-time (current-time))))
|
||||||
(add-to-list 'load-path (concat user-emacs-directory "etc/pkgs/")) ; Extra load path for packages
|
(add-to-list 'load-path (concat user-emacs-directory "etc/pkgs/")) ; Extra load path for packages
|
||||||
|
(defvar materus/nixos-config (getenv "MATERUS_CONFIG_DIR"))
|
||||||
(setq read-process-output-max (* 1024 1024 3))
|
(setq read-process-output-max (* 1024 1024 3))
|
||||||
|
|
||||||
;; Elpaca Init
|
;; Elpaca Init
|
||||||
|
@ -61,6 +61,33 @@
|
||||||
(use-package ,package :ensure nil ,@body))
|
(use-package ,package :ensure nil ,@body))
|
||||||
`(use-package ,package ,@body)))
|
`(use-package ,package ,@body)))
|
||||||
|
|
||||||
|
(defun materus/--outli-modes ()
|
||||||
|
"Check if supported mode"
|
||||||
|
(or (eq major-mode 'nix-mode)
|
||||||
|
(eq major-mode 'nix-ts-mode)
|
||||||
|
(eq major-mode 'c-mode)
|
||||||
|
(eq major-mode 'c-ts-mode)
|
||||||
|
(eq major-mode 'c++-mode)
|
||||||
|
(eq major-mode 'c++-ts-mode)))
|
||||||
|
|
||||||
|
(defun materus/--fix-outli-formatting (FORMATTER STATUS)
|
||||||
|
"Remove whitespaces before outli headers"
|
||||||
|
(when (and (materus/--outli-modes)
|
||||||
|
(eq STATUS :reformatted))
|
||||||
|
(save-excursion
|
||||||
|
(save-restriction
|
||||||
|
(widen)
|
||||||
|
(goto-char (point-min))
|
||||||
|
(while (re-search-forward (concat "^[ ]+\\(" comment-start "\\*+ +[^ ].*\\)[ ]*") nil t)
|
||||||
|
(replace-match "\\1"))))))
|
||||||
|
|
||||||
|
(defun materus/--electric-indent-ignore-outli (char)
|
||||||
|
"Don't indent outli headers"
|
||||||
|
(when (materus/--outli-modes)
|
||||||
|
(save-excursion
|
||||||
|
(backward-char)
|
||||||
|
(beginning-of-line)
|
||||||
|
(if (not (looking-at-p (concat "^\\(" comment-start "\\*+ +[^ ].*\\)[ ]*"))) nil 'no-indent))))
|
||||||
(use-package no-littering
|
(use-package no-littering
|
||||||
:ensure (:wait t)
|
:ensure (:wait t)
|
||||||
:config
|
:config
|
||||||
|
@ -90,6 +117,8 @@
|
||||||
(set-frame-parameter frame 'fullscreen 'maximized))
|
(set-frame-parameter frame 'fullscreen 'maximized))
|
||||||
(select-frame-set-input-focus frame) )))
|
(select-frame-set-input-focus frame) )))
|
||||||
(global-tab-line-mode 1)
|
(global-tab-line-mode 1)
|
||||||
|
(setq tab-line-close-tab-function 'kill-buffer)
|
||||||
|
|
||||||
(setq window-divider-default-bottom-width 1)
|
(setq window-divider-default-bottom-width 1)
|
||||||
(setq window-divider-default-right-width 1)
|
(setq window-divider-default-right-width 1)
|
||||||
(window-divider-mode 1)
|
(window-divider-mode 1)
|
||||||
|
@ -126,6 +155,7 @@
|
||||||
|
|
||||||
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
||||||
(add-hook 'prog-mode-hook 'electric-indent-local-mode)
|
(add-hook 'prog-mode-hook 'electric-indent-local-mode)
|
||||||
|
(add-hook 'electric-indent-functions 'materus/--electric-indent-ignore-outli)
|
||||||
(use-package dracula-theme :config
|
(use-package dracula-theme :config
|
||||||
(if (daemonp)
|
(if (daemonp)
|
||||||
(add-hook 'after-make-frame-functions
|
(add-hook 'after-make-frame-functions
|
||||||
|
@ -146,19 +176,19 @@
|
||||||
(set-face-attribute 'rainbow-delimiters-depth-5-face nil :foreground "#6A5ACD")
|
(set-face-attribute 'rainbow-delimiters-depth-5-face nil :foreground "#6A5ACD")
|
||||||
(set-face-attribute 'rainbow-delimiters-unmatched-face nil :foreground "#FF0000"))
|
(set-face-attribute 'rainbow-delimiters-unmatched-face nil :foreground "#FF0000"))
|
||||||
|
|
||||||
;; (use-package doom-modeline
|
(use-package doom-modeline
|
||||||
;; :init (setq doom-modeline-support-imenu t)
|
:init (setq doom-modeline-support-imenu t)
|
||||||
;; :hook (elpaca-after-init . doom-modeline-mode)
|
:hook (elpaca-after-init . doom-modeline-mode)
|
||||||
;; :config
|
:config
|
||||||
;; (setq doom-modeline-icon t)
|
(setq doom-modeline-icon t)
|
||||||
;; (setq doom-modeline-project-detection 'auto)
|
(setq doom-modeline-project-detection 'auto)
|
||||||
;; (setq doom-modeline-height 20)
|
(setq doom-modeline-height 20)
|
||||||
;; (setq doom-modeline-enable-word-count t)
|
(setq doom-modeline-enable-word-count t)
|
||||||
;; (setq doom-modeline-minor-modes t)
|
(setq doom-modeline-minor-modes t)
|
||||||
;; (setq display-time-24hr-format t)
|
(setq display-time-24hr-format t)
|
||||||
;; (display-time-mode 1)
|
(display-time-mode 1)
|
||||||
;; (column-number-mode 1)
|
(column-number-mode 1)
|
||||||
;; (line-number-mode 1))
|
(line-number-mode 1))
|
||||||
|
|
||||||
(use-package minions
|
(use-package minions
|
||||||
:hook (elpaca-after-init . minions-mode))
|
:hook (elpaca-after-init . minions-mode))
|
||||||
|
@ -182,29 +212,112 @@
|
||||||
(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))) ; Show dashboard when emacs is running as daemon)
|
(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))) ; Show dashboard when emacs is running as daemon)
|
||||||
(use-package highlight-indent-guides
|
(use-package highlight-indent-guides
|
||||||
:hook ((prog-mode . highlight-indent-guides-mode)))
|
:hook ((prog-mode . highlight-indent-guides-mode)))
|
||||||
|
(use-package outli
|
||||||
|
:ensure (:host github :repo "jdtsmith/outli")
|
||||||
|
:hook ((prog-mode . outli-mode)))
|
||||||
|
(use-package visual-replace
|
||||||
|
:defer t
|
||||||
|
:bind (("C-r" . visual-replace)
|
||||||
|
:map isearch-mode-map
|
||||||
|
("C-r" . visual-replace-from-isearch)))
|
||||||
(use-package eat)
|
(use-package eat)
|
||||||
|
|
||||||
(materus/use-package vterm)
|
(materus/use-package vterm)
|
||||||
(use-package helm
|
(use-package orderless
|
||||||
|
:init
|
||||||
|
;; Tune the global completion style settings to your liking!
|
||||||
|
;; This affects the minibuffer and non-lsp completion at point.
|
||||||
|
(setq completion-styles '(basic partial-completion orderless)
|
||||||
|
completion-category-defaults nil
|
||||||
|
completion-category-overrides nil))
|
||||||
|
(use-package consult)
|
||||||
|
(use-package marginalia)
|
||||||
|
(use-package embark)
|
||||||
|
(use-package embark-consult
|
||||||
|
:after (embark consult))
|
||||||
|
|
||||||
|
(use-package vertico
|
||||||
|
:ensure t
|
||||||
|
:after (consult marginalia embark)
|
||||||
:config
|
:config
|
||||||
(setq helm-x-icons-provider 'nerd-icons)
|
(setq completion-in-region-function
|
||||||
(setq helm-move-to-line-cycle-in-source nil)
|
(lambda (&rest args)
|
||||||
(helm-mode 1)
|
(apply (if vertico-mode
|
||||||
)
|
#'consult-completion-in-region
|
||||||
(use-package helm-projectile
|
#'completion--in-region)
|
||||||
:after (helm projectile))
|
args)))
|
||||||
(use-package helm-ag
|
(vertico-mode 1)
|
||||||
:after (helm))
|
(marginalia-mode 1))
|
||||||
(use-package helm-rg
|
(use-package vertico-mouse
|
||||||
:after (helm))
|
:config
|
||||||
(use-package helm-ls-git
|
(vertico-mouse-mode 1)
|
||||||
:after (helm))
|
:ensure nil
|
||||||
(use-package company
|
:after (vertico))
|
||||||
|
(use-package cape)
|
||||||
|
|
||||||
|
(use-package corfu
|
||||||
|
:ensure t
|
||||||
|
:after (lsp-mode cape)
|
||||||
|
;; Optional customizations
|
||||||
|
:custom
|
||||||
|
(corfu-cycle nil) ;; Enable cycling for `corfu-next/previous'
|
||||||
|
(corfu-auto t) ;; Enable auto completion
|
||||||
|
(global-corfu-minibuffer nil)
|
||||||
|
;; (corfu-quit-at-boundary nil) ;; Never quit at completion boundary
|
||||||
|
;; (corfu-quit-no-match nil) ;; Never quit, even if there is no match
|
||||||
|
(corfu-preview-current nil) ;; Disable current candidate preview
|
||||||
|
;; (corfu-preselect 'prompt) ;; Preselect the prompt
|
||||||
|
;; (corfu-on-exact-match nil) ;; Configure handling of exact matches
|
||||||
|
|
||||||
|
;; Enable Corfu only for certain modes. See also `global-corfu-modes'.
|
||||||
|
;; :hook ((prog-mode . corfu-mode)
|
||||||
|
;; (shell-mode . corfu-mode)
|
||||||
|
;; (eshell-mode . corfu-mode))
|
||||||
|
|
||||||
|
;; Recommended: Enable Corfu globally. This is recommended since Dabbrev can
|
||||||
|
;; be used globally (M-/). See also the customization variable
|
||||||
|
;; `global-corfu-modes' to exclude certain modes.
|
||||||
|
:init
|
||||||
|
(global-corfu-mode 1)
|
||||||
|
(corfu-popupinfo-mode 1)
|
||||||
|
(corfu-history-mode 1)
|
||||||
|
|
||||||
|
(defun materus/orderless-dispatch-flex-first (_pattern index _total)
|
||||||
|
(and (eq index 0) 'orderless-flex))
|
||||||
|
|
||||||
|
(defun materus/lsp-mode-setup-completion ()
|
||||||
|
(setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults))
|
||||||
|
'(orderless))
|
||||||
|
;; Optionally configure the first word as flex filtered.
|
||||||
|
(add-hook 'orderless-style-dispatchers #'materus/orderless-dispatch-flex-first nil 'local)
|
||||||
|
;; Optionally configure the cape-capf-buster.
|
||||||
|
(setq-local completion-at-point-functions (list (cape-capf-buster #'lsp-completion-at-point))))
|
||||||
|
|
||||||
:hook
|
:hook
|
||||||
((prog-mode . company-mode)))
|
(lsp-completion-mode . materus/lsp-mode-setup-completion))
|
||||||
(use-package slime-company
|
|
||||||
:if (executable-find "sbcl")
|
|
||||||
:after (company slime))
|
|
||||||
|
(use-package corfu-terminal
|
||||||
|
:after (corfu)
|
||||||
|
:config
|
||||||
|
(when (or (daemonp) (not (display-graphic-p)))
|
||||||
|
(corfu-terminal-mode)))
|
||||||
|
|
||||||
|
(use-package corfu-mouse
|
||||||
|
:after (corfu)
|
||||||
|
:ensure (:type git :repo "https://codeberg.org/materus/emacs-corfu-mouse.git")
|
||||||
|
:config
|
||||||
|
(corfu-mouse-mode)
|
||||||
|
(keymap-set corfu--mouse-ignore-map "<mouse-movement>" 'ignore)
|
||||||
|
(keymap-set corfu-map "<mouse-movement>" 'ignore))
|
||||||
|
|
||||||
|
(use-package kind-icon
|
||||||
|
:after (corfu)
|
||||||
|
:config
|
||||||
|
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(use-package dirvish
|
(use-package dirvish
|
||||||
:after (nerd-icons)
|
:after (nerd-icons)
|
||||||
|
@ -237,7 +350,7 @@
|
||||||
;; (lsp-completion-provider :none) ;; we use Corfu!
|
;; (lsp-completion-provider :none) ;; we use Corfu!
|
||||||
:config
|
:config
|
||||||
(setq lsp-keep-workspace-alive nil)
|
(setq lsp-keep-workspace-alive nil)
|
||||||
|
(setq lsp-enable-on-type-formatting nil)
|
||||||
|
|
||||||
(defun lsp-booster--advice-json-parse (old-fn &rest args)
|
(defun lsp-booster--advice-json-parse (old-fn &rest args)
|
||||||
"Try to parse bytecode instead of json."
|
"Try to parse bytecode instead of json."
|
||||||
|
@ -284,6 +397,15 @@
|
||||||
(setq dap-gdb-lldb-extension-version "0.27.0")
|
(setq dap-gdb-lldb-extension-version "0.27.0")
|
||||||
(dap-auto-configure-mode 1))
|
(dap-auto-configure-mode 1))
|
||||||
|
|
||||||
|
(use-package format-all
|
||||||
|
:hook ((prog-mode . format-all-mode))
|
||||||
|
:config
|
||||||
|
(defun format-all--buffer-from-hook () nil) ; I don't want formatting on save
|
||||||
|
(add-hook 'format-all-after-format-functions 'materus/--fix-outli-formatting)
|
||||||
|
(setq-default format-all-formatters
|
||||||
|
'(("Nix" (nixfmt))
|
||||||
|
("C++" (clang-format "--fallback-style=microsoft"))
|
||||||
|
("C" (clang-format "--fallback-style=microsoft")))))
|
||||||
(use-package yasnippet
|
(use-package yasnippet
|
||||||
:config
|
:config
|
||||||
(yas-global-mode 1))
|
(yas-global-mode 1))
|
||||||
|
@ -302,8 +424,8 @@
|
||||||
(add-hook 'c++-mode-hook 'display-line-numbers-mode)
|
(add-hook 'c++-mode-hook 'display-line-numbers-mode)
|
||||||
(add-hook 'c++-ts-mode-hook 'lsp-deferred)
|
(add-hook 'c++-ts-mode-hook 'lsp-deferred)
|
||||||
(add-hook 'c++-ts-mode-hook 'display-line-numbers-mode)
|
(add-hook 'c++-ts-mode-hook 'display-line-numbers-mode)
|
||||||
;(when (treesit-language-available-p 'c) (push '(c-mode . c-ts-mode) major-mode-remap-alist))
|
(when (treesit-language-available-p 'c) (push '(c-mode . c-ts-mode) major-mode-remap-alist))
|
||||||
;(when (treesit-language-available-p 'cpp) (push '(c++-mode . c++-ts-mode) major-mode-remap-alist))
|
(when (treesit-language-available-p 'cpp) (push '(c++-mode . c++-ts-mode) major-mode-remap-alist))
|
||||||
|
|
||||||
(add-to-list 'c-default-style '(c-mode . "bsd"))
|
(add-to-list 'c-default-style '(c-mode . "bsd"))
|
||||||
(add-to-list 'c-default-style '(c++-mode . "bsd"))
|
(add-to-list 'c-default-style '(c++-mode . "bsd"))
|
||||||
|
@ -337,15 +459,14 @@
|
||||||
(use-package nix-mode)
|
(use-package nix-mode)
|
||||||
(use-package nix-ts-mode)
|
(use-package nix-ts-mode)
|
||||||
(use-package lsp-nix
|
(use-package lsp-nix
|
||||||
:after (lsp-mode nix-mode nix-ts-mode)
|
:after (lsp-mode nix-mode nix-ts-mode format-all)
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:config
|
:config
|
||||||
(add-to-list 'lsp-disabled-clients '(nix-mode . nix-nil))
|
(add-to-list 'lsp-disabled-clients '(nix-mode . nix-nil))
|
||||||
(setq lsp-nix-nixd-server-path "nixd")
|
(setq lsp-nix-nixd-server-path "nixd")
|
||||||
(when (executable-find "nixfmt")
|
(when (executable-find "nixfmt")
|
||||||
(setq lsp-nix-nixd-formatting-command [ "nixfmt" ]) )
|
(setq lsp-nix-nixd-formatting-command [ "nixfmt" ]))
|
||||||
|
|
||||||
|
|
||||||
(unless lsp-nix-nixd-nixos-options-expr
|
(unless lsp-nix-nixd-nixos-options-expr
|
||||||
(setq lsp-nix-nixd-nixos-options-expr (concat "(builtins.getFlake \"/etc/nixos\").nixosConfigurations." (system-name) ".options")))
|
(setq lsp-nix-nixd-nixos-options-expr (concat "(builtins.getFlake \"/etc/nixos\").nixosConfigurations." (system-name) ".options")))
|
||||||
(unless lsp-nix-nixd-nixpkgs-expr
|
(unless lsp-nix-nixd-nixpkgs-expr
|
||||||
|
@ -362,8 +483,7 @@
|
||||||
(use-package slime
|
(use-package slime
|
||||||
:if (executable-find "sbcl")
|
:if (executable-find "sbcl")
|
||||||
:config
|
:config
|
||||||
(setq inferior-lisp-program "sbcl")
|
(setq inferior-lisp-program "sbcl"))
|
||||||
(slime-setup '(slime-fancy slime-company)))
|
|
||||||
(use-package bash-completion)
|
(use-package bash-completion)
|
||||||
(use-package diff-hl
|
(use-package diff-hl
|
||||||
:config
|
:config
|
||||||
|
@ -379,33 +499,33 @@
|
||||||
(use-package git-timemachine
|
(use-package git-timemachine
|
||||||
:defer t)
|
:defer t)
|
||||||
(use-package org
|
(use-package org
|
||||||
:mode (("\\.org$" . org-mode))
|
:mode (("\\.org$" . org-mode))
|
||||||
:hook
|
:hook
|
||||||
((org-mode . org-indent-mode)
|
((org-mode . org-indent-mode)
|
||||||
(org-mode . display-line-numbers-mode)
|
(org-mode . display-line-numbers-mode)
|
||||||
)
|
)
|
||||||
:config
|
:config
|
||||||
(require 'org-mouse)
|
(require 'org-mouse)
|
||||||
(require 'org-tempo)
|
(require 'org-tempo)
|
||||||
(setq org-src-window-setup 'current-window)
|
(setq org-src-window-setup 'current-window)
|
||||||
(setq org-latex-pdf-process '("latexmk -xelatex -quiet -shell-escape -f -output-directory=%o %f"))
|
(setq org-latex-pdf-process '("latexmk -xelatex -quiet -shell-escape -f -output-directory=%o %f"))
|
||||||
(org-babel-do-load-languages
|
(org-babel-do-load-languages
|
||||||
'org-babel-load-languages
|
'org-babel-load-languages
|
||||||
'((latex . t)
|
'((latex . t)
|
||||||
(emacs-lisp . t)
|
(emacs-lisp . t)
|
||||||
(shell . t)
|
(shell . t)
|
||||||
(css . t)
|
(css . t)
|
||||||
(C . t)
|
(C . t)
|
||||||
(calc . t)
|
(calc . t)
|
||||||
(awk . t)
|
(awk . t)
|
||||||
(sql . t)
|
(sql . t)
|
||||||
(sqlite . t)))
|
(sqlite . t)))
|
||||||
(add-hook 'org-mode-hook (lambda ()
|
(add-hook 'org-mode-hook (lambda ()
|
||||||
(setq-local
|
(setq-local
|
||||||
electric-pair-inhibit-predicate
|
electric-pair-inhibit-predicate
|
||||||
`(lambda (c)
|
`(lambda (c)
|
||||||
(if
|
(if
|
||||||
(char-equal c ?<) t (,electric-pair-inhibit-predicate c)))))))
|
(char-equal c ?<) t (,electric-pair-inhibit-predicate c)))))))
|
||||||
(use-package org-modern
|
(use-package org-modern
|
||||||
:after (org)
|
:after (org)
|
||||||
:hook
|
:hook
|
||||||
|
@ -477,10 +597,6 @@
|
||||||
|
|
||||||
;; CUA-like global
|
;; CUA-like global
|
||||||
(define-key global-map (kbd "C-s") 'save-buffer)
|
(define-key global-map (kbd "C-s") 'save-buffer)
|
||||||
(define-key global-map (kbd "C-r") 'query-replace)
|
|
||||||
(define-key global-map (kbd "C-S-r") 'replace-string)
|
|
||||||
(define-key global-map (kbd "M-r") 'query-replace-regexp)
|
|
||||||
(define-key global-map (kbd "M-S-r") 'replace-regexp)
|
|
||||||
(define-key global-map (kbd "C-a") 'mark-whole-buffer)
|
(define-key global-map (kbd "C-a") 'mark-whole-buffer)
|
||||||
(define-key global-map (kbd "C-f") 'isearch-forward)
|
(define-key global-map (kbd "C-f") 'isearch-forward)
|
||||||
(define-key global-map (kbd "C-S-f") 'isearch-backward)
|
(define-key global-map (kbd "C-S-f") 'isearch-backward)
|
||||||
|
@ -534,11 +650,6 @@
|
||||||
(advice-add 'eat-char-mode :after #'cua--eat-char-override-keymap)
|
(advice-add 'eat-char-mode :after #'cua--eat-char-override-keymap)
|
||||||
(add-hook 'eat-char-mode-hook #'cua--eat-char-override-keymap)
|
(add-hook 'eat-char-mode-hook #'cua--eat-char-override-keymap)
|
||||||
|
|
||||||
;; Helm
|
|
||||||
(global-set-key (kbd "M-x") 'helm-M-x)
|
|
||||||
(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks)
|
|
||||||
(global-set-key (kbd "C-x C-f") #'helm-find-files)
|
|
||||||
(global-set-key (kbd "C-x b") #'helm-mini)
|
|
||||||
;; Treemacs
|
;; Treemacs
|
||||||
(define-key global-map (kbd "C-H-t") 'treemacs))
|
(define-key global-map (kbd "C-H-t") 'treemacs))
|
||||||
|
|
||||||
|
|
122
flake.lock
122
flake.lock
|
@ -5,11 +5,11 @@
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732200724,
|
"lastModified": 1746562888,
|
||||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -24,11 +24,11 @@
|
||||||
"fromYaml": "fromYaml_2"
|
"fromYaml": "fromYaml_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732200724,
|
"lastModified": 1746562888,
|
||||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -159,11 +159,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744967866,
|
"lastModified": 1747188492,
|
||||||
"narHash": "sha256-jWHOSSZ03R1Dvru5rXEForMgkV1RAsCd+IjMmehpmFg=",
|
"narHash": "sha256-9DZ/Wr6zDvb2GxgvxkGxCFJctqhn4vIPeCh+Yctflg0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "c54fd7dc3e696136c8257abfe12815274b42660e",
|
"rev": "6d15ffa9720fc7d6635238d961593a289062b555",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -182,11 +182,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744967866,
|
"lastModified": 1747188492,
|
||||||
"narHash": "sha256-jWHOSSZ03R1Dvru5rXEForMgkV1RAsCd+IjMmehpmFg=",
|
"narHash": "sha256-9DZ/Wr6zDvb2GxgvxkGxCFJctqhn4vIPeCh+Yctflg0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "c54fd7dc3e696136c8257abfe12815274b42660e",
|
"rev": "6d15ffa9720fc7d6635238d961593a289062b555",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -436,11 +436,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744743431,
|
"lastModified": 1747020534,
|
||||||
"narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=",
|
"narHash": "sha256-D/6rkiC6w2p+4SwRiVKrWIeYzun8FBg7NlMKMwQMxO0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387",
|
"rev": "b4bbdc6fde16fc2051fcde232f6e288cd22007ca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -458,11 +458,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744919155,
|
"lastModified": 1747184352,
|
||||||
"narHash": "sha256-IJksPW32V9gid9vDxoloJMRk+YGjxq5drFHBFeBkKU8=",
|
"narHash": "sha256-GBZulv50wztp5cgc405t1uOkxQYhSkMqeKLI+iSrlpk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "72526a5f7cde2ef9075637802a1e2a8d2d658f70",
|
"rev": "7c1cefb98369cc85440642fdccc1c1394ca6dd2c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -477,10 +477,10 @@
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744117652,
|
"lastModified": 1746171682,
|
||||||
"narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=",
|
"narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=",
|
||||||
"path": "/nix/store/avba4k04vxmknff9mjchmwyvr3vpzccz-source",
|
"path": "/nix/store/xcqyjkljvvi1qk78la2vh5b783yzs7wl-source",
|
||||||
"rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f",
|
"rev": "50eee705bbdbac942074a8c120e8194185633675",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -500,11 +500,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744941256,
|
"lastModified": 1747188026,
|
||||||
"narHash": "sha256-dCsDco+HQ0rwApyTmmyot9fUVIC0XeWOf/YpB8LZd18=",
|
"narHash": "sha256-NjiJ2Bce5F7dn+6ZGCenzIjem2+Ei4SDF78x2wHVlOY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "0dd8474f697c02ac1861a96f7626f8fb9e21f268",
|
"rev": "083675f78e7de80e9fec1f621b8a508e58327131",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -526,11 +526,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744941256,
|
"lastModified": 1747188026,
|
||||||
"narHash": "sha256-dCsDco+HQ0rwApyTmmyot9fUVIC0XeWOf/YpB8LZd18=",
|
"narHash": "sha256-NjiJ2Bce5F7dn+6ZGCenzIjem2+Ei4SDF78x2wHVlOY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "0dd8474f697c02ac1861a96f7626f8fb9e21f268",
|
"rev": "083675f78e7de80e9fec1f621b8a508e58327131",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -553,11 +553,11 @@
|
||||||
"nur": "nur"
|
"nur": "nur"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744223916,
|
"lastModified": 1747136507,
|
||||||
"narHash": "sha256-LHS51wl/LFzWvrplcL/LJ3eIqMRyiwXch4IxA1Pq1ig=",
|
"narHash": "sha256-lnt9LypZVMRzRDpl+gQtrInxvsF7CL18TTEMthXz8p8=",
|
||||||
"owner": "materusPL",
|
"owner": "materusPL",
|
||||||
"repo": "Nixerus",
|
"repo": "Nixerus",
|
||||||
"rev": "2caaf0b89ebf8edb9a1b0400c774670d838ef12f",
|
"rev": "8c329020c653c04a8f0f50dc7400c01b3b9e3733",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -580,11 +580,11 @@
|
||||||
"nur": "nur_3"
|
"nur": "nur_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744223916,
|
"lastModified": 1747136507,
|
||||||
"narHash": "sha256-LHS51wl/LFzWvrplcL/LJ3eIqMRyiwXch4IxA1Pq1ig=",
|
"narHash": "sha256-lnt9LypZVMRzRDpl+gQtrInxvsF7CL18TTEMthXz8p8=",
|
||||||
"owner": "materusPL",
|
"owner": "materusPL",
|
||||||
"repo": "Nixerus",
|
"repo": "Nixerus",
|
||||||
"rev": "2caaf0b89ebf8edb9a1b0400c774670d838ef12f",
|
"rev": "8c329020c653c04a8f0f50dc7400c01b3b9e3733",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -596,11 +596,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744633460,
|
"lastModified": 1747129300,
|
||||||
"narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=",
|
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "9a049b4a421076d27fee3eec664a18b2066824cb",
|
"rev": "e81fd167b33121269149c57806599045fd33eeed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -612,11 +612,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware_2": {
|
"nixos-hardware_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744633460,
|
"lastModified": 1747129300,
|
||||||
"narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=",
|
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "9a049b4a421076d27fee3eec664a18b2066824cb",
|
"rev": "e81fd167b33121269149c57806599045fd33eeed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -644,11 +644,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744440957,
|
"lastModified": 1746957726,
|
||||||
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
|
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
|
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -660,11 +660,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744440957,
|
"lastModified": 1746957726,
|
||||||
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
|
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
|
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -676,11 +676,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_3": {
|
"nixpkgs-stable_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744440957,
|
"lastModified": 1746957726,
|
||||||
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
|
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
|
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -740,11 +740,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731755305,
|
"lastModified": 1746055187,
|
||||||
"narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=",
|
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4",
|
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -756,11 +756,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744463964,
|
"lastModified": 1746904237,
|
||||||
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
|
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
|
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -970,11 +970,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744669848,
|
"lastModified": 1746485181,
|
||||||
"narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
|
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "61154300d945f0b147b30d24ddcafa159148026a",
|
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -992,11 +992,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744669848,
|
"lastModified": 1746485181,
|
||||||
"narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
|
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "61154300d945f0b147b30d24ddcafa159148026a",
|
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
Loading…
Reference in New Issue