Initial switch back to one file + config options
This commit is contained in:
@@ -55,16 +55,16 @@
|
|||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
nix-index-database.homeModules.default
|
nix-index-database.homeModules.default
|
||||||
"${modules}/base.nix"
|
"${modules}"
|
||||||
"${modules}/desktop.nix"
|
|
||||||
"${modules}/redbook.nix"
|
|
||||||
"${modules}/redbook-desktop.nix"
|
|
||||||
] ++
|
] ++
|
||||||
[{
|
[{
|
||||||
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.enable = true;
|
||||||
|
jfrikker.desktop.enable = true;
|
||||||
|
jfrikker.redbook.enable = true;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
extraSpecialArgs = { claude-code = claude-code.packages.aarch64-darwin.default; };
|
extraSpecialArgs = { claude-code = claude-code.packages.aarch64-darwin.default; };
|
||||||
@@ -77,14 +77,13 @@
|
|||||||
|
|
||||||
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")) ++
|
|
||||||
[{
|
[{
|
||||||
home.stateVersion = "22.05";
|
home.stateVersion = "22.05";
|
||||||
home.username = "jfrikker";
|
home.username = "jfrikker";
|
||||||
home.homeDirectory = "/home/jfrikker";
|
home.homeDirectory = "/home/jfrikker";
|
||||||
|
jfrikker.enable = true;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
extraSpecialArgs = { claude-code = claude-code.packages.x86_64-linux.default; };
|
extraSpecialArgs = { claude-code = claude-code.packages.x86_64-linux.default; };
|
||||||
@@ -98,18 +97,15 @@
|
|||||||
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 = "/home/jfrikker";
|
home.homeDirectory = "/home/jfrikker";
|
||||||
# home.packages = [ pkgs.pinentry ];
|
# home.packages = [ pkgs.pinentry ];
|
||||||
|
jfrikker.enable = true;
|
||||||
|
jfrikker.desktop.enable = true;
|
||||||
|
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -154,5 +150,6 @@
|
|||||||
extraSpecialArgs = { claude-code = claude-code.packages.x86_64-linux.default; };
|
extraSpecialArgs = { claude-code = claude-code.packages.x86_64-linux.default; };
|
||||||
};
|
};
|
||||||
packages.x86_64-linux.default = modules-for-system nixpkgs.legacyPackages.x86_64-linux;
|
packages.x86_64-linux.default = modules-for-system nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
packages.aarch64-darwin.default = modules-for-system nixpkgs.legacyPackages.aarch64-darwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +1,33 @@
|
|||||||
#+PROPERTY: header-args :mkdirp yes
|
#+PROPERTY: header-args :mkdirp yes :noweb yes
|
||||||
#+PROPERTY: header-args:elisp :lexical t
|
#+PROPERTY: header-args:elisp :lexical t
|
||||||
* Categories
|
* Categories
|
||||||
|
#+begin_src nix :tangle target/default.nix
|
||||||
|
{lib, pkgs, config, claude-code, ...}: let
|
||||||
|
inherit (lib)
|
||||||
|
mkIf
|
||||||
|
mkMerge
|
||||||
|
;
|
||||||
|
cfg = config.jfrikker;
|
||||||
|
in {
|
||||||
|
options.jfrikker = {
|
||||||
|
enable = lib.mkEnableOption "Joe Frikker's configuration";
|
||||||
|
desktop.enable = lib.mkEnableOption "Desktop (GUI) applications";
|
||||||
|
redbook.enable = lib.mkEnableOption "Redbook-specific configuration";
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base.nix
|
<<nix-options>>
|
||||||
{lib, ...}: {
|
};
|
||||||
imports = lib.filter
|
|
||||||
(n: lib.strings.hasSuffix ".nix" n)
|
|
||||||
(lib.filesystem.listFilesRecursive ./base);
|
|
||||||
}
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop.nix
|
config = mkIf cfg.enable (mkMerge [
|
||||||
{lib, ...}: {
|
<<nix-configs>>
|
||||||
imports = lib.filter
|
]);
|
||||||
(n: lib.strings.hasSuffix ".nix" n)
|
|
||||||
(lib.filesystem.listFilesRecursive ./desktop);
|
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/redbook.nix
|
|
||||||
{lib, ...}: {
|
|
||||||
imports = lib.filter
|
|
||||||
(n: lib.strings.hasSuffix ".nix" n)
|
|
||||||
(lib.filesystem.listFilesRecursive ./redbook);
|
|
||||||
}
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/redbook-desktop.nix
|
|
||||||
{lib, ...}: {
|
|
||||||
imports = lib.filter
|
|
||||||
(n: lib.strings.hasSuffix ".nix" n)
|
|
||||||
(lib.filesystem.listFilesRecursive ./redbook-desktop);
|
|
||||||
}
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
* Packages
|
* Packages
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:nix: :noweb-ref nix-configs
|
||||||
|
:END:
|
||||||
|
|
||||||
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
|
||||||
configuration. The code blocks in this section contain package lists that go under the packages
|
configuration. The code blocks in this section contain package lists that go under the packages
|
||||||
section above.
|
section above.
|
||||||
@@ -45,8 +38,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
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
rlwrap
|
rlwrap
|
||||||
@@ -94,8 +86,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
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
rage
|
rage
|
||||||
@@ -114,8 +105,7 @@ 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
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
dust
|
dust
|
||||||
@@ -129,8 +119,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
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
ledger
|
ledger
|
||||||
@@ -140,8 +129,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
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nil
|
nil
|
||||||
@@ -153,8 +141,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
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
magic-wormhole
|
magic-wormhole
|
||||||
@@ -165,22 +152,20 @@ 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 Redbook-specific; ideally I'd find another way to install them.
|
are still Redbook-specific; ideally I'd find another way to install them.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/redbook/other-packages.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
(mkIf cfg.redbook.enable {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
openssh
|
openssh
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
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
|
||||||
{pkgs, ...}:
|
(mkIf cfg.desktop.enable {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
google-chrome
|
google-chrome
|
||||||
nerd-fonts.jetbrains-mono
|
nerd-fonts.jetbrains-mono
|
||||||
@@ -193,12 +178,11 @@ These programs require a full desktop environment:
|
|||||||
proton-pass
|
proton-pass
|
||||||
wireshark
|
wireshark
|
||||||
];
|
];
|
||||||
}
|
})
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/redbook-desktop/desktop-packages.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
(mkIf (cfg.redbook.enable && cfg.desktop.enable) {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
linear
|
linear
|
||||||
notion-app
|
notion-app
|
||||||
@@ -211,10 +195,14 @@ These programs require a full desktop environment:
|
|||||||
})
|
})
|
||||||
teams
|
teams
|
||||||
];
|
];
|
||||||
}
|
})
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Program Configurations
|
* Program Configurations
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:nix: :noweb-ref nix-configs
|
||||||
|
:END:
|
||||||
|
|
||||||
This section contains applications whose config files will be generated by Home Manager. Home
|
This section contains applications whose config files will be generated by Home Manager. Home
|
||||||
Manager calls these "programs" (as opposed to "packages", which are just binaries to put on the
|
Manager calls these "programs" (as opposed to "packages", which are just binaries to put on the
|
||||||
path).
|
path).
|
||||||
@@ -225,7 +213,7 @@ Although Home-Manager generates config files for these programs, they don't need
|
|||||||
configuration. I'm not sure what benefit there is to enabling ~jq~ as a Home Manager program, rather
|
configuration. I'm not sure what benefit there is to enabling ~jq~ as a Home Manager program, rather
|
||||||
than just as an available package, but there doesn't seem to be a downside.
|
than just as an available package, but there doesn't seem to be a downside.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/simple-programs.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
bash.enable = true;
|
bash.enable = true;
|
||||||
@@ -244,7 +232,7 @@ than just as an available package, but there doesn't seem to be a downside.
|
|||||||
provides syntax-highlighting versions of a few other commands. It's honestly not incredibly useful,
|
provides syntax-highlighting versions of a few other commands. It's honestly not incredibly useful,
|
||||||
but still nice to have.
|
but still nice to have.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/bat.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -255,7 +243,7 @@ but still nice to have.
|
|||||||
|
|
||||||
** Comma
|
** Comma
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/comma.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.nix-index.enable = true;
|
programs.nix-index.enable = true;
|
||||||
programs.nix-index-database.comma.enable = true;
|
programs.nix-index-database.comma.enable = true;
|
||||||
@@ -267,7 +255,7 @@ but still nice to have.
|
|||||||
~direnv~ allows loading per-project paths as I navigate to their directories on the command line. I
|
~direnv~ allows loading per-project paths as I navigate to their directories on the command line. I
|
||||||
leverage this with the emacs ~envrc~ package.
|
leverage this with the emacs ~envrc~ package.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/direnv.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -280,7 +268,7 @@ leverage this with the emacs ~envrc~ package.
|
|||||||
|
|
||||||
~eza~ is an ~ls~ replacement that offers icons, colors, and some easier command-line options.
|
~eza~ is an ~ls~ replacement that offers icons, colors, and some easier command-line options.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/eza.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.eza = {
|
programs.eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -296,7 +284,7 @@ leverage this with the emacs ~envrc~ package.
|
|||||||
~fzf~ offers a variety of fuzzy finders right from the shell. I haven't been using this, so I'll
|
~fzf~ offers a variety of fuzzy finders right from the shell. I haven't been using this, so I'll
|
||||||
turn it off for now.
|
turn it off for now.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/fzf.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
defaultCommand = "fd --type f";
|
defaultCommand = "fd --type f";
|
||||||
@@ -312,7 +300,7 @@ turn it off for now.
|
|||||||
|
|
||||||
We all know what ~git~ does.
|
We all know what ~git~ does.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/git.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -333,7 +321,7 @@ We all know what ~git~ does.
|
|||||||
|
|
||||||
The best text editor ever? Heresy!
|
The best text editor ever? Heresy!
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/helix.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -411,7 +399,7 @@ The best text editor ever? Heresy!
|
|||||||
~nh~ is an alternative frontend to home-manager and a few other nix tools that I'm trying out. It
|
~nh~ is an alternative frontend to home-manager and a few other nix tools that I'm trying out. It
|
||||||
shows what's changing when you update your config, which is nice.
|
shows what's changing when you update your config, which is nice.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/nh.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.nh = {
|
programs.nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -425,7 +413,7 @@ shows what's changing when you update your config, which is nice.
|
|||||||
~starship~ gives me a nice shell prompt, mostly showing the versions of relevant software I have
|
~starship~ gives me a nice shell prompt, mostly showing the versions of relevant software I have
|
||||||
installed. It's shell-agnostic, so it works with both bash and zsh.
|
installed. It's shell-agnostic, so it works with both bash and zsh.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/starship.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -458,8 +446,7 @@ installed. It's shell-agnostic, so it works with both bash and zsh.
|
|||||||
I'm using ~wezterm~ instead of ~tmux~ for now, so this is disabled, but I'm keeping the config here
|
I'm using ~wezterm~ instead of ~tmux~ for now, so this is disabled, but I'm keeping the config here
|
||||||
in case I need it later.
|
in case I need it later.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/tmux.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
@@ -487,14 +474,14 @@ in case I need it later.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Wezterm
|
** Wezterm
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:lua: :tangle target/desktop/wezterm.lua
|
:header-args:lua: :noweb-ref wezterm-config
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
~wezterm~ is a fast terminal emulator and multiplexer. It is configured using lua. We'll define its
|
~wezterm~ is a fast terminal emulator and multiplexer. It is configured using lua. We'll define its
|
||||||
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
|
||||||
{pkgs, ...}: {
|
(mkIf cfg.desktop.enable {
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
@@ -503,13 +490,20 @@ config in two blocks, so we can get lua syntax highlighting in org. First, the n
|
|||||||
config.font_size = ${if pkgs.stdenv.isDarwin then "13.0" else "10.0"}
|
config.font_size = ${if pkgs.stdenv.isDarwin then "13.0" else "10.0"}
|
||||||
'' + builtins.readFile ./wezterm.lua;
|
'' + builtins.readFile ./wezterm.lua;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Then the real lua config:
|
Then the real lua config:
|
||||||
|
|
||||||
#+BEGIN_SRC lua
|
#+begin_src lua :tangle target/wezterm.lua :noweb-ref nil
|
||||||
local config = {}
|
local config = {}
|
||||||
|
|
||||||
|
<<wezterm-config>>
|
||||||
|
|
||||||
|
return config
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+BEGIN_SRC lua
|
||||||
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
||||||
config.font = wezterm.font 'Iosevka Term SS14'
|
config.font = wezterm.font 'Iosevka Term SS14'
|
||||||
config.font_size = 13.0
|
config.font_size = 13.0
|
||||||
@@ -700,8 +694,8 @@ Now we'll set up some keybindings:
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Kitty
|
** Kitty
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/kitty.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}: {
|
(mkIf cfg.desktop.enable {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
@@ -722,16 +716,16 @@ Now we'll set up some keybindings:
|
|||||||
"ctrl+9" = "goto_tab 9";
|
"ctrl+9" = "goto_tab 9";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Ghostty
|
** Ghostty
|
||||||
Disabled until I can get it working on both linux and mac (if I want to).
|
Disabled until I can get it working on both linux and mac (if I want to).
|
||||||
|
|
||||||
#+BEGIN_SRC nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}: {
|
{
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = false;
|
||||||
package = pkgs.ghostty-bin;
|
package = pkgs.ghostty-bin;
|
||||||
settings = {
|
settings = {
|
||||||
adjust-cell-height = "15%";
|
adjust-cell-height = "15%";
|
||||||
@@ -747,7 +741,7 @@ Disabled until I can get it working on both linux and mac (if I want to).
|
|||||||
This is my default shell for now. Unfortunately, nix requires a posix-compliant shell, so bash or
|
This is my default shell for now. Unfortunately, nix requires a posix-compliant shell, so bash or
|
||||||
zsh it is.
|
zsh it is.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/zsh.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -763,8 +757,7 @@ zsh it is.
|
|||||||
|
|
||||||
Actually, nix *really* requires ~bash~. This is a plugin that allows using zsh from nix-shell.
|
Actually, nix *really* requires ~bash~. This is a plugin that allows using zsh from nix-shell.
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/zsh-nix-shell.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
programs.zsh.plugins = [
|
programs.zsh.plugins = [
|
||||||
{
|
{
|
||||||
@@ -783,8 +776,8 @@ Actually, nix *really* requires ~bash~. This is a plugin that allows using zsh f
|
|||||||
|
|
||||||
** Claude Code
|
** Claude Code
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/base/claude-code.nix
|
#+BEGIN_SRC nix
|
||||||
{claude-code, ...}: {
|
{
|
||||||
programs.claude-code = {
|
programs.claude-code = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = claude-code;
|
package = claude-code;
|
||||||
@@ -793,6 +786,11 @@ Actually, nix *really* requires ~bash~. This is a plugin that allows using zsh f
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Emacs
|
* Emacs
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:nix: :noweb-ref nix-configs
|
||||||
|
:header-args:elisp: :tangle target/emacs.el
|
||||||
|
:END:
|
||||||
|
|
||||||
Emacs is a huge portion of this configuration, so although it's a home-manager "program", I'm
|
Emacs is a huge portion of this configuration, so although it's a home-manager "program", I'm
|
||||||
breaking it out into its own top-level section. Many of the sections here have two code blocks: a
|
breaking it out into its own top-level section. Many of the sections here have two code blocks: a
|
||||||
nix code block listing the emacs packages to include, and an elisp code block to configure them in
|
nix code block listing the emacs packages to include, and an elisp code block to configure them in
|
||||||
@@ -801,6 +799,15 @@ emacs.
|
|||||||
We'll put the actual emacs configs into separate files, rather than into nix string literals. This
|
We'll put the actual emacs configs into separate files, rather than into nix string literals. This
|
||||||
helps with a few places where nix's string interpolation was causing problems.
|
helps with a few places where nix's string interpolation was causing problems.
|
||||||
|
|
||||||
|
#+BEGIN_SRC nix
|
||||||
|
(mkIf cfg.desktop.enable {
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = builtins.readFile ./emacs.el;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
** Keybindings
|
** Keybindings
|
||||||
These keybindings are scattered throughout this file, I'm collecting them all here to make it easier
|
These keybindings are scattered throughout this file, I'm collecting them all here to make it easier
|
||||||
to track them.
|
to track them.
|
||||||
@@ -825,15 +832,11 @@ to track them.
|
|||||||
| C-c M-g | | [[id:4F426E77-CE03-4BF8-8D1B-7791C7C02B28][Magit file dispatch]] | |
|
| C-c M-g | | [[id:4F426E77-CE03-4BF8-8D1B-7791C7C02B28][Magit file dispatch]] | |
|
||||||
|
|
||||||
** Global Settings
|
** Global Settings
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-global.el
|
|
||||||
:END:
|
|
||||||
These are just some general settings that apply everywhere. First, a few packages:
|
These are just some general settings that apply everywhere. First, a few packages:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-global.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
ace-window
|
ace-window
|
||||||
doom-modeline
|
doom-modeline
|
||||||
@@ -842,7 +845,6 @@ These are just some general settings that apply everywhere. First, a few package
|
|||||||
mixed-pitch
|
mixed-pitch
|
||||||
popper
|
popper
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-global.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1339,16 +1341,11 @@ content to be.
|
|||||||
|
|
||||||
|
|
||||||
** Editing
|
** Editing
|
||||||
:PROPERTIES:
|
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-editing.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
This configuration affects general text editing, across all modes. First, some packages:
|
This configuration affects general text editing, across all modes. First, some packages:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-editing.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
apheleia
|
apheleia
|
||||||
avy
|
avy
|
||||||
@@ -1360,7 +1357,6 @@ This configuration affects general text editing, across all modes. First, some p
|
|||||||
# evil-org
|
# evil-org
|
||||||
string-inflection
|
string-inflection
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-editing.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1475,18 +1471,12 @@ Some auto-formatting stuff
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Workflow
|
** Workflow
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-workflow.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-workflow.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
buffer-terminator
|
buffer-terminator
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-workflow.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1499,14 +1489,9 @@ Some auto-formatting stuff
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Language Support
|
** Language Support
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-languages.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-languages.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
consult-eglot
|
consult-eglot
|
||||||
graphql-ts-mode
|
graphql-ts-mode
|
||||||
@@ -1568,7 +1553,6 @@ Some auto-formatting stuff
|
|||||||
]))
|
]))
|
||||||
yaml-pro
|
yaml-pro
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-languages.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1834,18 +1818,12 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Envrc
|
** Envrc
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-envrc.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-envrc.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
envrc
|
envrc
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-envrc.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1856,14 +1834,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Magit
|
** Magit
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-magit.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-magit.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
consult-gh
|
consult-gh
|
||||||
diff-hl
|
diff-hl
|
||||||
@@ -1871,7 +1844,6 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
git-timemachine
|
git-timemachine
|
||||||
magit
|
magit
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-magit.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1900,14 +1872,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Vertico
|
** Vertico
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-vertico.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-vertico.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
cape
|
cape
|
||||||
consult
|
consult
|
||||||
@@ -1917,7 +1884,6 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
orderless
|
orderless
|
||||||
vertico
|
vertico
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-vertico.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2006,14 +1972,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Org
|
** Org
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-org.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-org.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
org-modern
|
org-modern
|
||||||
org-present
|
org-present
|
||||||
@@ -2022,7 +1983,6 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
verb
|
verb
|
||||||
visual-fill-column
|
visual-fill-column
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-org.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2145,18 +2105,12 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Terminal
|
** Terminal
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-terminal.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-terminal.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
eat
|
eat
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-terminal.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2168,18 +2122,12 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Slack
|
** Slack
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-slack.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-slack.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
slack
|
slack
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-slack.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2198,11 +2146,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Ledger
|
** Ledger
|
||||||
|
#+BEGIN_SRC nix
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-ledger.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
ledger-mode
|
ledger-mode
|
||||||
];
|
];
|
||||||
@@ -2211,18 +2157,12 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Age
|
** Age
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-age.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-age.nix
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
age
|
age
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-age.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2238,15 +2178,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Claude Code
|
** Claude Code
|
||||||
:PROPERTIES:
|
#+BEGIN_SRC nix
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-claude-code.el
|
|
||||||
:END:
|
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-claude-code.nix
|
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
|
||||||
extraPackages = epkgs: with epkgs; [
|
extraPackages = epkgs: with epkgs; [
|
||||||
(epkgs.trivialBuild {
|
(epkgs.trivialBuild {
|
||||||
pname = "claude-code";
|
pname = "claude-code";
|
||||||
@@ -2260,7 +2194,6 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
packageRequires = [ epkgs.inheritenv ];
|
packageRequires = [ epkgs.inheritenv ];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
extraConfig = builtins.readFile ./emacs-claude-code.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -2271,11 +2204,14 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
|
|||||||
:custom (claude-code-optimize-window-resize nil))
|
:custom (claude-code-optimize-window-resize nil))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* Theme
|
* Theme
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args:nix: :noweb-ref nix-configs
|
||||||
|
:END:
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
** Bat
|
** Bat
|
||||||
#+BEGIN_SRC nix :tangle target/base/bat-theme.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
config.theme = "catppuccin-frappe";
|
config.theme = "catppuccin-frappe";
|
||||||
@@ -2295,15 +2231,14 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Helix
|
** Helix
|
||||||
#+BEGIN_SRC nix :tangle target/base/helix-theme.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.helix.settings.theme = "catppuccin_frappe";
|
programs.helix.settings.theme = "catppuccin_frappe";
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Tmux
|
** Tmux
|
||||||
#+BEGIN_SRC nix :tangle target/base/tmux-theme.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
programs.tmux.plugins = [
|
programs.tmux.plugins = [
|
||||||
{
|
{
|
||||||
@@ -2317,8 +2252,7 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Lazygit
|
** Lazygit
|
||||||
#+BEGIN_SRC nix :tangle target/base/lazygit.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = false
|
enable = false
|
||||||
@@ -2338,8 +2272,7 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Starship
|
** Starship
|
||||||
#+BEGIN_SRC nix :tangle target/base/starship_colors.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
programs.starship.settings = builtins.fromTOML (builtins.readFile
|
programs.starship.settings = builtins.fromTOML (builtins.readFile
|
||||||
(pkgs.fetchFromGitHub
|
(pkgs.fetchFromGitHub
|
||||||
@@ -2353,14 +2286,16 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Wezterm
|
** Wezterm
|
||||||
#+BEGIN_SRC lua :tangle target/desktop/wezterm.lua
|
:PROPERTIES:
|
||||||
config.color_scheme = 'Catppuccin Frappe'
|
:header-args:lua: :noweb-ref wezterm-config
|
||||||
|
:END:
|
||||||
|
|
||||||
return config
|
#+BEGIN_SRC lua
|
||||||
|
config.color_scheme = 'Catppuccin Frappe'
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Ghostty
|
** Ghostty
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/ghostty-theme.nix
|
#+BEGIN_SRC nix
|
||||||
{
|
{
|
||||||
programs.ghostty.settings.theme = "Catppuccin Frappe";
|
programs.ghostty.settings.theme = "Catppuccin Frappe";
|
||||||
}
|
}
|
||||||
@@ -2368,18 +2303,16 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
|
|
||||||
** Emacs
|
** Emacs
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:elisp: :tangle target/desktop/emacs-theme.el
|
:header-args:elisp: :tangle target/emacs.el
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+BEGIN_SRC nix :tangle target/desktop/emacs-theme.nix
|
#+BEGIN_SRC nix
|
||||||
{pkgs, ...}: {
|
{
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
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 = "(defvar my-base-font-size ${if pkgs.stdenv.isDarwin then "130" else "100"})";
|
||||||
builtins.readFile ./emacs-theme.el;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|||||||
Reference in New Issue
Block a user