Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bbec58acba | |||
| e52adbbc4b | |||
| db1b86cbd7 |
@@ -50,24 +50,20 @@
|
|||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
nix-index-database.homeModules.default
|
nix-index-database.homeModules.default
|
||||||
|
"${modules}"
|
||||||
] ++
|
] ++
|
||||||
(pkgs.lib.filter
|
|
||||||
(n: pkgs.lib.strings.hasSuffix ".nix" n)
|
|
||||||
(pkgs.lib.filesystem.listFilesRecursive "${modules}/base")) ++
|
|
||||||
(pkgs.lib.filter
|
|
||||||
(n: pkgs.lib.strings.hasSuffix ".nix" n)
|
|
||||||
(pkgs.lib.filesystem.listFilesRecursive "${modules}/desktop")) ++
|
|
||||||
[{
|
[{
|
||||||
home.stateVersion = "22.05";
|
home.stateVersion = "22.05";
|
||||||
home.username = "jfrikker";
|
home.username = "jfrikker";
|
||||||
home.homeDirectory = "/Users/jfrikker";
|
home.homeDirectory = "/Users/jfrikker";
|
||||||
home.packages = [ pkgs.pinentry_mac ];
|
home.packages = [ pkgs.pinentry_mac ];
|
||||||
|
jfrikker.desktop.enable = true;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
extraSpecialArgs = { kube = kube.packages.aarch64-darwin.default; };
|
extraSpecialArgs = { kube = kube.packages.aarch64-darwin.default; };
|
||||||
};
|
};
|
||||||
homeConfigurations.home =
|
homeConfigurations.home =
|
||||||
let pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; };
|
let pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
modules = modules-for-system pkgs;
|
modules = modules-for-system pkgs;
|
||||||
in home-manager.lib.homeManagerConfiguration {
|
in home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
@@ -86,69 +82,6 @@
|
|||||||
|
|
||||||
extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; };
|
extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; };
|
||||||
};
|
};
|
||||||
homeConfigurations.home-laptop =
|
packages.aarch64-darwin.default = modules-for-system nixpkgs.legacyPackages.aarch64-darwin;
|
||||||
let pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; };
|
|
||||||
modules = modules-for-system pkgs;
|
|
||||||
in home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
|
|
||||||
modules =
|
|
||||||
[
|
|
||||||
nix-index-database.homeModules.default
|
|
||||||
] ++
|
|
||||||
(pkgs.lib.filter
|
|
||||||
(n: pkgs.lib.strings.hasSuffix ".nix" n)
|
|
||||||
(pkgs.lib.filesystem.listFilesRecursive "${modules}/base")) ++
|
|
||||||
(pkgs.lib.filter
|
|
||||||
(n: pkgs.lib.strings.hasSuffix ".nix" n)
|
|
||||||
(pkgs.lib.filesystem.listFilesRecursive "${modules}/desktop")) ++
|
|
||||||
[{
|
|
||||||
home.stateVersion = "22.05";
|
|
||||||
home.username = "jfrikker";
|
|
||||||
home.homeDirectory = "/home/jfrikker";
|
|
||||||
# home.packages = [ pkgs.pinentry ];
|
|
||||||
|
|
||||||
programs.ghostty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
font-family = "Iosevka Term Extended";
|
|
||||||
font-size = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.foot = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
font = "Iosevka Term:size=10:width=expanded";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vanilla-dmz;
|
|
||||||
name = "Vanilla-DMZ";
|
|
||||||
sway.enable = true;
|
|
||||||
gtk.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
enable = true;
|
|
||||||
config.modifier = "Mod4";
|
|
||||||
# config.terminal = "${pkgs.ghostty}/bin/ghostty";
|
|
||||||
config.input = {
|
|
||||||
"1452:628:bcm5974" = {
|
|
||||||
scroll_factor = "0.4";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.emacs.package = pkgs.emacs-pgtk;
|
|
||||||
}];
|
|
||||||
|
|
||||||
extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; };
|
|
||||||
};
|
|
||||||
packages.x86_64-linux.default = modules-for-system nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,34 @@
|
|||||||
#+PROPERTY: header-args :mkdirp yes
|
#+PROPERTY: header-args :mkdirp yes
|
||||||
#+PROPERTY: header-args:elisp :lexical t
|
#+PROPERTY: header-args:elisp :lexical t
|
||||||
|
* Base
|
||||||
|
|
||||||
|
#+BEGIN_SRC nix :tangle target/default.nix
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./base_options.nix
|
||||||
|
./sbcl.nix
|
||||||
|
./crypto.nix
|
||||||
|
./rust-reimpls.nix
|
||||||
|
./ledger.nix
|
||||||
|
./nil.nix
|
||||||
|
./magic-wormhole.nix
|
||||||
|
./desktop-packages.nix
|
||||||
|
./shibumi.nix
|
||||||
|
./slack.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC nix :tangle target/base_options.nix
|
||||||
|
{lib, ...}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
jfrikker.desktop.enable = mkEnableOption "desktop tools";
|
||||||
|
jfrikker.shibumi.enable = mkEnableOption "shibumi-specific tools";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* Packages
|
* Packages
|
||||||
Home-manager "packages" are simply binaries that are placed on the path, without any attached
|
Home-manager "packages" are simply binaries that are placed on the path, without any attached
|
||||||
@@ -12,7 +41,7 @@ in a ~nix~ devshell I think I'd also like to use it for scripting / exploratory
|
|||||||
so I'm installing it globally with a useful set of libraries. I should curate this somewhat
|
so I'm installing it globally with a useful set of libraries. I should curate this somewhat
|
||||||
carefully so it doesn't get carried away...
|
carefully so it doesn't get carried away...
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/sbcl.nix
|
#+BEGIN_SRC nix :tangle target/sbcl.nix
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -63,7 +92,7 @@ the name implies, allows generating and storing ~age~ keys on a Yubikey. ~rage~
|
|||||||
~age~ when using ~age.el~, because it supports ~pinentry~. That allows it to prompt for yubikey pins
|
~age~ when using ~age.el~, because it supports ~pinentry~. That allows it to prompt for yubikey pins
|
||||||
using a dialog, rather than a command line prompt.
|
using a dialog, rather than a command line prompt.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/crypto.nix
|
#+BEGIN_SRC nix :tangle target/crypto.nix
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -83,13 +112,14 @@ tools. They boost better speed, or simply more streamlined features.
|
|||||||
| ~ripgrep~ | ~grep~ |
|
| ~ripgrep~ | ~grep~ |
|
||||||
| ~xh~ | ~curl~ |
|
| ~xh~ | ~curl~ |
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/rust-reimpls.nix
|
#+BEGIN_SRC nix :tangle target/rust-reimpls.nix
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
dust
|
dust
|
||||||
fd
|
fd
|
||||||
ripgrep
|
ripgrep
|
||||||
|
tokei
|
||||||
xh
|
xh
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -97,7 +127,7 @@ tools. They boost better speed, or simply more streamlined features.
|
|||||||
|
|
||||||
[[https://ledger-cli.org/][~ledger~]] is how I manage my budget. It's a plain-text accounting tool that's really awesome.
|
[[https://ledger-cli.org/][~ledger~]] is how I manage my budget. It's a plain-text accounting tool that's really awesome.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/ledger.nix
|
#+BEGIN_SRC nix :tangle target/ledger.nix
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -108,7 +138,7 @@ tools. They boost better speed, or simply more streamlined features.
|
|||||||
|
|
||||||
~nil~ is an LSP server for nix files.
|
~nil~ is an LSP server for nix files.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/nil.nix
|
#+BEGIN_SRC nix :tangle target/nil.nix
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -121,7 +151,7 @@ tools. They boost better speed, or simply more streamlined features.
|
|||||||
computers in the world, assuming that you have an out-of-band way to communicate a passphrase
|
computers in the world, assuming that you have an out-of-band way to communicate a passphrase
|
||||||
between them. Once installed, the actual command is ~wormhole~.
|
between them. Once installed, the actual command is ~wormhole~.
|
||||||
|
|
||||||
#+begin_src nix :tangle target/base/magic-wormhole.nix
|
#+begin_src nix :tangle target/magic-wormhole.nix
|
||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -133,40 +163,52 @@ between them. Once installed, the actual command is ~wormhole~.
|
|||||||
These are the other programs I have installed globally. A few (like ~awscli~, ~mysql-client~, etc.)
|
These are the other programs I have installed globally. A few (like ~awscli~, ~mysql-client~, etc.)
|
||||||
are still Shibumi-specific; ideally I'd find another way to install them.
|
are still Shibumi-specific; ideally I'd find another way to install them.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/other-packages.nix
|
#+BEGIN_SRC nix :tangle target/shibumi.nix
|
||||||
{pkgs, kube, ...}:
|
{lib, pkgs, kube, config, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
config = lib.mkIf config.jfrikker.shibumi.enable {
|
||||||
aws-iam-authenticator
|
home.packages = with pkgs; [
|
||||||
awscli2
|
aws-iam-authenticator
|
||||||
kube
|
awscli2
|
||||||
kubectl
|
kube
|
||||||
mariadb.client
|
kubectl
|
||||||
nerd-fonts.jetbrains-mono
|
mariadb.client
|
||||||
openssh
|
openssh
|
||||||
tokei
|
];
|
||||||
];
|
};
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
These programs require a full desktop environment:
|
These programs require a full desktop environment:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/desktop-packages.nix
|
#+BEGIN_SRC nix :tangle target/desktop-packages.nix
|
||||||
{pkgs, ...}:
|
{lib, pkgs, config, ...}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
config = lib.mkIf config.jfrikker.desktop.enable {
|
||||||
google-chrome
|
home.packages = with pkgs; [
|
||||||
(iosevka-bin.override { variant = "Aile"; })
|
google-chrome
|
||||||
(iosevka-bin.override { variant = "Etoile"; })
|
nerd-fonts.jetbrains-mono
|
||||||
(iosevka-bin.override { variant = "SGr-IosevkaTerm"; })
|
(iosevka-bin.override { variant = "Aile"; })
|
||||||
nerd-fonts.symbols-only
|
(iosevka-bin.override { variant = "Etoile"; })
|
||||||
keymapp
|
(iosevka-bin.override { variant = "SGr-IosevkaTerm"; })
|
||||||
proton-pass
|
keymapp
|
||||||
slack
|
proton-pass
|
||||||
wireshark
|
wireshark
|
||||||
];
|
];
|
||||||
|
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC nix :tangle target/slack.nix
|
||||||
|
{lib, pkgs, config, ...}:
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.jfrikker.shibumi.enable && config.jfrikker.desktop.enable) {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
slack
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -448,14 +490,10 @@ in case I need it later.
|
|||||||
config in two blocks, so we can get lua syntax highlighting in org. First, the nix configuration:
|
config in two blocks, so we can get lua syntax highlighting in org. First, the nix configuration:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/wezterm.nix
|
#+BEGIN_SRC nix :tangle target/desktop/wezterm.nix
|
||||||
{pkgs, ...}: {
|
{
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = builtins.readFile ./wezterm.lua;
|
||||||
local config = {}
|
|
||||||
config.default_prog = { '${pkgs.zsh}/bin/zsh', '-l'}
|
|
||||||
config.font_size = ${if pkgs.stdenv.isDarwin then "13.0" else "10.0"}
|
|
||||||
'' + builtins.readFile ./wezterm.lua;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -463,7 +501,10 @@ config in two blocks, so we can get lua syntax highlighting in org. First, the n
|
|||||||
Then the real lua config:
|
Then the real lua config:
|
||||||
|
|
||||||
#+BEGIN_SRC lua
|
#+BEGIN_SRC lua
|
||||||
config.font = wezterm.font("Iosevka Term", {stretch = "Expanded"})
|
local config = {}
|
||||||
|
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
||||||
|
config.font_size = 13.0
|
||||||
|
-- config.font = wezterm.font("JetBrains Mono")
|
||||||
config.inactive_pane_hsb = {
|
config.inactive_pane_hsb = {
|
||||||
saturation = 0.5,
|
saturation = 0.5,
|
||||||
brightness = 0.5,
|
brightness = 0.5,
|
||||||
@@ -880,7 +921,8 @@ A basic ace-window setup. Allows switching between windows quickly (although avy
|
|||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(bind-keys ("M-o" . ace-window)
|
(bind-keys ("M-o" . ace-window)
|
||||||
("s-o" . ace-window))
|
("s-o" . ace-window)
|
||||||
|
("C-c o" . ace-window))
|
||||||
(setopt aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))
|
(setopt aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))
|
||||||
(setopt aw-dispatch-always t)
|
(setopt aw-dispatch-always t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1008,11 +1050,11 @@ This configuration affects general text editing, across all modes. First, some p
|
|||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
avy
|
avy
|
||||||
devil
|
|
||||||
edit-indirect
|
edit-indirect
|
||||||
embark
|
embark
|
||||||
god-mode
|
evil
|
||||||
meow
|
evil-collection
|
||||||
|
evil-org
|
||||||
string-inflection
|
string-inflection
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-editing.el;
|
extraConfig = builtins.readFile ./emacs-editing.el;
|
||||||
@@ -1031,130 +1073,18 @@ but I'm worried that having too many repeat maps will also be annoying (I'll hav
|
|||||||
cancel them more frequently). In the end, I opted for Devil mode. It avoids modifier keys, and has
|
cancel them more frequently). In the end, I opted for Devil mode. It avoids modifier keys, and has
|
||||||
its own devil-mode-only repeat maps that don't interfere when using normal modifier key sequences.
|
its own devil-mode-only repeat maps that don't interfere when using normal modifier key sequences.
|
||||||
|
|
||||||
#+BEGIN_SRC elisp :tangle nil
|
|
||||||
(use-package devil
|
|
||||||
:disable t
|
|
||||||
:config
|
|
||||||
(global-devil-mode)
|
|
||||||
(setq devil-repeatable-keys
|
|
||||||
'(("%k /")
|
|
||||||
("%k d")
|
|
||||||
("%k k")
|
|
||||||
("%k m ^")
|
|
||||||
("%k m b" "%k m f" "%k m a" "% k m e")
|
|
||||||
("%k m @" "%k m h")
|
|
||||||
("%k m y")
|
|
||||||
("%k p" "%k n" "%k b" "%k f" "%k a" "%k e")
|
|
||||||
("%k s")
|
|
||||||
("%k m d" "%k m <backspace>"))))
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
;; (defun meow-setup ()
|
|
||||||
;; (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
|
|
||||||
;; (meow-motion-define-key
|
|
||||||
;; '("j" . meow-next)
|
|
||||||
;; '("k" . meow-prev)
|
|
||||||
;; '("<escape>" . ignore))
|
|
||||||
;; (meow-leader-define-key
|
|
||||||
;; ;; Use SPC (0-9) for digit arguments.
|
|
||||||
;; '("1" . meow-digit-argument)
|
|
||||||
;; '("2" . meow-digit-argument)
|
|
||||||
;; '("3" . meow-digit-argument)
|
|
||||||
;; '("4" . meow-digit-argument)
|
|
||||||
;; '("5" . meow-digit-argument)
|
|
||||||
;; '("6" . meow-digit-argument)
|
|
||||||
;; '("7" . meow-digit-argument)
|
|
||||||
;; '("8" . meow-digit-argument)
|
|
||||||
;; '("9" . meow-digit-argument)
|
|
||||||
;; '("0" . meow-digit-argument)
|
|
||||||
;; '("/" . meow-keypad-describe-key)
|
|
||||||
;; '("?" . meow-cheatsheet))
|
|
||||||
;; (meow-normal-define-key
|
|
||||||
;; '("0" . meow-expand-0)
|
|
||||||
;; '("9" . meow-expand-9)
|
|
||||||
;; '("8" . meow-expand-8)
|
|
||||||
;; '("7" . meow-expand-7)
|
|
||||||
;; '("6" . meow-expand-6)
|
|
||||||
;; '("5" . meow-expand-5)
|
|
||||||
;; '("4" . meow-expand-4)
|
|
||||||
;; '("3" . meow-expand-3)
|
|
||||||
;; '("2" . meow-expand-2)
|
|
||||||
;; '("1" . meow-expand-1)
|
|
||||||
;; '("-" . negative-argument)
|
|
||||||
;; '(";" . meow-reverse)
|
|
||||||
;; '("," . meow-inner-of-thing)
|
|
||||||
;; '("." . meow-bounds-of-thing)
|
|
||||||
;; '("[" . meow-beginning-of-thing)
|
|
||||||
;; '("]" . meow-end-of-thing)
|
|
||||||
;; '("a" . meow-append)
|
|
||||||
;; '("A" . meow-open-below)
|
|
||||||
;; '("b" . meow-back-word)
|
|
||||||
;; '("B" . meow-back-symbol)
|
|
||||||
;; '("c" . meow-change)
|
|
||||||
;; '("d" . meow-delete)
|
|
||||||
;; '("D" . meow-backward-delete)
|
|
||||||
;; '("e" . meow-next-word)
|
|
||||||
;; '("E" . meow-next-symbol)
|
|
||||||
;; '("f" . meow-find)
|
|
||||||
;; '("g" . meow-cancel-selection)
|
|
||||||
;; '("G" . meow-grab)
|
|
||||||
;; '("h" . meow-left)
|
|
||||||
;; '("H" . meow-left-expand)
|
|
||||||
;; '("i" . meow-insert)
|
|
||||||
;; '("I" . meow-open-above)
|
|
||||||
;; '("j" . meow-next)
|
|
||||||
;; '("J" . meow-next-expand)
|
|
||||||
;; '("k" . meow-prev)
|
|
||||||
;; '("K" . meow-prev-expand)
|
|
||||||
;; '("l" . meow-right)
|
|
||||||
;; '("L" . meow-right-expand)
|
|
||||||
;; '("m" . meow-join)
|
|
||||||
;; '("n" . meow-search)
|
|
||||||
;; '("o" . meow-block)
|
|
||||||
;; '("O" . meow-to-block)
|
|
||||||
;; '("p" . meow-yank)
|
|
||||||
;; '("q" . meow-quit)
|
|
||||||
;; '("Q" . meow-goto-line)
|
|
||||||
;; '("r" . meow-replace)
|
|
||||||
;; '("R" . meow-swap-grab)
|
|
||||||
;; '("s" . meow-kill)
|
|
||||||
;; '("t" . meow-till)
|
|
||||||
;; '("u" . meow-undo)
|
|
||||||
;; '("U" . meow-undo-in-selection)
|
|
||||||
;; '("v" . meow-visit)
|
|
||||||
;; '("w" . meow-mark-word)
|
|
||||||
;; '("W" . meow-mark-symbol)
|
|
||||||
;; '("x" . meow-line)
|
|
||||||
;; '("X" . meow-goto-line)
|
|
||||||
;; '("y" . meow-save)
|
|
||||||
;; '("Y" . meow-sync-grab)
|
|
||||||
;; '("z" . meow-pop-selection)
|
|
||||||
;; '("'" . repeat)
|
|
||||||
;; '("<escape>" . ignore)))
|
|
||||||
|
|
||||||
;; (require 'meow)
|
|
||||||
;; (meow-setup)
|
|
||||||
;; (meow-global-mode)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(require 'god-mode)
|
(setopt evil-want-keybinding nil)
|
||||||
(require 'which-key)
|
(require 'evil)
|
||||||
|
(evil-mode 1)
|
||||||
|
(require 'evil-collection)
|
||||||
|
(evil-collection-init)
|
||||||
|
|
||||||
(bind-keys :map god-local-mode-map
|
(require 'evil-org)
|
||||||
("i" . (lambda () (interactive) (god-mode-all -1)))
|
(add-hook 'org-mode-hook 'evil-org-mode)
|
||||||
("z" . repeat))
|
(evil-org-set-key-theme '(navigation insert textobjects additional calendar))
|
||||||
(bind-keys ("<escape>" . (lambda () (interactive) (god-mode-all 1))))
|
(require 'evil-org-agenda)
|
||||||
(defun my-god-mode-update-cursor-type ()
|
(evil-org-agenda-set-keys)
|
||||||
(setq cursor-type (cond
|
|
||||||
(org-present-mode nil)
|
|
||||||
((or (and (featurep 'god-mode) god-local-mode) buffer-read-only
|
|
||||||
(and (featurep 'meow-mode) meow-mode (not (eq 'insert meow--current-state)))) 'box)
|
|
||||||
(t 'bar))))
|
|
||||||
|
|
||||||
(add-hook 'post-command-hook 'my-god-mode-update-cursor-type)
|
|
||||||
(which-key-enable-god-mode-support)
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Avy allows jumping to any place on the screen with just a few keystrokes. I've stolen most of these
|
Avy allows jumping to any place on the screen with just a few keystrokes. I've stolen most of these
|
||||||
@@ -1226,7 +1156,13 @@ Just "silently" wrap when searching at the bottom of a document.
|
|||||||
haskell-ts-mode
|
haskell-ts-mode
|
||||||
jenkinsfile-mode
|
jenkinsfile-mode
|
||||||
jq-mode
|
jq-mode
|
||||||
lispy
|
(lispy.overrideAttrs {
|
||||||
|
packageRequires = [
|
||||||
|
ace-window iedit swiper zoutline
|
||||||
|
];
|
||||||
|
ignoreCompilationError = true;
|
||||||
|
})
|
||||||
|
lispyville
|
||||||
lua-mode
|
lua-mode
|
||||||
nix-mode
|
nix-mode
|
||||||
rust-mode
|
rust-mode
|
||||||
@@ -1408,6 +1344,8 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
(add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))
|
(add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1)))
|
||||||
(add-hook 'lisp-mode-hook (lambda () (lispy-mode 1)))
|
(add-hook 'lisp-mode-hook (lambda () (lispy-mode 1)))
|
||||||
(with-eval-after-load 'lispy
|
(with-eval-after-load 'lispy
|
||||||
|
(require 'lispyville)
|
||||||
|
(add-hook 'lispy-mode-hook #'lispyville-mode)
|
||||||
(bind-keys :map lispy-mode-map
|
(bind-keys :map lispy-mode-map
|
||||||
("i" . (lambda ()
|
("i" . (lambda ()
|
||||||
(interactive)
|
(interactive)
|
||||||
@@ -1922,8 +1860,8 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(autoload 'claude-code-command-map "claude-code" :type 'keymap)
|
(require 'claude-code)
|
||||||
;; (keymap-global-set "C-c c" claude-code-command-map)
|
(keymap-global-set "C-c c" claude-code-command-map)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* Theme
|
* Theme
|
||||||
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
||||||
@@ -1978,16 +1916,16 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
xdg = {
|
xdg = {
|
||||||
enable = false
|
enable = false
|
||||||
;
|
;
|
||||||
# configFile."lazygit/config.yml" = {
|
configFile."lazygit/config.yml" = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# source = pkgs.fetchFromGitHub
|
source = pkgs.fetchFromGitHub
|
||||||
# {
|
{
|
||||||
# owner = "catppuccin";
|
owner = "catppuccin";
|
||||||
# repo = "lazygit";
|
repo = "lazygit";
|
||||||
# rev = "b2ecb6d41b6f54a82104879573c538e8bdaeb0bf"; # Replace with the latest commit hash
|
rev = "b2ecb6d41b6f54a82104879573c538e8bdaeb0bf"; # Replace with the latest commit hash
|
||||||
# sha256 = "9BBmWRcjNaJE9T0RKVEJaSnkrbMom0CLYE8PzAT6yFw=";
|
sha256 = "9BBmWRcjNaJE9T0RKVEJaSnkrbMom0CLYE8PzAT6yFw=";
|
||||||
# } + /themes/frappe.yml;
|
} + /themes/frappe.yml;
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2020,14 +1958,13 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-theme.nix
|
#+BEGIN_SRC nix :tangle target/desktop/emacs-theme.nix
|
||||||
{pkgs, ...}: {
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
catppuccin-theme
|
catppuccin-theme
|
||||||
];
|
];
|
||||||
extraConfig = "(defvar my-base-font-size ${if pkgs.stdenv.isDarwin then "130" else "100"})" +
|
extraConfig = builtins.readFile ./emacs-theme.el;
|
||||||
builtins.readFile ./emacs-theme.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2039,7 +1976,7 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
|
|
||||||
;; (set-face-attribute 'default nil :font "JetBrainsMono Nerd Font" :height 130)
|
;; (set-face-attribute 'default nil :font "JetBrainsMono Nerd Font" :height 130)
|
||||||
;; (set-face-attribute 'fixed-pitch nil :font "JetBrainsMono Nerd Font" :height 130)
|
;; (set-face-attribute 'fixed-pitch nil :font "JetBrainsMono Nerd Font" :height 130)
|
||||||
(set-face-attribute 'default nil :font "Iosevka Term" :height my-base-font-size :width 'expanded)
|
(set-face-attribute 'default nil :font "Iosevka Term" :height 130 :width 'expanded)
|
||||||
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term" :height my-base-font-size :width 'expanded)
|
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term" :height 130 :width 'expanded)
|
||||||
(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height my-base-font-size)
|
(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height 130)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|||||||
Reference in New Issue
Block a user