remove global python install and break-up rest of file

This commit is contained in:
Tyler Starr 2024-10-24 22:18:17 -07:00
parent 9399b584f8
commit 4a57992e8b
10 changed files with 45 additions and 31 deletions

View File

@ -40,7 +40,6 @@
devel = {
engineering.enable = true;
notes.enable = true;
python.enable = true;
tooling.enable = true;
};
gaming = {
@ -49,6 +48,7 @@
steam.enable = true;
};
programs = {
beancount.enable = true;
chezmoi.apply = true;
kitty.enable = true;
syncthing = {

View File

@ -35,7 +35,6 @@
gnome.enable = true;
};
devel = {
python.enable = true;
tooling.enable = true;
};
programs = {

View File

@ -27,7 +27,6 @@
devel = {
engineering.enable = true;
notes.enable = true;
python.enable = true;
tooling.enable = true;
};
programs = {

View File

@ -53,7 +53,6 @@ in
# Modules
modules = {
devel = {
python.enable = true;
tooling.enable = true;
};
programs = {

View File

@ -1,4 +1,4 @@
{ ... }:
{
imports = [ ./notes.nix ./python.nix ./tooling.nix ./engineering.nix ];
imports = [ ./notes.nix ./tooling.nix ./engineering.nix ];
}

View File

@ -1,25 +0,0 @@
# python with all the venom
{ config, lib, pkgs, user, ... }:
let
cfg = config.modules.devel.python;
my-python-packages = ps: with ps; [
virtualenv # Tool for creating isolated Python environments.
i3ipc # Python library for controlling i3 window manager via its IPC interface.
ipython # Interactive computing environment for Python.
pip # Package installer for Python.
];
in {
options.modules.devel.python.enable = lib.mkEnableOption "python";
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
(python3.withPackages my-python-packages)
fava # Web interface for the double-entry bookkeeping software Beancount.
beancount # Double-entry bookkeeping software for tracking financial transactions.
pyright # Latest version of the Pyright package, a static type checker for Python.
];
};
}

View File

@ -0,0 +1,12 @@
{ config, lib, pkgs, user, ... }:
let cfg = config.modules.programs.beancount;
in {
options.modules.programs.beancount.enable = lib.mkEnableOption "beancount";
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
fava # Web interface for the double-entry bookkeeping software Beancount.
beancount # Double-entry bookkeeping software for tracking financial transactions.
];
};
}

View File

@ -1,11 +1,13 @@
{ ... }:
{
imports = [
./beancount.nix
./chrome
./firefox
./git.nix
./chezmoi.nix
./kitty.nix
./nvim.nix
./syncthing.nix
./yt-dlp.nix
];

View File

@ -0,0 +1,29 @@
{ config, lib, pkgs, user, home-manager, ... }:
let cfg = config.modules.programs.nvim;
in {
options.modules.programs.nvim = with lib; {
enable = lib.mkOption {
type = with types; bool;
default = true;
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
neovim # Fork of Vim aiming to improve extensibility and usability.
pyright # Latest version of the Pyright package, a static type checker for Python.
];
};
}

View File

@ -21,7 +21,6 @@ in {
unzip # Command-line utility for extracting files from ZIP archives.
trash-cli # Command-line interface to the freedesktop.org Trash.
vim # Text editor that is highly configurable and widely used, especially in the Unix environment.
neovim # Fork of Vim aiming to improve extensibility and usability.
nodejs # JavaScript runtime built on Chrome's V8 JavaScript engine.
ripgrep # Line-oriented search tool that recursively searches directories for a regex pattern.
cargo # Package manager and build system for Rust.