Move language files to top-level.

main
Joshua Potter 2023-11-22 11:14:10 -07:00
parent de4778e966
commit 47431e9eb8
10 changed files with 63 additions and 84 deletions

View File

@ -1,58 +1,48 @@
{ config, pkgs, lib, ... }: { pkgs, ... }:
{ {
options.home.extraPythonPackages = lib.mkOption {
type = lib.types.listOf lib.types.string;
example = ''
[ debugpy mccabe ]
'';
description = lib.mdDoc ''
Extra Python packages that should be linked to the topmost Python
interpreter.
'';
};
imports = [ imports = [
./git.nix ./git.nix
./lang/bash.nix
./lang/c.nix
./lang/elixir.nix
./lang/lean.nix
./lang/lua.nix
./lang/nix.nix
./lang/python.nix
./lang/typescript.nix
./neovim ./neovim
./wezterm ./wezterm
]; ];
config = { home = {
home = { username = "jrpotter";
username = "jrpotter"; homeDirectory = "/home/jrpotter";
homeDirectory = "/home/jrpotter"; packages = with pkgs; [
anki-bin
packages = with pkgs; [ bitwarden
anki-bin firefox
bitwarden mullvad-vpn
elan unzip
firefox wezterm
gnumake zotero
mullvad-vpn ];
(python3.withPackages
(ps: builtins.map (s: ps.${s}) config.home.extraPythonPackages))
unzip
wezterm
zotero
];
};
programs = {
bash.enable = true;
direnv.enable = true;
git.enable = true;
home-manager.enable = true;
neovim.enable = true;
};
# This value determines the Home Manager release that
# your configuration is compatible with. This helps avoid
# breakage when a new Home Manager release introduces
# backwards-incompatible changes.
#
# You can update Home Manager without changing this value.
# See the Home Manager release notes for a list of state
# version changes in each release.
home.stateVersion = "23.05";
}; };
programs = {
bash.enable = true;
direnv.enable = true;
git.enable = true;
home-manager.enable = true;
neovim.enable = true;
};
# This value determines the Home Manager release that
# your configuration is compatible with. This helps avoid
# breakage when a new Home Manager release introduces
# backwards-incompatible changes.
#
# You can update Home Manager without changing this value.
# See the Home Manager release notes for a list of state
# version changes in each release.
home.stateVersion = "23.05";
} }

View File

@ -1,13 +1,17 @@
{ pkgs, ... }: { pkgs, ... }:
let
codelldb = pkgs.writeShellScriptBin "codelldb" ''
#!/usr/bin/env bash
exec ${pkgs.vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb "$@"
'';
in
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
bear bear
clang clang
clang-tools clang-tools
(writeShellScriptBin "codelldb" '' codelldb
#!/usr/bin/env bash gnumake
exec ${vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb "$@"
'')
]; ];
programs.neovim = { programs.neovim = {

View File

@ -1,9 +1,9 @@
args @ { pkgs, ... }: args @ { pkgs, ... }:
let let
utils = import ../utils.nix args; neovimUtils = import ../neovim/utils.nix args;
lean-nvim = { lean-nvim = {
plugin = utils.pluginGit plugin = neovimUtils.pluginGit
"47ff75ce2fcc319fe7d8e031bc42a75473919b93" "47ff75ce2fcc319fe7d8e031bc42a75473919b93"
"Julian/lean.nvim"; "Julian/lean.nvim";
config = '' config = ''
@ -17,6 +17,10 @@ let
}; };
in in
{ {
home.packages = with pkgs; [
elan
];
programs.neovim = { programs.neovim = {
plugins = [ plugins = [
lean-nvim lean-nvim

View File

@ -1,12 +1,14 @@
{ ... }: { pkgs, ... }:
{ {
home.extraPythonPackages = [ home.packages = with pkgs; [
"debugpy" (python3.withPackages (ps: with ps; [
"mccabe" debugpy
"pycodestyle" mccabe
"pyflakes" pycodestyle
"python-lsp-server" pyflakes
"python-lsp-black" python-lsp-server
python-lsp-black
]))
]; ];
programs.neovim = { programs.neovim = {

View File

@ -68,27 +68,6 @@ in
}; };
}; };
# Notice that within our imports we use `home.packages` instead of
# `extraPackages`. The latter is preferable but comes with `$PATH`-related
# problems.
#
# Specifically, Home Manager appends paths specifed in `extraPackages` to the
# end of `$PATH` meaning any already defined instance of some package will be
# used instead. Prepending is not an option either since that would break
# environments like those produced by `direnv` or `nix-shell`.
#
# https://github.com/nix-community/home-manager/pull/1756
imports = [
./lang/bash.nix
./lang/c.nix
./lang/elixir.nix
./lang/lean.nix
./lang/lua.nix
./lang/nix.nix
./lang/python.nix
./lang/typescript.nix
];
config = { config = {
programs.neovim = { programs.neovim = {
defaultEditor = true; defaultEditor = true;