Lot of changes, ignoring previous commits format
This commit is contained in:
parent
3d1cc80150
commit
9e97dc6f65
|
@ -1 +1,2 @@
|
||||||
\#*\#
|
\#*\#
|
||||||
|
.vscode
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"nixEnvSelector.suggestion": false,
|
|
||||||
"files.associations": {
|
|
||||||
"iostream": "cpp"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,8 +2,8 @@
|
||||||
let
|
let
|
||||||
mainMirror = "https://ftp.icm.edu.pl/pub/Linux/dist/archlinux";
|
mainMirror = "https://ftp.icm.edu.pl/pub/Linux/dist/archlinux";
|
||||||
extraMirrors = [ ];
|
extraMirrors = [ ];
|
||||||
getty = [ 5 6 ];
|
getty = [ 6 7 ];
|
||||||
ttys = [ 5 6 7 8 ] ++ getty;
|
ttys = [ 6 7 8 ] ++ getty;
|
||||||
|
|
||||||
startPkgs = lib.strings.concatStringsSep " " [ "base" "base-devel" "dbus" "less" "nano" "bash-completion" ];
|
startPkgs = lib.strings.concatStringsSep " " [ "base" "base-devel" "dbus" "less" "nano" "bash-completion" ];
|
||||||
scripts = {
|
scripts = {
|
||||||
|
@ -28,6 +28,7 @@ let
|
||||||
systemd-machine-id-setup --root="/var/lib/machines/archlinux"
|
systemd-machine-id-setup --root="/var/lib/machines/archlinux"
|
||||||
systemd-nspawn -q --settings=false --system-call-filter=@sandbox -D "/var/lib/machines/archlinux" /bin/sh -c "
|
systemd-nspawn -q --settings=false --system-call-filter=@sandbox -D "/var/lib/machines/archlinux" /bin/sh -c "
|
||||||
export PATH=/bin
|
export PATH=/bin
|
||||||
|
touch /etc/systemd/do-not-udevadm-trigger-on-update
|
||||||
pacman-key --init && pacman-key --populate
|
pacman-key --init && pacman-key --populate
|
||||||
pacman -Rs --noconfirm arch-install-scripts
|
pacman -Rs --noconfirm arch-install-scripts
|
||||||
pacman -Sy --noconfirm --needed ${startPkgs}
|
pacman -Sy --noconfirm --needed ${startPkgs}
|
||||||
|
|
|
@ -53,6 +53,8 @@
|
||||||
lua
|
lua
|
||||||
gtk4.dev
|
gtk4.dev
|
||||||
gtk4
|
gtk4
|
||||||
|
glib
|
||||||
|
glib.dev
|
||||||
miniaudio
|
miniaudio
|
||||||
SDL2.dev
|
SDL2.dev
|
||||||
SDL2
|
SDL2
|
||||||
|
|
|
@ -111,7 +111,7 @@
|
||||||
|
|
||||||
binutils
|
binutils
|
||||||
|
|
||||||
qbittorrent
|
materusArg.unstable.qbittorrent
|
||||||
mkvtoolnix
|
mkvtoolnix
|
||||||
nicotine-plus
|
nicotine-plus
|
||||||
picard
|
picard
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
JAVA_8_HOME = pkgs.jdk8;
|
JAVA_8_HOME = "${pkgs.jdk8}/lib/openjdk/";
|
||||||
JAVA_17_HOME = pkgs.jdk17;
|
JAVA_17_HOME = "${pkgs.jdk17}/lib/openjdk/";
|
||||||
JAVA_21_HOME = pkgs.jdk21;
|
JAVA_21_HOME = "${pkgs.jdk21}/lib/openjdk/";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,6 @@ users.users.materus = {
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
description = "Mateusz Słodkowicz";
|
description = "Mateusz Słodkowicz";
|
||||||
openssh.authorizedKeys.keyFiles = [ ("${materusArg.cfg.path}" + "/extraFiles/keys/ssh/materus.pub") ];
|
openssh.authorizedKeys.keyFiles = [ ("${materusArg.cfg.path}" + "/extraFiles/keys/ssh/materus.pub") ];
|
||||||
hashedPasswordFile = config.sops.secrets."users/materus".path;
|
#hashedPasswordFile = config.sops.secrets."users/materus".path;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -10,7 +10,7 @@
|
||||||
sops.gnupg.sshKeyPaths = [ ];
|
sops.gnupg.sshKeyPaths = [ ];
|
||||||
sops.age.sshKeyPaths = [ "/materus/root/ssh_host_ed25519_key" ];
|
sops.age.sshKeyPaths = [ "/materus/root/ssh_host_ed25519_key" ];
|
||||||
sops.defaultSopsFile = materusCfg.hostPath + "/secrets/secrets.yaml";
|
sops.defaultSopsFile = materusCfg.hostPath + "/secrets/secrets.yaml";
|
||||||
sops.secrets."users/materus" = { neededForUsers = true; };
|
#sops.secrets."users/materus" = { neededForUsers = true; };
|
||||||
sops.secrets.wireguard = { };
|
sops.secrets.wireguard = { };
|
||||||
|
|
||||||
services.openssh.hostKeys = [
|
services.openssh.hostKeys = [
|
||||||
|
|
|
@ -111,6 +111,11 @@ let
|
||||||
"[cpp]" = {
|
"[cpp]" = {
|
||||||
"editor.defaultFormatter" = lib.mkDefault "xaver.clang-format";
|
"editor.defaultFormatter" = lib.mkDefault "xaver.clang-format";
|
||||||
};
|
};
|
||||||
|
"cmake.showOptionsMovedNotification" = false;
|
||||||
|
"cmake.pinnedCommands" = [
|
||||||
|
"workbench.action.tasks.configureTaskRunner"
|
||||||
|
"workbench.action.tasks.runTask"
|
||||||
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -17,24 +17,120 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
configPath = "${materusArg.cfg.path}" + "/extraFiles/config/emacs/";
|
configPath = "${materusArg.cfg.path}" + "/extraFiles/config/emacs/";
|
||||||
inits = import ./init.nix {
|
|
||||||
path = configPath;
|
|
||||||
inherit pkgs;
|
|
||||||
};
|
|
||||||
packages = epkgs:
|
packages = epkgs:
|
||||||
with epkgs; [
|
with epkgs; [
|
||||||
(materus-config epkgs)
|
(materus-config epkgs)
|
||||||
treesit-grammars.with-all-grammars
|
treesit-grammars.with-all-grammars
|
||||||
];
|
|
||||||
|
|
||||||
default-config = ''
|
use-package
|
||||||
${setNixInit}
|
elcord
|
||||||
${inits.initText}
|
persp-mode
|
||||||
'';
|
dashboard
|
||||||
|
magit
|
||||||
|
git-timemachine
|
||||||
|
avy
|
||||||
|
vterm
|
||||||
|
direnv
|
||||||
|
projectile
|
||||||
|
clipetty
|
||||||
|
which-key
|
||||||
|
iedit
|
||||||
|
hideshowvis
|
||||||
|
evil
|
||||||
|
treemacs-evil
|
||||||
|
treemacs
|
||||||
|
treemacs-nerd-icons
|
||||||
|
treemacs-perspective
|
||||||
|
treemacs-icons-dired
|
||||||
|
treemacs-magit
|
||||||
|
treemacs-projectile
|
||||||
|
tree-edit
|
||||||
|
nerd-icons
|
||||||
|
nerd-icons-completion
|
||||||
|
perspective
|
||||||
|
minions
|
||||||
|
rainbow-delimiters
|
||||||
|
rainbow-mode
|
||||||
|
cmake-mode
|
||||||
|
lsp-mode
|
||||||
|
lsp-java
|
||||||
|
lsp-jedi
|
||||||
|
lsp-haskell
|
||||||
|
lsp-ui
|
||||||
|
lsp-treemacs
|
||||||
|
dap-mode
|
||||||
|
flycheck
|
||||||
|
gradle-mode
|
||||||
|
groovy-mode
|
||||||
|
kotlin-mode
|
||||||
|
d-mode
|
||||||
|
lua-mode
|
||||||
|
multiple-cursors
|
||||||
|
org
|
||||||
|
org-contrib
|
||||||
|
org-ql
|
||||||
|
org-rainbow-tags
|
||||||
|
org-roam
|
||||||
|
org-roam-ui
|
||||||
|
org-review
|
||||||
|
org-present
|
||||||
|
org-superstar
|
||||||
|
org-auto-tangle
|
||||||
|
visual-fill-column
|
||||||
|
csharp-mode
|
||||||
|
markdown-mode
|
||||||
|
json-mode
|
||||||
|
nix-mode
|
||||||
|
no-littering
|
||||||
|
right-click-context
|
||||||
|
dracula-theme
|
||||||
|
doom-themes
|
||||||
|
doom-modeline
|
||||||
|
popper
|
||||||
|
undo-tree
|
||||||
|
bash-completion
|
||||||
|
eldoc-box
|
||||||
|
yasnippet
|
||||||
|
async
|
||||||
|
request
|
||||||
|
nix-ts-mode
|
||||||
|
markdown-ts-mode
|
||||||
|
llvm-ts-mode
|
||||||
|
treesit-fold
|
||||||
|
treesit-auto
|
||||||
|
tree-sitter-langs
|
||||||
|
eat
|
||||||
|
vlf
|
||||||
|
edit-indirect
|
||||||
|
zones
|
||||||
|
sudo-edit
|
||||||
|
toc-org
|
||||||
|
empv
|
||||||
|
volatile-highlights
|
||||||
|
highlight
|
||||||
|
elfeed
|
||||||
|
elfeed-goodies
|
||||||
|
drag-stuff
|
||||||
|
dirvish
|
||||||
|
rg
|
||||||
|
# Completions & Minibuffer
|
||||||
|
corfu
|
||||||
|
company
|
||||||
|
company-quickhelp
|
||||||
|
cape
|
||||||
|
embark
|
||||||
|
embark-consult
|
||||||
|
orderless
|
||||||
|
vertico
|
||||||
|
marginalia
|
||||||
|
];
|
||||||
|
|
||||||
emacsEnv = pkgs.buildEnv {
|
emacsEnv = pkgs.buildEnv {
|
||||||
name = "emacs-env";
|
name = "emacs-env";
|
||||||
paths = with pkgs; [
|
paths = with pkgs; [
|
||||||
|
ripgrep
|
||||||
|
cmake
|
||||||
|
gnumake
|
||||||
nixfmt-classic
|
nixfmt-classic
|
||||||
python3
|
python3
|
||||||
lua
|
lua
|
||||||
|
@ -48,6 +144,8 @@ let
|
||||||
gdb
|
gdb
|
||||||
nixd
|
nixd
|
||||||
jdt-language-server
|
jdt-language-server
|
||||||
|
jdk
|
||||||
|
gradle
|
||||||
omnisharp-roslyn
|
omnisharp-roslyn
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -56,6 +154,7 @@ let
|
||||||
|
|
||||||
setNixInit = ''
|
setNixInit = ''
|
||||||
(setenv "PATH" (concat (getenv "PATH") ":${emacsEnv}/bin"))
|
(setenv "PATH" (concat (getenv "PATH") ":${emacsEnv}/bin"))
|
||||||
|
(setenv "LD_LIBRARY_PATH" (concat (getenv "LD_LIBRARY_PATH") ":${emacsEnv}/lib"))
|
||||||
(setq exec-path (append exec-path '("${emacsEnv}/bin")))
|
(setq exec-path (append exec-path '("${emacsEnv}/bin")))
|
||||||
(call-process-shell-command "${pkgs.xorg.xmodmap}/bin/xmodmap -e \"keycode 148 = Hyper_L\" -e \"remove Mod4 = Hyper_L\" -e \"add Mod3 = Hyper_L\" &" nil 0)
|
(call-process-shell-command "${pkgs.xorg.xmodmap}/bin/xmodmap -e \"keycode 148 = Hyper_L\" -e \"remove Mod4 = Hyper_L\" -e \"add Mod3 = Hyper_L\" &" nil 0)
|
||||||
(call-process-shell-command "${pkgs.xorg.xmodmap}/bin/xmodmap -e \"keycode 66 = Hyper_L\" -e \"remove Mod4 = Hyper_L\" -e \"add Mod3 = Hyper_L\" &" nil 0)
|
(call-process-shell-command "${pkgs.xorg.xmodmap}/bin/xmodmap -e \"keycode 66 = Hyper_L\" -e \"remove Mod4 = Hyper_L\" -e \"add Mod3 = Hyper_L\" &" nil 0)
|
||||||
|
@ -65,26 +164,28 @@ in {
|
||||||
materusArg.pkgs.lib.mkBoolOpt false "Enable emacs with materus cfg";
|
materusArg.pkgs.lib.mkBoolOpt false "Enable emacs with materus cfg";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
home.activation.emacsCompile = lib.hm.dag.entryAfter [ "linkGeneration" ] ''
|
home.activation.emacsSetup = lib.hm.dag.entryAfter [ "linkGeneration" ] ''
|
||||||
mkdir -p ${config.xdg.configHome}/emacs/var/recovery
|
mkdir -p ${config.xdg.configHome}/emacs/var/recovery
|
||||||
mkdir -p ${config.xdg.configHome}/emacs/etc
|
mkdir -p ${config.xdg.configHome}/emacs/etc/materus
|
||||||
|
|
||||||
mkdir -p ${config.xdg.configHome}/emacs/var/backups
|
mkdir -p ${config.xdg.configHome}/emacs/var/backups
|
||||||
run ${config.programs.emacs.finalPackage}/bin/emacs --batch \
|
${pkgs.rsync}/bin/rsync -zr --no-times --chmod=744 "${configPath}" "${config.xdg.configHome}/emacs"
|
||||||
|
|
||||||
|
|
||||||
|
run ${config.programs.emacs.finalPackage}/bin/emacs -Q --batch \
|
||||||
--eval '(setq warning-minimum-log-level :error)' \
|
--eval '(setq warning-minimum-log-level :error)' \
|
||||||
|
--eval '(setq package-user-dir (concat user-emacs-directory "var/elpa/" emacs-version "/" ))' \
|
||||||
|
--eval '(setq package-gnupghome-dir (concat user-emacs-directory "var/elpa/gnupg/" ))' \
|
||||||
|
--eval '(package-initialize)' \
|
||||||
|
--eval '(byte-recompile-directory (concat user-emacs-directory "etc/materus/extra") 0 t)' \
|
||||||
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/early-init.el")' \
|
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/early-init.el")' \
|
||||||
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/etc/materus/emacs-config.el")' \
|
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/init.el")' \
|
||||||
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/init.el")'
|
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/nix-init.el")' \
|
||||||
|
--eval '(byte-compile-file "${config.xdg.configHome}/emacs/etc/materus/emacs-config.el")'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = { "emacs/nix-init.el".text = setNixInit; };
|
||||||
"emacs/early-init.el".text = inits.earlyInitText;
|
|
||||||
"emacs/init.el".text = default-config;
|
#Emacsclient with COLORTERM env variable, without it display in "-nw" client is broken
|
||||||
"emacs/etc/materus" = {
|
|
||||||
source = configPath + "etc/materus";
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.desktopEntries.emacs = {
|
xdg.desktopEntries.emacs = {
|
||||||
name = "Emacs";
|
name = "Emacs";
|
||||||
genericName = "Edytor tekstu";
|
genericName = "Edytor tekstu";
|
||||||
|
@ -128,18 +229,31 @@ in {
|
||||||
withSQLite3 = true;
|
withSQLite3 = true;
|
||||||
withWebP = true;
|
withWebP = true;
|
||||||
withX = true;
|
withX = true;
|
||||||
|
#withXwidgets = true;
|
||||||
withGTK3 = true;
|
withGTK3 = true;
|
||||||
withAlsaLib = true;
|
withAlsaLib = true;
|
||||||
withGconf = true;
|
withGconf = true;
|
||||||
withImageMagick = true;
|
withImageMagick = true;
|
||||||
}).overrideAttrs (f: p: {
|
}).overrideAttrs (f: p: {
|
||||||
|
#Remove .desktop files, will use my own. Add file with buildtime in case of using elpaca
|
||||||
postInstall = p.postInstall + ''
|
postInstall = p.postInstall + ''
|
||||||
rm -fr $out/share/applications/*
|
rm -fr $out/share/applications/*
|
||||||
mkdir -p $out/opt/emacs
|
mkdir -p $out/opt/emacs
|
||||||
date +%s | tr -d '\n' > $out/opt/emacs/buildtime
|
date +%s | tr -d '\n' > $out/opt/emacs/buildtime
|
||||||
'';
|
'';
|
||||||
}));
|
}));
|
||||||
extraPackages = epkgs: (packages epkgs);
|
extraPackages = epkgs:
|
||||||
|
(packages (epkgs.overrideScope (ff: pp: {
|
||||||
|
#Build lsp-mode with plist support, need to set this in emacs too
|
||||||
|
|
||||||
|
lsp-mode = (pp.lsp-mode.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
lsp-java = (pp.lsp-java.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
lsp-jedi= (pp.lsp-jedi.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
lsp-haskell = (pp.lsp-haskell.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
lsp-ui = (pp.lsp-ui.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
lsp-treemacs = (pp.lsp-treemacs.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
dap-mode = (pp.dap-mode.overrideAttrs (f: p: { buildPhase = "export LSP_USE_PLISTS=true\n" + p.buildPhase;}));
|
||||||
|
})));
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
{ path, pkgs }:
|
|
||||||
{
|
|
||||||
|
|
||||||
earlyInitText = ''
|
|
||||||
${builtins.readFile (path + "early-init.el")}
|
|
||||||
'';
|
|
||||||
initText = ''
|
|
||||||
${builtins.readFile (path + "init.el")}
|
|
||||||
|
|
||||||
|
|
||||||
'';
|
|
||||||
|
|
||||||
}
|
|
|
@ -9,11 +9,17 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = lib.mkDefault true;
|
enableCompletion = lib.mkDefault true;
|
||||||
enableVteIntegration = lib.mkDefault true;
|
enableVteIntegration = lib.mkDefault true;
|
||||||
historyControl = lib.mkDefault [ "erasedups" "ignorespace" ];
|
historyControl = lib.mkDefault [ "erasedups" "ignorespace" ];
|
||||||
shellOptions = lib.mkDefault [ "autocd" "checkwinsize" "cmdhist" "expand_aliases" "extglob" "globstar" "checkjobs" "nocaseglob" ];
|
shellOptions = lib.mkDefault [ "autocd" "checkwinsize" "cmdhist" "expand_aliases" "extglob" "globstar" "checkjobs" "nocaseglob" ];
|
||||||
|
initExtra = ''
|
||||||
|
if [ -n "$EAT_SHELL_INTEGRATION_DIR" ]; then
|
||||||
|
source "$EAT_SHELL_INTEGRATION_DIR/bash";
|
||||||
|
fi
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,11 @@ in
|
||||||
${makeEnv "__MATERUS_HM_ZSH_PRIVATE" "0"}
|
${makeEnv "__MATERUS_HM_ZSH_PRIVATE" "0"}
|
||||||
'';
|
'';
|
||||||
initExtraFirst = ''
|
initExtraFirst = ''
|
||||||
|
|
||||||
|
if [ -n "$EAT_SHELL_INTEGRATION_DIR" ]; then
|
||||||
|
source "$EAT_SHELL_INTEGRATION_DIR/zsh";
|
||||||
|
fi
|
||||||
|
|
||||||
${makeIfVar "__MATERUS_HM_ZSH_PROMPT" "p10k" ''
|
${makeIfVar "__MATERUS_HM_ZSH_PROMPT" "p10k" ''
|
||||||
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
|
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
|
||||||
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
|
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
|
||||||
|
@ -167,6 +172,8 @@ in
|
||||||
${lib.optionalString config.materus.profile.editor.emacs.enable ''alias "ee"="emacsclient -n -r --alternate-editor= "''}
|
${lib.optionalString config.materus.profile.editor.emacs.enable ''alias "ee"="emacsclient -n -r --alternate-editor= "''}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'' +
|
'' +
|
||||||
makeIfVar "__MATERUS_HM_ZSH_PROMPT" "p10k" ''
|
makeIfVar "__MATERUS_HM_ZSH_PROMPT" "p10k" ''
|
||||||
if [[ "$__MATERUS_HM_ZSH_256COLORS" = "1" ]] ; then
|
if [[ "$__MATERUS_HM_ZSH_256COLORS" = "1" ]] ; then
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
|
@ -18,12 +17,17 @@
|
||||||
font = lib.mkDefault "LatArCyrHeb-16";
|
font = lib.mkDefault "LatArCyrHeb-16";
|
||||||
keyMap = lib.mkDefault "pl";
|
keyMap = lib.mkDefault "pl";
|
||||||
};
|
};
|
||||||
|
environment.sessionVariables = {
|
||||||
|
MATERUS_CONFIG_DIR = lib.mkDefault "/etc/nixos/";
|
||||||
|
};
|
||||||
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
clock24 = lib.mkDefault true;
|
clock24 = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
environment.systemPackages = lib.mkIf config.programs.tmux.enable [ pkgs.tmux.terminfo ];
|
environment.systemPackages =
|
||||||
|
lib.mkIf config.programs.tmux.enable [ pkgs.tmux.terminfo ];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
(defvar materus/init-early t) ; Var to ensure early-init loaded
|
(defvar materus/init-early t) ; Var to ensure early-init loaded
|
||||||
(setq materus/init-early t) ; Probably useless
|
(setq materus/init-early t) ; Probably useless
|
||||||
|
(setenv "LSP_USE_PLISTS" "true")
|
||||||
|
|
||||||
(setq initial-major-mode 'fundamental-mode)
|
(setq initial-major-mode 'fundamental-mode)
|
||||||
(setq native-comp-async-report-warnings-errors nil)
|
(setq native-comp-async-report-warnings-errors nil)
|
||||||
(setq package-enable-at-startup nil)
|
(setq package-enable-at-startup nil)
|
||||||
|
(unless (daemonp)
|
||||||
|
(add-to-list 'initial-frame-alist '(fullscreen . maximized)))
|
||||||
|
(setq default-frame-alist
|
||||||
|
'((width . 130)
|
||||||
|
(height . 40)))
|
||||||
|
|
||||||
(setq native-comp-speed 3)
|
(setq native-comp-speed 3)
|
||||||
(add-hook 'emacs-startup-hook (lambda () (package-initialize)
|
(add-hook 'emacs-startup-hook (lambda () (package-initialize)
|
||||||
|
|
|
@ -9,7 +9,7 @@ My emacs config, tangled file is [[file:etc/materus/emacs-config.el][there]]
|
||||||
- [[#init-files][Init Files]]
|
- [[#init-files][Init Files]]
|
||||||
- [[#early-init][Early Init]]
|
- [[#early-init][Early Init]]
|
||||||
- [[#init][Init]]
|
- [[#init][Init]]
|
||||||
- [[#byte-compile][Byte compile]]
|
- [[#compile-time][Compile Time]]
|
||||||
- [[#packages][Packages]]
|
- [[#packages][Packages]]
|
||||||
- [[#init-1][Init]]
|
- [[#init-1][Init]]
|
||||||
- [[#packages-1][Packages]]
|
- [[#packages-1][Packages]]
|
||||||
|
@ -23,13 +23,15 @@ My emacs config, tangled file is [[file:etc/materus/emacs-config.el][there]]
|
||||||
- [[#org-mode][Org-mode]]
|
- [[#org-mode][Org-mode]]
|
||||||
- [[#completions][Completions]]
|
- [[#completions][Completions]]
|
||||||
- [[#minibuffer][Minibuffer]]
|
- [[#minibuffer][Minibuffer]]
|
||||||
- [[#company][Company]]
|
- [[#code-completion][Code completion]]
|
||||||
- [[#miscellaneous][Miscellaneous]]
|
- [[#miscellaneous][Miscellaneous]]
|
||||||
- [[#defaults][Defaults]]
|
- [[#defaults][Defaults]]
|
||||||
- [[#elcord][Elcord]]
|
- [[#elcord][Elcord]]
|
||||||
- [[#undo-tree][Undo-Tree]]
|
- [[#undo-tree][Undo-Tree]]
|
||||||
- [[#projectile][Projectile]]
|
- [[#projectile][Projectile]]
|
||||||
- [[#treemacs][Treemacs]]
|
- [[#treemacs][Treemacs]]
|
||||||
|
- [[#magit][Magit]]
|
||||||
|
- [[#dirvish][Dirvish]]
|
||||||
- [[#programming][Programming]]
|
- [[#programming][Programming]]
|
||||||
- [[#lsp][LSP]]
|
- [[#lsp][LSP]]
|
||||||
- [[#nix][Nix]]
|
- [[#nix][Nix]]
|
||||||
|
@ -37,6 +39,11 @@ My emacs config, tangled file is [[file:etc/materus/emacs-config.el][there]]
|
||||||
- [[#cc][C/C++]]
|
- [[#cc][C/C++]]
|
||||||
- [[#java][Java]]
|
- [[#java][Java]]
|
||||||
- [[#keybindings][Keybindings]]
|
- [[#keybindings][Keybindings]]
|
||||||
|
- [[#snippets][Snippets]]
|
||||||
|
- [[#yasnippet-init][Yasnippet init]]
|
||||||
|
- [[#other][Other]]
|
||||||
|
- [[#update-config-script][Update config script]]
|
||||||
|
- [[#byte-compile][Byte compile]]
|
||||||
- [[#test][Test]]
|
- [[#test][Test]]
|
||||||
|
|
||||||
* Init Files
|
* Init Files
|
||||||
|
@ -46,12 +53,19 @@ My emacs config, tangled file is [[file:etc/materus/emacs-config.el][there]]
|
||||||
:END:
|
:END:
|
||||||
Early init file, setting for GC and some paths.
|
Early init file, setting for GC and some paths.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
(defvar materus/init-early t) ; Var to ensure early-init loaded
|
(defvar materus/init-early t) ; Var to ensure early-init loaded
|
||||||
(setq materus/init-early t) ; Probably useless
|
(setq materus/init-early t) ; Probably useless
|
||||||
|
(setenv "LSP_USE_PLISTS" "true")
|
||||||
|
|
||||||
(setq initial-major-mode 'fundamental-mode)
|
(setq initial-major-mode 'fundamental-mode)
|
||||||
(setq native-comp-async-report-warnings-errors nil)
|
(setq native-comp-async-report-warnings-errors nil)
|
||||||
(setq package-enable-at-startup nil)
|
(setq package-enable-at-startup nil)
|
||||||
|
(unless (daemonp)
|
||||||
|
(add-to-list 'initial-frame-alist '(fullscreen . maximized)))
|
||||||
|
(setq default-frame-alist
|
||||||
|
'((width . 130)
|
||||||
|
(height . 40)))
|
||||||
|
|
||||||
(setq native-comp-speed 3)
|
(setq native-comp-speed 3)
|
||||||
(add-hook 'emacs-startup-hook (lambda () (package-initialize)
|
(add-hook 'emacs-startup-hook (lambda () (package-initialize)
|
||||||
|
@ -96,27 +110,29 @@ Early init file, setting for GC and some paths.
|
||||||
Init File
|
Init File
|
||||||
Checking if using emacs from my nix config (not used anymore, might use in future), loads config and custom.el
|
Checking if using emacs from my nix config (not used anymore, might use in future), loads config and custom.el
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
(setq-default materus/use-nix-packages (require 'materus-config nil 'noerror))
|
(setq-default materus/use-nix-packages (require 'materus-config nil 'noerror))
|
||||||
(cua-mode 0) ; To load cua variables/functions but not set it up yet
|
(unless (file-directory-p (concat user-emacs-directory "var/quickstart"))
|
||||||
|
(make-directory (concat user-emacs-directory "var/quickstart") t))
|
||||||
|
(load (concat user-emacs-directory "nix-init") t)
|
||||||
(load (concat user-emacs-directory "etc/materus/emacs-config"))
|
(load (concat user-emacs-directory "etc/materus/emacs-config"))
|
||||||
(when (file-exists-p custom-file)
|
(load custom-file t)
|
||||||
(load custom-file))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
** Compile Time
|
||||||
** Byte compile
|
|
||||||
Byte compile files if not already.
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(unless (file-exists-p (concat user-emacs-directory "etc/materus/emacs-config.elc"))
|
;;; -*- lexical-binding: t; -*-
|
||||||
(byte-compile-file (concat user-emacs-directory "etc/materus/emacs-config.el")))
|
(eval-when-compile
|
||||||
|
(defvar doom-modeline-support-imenu nil)
|
||||||
(unless (file-exists-p (concat user-emacs-directory "init.elc"))
|
(defvar display-time-24hr-format nil)
|
||||||
(byte-compile-file (concat user-emacs-directory "init.el")))
|
(defvar lsp-nix-nixd-formatting-command nil)
|
||||||
|
(defvar cua--cua-keys-keymap nil)
|
||||||
(unless (file-exists-p (concat user-emacs-directory "early-init.elc"))
|
(declare-function lsp-stdio-connection "lsp-mode" (COMMAND &optional TEST-COMMAND))
|
||||||
(byte-compile-file (concat user-emacs-directory "early-init.el")))
|
(declare-function make-lsp-client "lsp-mode")
|
||||||
|
(declare-function lsp-register-client "lsp-mode" ( CLIENT ))
|
||||||
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
* Packages
|
* Packages
|
||||||
Package manager config. Nix not used for portability and easier control.
|
Package manager config if not using nix.
|
||||||
After some testing default package manager works best for me.
|
After some testing default package manager works best for me.
|
||||||
** Init
|
** Init
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -124,9 +140,14 @@ After some testing default package manager works best for me.
|
||||||
(require 'package)
|
(require 'package)
|
||||||
(setq package-user-dir (concat user-emacs-directory "var/elpa/" emacs-version "/" ))
|
(setq package-user-dir (concat user-emacs-directory "var/elpa/" emacs-version "/" ))
|
||||||
(setq package-gnupghome-dir (concat user-emacs-directory "var/elpa/gnupg/" ))
|
(setq package-gnupghome-dir (concat user-emacs-directory "var/elpa/gnupg/" ))
|
||||||
|
(setq package-quickstart t)
|
||||||
|
(setq package-quickstart-file
|
||||||
|
(concat user-emacs-directory "var/quickstart/package-quickstart-" emacs-version ".el" ))
|
||||||
|
(add-to-list 'load-path (concat user-emacs-directory "etc/materus/extra"))
|
||||||
|
|
||||||
(add-to-list 'package-archives '("nongnu-devel" . "https://elpa.nongnu.org/nongnu-devel/"))
|
(add-to-list 'package-archives '("nongnu-devel" . "https://elpa.nongnu.org/nongnu-devel/"))
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||||
(package-initialize)
|
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
** Packages
|
** Packages
|
||||||
|
@ -141,10 +162,9 @@ Packages to install
|
||||||
magit
|
magit
|
||||||
git-timemachine
|
git-timemachine
|
||||||
avy
|
avy
|
||||||
corfu
|
|
||||||
vterm
|
vterm
|
||||||
|
direnv
|
||||||
projectile
|
projectile
|
||||||
company
|
|
||||||
clipetty
|
clipetty
|
||||||
which-key
|
which-key
|
||||||
iedit
|
iedit
|
||||||
|
@ -158,13 +178,10 @@ Packages to install
|
||||||
treemacs-magit
|
treemacs-magit
|
||||||
treemacs-projectile
|
treemacs-projectile
|
||||||
tree-edit
|
tree-edit
|
||||||
vertico
|
|
||||||
marginalia
|
|
||||||
nerd-icons
|
nerd-icons
|
||||||
nerd-icons-completion
|
nerd-icons-completion
|
||||||
perspective
|
perspective
|
||||||
minions
|
minions
|
||||||
doom-modeline
|
|
||||||
rainbow-delimiters
|
rainbow-delimiters
|
||||||
rainbow-mode
|
rainbow-mode
|
||||||
cmake-mode
|
cmake-mode
|
||||||
|
@ -174,6 +191,7 @@ Packages to install
|
||||||
lsp-haskell
|
lsp-haskell
|
||||||
lsp-ui
|
lsp-ui
|
||||||
lsp-treemacs
|
lsp-treemacs
|
||||||
|
flycheck
|
||||||
gradle-mode
|
gradle-mode
|
||||||
groovy-mode
|
groovy-mode
|
||||||
kotlin-mode
|
kotlin-mode
|
||||||
|
@ -188,6 +206,7 @@ Packages to install
|
||||||
org-roam
|
org-roam
|
||||||
org-roam-ui
|
org-roam-ui
|
||||||
org-review
|
org-review
|
||||||
|
org-present
|
||||||
org-superstar
|
org-superstar
|
||||||
org-auto-tangle
|
org-auto-tangle
|
||||||
visual-fill-column
|
visual-fill-column
|
||||||
|
@ -200,11 +219,9 @@ Packages to install
|
||||||
dracula-theme
|
dracula-theme
|
||||||
doom-themes
|
doom-themes
|
||||||
doom-modeline
|
doom-modeline
|
||||||
orderless
|
|
||||||
popper
|
popper
|
||||||
undo-tree
|
undo-tree
|
||||||
bash-completion
|
bash-completion
|
||||||
consult
|
|
||||||
eldoc-box
|
eldoc-box
|
||||||
yasnippet
|
yasnippet
|
||||||
async
|
async
|
||||||
|
@ -221,13 +238,24 @@ Packages to install
|
||||||
zones
|
zones
|
||||||
sudo-edit
|
sudo-edit
|
||||||
toc-org
|
toc-org
|
||||||
eshell-vterm
|
|
||||||
empv
|
empv
|
||||||
volatile-highlights
|
volatile-highlights
|
||||||
highlight
|
highlight
|
||||||
elfeed
|
elfeed
|
||||||
elfeed-goodies
|
elfeed-goodies
|
||||||
drag-stuff
|
drag-stuff
|
||||||
|
dirvish
|
||||||
|
rg
|
||||||
|
;; Completions & Minibuffer
|
||||||
|
corfu
|
||||||
|
company
|
||||||
|
company-quickhelp
|
||||||
|
cape
|
||||||
|
embark
|
||||||
|
embark-consult
|
||||||
|
orderless
|
||||||
|
vertico
|
||||||
|
marginalia
|
||||||
)
|
)
|
||||||
"A list of packages to ensure are installed at launch.")
|
"A list of packages to ensure are installed at launch.")
|
||||||
|
|
||||||
|
@ -241,8 +269,12 @@ Packages to install
|
||||||
(package-refresh-contents)
|
(package-refresh-contents)
|
||||||
(dolist (p materus/packages)
|
(dolist (p materus/packages)
|
||||||
(when (not (package-installed-p p))
|
(when (not (package-installed-p p))
|
||||||
(package-install p)))))
|
(package-install p)))
|
||||||
|
(package-quickstart-refresh)))
|
||||||
|
(unless materus/use-nix-packages
|
||||||
|
(package-initialize)
|
||||||
(materus/install-packages)
|
(materus/install-packages)
|
||||||
|
(unless (file-exists-p package-quickstart-file) (package-quickstart-refresh) ))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
* Configuration
|
* Configuration
|
||||||
|
@ -253,6 +285,8 @@ Set up no littering
|
||||||
(require 'recentf)
|
(require 'recentf)
|
||||||
(use-package no-littering
|
(use-package no-littering
|
||||||
:config
|
:config
|
||||||
|
(setq package-quickstart-file
|
||||||
|
(concat user-emacs-directory "var/quickstart/package-quickstart-" emacs-version ".el" ))
|
||||||
(add-to-list 'recentf-exclude
|
(add-to-list 'recentf-exclude
|
||||||
(recentf-expand-file-name no-littering-var-directory))
|
(recentf-expand-file-name no-littering-var-directory))
|
||||||
(add-to-list 'recentf-exclude
|
(add-to-list 'recentf-exclude
|
||||||
|
@ -272,6 +306,12 @@ Graphical related settings.
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Misc
|
*** Misc
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
|
(when (daemonp)
|
||||||
|
(add-hook 'after-make-frame-functions
|
||||||
|
(lambda (frame) (when (= (length (frame-list)) 2)
|
||||||
|
(set-frame-parameter frame 'fullscreen 'maximized)))))
|
||||||
|
|
||||||
(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)
|
(setq window-resize-pixelwise t)
|
||||||
|
@ -279,7 +319,7 @@ Graphical related settings.
|
||||||
(set-frame-font "Hack Nerd Font" nil t)
|
(set-frame-font "Hack Nerd Font" nil t)
|
||||||
)
|
)
|
||||||
|
|
||||||
(setq-default display-line-numbers-width 4)
|
(setq-default display-line-numbers-width 3)
|
||||||
|
|
||||||
|
|
||||||
(global-tab-line-mode 1)
|
(global-tab-line-mode 1)
|
||||||
|
@ -307,6 +347,11 @@ Graphical related settings.
|
||||||
)
|
)
|
||||||
;; Nerd Icons
|
;; Nerd Icons
|
||||||
(use-package nerd-icons)
|
(use-package nerd-icons)
|
||||||
|
(use-package nerd-icons-completion
|
||||||
|
:after (marginalia)
|
||||||
|
:config
|
||||||
|
(nerd-icons-completion-mode 1)
|
||||||
|
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup))
|
||||||
|
|
||||||
;; Theme
|
;; Theme
|
||||||
(use-package dracula-theme :config
|
(use-package dracula-theme :config
|
||||||
|
@ -324,11 +369,17 @@ Graphical related settings.
|
||||||
*** Dashboard
|
*** Dashboard
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package dashboard
|
(use-package dashboard
|
||||||
:after (nerd-icons)
|
:after (nerd-icons projectile)
|
||||||
:config
|
:config
|
||||||
(setq dashboard-center-content t)
|
(setq dashboard-center-content t)
|
||||||
(setq dashboard-display-icons-p t)
|
(setq dashboard-display-icons-p t)
|
||||||
(setq dashboard-icon-type 'nerd-icons)
|
(setq dashboard-icon-type 'nerd-icons)
|
||||||
|
(setq dashboard-projects-backend 'projectile)
|
||||||
|
(setq dashboard-items '((recents . 5)
|
||||||
|
(bookmarks . 5)
|
||||||
|
(projects . 5)
|
||||||
|
(agenda . 5)
|
||||||
|
(registers . 5)))
|
||||||
(dashboard-setup-startup-hook)
|
(dashboard-setup-startup-hook)
|
||||||
(when (daemonp)
|
(when (daemonp)
|
||||||
(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
|
||||||
|
@ -342,8 +393,14 @@ Graphical related settings.
|
||||||
:hook (after-init . doom-modeline-mode)
|
:hook (after-init . doom-modeline-mode)
|
||||||
:config
|
:config
|
||||||
(setq doom-modeline-icon t)
|
(setq doom-modeline-icon t)
|
||||||
(setq display-time-24hr-format t)'
|
(setq doom-modeline-project-detection 'auto)
|
||||||
(display-time-mode 1))
|
(setq doom-modeline-height 20)
|
||||||
|
(setq doom-modeline-enable-word-count t)
|
||||||
|
(setq doom-modeline-minor-modes t)
|
||||||
|
(setq display-time-24hr-format t)
|
||||||
|
(display-time-mode 1)
|
||||||
|
(column-number-mode 1)
|
||||||
|
(line-number-mode 1))
|
||||||
|
|
||||||
(use-package minions
|
(use-package minions
|
||||||
:hook (after-init . minions-mode))
|
:hook (after-init . minions-mode))
|
||||||
|
@ -355,13 +412,18 @@ Org mode settings
|
||||||
:mode (("\\.org$" . org-mode))
|
:mode (("\\.org$" . org-mode))
|
||||||
:hook
|
:hook
|
||||||
((org-mode . org-indent-mode)
|
((org-mode . org-indent-mode)
|
||||||
(org-mode . (lambda ()
|
(org-mode . display-line-numbers-mode)
|
||||||
(setq-local electric-pair-inhibit-predicate
|
)
|
||||||
`(lambda (c)
|
|
||||||
(if (char-equal c ?<) t (,electric-pair-inhibit-predicate c)))))))
|
|
||||||
:config
|
:config
|
||||||
(require 'org-mouse)
|
(require 'org-mouse)
|
||||||
(require 'org-tempo))
|
(require 'org-tempo)
|
||||||
|
(add-hook 'org-mode-hook (lambda ()
|
||||||
|
(setq-local
|
||||||
|
electric-pair-inhibit-predicate
|
||||||
|
`(lambda (c)
|
||||||
|
(if
|
||||||
|
(char-equal c ?<) t (,electric-pair-inhibit-predicate c)))))))
|
||||||
|
|
||||||
(use-package org-superstar
|
(use-package org-superstar
|
||||||
:after (org)
|
:after (org)
|
||||||
:hook
|
:hook
|
||||||
|
@ -400,15 +462,21 @@ Org mode settings
|
||||||
args)))
|
args)))
|
||||||
(vertico-mode 1)
|
(vertico-mode 1)
|
||||||
(marginalia-mode 1))
|
(marginalia-mode 1))
|
||||||
|
(use-package vertico-mouse
|
||||||
|
:config
|
||||||
|
(vertico-mouse-mode 1))
|
||||||
|
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Company
|
*** Code completion
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package company
|
(use-package company
|
||||||
:init (global-company-mode 1))
|
:config
|
||||||
|
(setq global-corfu-minibuffer nil)
|
||||||
|
(global-company-mode 1))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Miscellaneous
|
** Miscellaneous
|
||||||
Other configs
|
Other configs
|
||||||
*** Defaults
|
*** Defaults
|
||||||
|
@ -416,7 +484,7 @@ Other configs
|
||||||
(electric-pair-mode 1)
|
(electric-pair-mode 1)
|
||||||
(electric-indent-mode -1)
|
(electric-indent-mode -1)
|
||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
(setq-default buffer-file-coding-system 'utf-8-dos)
|
(setq-default buffer-file-coding-system 'utf-8-unix)
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Elcord
|
*** Elcord
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -427,8 +495,8 @@ Other configs
|
||||||
(elcord-mode -1))
|
(elcord-mode -1))
|
||||||
)
|
)
|
||||||
(use-package elcord
|
(use-package elcord
|
||||||
:init (unless (daemonp) (elcord-mode 1))
|
|
||||||
:config
|
:config
|
||||||
|
(unless (daemonp) (elcord-mode 1))
|
||||||
(add-hook 'after-delete-frame-functions 'materus/elcord-toggle)
|
(add-hook 'after-delete-frame-functions 'materus/elcord-toggle)
|
||||||
(add-hook 'server-after-make-frame-hook 'materus/elcord-toggle))
|
(add-hook 'server-after-make-frame-hook 'materus/elcord-toggle))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
@ -436,8 +504,8 @@ Other configs
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
(use-package undo-tree
|
(use-package undo-tree
|
||||||
:init (global-undo-tree-mode 1)
|
|
||||||
:config
|
:config
|
||||||
|
(global-undo-tree-mode 1)
|
||||||
(defvar materus/undo-tree-dir (concat user-emacs-directory "var/undo-tree/"))
|
(defvar materus/undo-tree-dir (concat user-emacs-directory "var/undo-tree/"))
|
||||||
(unless (file-exists-p materus/undo-tree-dir)
|
(unless (file-exists-p materus/undo-tree-dir)
|
||||||
(make-directory materus/undo-tree-dir t))
|
(make-directory materus/undo-tree-dir t))
|
||||||
|
@ -448,16 +516,33 @@ Other configs
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Projectile
|
*** Projectile
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package projectile)
|
(use-package projectile
|
||||||
|
:config (projectile-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Treemacs
|
*** Treemacs
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
(use-package treemacs)
|
(use-package treemacs)
|
||||||
(use-package treemacs-projectile
|
(use-package treemacs-projectile
|
||||||
:after (projectile treemacs))
|
:after (projectile treemacs))
|
||||||
(use-package treemacs-nerd-icons
|
(use-package treemacs-nerd-icons
|
||||||
:after (nerd-icons treemacs))
|
:after (nerd-icons treemacs))
|
||||||
|
#+end_src
|
||||||
|
*** Magit
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package magit)
|
||||||
|
#+end_src
|
||||||
|
*** Dirvish
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package dirvish
|
||||||
|
:config (dirvish-override-dired-mode 1)
|
||||||
|
(setq dirvish-attributes
|
||||||
|
'(vc-state
|
||||||
|
subtree-state
|
||||||
|
nerd-icons
|
||||||
|
collapse
|
||||||
|
git-msg
|
||||||
|
file-time
|
||||||
|
file-size)))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
* Programming
|
* Programming
|
||||||
|
@ -465,6 +550,8 @@ Other configs
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
(use-package lsp-mode)
|
(use-package lsp-mode)
|
||||||
|
|
||||||
|
|
||||||
(use-package lsp-ui)
|
(use-package lsp-ui)
|
||||||
(use-package dap-mode)
|
(use-package dap-mode)
|
||||||
(use-package dap-lldb)
|
(use-package dap-lldb)
|
||||||
|
@ -495,7 +582,7 @@ Other configs
|
||||||
(not (functionp 'json-rpc-connection)) ;; native json-rpc
|
(not (functionp 'json-rpc-connection)) ;; native json-rpc
|
||||||
(executable-find "emacs-lsp-booster"))
|
(executable-find "emacs-lsp-booster"))
|
||||||
(progn
|
(progn
|
||||||
(when-let ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH)
|
(when-let* ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH)
|
||||||
(setcar orig-result command-from-exec-path))
|
(setcar orig-result command-from-exec-path))
|
||||||
(message "Using emacs-lsp-booster for %s!" orig-result)
|
(message "Using emacs-lsp-booster for %s!" orig-result)
|
||||||
(cons "emacs-lsp-booster" orig-result))
|
(cons "emacs-lsp-booster" orig-result))
|
||||||
|
@ -503,7 +590,7 @@ Other configs
|
||||||
(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command)
|
(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command)
|
||||||
|
|
||||||
|
|
||||||
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -523,7 +610,6 @@ Other configs
|
||||||
** Emacs Lisp
|
** Emacs Lisp
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(add-hook 'emacs-lisp-mode-hook 'display-line-numbers-mode)
|
(add-hook 'emacs-lisp-mode-hook 'display-line-numbers-mode)
|
||||||
(add-hook 'emacs-lisp-mode-hook 'company-mode)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
** C/C++
|
** C/C++
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -535,11 +621,17 @@ Other configs
|
||||||
#+end_src
|
#+end_src
|
||||||
** Java
|
** Java
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
(use-package lsp-java
|
||||||
|
:config
|
||||||
|
(add-hook 'java-mode-hook (lambda () (when (getenv "JDTLS_PATH") (setq lsp-java-server-install-dir (getenv "JDTLS_PATH")))))
|
||||||
(add-hook 'java-mode-hook 'lsp-deferred)
|
(add-hook 'java-mode-hook 'lsp-deferred)
|
||||||
|
(add-hook 'java-mode-hook 'display-line-numbers-mode))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Keybindings
|
* Keybindings
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
(use-package cua-base)
|
||||||
|
|
||||||
;; Keybinds
|
;; Keybinds
|
||||||
(keymap-set cua--cua-keys-keymap "C-z" 'undo-tree-undo)
|
(keymap-set cua--cua-keys-keymap "C-z" 'undo-tree-undo)
|
||||||
|
@ -556,6 +648,48 @@ Other configs
|
||||||
(cua-mode 1)
|
(cua-mode 1)
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
* Snippets
|
||||||
|
** Yasnippet init
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package yasnippet
|
||||||
|
:config (yas-global-mode 1))
|
||||||
|
#+end_src
|
||||||
|
* Other
|
||||||
|
** Update config script
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun materus/sync-config ()
|
||||||
|
"Function to sync config from MATERUS_CONFIG_DIR to emacs folder"
|
||||||
|
(if (getenv "MATERUS_CONFIG_DIR")
|
||||||
|
(progn (copy-directory (concat (getenv "MATERUS_CONFIG_DIR") "extraFiles/config/emacs/")
|
||||||
|
user-emacs-directory t t t) t)
|
||||||
|
(progn (message "Can't use if MATERUS_CONFIG_DIR is not set!") nil)))
|
||||||
|
(defun materus/compare-file-time (file1 file2)
|
||||||
|
"Returns t when file1 is newer than file2"
|
||||||
|
(time-less-p
|
||||||
|
(nth 5 (file-attributes file2))
|
||||||
|
(nth 5 (file-attributes file1))
|
||||||
|
))
|
||||||
|
(defun materus/compile-if-needed (file)
|
||||||
|
(unless (and (file-exists-p (concat user-emacs-directory file "c"))
|
||||||
|
(materus/compare-file-time (concat user-emacs-directory file "c")
|
||||||
|
(concat user-emacs-directory file)))
|
||||||
|
(byte-compile-file (concat user-emacs-directory file)))
|
||||||
|
)
|
||||||
|
(defun materus/compile-config-if-needed ()
|
||||||
|
(materus/compile-if-needed "early-init.el")
|
||||||
|
(materus/compile-if-needed "init.el")
|
||||||
|
(materus/compile-if-needed "etc/materus/emacs-config.el"))
|
||||||
|
(defun materus/update-config ()
|
||||||
|
"Will sync and compile config"
|
||||||
|
(interactive)
|
||||||
|
(when (materus/sync-config) (materus/compile-config-if-needed) (byte-recompile-directory (concat user-emacs-directory "etc/materus/extra") 0 t)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Byte compile
|
||||||
|
Byte compile files.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(materus/compile-config-if-needed)
|
||||||
|
#+end_src
|
||||||
* Test
|
* Test
|
||||||
Just for testing some code
|
Just for testing some code
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
|
@ -1,19 +1,25 @@
|
||||||
(unless (file-exists-p (concat user-emacs-directory "etc/materus/emacs-config.elc"))
|
;;; -*- lexical-binding: t; -*-
|
||||||
(byte-compile-file (concat user-emacs-directory "etc/materus/emacs-config.el")))
|
(eval-when-compile
|
||||||
|
(defvar doom-modeline-support-imenu nil)
|
||||||
(unless (file-exists-p (concat user-emacs-directory "init.elc"))
|
(defvar display-time-24hr-format nil)
|
||||||
(byte-compile-file (concat user-emacs-directory "init.el")))
|
(defvar lsp-nix-nixd-formatting-command nil)
|
||||||
|
(defvar cua--cua-keys-keymap nil)
|
||||||
(unless (file-exists-p (concat user-emacs-directory "early-init.elc"))
|
(declare-function lsp-stdio-connection "lsp-mode" (COMMAND &optional TEST-COMMAND))
|
||||||
(byte-compile-file (concat user-emacs-directory "early-init.el")))
|
(declare-function make-lsp-client "lsp-mode")
|
||||||
|
(declare-function lsp-register-client "lsp-mode" ( CLIENT ))
|
||||||
|
)
|
||||||
|
|
||||||
(require 'cl-lib)
|
(require 'cl-lib)
|
||||||
(require 'package)
|
(require 'package)
|
||||||
(setq package-user-dir (concat user-emacs-directory "var/elpa/" emacs-version "/" ))
|
(setq package-user-dir (concat user-emacs-directory "var/elpa/" emacs-version "/" ))
|
||||||
(setq package-gnupghome-dir (concat user-emacs-directory "var/elpa/gnupg/" ))
|
(setq package-gnupghome-dir (concat user-emacs-directory "var/elpa/gnupg/" ))
|
||||||
|
(setq package-quickstart t)
|
||||||
|
(setq package-quickstart-file
|
||||||
|
(concat user-emacs-directory "var/quickstart/package-quickstart-" emacs-version ".el" ))
|
||||||
|
(add-to-list 'load-path (concat user-emacs-directory "etc/materus/extra"))
|
||||||
|
|
||||||
(add-to-list 'package-archives '("nongnu-devel" . "https://elpa.nongnu.org/nongnu-devel/"))
|
(add-to-list 'package-archives '("nongnu-devel" . "https://elpa.nongnu.org/nongnu-devel/"))
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||||
(package-initialize)
|
|
||||||
|
|
||||||
(defvar materus/packages
|
(defvar materus/packages
|
||||||
'(
|
'(
|
||||||
|
@ -24,10 +30,9 @@
|
||||||
magit
|
magit
|
||||||
git-timemachine
|
git-timemachine
|
||||||
avy
|
avy
|
||||||
corfu
|
|
||||||
vterm
|
vterm
|
||||||
|
direnv
|
||||||
projectile
|
projectile
|
||||||
company
|
|
||||||
clipetty
|
clipetty
|
||||||
which-key
|
which-key
|
||||||
iedit
|
iedit
|
||||||
|
@ -41,13 +46,10 @@
|
||||||
treemacs-magit
|
treemacs-magit
|
||||||
treemacs-projectile
|
treemacs-projectile
|
||||||
tree-edit
|
tree-edit
|
||||||
vertico
|
|
||||||
marginalia
|
|
||||||
nerd-icons
|
nerd-icons
|
||||||
nerd-icons-completion
|
nerd-icons-completion
|
||||||
perspective
|
perspective
|
||||||
minions
|
minions
|
||||||
doom-modeline
|
|
||||||
rainbow-delimiters
|
rainbow-delimiters
|
||||||
rainbow-mode
|
rainbow-mode
|
||||||
cmake-mode
|
cmake-mode
|
||||||
|
@ -57,6 +59,7 @@
|
||||||
lsp-haskell
|
lsp-haskell
|
||||||
lsp-ui
|
lsp-ui
|
||||||
lsp-treemacs
|
lsp-treemacs
|
||||||
|
flycheck
|
||||||
gradle-mode
|
gradle-mode
|
||||||
groovy-mode
|
groovy-mode
|
||||||
kotlin-mode
|
kotlin-mode
|
||||||
|
@ -71,6 +74,7 @@
|
||||||
org-roam
|
org-roam
|
||||||
org-roam-ui
|
org-roam-ui
|
||||||
org-review
|
org-review
|
||||||
|
org-present
|
||||||
org-superstar
|
org-superstar
|
||||||
org-auto-tangle
|
org-auto-tangle
|
||||||
visual-fill-column
|
visual-fill-column
|
||||||
|
@ -83,11 +87,9 @@
|
||||||
dracula-theme
|
dracula-theme
|
||||||
doom-themes
|
doom-themes
|
||||||
doom-modeline
|
doom-modeline
|
||||||
orderless
|
|
||||||
popper
|
popper
|
||||||
undo-tree
|
undo-tree
|
||||||
bash-completion
|
bash-completion
|
||||||
consult
|
|
||||||
eldoc-box
|
eldoc-box
|
||||||
yasnippet
|
yasnippet
|
||||||
async
|
async
|
||||||
|
@ -104,13 +106,24 @@
|
||||||
zones
|
zones
|
||||||
sudo-edit
|
sudo-edit
|
||||||
toc-org
|
toc-org
|
||||||
eshell-vterm
|
|
||||||
empv
|
empv
|
||||||
volatile-highlights
|
volatile-highlights
|
||||||
highlight
|
highlight
|
||||||
elfeed
|
elfeed
|
||||||
elfeed-goodies
|
elfeed-goodies
|
||||||
drag-stuff
|
drag-stuff
|
||||||
|
dirvish
|
||||||
|
rg
|
||||||
|
;; Completions & Minibuffer
|
||||||
|
corfu
|
||||||
|
company
|
||||||
|
company-quickhelp
|
||||||
|
cape
|
||||||
|
embark
|
||||||
|
embark-consult
|
||||||
|
orderless
|
||||||
|
vertico
|
||||||
|
marginalia
|
||||||
)
|
)
|
||||||
"A list of packages to ensure are installed at launch.")
|
"A list of packages to ensure are installed at launch.")
|
||||||
|
|
||||||
|
@ -124,12 +137,18 @@
|
||||||
(package-refresh-contents)
|
(package-refresh-contents)
|
||||||
(dolist (p materus/packages)
|
(dolist (p materus/packages)
|
||||||
(when (not (package-installed-p p))
|
(when (not (package-installed-p p))
|
||||||
(package-install p)))))
|
(package-install p)))
|
||||||
|
(package-quickstart-refresh)))
|
||||||
|
(unless materus/use-nix-packages
|
||||||
|
(package-initialize)
|
||||||
(materus/install-packages)
|
(materus/install-packages)
|
||||||
|
(unless (file-exists-p package-quickstart-file) (package-quickstart-refresh) ))
|
||||||
|
|
||||||
(require 'recentf)
|
(require 'recentf)
|
||||||
(use-package no-littering
|
(use-package no-littering
|
||||||
:config
|
:config
|
||||||
|
(setq package-quickstart-file
|
||||||
|
(concat user-emacs-directory "var/quickstart/package-quickstart-" emacs-version ".el" ))
|
||||||
(add-to-list 'recentf-exclude
|
(add-to-list 'recentf-exclude
|
||||||
(recentf-expand-file-name no-littering-var-directory))
|
(recentf-expand-file-name no-littering-var-directory))
|
||||||
(add-to-list 'recentf-exclude
|
(add-to-list 'recentf-exclude
|
||||||
|
@ -143,6 +162,11 @@
|
||||||
(pixel-scroll-precision-mode 1)
|
(pixel-scroll-precision-mode 1)
|
||||||
(setq-default pixel-scroll-precision-large-scroll-height 10.0)
|
(setq-default pixel-scroll-precision-large-scroll-height 10.0)
|
||||||
|
|
||||||
|
(when (daemonp)
|
||||||
|
(add-hook 'after-make-frame-functions
|
||||||
|
(lambda (frame) (when (= (length (frame-list)) 2)
|
||||||
|
(set-frame-parameter frame 'fullscreen 'maximized)))))
|
||||||
|
|
||||||
(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)
|
(setq window-resize-pixelwise t)
|
||||||
|
@ -150,7 +174,7 @@
|
||||||
(set-frame-font "Hack Nerd Font" nil t)
|
(set-frame-font "Hack Nerd Font" nil t)
|
||||||
)
|
)
|
||||||
|
|
||||||
(setq-default display-line-numbers-width 4)
|
(setq-default display-line-numbers-width 3)
|
||||||
|
|
||||||
|
|
||||||
(global-tab-line-mode 1)
|
(global-tab-line-mode 1)
|
||||||
|
@ -178,6 +202,11 @@
|
||||||
)
|
)
|
||||||
;; Nerd Icons
|
;; Nerd Icons
|
||||||
(use-package nerd-icons)
|
(use-package nerd-icons)
|
||||||
|
(use-package nerd-icons-completion
|
||||||
|
:after (marginalia)
|
||||||
|
:config
|
||||||
|
(nerd-icons-completion-mode 1)
|
||||||
|
(add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup))
|
||||||
|
|
||||||
;; Theme
|
;; Theme
|
||||||
(use-package dracula-theme :config
|
(use-package dracula-theme :config
|
||||||
|
@ -193,11 +222,17 @@
|
||||||
(advice-add 'display-startup-screen :around #'startup-screen-advice) ; Hide startup screen if started with file
|
(advice-add 'display-startup-screen :around #'startup-screen-advice) ; Hide startup screen if started with file
|
||||||
|
|
||||||
(use-package dashboard
|
(use-package dashboard
|
||||||
:after (nerd-icons)
|
:after (nerd-icons projectile)
|
||||||
:config
|
:config
|
||||||
(setq dashboard-center-content t)
|
(setq dashboard-center-content t)
|
||||||
(setq dashboard-display-icons-p t)
|
(setq dashboard-display-icons-p t)
|
||||||
(setq dashboard-icon-type 'nerd-icons)
|
(setq dashboard-icon-type 'nerd-icons)
|
||||||
|
(setq dashboard-projects-backend 'projectile)
|
||||||
|
(setq dashboard-items '((recents . 5)
|
||||||
|
(bookmarks . 5)
|
||||||
|
(projects . 5)
|
||||||
|
(agenda . 5)
|
||||||
|
(registers . 5)))
|
||||||
(dashboard-setup-startup-hook)
|
(dashboard-setup-startup-hook)
|
||||||
(when (daemonp)
|
(when (daemonp)
|
||||||
(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
|
||||||
|
@ -209,8 +244,14 @@
|
||||||
:hook (after-init . doom-modeline-mode)
|
:hook (after-init . doom-modeline-mode)
|
||||||
:config
|
:config
|
||||||
(setq doom-modeline-icon t)
|
(setq doom-modeline-icon t)
|
||||||
(setq display-time-24hr-format t)'
|
(setq doom-modeline-project-detection 'auto)
|
||||||
(display-time-mode 1))
|
(setq doom-modeline-height 20)
|
||||||
|
(setq doom-modeline-enable-word-count t)
|
||||||
|
(setq doom-modeline-minor-modes t)
|
||||||
|
(setq display-time-24hr-format t)
|
||||||
|
(display-time-mode 1)
|
||||||
|
(column-number-mode 1)
|
||||||
|
(line-number-mode 1))
|
||||||
|
|
||||||
(use-package minions
|
(use-package minions
|
||||||
:hook (after-init . minions-mode))
|
:hook (after-init . minions-mode))
|
||||||
|
@ -219,13 +260,18 @@
|
||||||
:mode (("\\.org$" . org-mode))
|
:mode (("\\.org$" . org-mode))
|
||||||
:hook
|
:hook
|
||||||
((org-mode . org-indent-mode)
|
((org-mode . org-indent-mode)
|
||||||
(org-mode . (lambda ()
|
(org-mode . display-line-numbers-mode)
|
||||||
(setq-local electric-pair-inhibit-predicate
|
)
|
||||||
`(lambda (c)
|
|
||||||
(if (char-equal c ?<) t (,electric-pair-inhibit-predicate c)))))))
|
|
||||||
:config
|
:config
|
||||||
(require 'org-mouse)
|
(require 'org-mouse)
|
||||||
(require 'org-tempo))
|
(require 'org-tempo)
|
||||||
|
(add-hook 'org-mode-hook (lambda ()
|
||||||
|
(setq-local
|
||||||
|
electric-pair-inhibit-predicate
|
||||||
|
`(lambda (c)
|
||||||
|
(if
|
||||||
|
(char-equal c ?<) t (,electric-pair-inhibit-predicate c)))))))
|
||||||
|
|
||||||
(use-package org-superstar
|
(use-package org-superstar
|
||||||
:after (org)
|
:after (org)
|
||||||
:hook
|
:hook
|
||||||
|
@ -260,14 +306,19 @@
|
||||||
args)))
|
args)))
|
||||||
(vertico-mode 1)
|
(vertico-mode 1)
|
||||||
(marginalia-mode 1))
|
(marginalia-mode 1))
|
||||||
|
(use-package vertico-mouse
|
||||||
|
:config
|
||||||
|
(vertico-mouse-mode 1))
|
||||||
|
|
||||||
(use-package company
|
(use-package company
|
||||||
:init (global-company-mode 1))
|
:config
|
||||||
|
(setq global-corfu-minibuffer nil)
|
||||||
|
(global-company-mode 1))
|
||||||
|
|
||||||
(electric-pair-mode 1)
|
(electric-pair-mode 1)
|
||||||
(electric-indent-mode -1)
|
(electric-indent-mode -1)
|
||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
(setq-default buffer-file-coding-system 'utf-8-dos)
|
(setq-default buffer-file-coding-system 'utf-8-unix)
|
||||||
|
|
||||||
(defun materus/elcord-toggle (&optional _frame)
|
(defun materus/elcord-toggle (&optional _frame)
|
||||||
"Toggle elcord based on visible frames"
|
"Toggle elcord based on visible frames"
|
||||||
|
@ -276,14 +327,14 @@
|
||||||
(elcord-mode -1))
|
(elcord-mode -1))
|
||||||
)
|
)
|
||||||
(use-package elcord
|
(use-package elcord
|
||||||
:init (unless (daemonp) (elcord-mode 1))
|
|
||||||
:config
|
:config
|
||||||
|
(unless (daemonp) (elcord-mode 1))
|
||||||
(add-hook 'after-delete-frame-functions 'materus/elcord-toggle)
|
(add-hook 'after-delete-frame-functions 'materus/elcord-toggle)
|
||||||
(add-hook 'server-after-make-frame-hook 'materus/elcord-toggle))
|
(add-hook 'server-after-make-frame-hook 'materus/elcord-toggle))
|
||||||
|
|
||||||
(use-package undo-tree
|
(use-package undo-tree
|
||||||
:init (global-undo-tree-mode 1)
|
|
||||||
:config
|
:config
|
||||||
|
(global-undo-tree-mode 1)
|
||||||
(defvar materus/undo-tree-dir (concat user-emacs-directory "var/undo-tree/"))
|
(defvar materus/undo-tree-dir (concat user-emacs-directory "var/undo-tree/"))
|
||||||
(unless (file-exists-p materus/undo-tree-dir)
|
(unless (file-exists-p materus/undo-tree-dir)
|
||||||
(make-directory materus/undo-tree-dir t))
|
(make-directory materus/undo-tree-dir t))
|
||||||
|
@ -292,7 +343,8 @@
|
||||||
(setq undo-tree-visualizer-timestamps t)
|
(setq undo-tree-visualizer-timestamps t)
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package projectile)
|
(use-package projectile
|
||||||
|
:config (projectile-mode 1))
|
||||||
|
|
||||||
(use-package treemacs)
|
(use-package treemacs)
|
||||||
(use-package treemacs-projectile
|
(use-package treemacs-projectile
|
||||||
|
@ -300,7 +352,22 @@
|
||||||
(use-package treemacs-nerd-icons
|
(use-package treemacs-nerd-icons
|
||||||
:after (nerd-icons treemacs))
|
:after (nerd-icons treemacs))
|
||||||
|
|
||||||
|
(use-package magit)
|
||||||
|
|
||||||
|
(use-package dirvish
|
||||||
|
:config (dirvish-override-dired-mode 1)
|
||||||
|
(setq dirvish-attributes
|
||||||
|
'(vc-state
|
||||||
|
subtree-state
|
||||||
|
nerd-icons
|
||||||
|
collapse
|
||||||
|
git-msg
|
||||||
|
file-time
|
||||||
|
file-size)))
|
||||||
|
|
||||||
(use-package lsp-mode)
|
(use-package lsp-mode)
|
||||||
|
|
||||||
|
|
||||||
(use-package lsp-ui)
|
(use-package lsp-ui)
|
||||||
(use-package dap-mode)
|
(use-package dap-mode)
|
||||||
(use-package dap-lldb)
|
(use-package dap-lldb)
|
||||||
|
@ -331,13 +398,16 @@
|
||||||
(not (functionp 'json-rpc-connection)) ;; native json-rpc
|
(not (functionp 'json-rpc-connection)) ;; native json-rpc
|
||||||
(executable-find "emacs-lsp-booster"))
|
(executable-find "emacs-lsp-booster"))
|
||||||
(progn
|
(progn
|
||||||
(when-let ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH)
|
(when-let* ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH)
|
||||||
(setcar orig-result command-from-exec-path))
|
(setcar orig-result command-from-exec-path))
|
||||||
(message "Using emacs-lsp-booster for %s!" orig-result)
|
(message "Using emacs-lsp-booster for %s!" orig-result)
|
||||||
(cons "emacs-lsp-booster" orig-result))
|
(cons "emacs-lsp-booster" orig-result))
|
||||||
orig-result)))
|
orig-result)))
|
||||||
(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command)
|
(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command)
|
||||||
|
|
||||||
|
|
||||||
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
(with-eval-after-load 'lsp-mode
|
(with-eval-after-load 'lsp-mode
|
||||||
(lsp-register-client
|
(lsp-register-client
|
||||||
(make-lsp-client :new-connection (lsp-stdio-connection "nixd")
|
(make-lsp-client :new-connection (lsp-stdio-connection "nixd")
|
||||||
|
@ -349,7 +419,6 @@
|
||||||
(add-hook 'nix-mode-hook 'display-line-numbers-mode)
|
(add-hook 'nix-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
(add-hook 'emacs-lisp-mode-hook 'display-line-numbers-mode)
|
(add-hook 'emacs-lisp-mode-hook 'display-line-numbers-mode)
|
||||||
(add-hook 'emacs-lisp-mode-hook 'company-mode)
|
|
||||||
|
|
||||||
(add-hook 'c-mode-hook 'lsp-deferred)
|
(add-hook 'c-mode-hook 'lsp-deferred)
|
||||||
(add-hook 'c-mode-hook 'display-line-numbers-mode)
|
(add-hook 'c-mode-hook 'display-line-numbers-mode)
|
||||||
|
@ -357,7 +426,13 @@
|
||||||
(add-hook 'c++-mode-hook 'lsp-deferred)
|
(add-hook 'c++-mode-hook 'lsp-deferred)
|
||||||
(add-hook 'c++-mode-hook 'display-line-numbers-mode)
|
(add-hook 'c++-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
|
(use-package lsp-java
|
||||||
|
:config
|
||||||
|
(add-hook 'java-mode-hook (lambda () (when (getenv "JDTLS_PATH") (setq lsp-java-server-install-dir (getenv "JDTLS_PATH")))))
|
||||||
(add-hook 'java-mode-hook 'lsp-deferred)
|
(add-hook 'java-mode-hook 'lsp-deferred)
|
||||||
|
(add-hook 'java-mode-hook 'display-line-numbers-mode))
|
||||||
|
|
||||||
|
(use-package cua-base)
|
||||||
|
|
||||||
;; Keybinds
|
;; Keybinds
|
||||||
(keymap-set cua--cua-keys-keymap "C-z" 'undo-tree-undo)
|
(keymap-set cua--cua-keys-keymap "C-z" 'undo-tree-undo)
|
||||||
|
@ -373,6 +448,38 @@
|
||||||
(global-set-key (kbd "C-H-t") 'treemacs)
|
(global-set-key (kbd "C-H-t") 'treemacs)
|
||||||
(cua-mode 1)
|
(cua-mode 1)
|
||||||
|
|
||||||
|
(use-package yasnippet
|
||||||
|
:config (yas-global-mode 1))
|
||||||
|
|
||||||
|
(defun materus/sync-config ()
|
||||||
|
"Function to sync config from MATERUS_CONFIG_DIR to emacs folder"
|
||||||
|
(if (getenv "MATERUS_CONFIG_DIR")
|
||||||
|
(progn (copy-directory (concat (getenv "MATERUS_CONFIG_DIR") "extraFiles/config/emacs/")
|
||||||
|
user-emacs-directory t t t) t)
|
||||||
|
(progn (message "Can't use if MATERUS_CONFIG_DIR is not set!") nil)))
|
||||||
|
(defun materus/compare-file-time (file1 file2)
|
||||||
|
"Returns t when file1 is newer than file2"
|
||||||
|
(time-less-p
|
||||||
|
(nth 5 (file-attributes file2))
|
||||||
|
(nth 5 (file-attributes file1))
|
||||||
|
))
|
||||||
|
(defun materus/compile-if-needed (file)
|
||||||
|
(unless (and (file-exists-p (concat user-emacs-directory file "c"))
|
||||||
|
(materus/compare-file-time (concat user-emacs-directory file "c")
|
||||||
|
(concat user-emacs-directory file)))
|
||||||
|
(byte-compile-file (concat user-emacs-directory file)))
|
||||||
|
)
|
||||||
|
(defun materus/compile-config-if-needed ()
|
||||||
|
(materus/compile-if-needed "early-init.el")
|
||||||
|
(materus/compile-if-needed "init.el")
|
||||||
|
(materus/compile-if-needed "etc/materus/emacs-config.el"))
|
||||||
|
(defun materus/update-config ()
|
||||||
|
"Will sync and compile config"
|
||||||
|
(interactive)
|
||||||
|
(when (materus/sync-config) (materus/compile-config-if-needed) (byte-recompile-directory (concat user-emacs-directory "etc/materus/extra") 0 t)))
|
||||||
|
|
||||||
|
(materus/compile-config-if-needed)
|
||||||
|
|
||||||
;;; (global-set-key (kbd "C-∇") (kbd "C-H"))
|
;;; (global-set-key (kbd "C-∇") (kbd "C-H"))
|
||||||
;;; (global-set-key (kbd "H-∇") (lambda () (interactive) (insert-char #x2207)))
|
;;; (global-set-key (kbd "H-∇") (lambda () (interactive) (insert-char #x2207)))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
;;; corfu-mouse.el --- Mouse support for Corfu -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;; Copyright (C) 2021, 2022 Free Software Foundation, Inc.
|
||||||
|
;; Copyright (C) 2022 Akib Azmain Turja.
|
||||||
|
|
||||||
|
;; Author: Akib Azmain Turja <akib@disroot.org>
|
||||||
|
;; Maintainer: Akib Azmain Turja <akib@disroot.org>
|
||||||
|
;; Created: 2022
|
||||||
|
;; Version: 0.1
|
||||||
|
;; Package-Requires: ((emacs "24.4") (corfu "0.25"))
|
||||||
|
;; Homepage: https://codeberg.org/akib/emacs-corfu-mouse
|
||||||
|
|
||||||
|
;; This file is not part of GNU Emacs.
|
||||||
|
|
||||||
|
;; This program is free software: you can redistribute it and/or modify
|
||||||
|
;; it under the terms of the GNU General Public License as published by
|
||||||
|
;; the Free Software Foundation, either version 3 of the License, or
|
||||||
|
;; (at your option) any later version.
|
||||||
|
|
||||||
|
;; This program is distributed in the hope that it will be useful,
|
||||||
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;; GNU General Public License for more details.
|
||||||
|
|
||||||
|
;; You should have received a copy of the GNU General Public License
|
||||||
|
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
;; Disclaimer: This file is based on vertico-mouse.el of Vertico
|
||||||
|
;; package, which is a part of GNU Emacs.
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; This package is a Corfu extension, which adds mouse support.
|
||||||
|
|
||||||
|
;; To enable, M-x corfu-mouse-mode.
|
||||||
|
|
||||||
|
|
||||||
|
;; Modified to support pixel-scroll-precision-mode
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(require 'corfu)
|
||||||
|
|
||||||
|
(defgroup corfu-mouse nil
|
||||||
|
"Mouse support for Corfu."
|
||||||
|
:group 'corfu
|
||||||
|
:link '(url-link "https://codeberg.org/akib/emacs-corfu-mouse")
|
||||||
|
:prefix "corfu-mouse-")
|
||||||
|
|
||||||
|
(defface corfu-mouse
|
||||||
|
'((t :inherit highlight))
|
||||||
|
"Face used for mouse highlighting."
|
||||||
|
:group 'corfu-mouse)
|
||||||
|
|
||||||
|
(defvar corfu-mouse--completion-buffer nil
|
||||||
|
"The buffer for which the popup is being shown.")
|
||||||
|
|
||||||
|
(defun corfu-mouse--candidate-map (index)
|
||||||
|
"Return keymap for candidate with INDEX."
|
||||||
|
(let ((map (make-sparse-keymap))
|
||||||
|
(mouse-1 (make-symbol "corfu-mouse--on-mouse-1"))
|
||||||
|
(mouse-3 (make-symbol "corfu-mouse--on-mouse-3")))
|
||||||
|
(fset mouse-1 (lambda ()
|
||||||
|
(interactive)
|
||||||
|
(corfu--goto index)
|
||||||
|
(corfu-insert)))
|
||||||
|
(fset mouse-3 (lambda ()
|
||||||
|
(interactive)
|
||||||
|
(corfu--goto index)
|
||||||
|
(corfu-complete)))
|
||||||
|
(define-key map [mouse-1] mouse-1)
|
||||||
|
(define-key map [mouse-3] mouse-3)
|
||||||
|
|
||||||
|
;; Ignore these events to keep completion session alive.
|
||||||
|
(define-key map [down-mouse-1] #'ignore)
|
||||||
|
(define-key map [down-mouse-3] #'ignore)
|
||||||
|
map))
|
||||||
|
|
||||||
|
(defun corfu-mouse--format-candidates (fcands)
|
||||||
|
"Format candidates.
|
||||||
|
|
||||||
|
FCANDS is the return value of `corfu--format-candidates'."
|
||||||
|
(let ((index corfu--scroll)
|
||||||
|
(cands (caddr fcands)))
|
||||||
|
(while cands
|
||||||
|
(let ((line (car cands)))
|
||||||
|
|
||||||
|
;; Append necessary amount of spaces to make it as wide as the
|
||||||
|
;; popup.
|
||||||
|
(setq line (concat line (make-string (- (cadr fcands)
|
||||||
|
(string-width line))
|
||||||
|
? )))
|
||||||
|
(add-text-properties 0 (length line)
|
||||||
|
`(mouse-face
|
||||||
|
corfu-mouse
|
||||||
|
keymap
|
||||||
|
,(corfu-mouse--candidate-map index))
|
||||||
|
line)
|
||||||
|
(setcar cands line)
|
||||||
|
(setq cands (cdr cands))
|
||||||
|
(setq index (1+ index))))
|
||||||
|
fcands))
|
||||||
|
|
||||||
|
(defun corfu-mouse--scroll-up (n)
|
||||||
|
"Scroll up by N lines."
|
||||||
|
(with-current-buffer corfu-mouse--completion-buffer
|
||||||
|
(corfu-next n)))
|
||||||
|
|
||||||
|
(defun corfu-mouse--scroll-down (n)
|
||||||
|
"Scroll down by N lines."
|
||||||
|
(corfu-mouse--scroll-up (- n)))
|
||||||
|
|
||||||
|
(defun corfu-mouse-mwheel-scroll ()
|
||||||
|
"Call `mwheel-scroll'."
|
||||||
|
(interactive)
|
||||||
|
(call-interactively #'mwheel-scroll))
|
||||||
|
|
||||||
|
(defun corfu-mouse--setup-scrolling (buffer)
|
||||||
|
"Setup mouse scrolling on BUFFER."
|
||||||
|
(let ((current-buffer (current-buffer)))
|
||||||
|
(with-current-buffer buffer
|
||||||
|
(when (boundp 'pixel-scroll-precision-mode)
|
||||||
|
(setq-local pixel-scroll-precision-mode nil))
|
||||||
|
(setq-local mwheel-scroll-up-function #'corfu-mouse--scroll-up)
|
||||||
|
(setq-local mwheel-scroll-down-function
|
||||||
|
#'corfu-mouse--scroll-down)
|
||||||
|
(setq-local corfu-mouse--completion-buffer current-buffer)))
|
||||||
|
buffer)
|
||||||
|
|
||||||
|
(defun corfu-mouse--post-command-set-buffer ()
|
||||||
|
"Set `corfu-mouse--completion-buffer' the current buffer."
|
||||||
|
(when corfu-mouse--completion-buffer
|
||||||
|
(switch-to-buffer corfu-mouse--completion-buffer)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(define-minor-mode corfu-mouse-mode
|
||||||
|
"Mouse support for Corfu."
|
||||||
|
:global t :group 'corfu
|
||||||
|
(let ((scroll-events '(wheel-up wheel-down mouse-4 mouse-5))
|
||||||
|
(continue-commands '("corfu-mouse--on-mouse-1"
|
||||||
|
"corfu-mouse--on-mouse-3"
|
||||||
|
corfu-mouse-mwheel-scroll)))
|
||||||
|
(cond
|
||||||
|
(corfu-mouse-mode
|
||||||
|
(advice-add #'corfu--format-candidates :filter-return
|
||||||
|
#'corfu-mouse--format-candidates)
|
||||||
|
(advice-add #'corfu--make-buffer :filter-return
|
||||||
|
#'corfu-mouse--setup-scrolling)
|
||||||
|
(advice-add #'corfu--post-command :before
|
||||||
|
#'corfu-mouse--post-command-set-buffer)
|
||||||
|
(setq corfu-continue-commands
|
||||||
|
(append corfu-continue-commands continue-commands))
|
||||||
|
(dolist (event scroll-events)
|
||||||
|
(define-key corfu--mouse-ignore-map (vector event)
|
||||||
|
#'corfu-mouse-mwheel-scroll)))
|
||||||
|
(t
|
||||||
|
(advice-remove #'corfu--format-candidates
|
||||||
|
#'corfu-mouse--format-candidates)
|
||||||
|
(advice-remove #'corfu--make-buffer
|
||||||
|
#'corfu-mouse--setup-scrolling)
|
||||||
|
(advice-remove #'corfu--post-command
|
||||||
|
#'corfu-mouse--post-command-set-buffer)
|
||||||
|
(dolist (command continue-commands)
|
||||||
|
(setq corfu-continue-commands
|
||||||
|
(delete command corfu-continue-commands)))
|
||||||
|
(dolist (event scroll-events)
|
||||||
|
(define-key corfu--mouse-ignore-map (vector event)
|
||||||
|
#'ignore))))))
|
||||||
|
|
||||||
|
(provide 'corfu-mouse)
|
||||||
|
;;; corfu-mouse.el ends here
|
|
@ -1,5 +1,7 @@
|
||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
(setq-default materus/use-nix-packages (require 'materus-config nil 'noerror))
|
(setq-default materus/use-nix-packages (require 'materus-config nil 'noerror))
|
||||||
(cua-mode 0) ; To load cua variables/functions but not set it up yet
|
(unless (file-directory-p (concat user-emacs-directory "var/quickstart"))
|
||||||
|
(make-directory (concat user-emacs-directory "var/quickstart") t))
|
||||||
|
(load (concat user-emacs-directory "nix-init") t)
|
||||||
(load (concat user-emacs-directory "etc/materus/emacs-config"))
|
(load (concat user-emacs-directory "etc/materus/emacs-config"))
|
||||||
(when (file-exists-p custom-file)
|
(load custom-file t)
|
||||||
(load custom-file))
|
|
||||||
|
|
122
flake.lock
122
flake.lock
|
@ -159,11 +159,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730739613,
|
"lastModified": 1731517933,
|
||||||
"narHash": "sha256-UNwS+2868c7B1CcInYTZfCKj+DlChm6BbEL5m/VtbDY=",
|
"narHash": "sha256-j59F8M6LBre2Cc3QzxiYRlNe4wX/Jw1ziqPnbbmE3+Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "8d1826ba7648bd2704c6beed35a9e9e3327178d1",
|
"rev": "e074a4f54d88af0db5284d77e0b80bb1a8d2c80f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -182,11 +182,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable_3"
|
"nixpkgs-stable": "nixpkgs-stable_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730711584,
|
"lastModified": 1731517933,
|
||||||
"narHash": "sha256-7XpfL6x0or0qH3NjtiujcyUzFrZu72b/pyLCbwk0+2s=",
|
"narHash": "sha256-j59F8M6LBre2Cc3QzxiYRlNe4wX/Jw1ziqPnbbmE3+Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "ca2129b1d5afb32e46299dc48e03467522352bd5",
|
"rev": "e074a4f54d88af0db5284d77e0b80bb1a8d2c80f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -233,11 +233,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -252,11 +252,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -379,11 +379,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730633670,
|
"lastModified": 1731535640,
|
||||||
"narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=",
|
"narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661",
|
"rev": "35b055009afd0107b69c286fca34d2ad98940d57",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -422,11 +422,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730685024,
|
"lastModified": 1731462465,
|
||||||
"narHash": "sha256-w0cQSTjLBaUSziPGwyI0nbWVD64+N3ByoSxC0CEZmeI=",
|
"narHash": "sha256-SL/d2lvJO+CDzQno7sOyUuktE7+o6kW1qpWsG8tBte4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "16ca007ec37c29a8b97e4899f33c013defbdb2f9",
|
"rev": "ac80fc4a7e7604c5699cbe61839af03bd55bf7bf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -449,11 +449,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730685024,
|
"lastModified": 1731462465,
|
||||||
"narHash": "sha256-w0cQSTjLBaUSziPGwyI0nbWVD64+N3ByoSxC0CEZmeI=",
|
"narHash": "sha256-SL/d2lvJO+CDzQno7sOyUuktE7+o6kW1qpWsG8tBte4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "16ca007ec37c29a8b97e4899f33c013defbdb2f9",
|
"rev": "ac80fc4a7e7604c5699cbe61839af03bd55bf7bf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -519,11 +519,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730537918,
|
"lastModified": 1731403644,
|
||||||
"narHash": "sha256-GJB1/aaTnAtt9sso/EQ77TAGJ/rt6uvlP0RqZFnWue8=",
|
"narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "f6e0cd5c47d150c4718199084e5764f968f1b560",
|
"rev": "f6581f1c3b137086e42a08a906bdada63045f991",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -535,11 +535,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware_2": {
|
"nixos-hardware_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730537918,
|
"lastModified": 1731403644,
|
||||||
"narHash": "sha256-GJB1/aaTnAtt9sso/EQ77TAGJ/rt6uvlP0RqZFnWue8=",
|
"narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "f6e0cd5c47d150c4718199084e5764f968f1b560",
|
"rev": "f6581f1c3b137086e42a08a906bdada63045f991",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -567,11 +567,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730327045,
|
"lastModified": 1731239293,
|
||||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
"narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
"rev": "9256f7c71a195ebe7a218043d9f93390d49e6884",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -599,11 +599,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_3": {
|
"nixpkgs-stable_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730327045,
|
"lastModified": 1731239293,
|
||||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
"narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
"rev": "9256f7c71a195ebe7a218043d9f93390d49e6884",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -631,11 +631,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_5": {
|
"nixpkgs-stable_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730327045,
|
"lastModified": 1731239293,
|
||||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
"narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
"rev": "9256f7c71a195ebe7a218043d9f93390d49e6884",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -647,11 +647,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730531603,
|
"lastModified": 1731139594,
|
||||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
"narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
"rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -676,11 +676,11 @@
|
||||||
},
|
},
|
||||||
"nur_2": {
|
"nur_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730742119,
|
"lastModified": 1731530667,
|
||||||
"narHash": "sha256-npA4wtBgm9s5C0ElDYkyiBXeBGsxDqT6e7sPGwtDLFc=",
|
"narHash": "sha256-/EBYF3f2kAPX3IOwxcjP/KTvXeX9b2cZyxgxGvp+XWI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "3c7a45327b6a9f8b02df8d3acf213fd0616d59ef",
|
"rev": "481bba9ab4c2054b7cac86ee3be24f67e5256820",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -705,11 +705,11 @@
|
||||||
},
|
},
|
||||||
"nur_4": {
|
"nur_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730720916,
|
"lastModified": 1731530667,
|
||||||
"narHash": "sha256-sLuyisXE2KkcQ3gai2Y10e7vrddDCnR4n+op9n67AD0=",
|
"narHash": "sha256-/EBYF3f2kAPX3IOwxcjP/KTvXeX9b2cZyxgxGvp+XWI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "4a9ef04ed3048a17b50a11499e7f08d2ff00080c",
|
"rev": "481bba9ab4c2054b7cac86ee3be24f67e5256820",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -721,10 +721,10 @@
|
||||||
},
|
},
|
||||||
"nur_5": {
|
"nur_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729545054,
|
"lastModified": 1730720916,
|
||||||
"narHash": "sha256-Duxerj7QvZuOBD+MQSsGS5HX08P1YoaXgMsXaS9OP8A=",
|
"narHash": "sha256-sLuyisXE2KkcQ3gai2Y10e7vrddDCnR4n+op9n67AD0=",
|
||||||
"path": "/nix/store/c645p1n6k9nyh9b1y5f98lx9ywgwgq8l-source",
|
"path": "/nix/store/n52f84spncfhpbgbx1gydvdqmwfkic3p-source",
|
||||||
"rev": "52e70a5189a360d779f71624e2adaf3b0cd85716",
|
"rev": "4a9ef04ed3048a17b50a11499e7f08d2ff00080c",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -744,11 +744,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730635861,
|
"lastModified": 1731193165,
|
||||||
"narHash": "sha256-Npp3pl9aeAiq+wZPDbw2ZxybNuZWyuN7AY6fik56DCo=",
|
"narHash": "sha256-pGF8L5g9QpkQtJP9JmNIRNZfcyhJHf7uT+d8tqI1h6Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "293668587937daae1df085ee36d2b2d0792b7a0f",
|
"rev": "f33173b9d22e554a6f869626bc01808d35995257",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -770,11 +770,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730635861,
|
"lastModified": 1731193165,
|
||||||
"narHash": "sha256-Npp3pl9aeAiq+wZPDbw2ZxybNuZWyuN7AY6fik56DCo=",
|
"narHash": "sha256-pGF8L5g9QpkQtJP9JmNIRNZfcyhJHf7uT+d8tqI1h6Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "293668587937daae1df085ee36d2b2d0792b7a0f",
|
"rev": "f33173b9d22e554a6f869626bc01808d35995257",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -821,11 +821,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730605784,
|
"lastModified": 1731364708,
|
||||||
"narHash": "sha256-1NveNAMLHbxOg0BpBMSVuZ2yW2PpDnZLbZ25wV50PMc=",
|
"narHash": "sha256-HC0anOL+KmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "e9b5eef9b51cdf966c76143e13a9476725b2f760",
|
"rev": "4c91d52db103e757fc25b58998b0576ae702d659",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -844,11 +844,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable_4"
|
"nixpkgs-stable": "nixpkgs-stable_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730605784,
|
"lastModified": 1731364708,
|
||||||
"narHash": "sha256-1NveNAMLHbxOg0BpBMSVuZ2yW2PpDnZLbZ25wV50PMc=",
|
"narHash": "sha256-HC0anOL+KmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "e9b5eef9b51cdf966c76143e13a9476725b2f760",
|
"rev": "4c91d52db103e757fc25b58998b0576ae702d659",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
Loading…
Reference in New Issue