Switching to flake-parts
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
#+PROPERTY: header-args :mkdirp yes :noweb yes
|
||||
#+PROPERTY: header-args:elisp :lexical t
|
||||
* Categories
|
||||
#+begin_src nix :tangle target/default.nix
|
||||
{lib, pkgs, config, claude-code, ...}: let
|
||||
#+begin_src nix :tangle modules/home/default.nix
|
||||
{lib, pkgs, config, ...}: let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkMerge
|
||||
@@ -114,6 +114,13 @@ tools. They boost better speed, or simply more streamlined features.
|
||||
tokei
|
||||
xh
|
||||
];
|
||||
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
icons = "auto";
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
@@ -158,8 +165,6 @@ are still Redbook-specific; ideally I'd find another way to install them.
|
||||
home.packages = with pkgs; [
|
||||
openssh
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
})
|
||||
#+END_SRC
|
||||
|
||||
@@ -179,6 +184,8 @@ These programs require a full desktop environment:
|
||||
proton-pass
|
||||
wireshark
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
})
|
||||
#+END_SRC
|
||||
|
||||
@@ -265,21 +272,6 @@ leverage this with the emacs ~envrc~ package.
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** Eza
|
||||
|
||||
~eza~ is an ~ls~ replacement that offers icons, colors, and some easier command-line options.
|
||||
|
||||
#+BEGIN_SRC nix
|
||||
{
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
icons = "auto";
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** Fzf
|
||||
|
||||
~fzf~ offers a variety of fuzzy finders right from the shell. I haven't been using this, so I'll
|
||||
@@ -496,7 +488,7 @@ config in two blocks, so we can get lua syntax highlighting in org. First, the n
|
||||
|
||||
Then the real lua config:
|
||||
|
||||
#+begin_src lua :tangle target/wezterm.lua :noweb-ref nil
|
||||
#+begin_src lua :tangle modules/home/wezterm.lua :noweb-ref nil
|
||||
local config = {}
|
||||
|
||||
<<wezterm-config>>
|
||||
@@ -505,7 +497,6 @@ Then the real lua config:
|
||||
#+end_src
|
||||
|
||||
#+BEGIN_SRC lua
|
||||
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
||||
config.font = wezterm.font 'Iosevka Term SS14'
|
||||
config.font_size = 13.0
|
||||
-- config.font = wezterm.font("JetBrains Mono")
|
||||
@@ -775,21 +766,10 @@ Actually, nix *really* requires ~bash~. This is a plugin that allows using zsh f
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** Claude Code
|
||||
|
||||
#+BEGIN_SRC nix
|
||||
{
|
||||
programs.claude-code = {
|
||||
enable = true;
|
||||
package = claude-code;
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Emacs
|
||||
:PROPERTIES:
|
||||
:header-args:nix: :noweb-ref nix-configs
|
||||
:header-args:elisp: :tangle target/emacs.el
|
||||
:header-args:elisp: :tangle modules/home/emacs.el
|
||||
:END:
|
||||
|
||||
Emacs is a huge portion of this configuration, so although it's a home-manager "program", I'm
|
||||
@@ -977,6 +957,7 @@ repeats set up that only apply in that mode.
|
||||
Let's unbind some builtin keys that I don't use. I'm not sure if I'll replace them with anything or not, but at a minimum it'll avoid accidental keypresses and clean up which-key output.
|
||||
|
||||
#+begin_src elisp
|
||||
(require 'bind-key)
|
||||
(unbind-key "C-x RET")
|
||||
(unbind-key "C-x #")
|
||||
(unbind-key "C-x 5")
|
||||
@@ -1013,7 +994,7 @@ Ligature mode combines character sequences like <= into a single on-screen glyph
|
||||
cool, so I'm turning it on in prog mode. The enabled ligatures are font-specific, taken from [[https://github.com/mickeynp/ligature.el/wiki#jetbrains-mono][the
|
||||
ligature wiki]].
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
#+BEGIN_SRC elisp :noweb no
|
||||
(ligature-set-ligatures 'prog-mode
|
||||
'("--" "---" "==" "===" "!=" "!==" "=!="
|
||||
"=:=" "=/=" "<=" ">=" "&&" "&&&" "&=" "++" "+++" "***" ";;" "!!"
|
||||
@@ -1955,21 +1936,30 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
|
||||
(setopt consult-narrow-key "<") ;; "C-+"
|
||||
|
||||
(setopt vertico-count 25)
|
||||
(vertico-mode)
|
||||
(use-package vertico
|
||||
:custom
|
||||
(vertico-count 25)
|
||||
:config
|
||||
(vertico-mode))
|
||||
|
||||
(setopt completion-styles '(orderless basic))
|
||||
|
||||
(marginalia-mode)
|
||||
(use-package marginalia
|
||||
(marginalia-mode))
|
||||
|
||||
(setopt corfu-cycle t)
|
||||
(setopt corfu-popupinfo-mode nil)
|
||||
(setopt corfu-quit-at-boundary nil)
|
||||
(setopt corfu-on-exact-match 'show)
|
||||
(global-corfu-mode)
|
||||
(use-package corfu
|
||||
:custom
|
||||
(corfu-cycle t)
|
||||
(corfu-popupinfo-mode nil)
|
||||
(corfu-quit-at-boundary nil)
|
||||
(corfu-on-exact-match 'show)
|
||||
:config
|
||||
(global-corfu-mode))
|
||||
;; (setq completion-in-region-function #'consult-completion-in-region)
|
||||
|
||||
(add-hook 'completion-at-point-functions 'cape-file)
|
||||
(use-package cape
|
||||
:custom
|
||||
(add-hook 'completion-at-point-functions 'cape-file))
|
||||
#+END_SRC
|
||||
|
||||
** Org
|
||||
@@ -1980,7 +1970,6 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
org-modern
|
||||
org-present
|
||||
org-roam
|
||||
ox-slack
|
||||
verb
|
||||
visual-fill-column
|
||||
];
|
||||
@@ -1989,50 +1978,51 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
(require 'org)
|
||||
|
||||
(bind-keys ("C-c A" . org-agenda)
|
||||
("C-c C" . org-capture)
|
||||
("C-c l" . org-id-store-link))
|
||||
|
||||
(setopt org-babel-load-languages '((emacs-lisp . t) (sql . t)))
|
||||
(setopt org-confirm-babel-evaluate nil)
|
||||
(add-hook 'org-mode-hook 'visual-line-mode)
|
||||
(setopt org-link-keep-stored-after-insertion t
|
||||
org-capture-templates
|
||||
'(("t" "Todo" entry
|
||||
(here)
|
||||
"** TODO %?\n:LOGBOOK:\n- State \"TODO\" %U\n:END:\n")
|
||||
("w" "Work stuff")
|
||||
("wp" "Work Project" entry
|
||||
(file+headline "~/org/todo/work.org.age" "Next Actions")
|
||||
"*** PROJ %?\n- State \"PROJ\" %U\n")
|
||||
("wa" "Work Next Action" entry
|
||||
(file+headline "~/org/todo/work.org.age" "Next Actions")
|
||||
"*** TODO %?\n- State \"TODO\" %U\n")
|
||||
("p" "Personal stuff")
|
||||
("pp" "Personal Project" entry
|
||||
(file+headline "~/org/todo/personal.org.age" "Next Actions")
|
||||
"*** PROJ %?\n- State \"PROJ\" %U\n")
|
||||
("pa" "Personal Next Action" entry
|
||||
(file+headline "~/org/todo/personal.org.age" "Next Actions")
|
||||
"*** TODO %?\n- State \"TODO\" %U\n"))
|
||||
org-agenda-files '("~/org/todo/work.org" "~/org/todo/personal.org.age")
|
||||
org-agenda-todo-ignore-scheduled 'future
|
||||
org-agenda-tags-todo-honor-ignore-options t
|
||||
org-enforce-todo-dependencies t
|
||||
org-agenda-dim-blocked-tasks 'invisible)
|
||||
(set-face-attribute 'org-level-1 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-2 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-3 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-4 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-5 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-6 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-7 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-8 nil :font "Iosevka Aile")
|
||||
(use-package org
|
||||
:bind (("C-c A" . org-agenda)
|
||||
("C-c C" . org-capture)
|
||||
("C-c l" . org-id-store-link))
|
||||
:custom
|
||||
(org-babel-load-languages '((emacs-lisp . t) (sql . t)))
|
||||
(org-confirm-babel-evaluate nil)
|
||||
(org-link-keep-stored-after-insertion t)
|
||||
(org-capture-templates
|
||||
'(("t" "Todo" entry
|
||||
(here)
|
||||
"** TODO %?\n:LOGBOOK:\n- State \"TODO\" %U\n:END:\n")
|
||||
("w" "Work stuff")
|
||||
("wp" "Work Project" entry
|
||||
(file+headline "~/org/todo/work.org.age" "Next Actions")
|
||||
"*** PROJ %?\n- State \"PROJ\" %U\n")
|
||||
("wa" "Work Next Action" entry
|
||||
(file+headline "~/org/todo/work.org.age" "Next Actions")
|
||||
"*** TODO %?\n- State \"TODO\" %U\n")
|
||||
("p" "Personal stuff")
|
||||
("pp" "Personal Project" entry
|
||||
(file+headline "~/org/todo/personal.org.age" "Next Actions")
|
||||
"*** PROJ %?\n- State \"PROJ\" %U\n")
|
||||
("pa" "Personal Next Action" entry
|
||||
(file+headline "~/org/todo/personal.org.age" "Next Actions")
|
||||
"*** TODO %?\n- State \"TODO\" %U\n")))
|
||||
(org-agenda-files '("~/org/todo/work.org" "~/org/todo/personal.org.age"))
|
||||
(org-agenda-todo-ignore-scheduled 'future)
|
||||
(org-agenda-tags-todo-honor-ignore-options t)
|
||||
(org-enforce-todo-dependencies t)
|
||||
(org-agenda-dim-blocked-tasks 'invisible)
|
||||
:config
|
||||
(add-hook 'org-mode-hook 'visual-line-mode)
|
||||
(set-face-attribute 'org-level-1 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-2 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-3 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-4 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-5 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-6 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-7 nil :font "Iosevka Aile")
|
||||
(set-face-attribute 'org-level-8 nil :font "Iosevka Aile"))
|
||||
|
||||
(defvar-local my/org-present-face-remapping-cookies nil)
|
||||
(with-eval-after-load 'org-present
|
||||
(use-package org-present
|
||||
:config
|
||||
(require 'face-remap)
|
||||
(require 'visual-fill-column)
|
||||
|
||||
@@ -2100,7 +2090,7 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
;; (org-roam-db-autosync-mode)
|
||||
|
||||
(use-package org-modern
|
||||
:hook org-mode-hook)
|
||||
:hook org-mode)
|
||||
|
||||
;; (define-key org-mode-map (kbd "C-c C-r") verb-command-map)
|
||||
#+END_SRC
|
||||
@@ -2124,16 +2114,18 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
|
||||
** Slack
|
||||
#+BEGIN_SRC nix
|
||||
{
|
||||
(mkIf (cfg.redbook.enable && cfg.desktop.enable) {
|
||||
programs.emacs = {
|
||||
extraPackages = epkgs: with epkgs; [
|
||||
slack
|
||||
ox-slack
|
||||
];
|
||||
extraConfig = builtins.readFile ./slack.el;
|
||||
};
|
||||
}
|
||||
})
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
#+BEGIN_SRC elisp :tangle modules/home/home/slack.el :noweb-ref nil
|
||||
(use-package lui
|
||||
:defer t
|
||||
:custom
|
||||
@@ -2171,7 +2163,7 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
#+BEGIN_SRC elisp
|
||||
(use-package age
|
||||
:custom
|
||||
(setopt age-default-identity "~/source/dotfiles/keys/yubi1age.txt")
|
||||
(age-default-identity "~/source/dotfiles/keys/yubi1age.txt")
|
||||
(age-default-recipient "~/source/dotfiles/keys/myself.txt")
|
||||
:config
|
||||
(setenv "PINENTRY_PROGRAM" "pinentry-mac")
|
||||
@@ -2181,6 +2173,10 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
||||
** Claude Code
|
||||
#+BEGIN_SRC nix
|
||||
{
|
||||
programs.claude-code = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.emacs = {
|
||||
extraPackages = epkgs: with epkgs; [
|
||||
(epkgs.trivialBuild {
|
||||
@@ -2304,7 +2300,7 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
||||
|
||||
** Emacs
|
||||
:PROPERTIES:
|
||||
:header-args:elisp: :tangle target/emacs.el
|
||||
:header-args:elisp: :tangle modules/home/emacs.el
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC nix
|
||||
@@ -2313,19 +2309,17 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
||||
extraPackages = epkgs: with epkgs; [
|
||||
catppuccin-theme
|
||||
];
|
||||
extraConfig = "(defvar my-base-font-size ${if pkgs.stdenv.isDarwin then "130" else "100"})";
|
||||
extraConfig = ''(defvar my-base-font-size ${if pkgs.stdenv.isDarwin then "130" else "100"})
|
||||
(require 'catppuccin-theme)
|
||||
(setopt catppuccin-flavor 'frappe)
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
|
||||
;; (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 'default nil :font "Iosevka Term SS14" :height my-base-font-size)
|
||||
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term SS14" :height my-base-font-size)
|
||||
(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height my-base-font-size)
|
||||
'';
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
(require 'catppuccin-theme)
|
||||
(setopt catppuccin-flavor 'frappe)
|
||||
(load-theme 'catppuccin :no-confirm)
|
||||
|
||||
;; (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 'default nil :font "Iosevka Term SS14" :height my-base-font-size)
|
||||
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term SS14" :height my-base-font-size)
|
||||
(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height my-base-font-size)
|
||||
#+END_SRC
|
||||
|
||||
Reference in New Issue
Block a user