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

View File

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

View File

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

View File

@ -53,7 +53,6 @@ in
# Modules # Modules
modules = { modules = {
devel = { devel = {
python.enable = true;
tooling.enable = true; tooling.enable = true;
}; };
programs = { 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 = [ imports = [
./beancount.nix
./chrome ./chrome
./firefox ./firefox
./git.nix ./git.nix
./chezmoi.nix ./chezmoi.nix
./kitty.nix ./kitty.nix
./nvim.nix
./syncthing.nix ./syncthing.nix
./yt-dlp.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. unzip # Command-line utility for extracting files from ZIP archives.
trash-cli # Command-line interface to the freedesktop.org Trash. 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. 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. nodejs # JavaScript runtime built on Chrome's V8 JavaScript engine.
ripgrep # Line-oriented search tool that recursively searches directories for a regex pattern. ripgrep # Line-oriented search tool that recursively searches directories for a regex pattern.
cargo # Package manager and build system for Rust. cargo # Package manager and build system for Rust.