diff --git a/provision/hosts/kestrel/configuration.nix b/provision/hosts/kestrel/configuration.nix index 69736673..37c0063d 100644 --- a/provision/hosts/kestrel/configuration.nix +++ b/provision/hosts/kestrel/configuration.nix @@ -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 = { diff --git a/provision/hosts/osprey/configuration.nix b/provision/hosts/osprey/configuration.nix index e1f0d06a..9325c8a6 100644 --- a/provision/hosts/osprey/configuration.nix +++ b/provision/hosts/osprey/configuration.nix @@ -35,7 +35,6 @@ gnome.enable = true; }; devel = { - python.enable = true; tooling.enable = true; }; programs = { diff --git a/provision/hosts/shivan/configuration.nix b/provision/hosts/shivan/configuration.nix index 2b106610..0918a10d 100644 --- a/provision/hosts/shivan/configuration.nix +++ b/provision/hosts/shivan/configuration.nix @@ -27,7 +27,6 @@ devel = { engineering.enable = true; notes.enable = true; - python.enable = true; tooling.enable = true; }; programs = { diff --git a/provision/hosts/wsl/configuration.nix b/provision/hosts/wsl/configuration.nix index f41ecc42..0b3a910c 100644 --- a/provision/hosts/wsl/configuration.nix +++ b/provision/hosts/wsl/configuration.nix @@ -53,7 +53,6 @@ in # Modules modules = { devel = { - python.enable = true; tooling.enable = true; }; programs = { diff --git a/provision/modules/devel/default.nix b/provision/modules/devel/default.nix index 262b981a..69292d9f 100644 --- a/provision/modules/devel/default.nix +++ b/provision/modules/devel/default.nix @@ -1,4 +1,4 @@ { ... }: { - imports = [ ./notes.nix ./python.nix ./tooling.nix ./engineering.nix ]; + imports = [ ./notes.nix ./tooling.nix ./engineering.nix ]; } diff --git a/provision/modules/devel/python.nix b/provision/modules/devel/python.nix deleted file mode 100644 index 2def07d3..00000000 --- a/provision/modules/devel/python.nix +++ /dev/null @@ -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. - ]; - }; -} diff --git a/provision/modules/programs/beancount.nix b/provision/modules/programs/beancount.nix new file mode 100644 index 00000000..725dda1d --- /dev/null +++ b/provision/modules/programs/beancount.nix @@ -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. + ]; + }; +} diff --git a/provision/modules/programs/default.nix b/provision/modules/programs/default.nix index 979d3fc0..b44a6d09 100644 --- a/provision/modules/programs/default.nix +++ b/provision/modules/programs/default.nix @@ -1,11 +1,13 @@ { ... }: { imports = [ + ./beancount.nix ./chrome ./firefox ./git.nix ./chezmoi.nix ./kitty.nix + ./nvim.nix ./syncthing.nix ./yt-dlp.nix ]; diff --git a/provision/modules/programs/nvim.nix b/provision/modules/programs/nvim.nix new file mode 100644 index 00000000..38aeeaef --- /dev/null +++ b/provision/modules/programs/nvim.nix @@ -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. + ]; + }; +} + + + + + + + + + + + diff --git a/provision/modules/system/terminal.nix b/provision/modules/system/terminal.nix index 0bed810b..d9dadade 100644 --- a/provision/modules/system/terminal.nix +++ b/provision/modules/system/terminal.nix @@ -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.