From dda9476ed99fe8a0cbf9d8de78dd48633ba0a71a Mon Sep 17 00:00:00 2001 From: guangtao Date: Wed, 20 Sep 2023 22:18:57 -0700 Subject: [PATCH] feat(homeProfiles): add bat --- examples/nixos/__lock/flake.lock | 27 +++++++++++++++++++++++++++ examples/nixos/__lock/flake.nix | 9 +++++++++ examples/nixos/default.nix | 1 + examples/nixos/pops/homeModules.nix | 9 +++++++-- examples/nixos/pops/inputs.nix | 10 +++++++++- nixos/homeModules/programs/bat.nix | 24 ++++++++++++++++++++++++ nixos/homeProfiles/presets/bat.nix | 11 +++++++++++ 7 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 examples/nixos/__lock/flake.lock create mode 100644 examples/nixos/__lock/flake.nix create mode 100644 nixos/homeModules/programs/bat.nix create mode 100644 nixos/homeProfiles/presets/bat.nix diff --git a/examples/nixos/__lock/flake.lock b/examples/nixos/__lock/flake.lock new file mode 100644 index 0000000..38da713 --- /dev/null +++ b/examples/nixos/__lock/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "catppuccin-bat": { + "flake": false, + "locked": { + "lastModified": 1668065083, + "narHash": "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=", + "owner": "catppuccin", + "repo": "bat", + "rev": "ba4d16880d63e656acced2b7d4e034e4a93f74b1", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "bat", + "type": "github" + } + }, + "root": { + "inputs": { + "catppuccin-bat": "catppuccin-bat" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/examples/nixos/__lock/flake.nix b/examples/nixos/__lock/flake.nix new file mode 100644 index 0000000..4c19e70 --- /dev/null +++ b/examples/nixos/__lock/flake.nix @@ -0,0 +1,9 @@ +{ + inputs = { + catppuccin-bat = { + url = "github:catppuccin/bat"; + flake = false; + }; + }; + outputs = _: { }; +} diff --git a/examples/nixos/default.nix b/examples/nixos/default.nix index 3db972b..a27ad93 100644 --- a/examples/nixos/default.nix +++ b/examples/nixos/default.nix @@ -32,6 +32,7 @@ in homeSuites = [ exporter.homeProfiles.customProfiles.hyprland + exporter.homeProfiles.default.presets.bat # super.pops.homeModules.wayland.windowManager.hyprland ]; } diff --git a/examples/nixos/pops/homeModules.nix b/examples/nixos/pops/homeModules.nix index 69c11df..4048ebd 100644 --- a/examples/nixos/pops/homeModules.nix +++ b/examples/nixos/pops/homeModules.nix @@ -1,5 +1,10 @@ -(POS.loadHomeModules.addLoadExtender { inputs = super.inputs.outputs // { }; }) -.addExporters +(POS.loadHomeModules.addLoadExtender { + inputs = { + __misc__ = { + inherit (super.inputs.outputs) catppuccin-bat; + }; + }; +}).addExporters [ (POP.extendPop flops.haumea.pops.exporter ( self: super: { diff --git a/examples/nixos/pops/inputs.nix b/examples/nixos/pops/inputs.nix index ac7580d..bcfce6a 100644 --- a/examples/nixos/pops/inputs.nix +++ b/examples/nixos/pops/inputs.nix @@ -1,6 +1,14 @@ (POS.loadInputs.addInputsExtender ( POP.extendPop flops.flake.pops.inputsExtender ( - self: super: { inputs.nixpkgs = POS.loadInputs.outputs.nixpkgs.legacyPackages; } + self: super: + let + selfInputs = POS.loadInputs.setInitInputs ../__lock; + in + { + inputs = { + nixpkgs = POS.loadInputs.outputs.nixpkgs.legacyPackages; + } // selfInputs.outputs; + } ) )).setSystem "x86_64-linux" diff --git a/nixos/homeModules/programs/bat.nix b/nixos/homeModules/programs/bat.nix new file mode 100644 index 0000000..cc1ae34 --- /dev/null +++ b/nixos/homeModules/programs/bat.nix @@ -0,0 +1,24 @@ +{ + config = + with lib; + mkMerge [ + (mkIf cfg.__profiles__.catppuccin-mocha.enable { + config = { + theme = "Catppuccin-mocha"; + style = "changes,header"; + }; + # bat cache --build + themes = { + Catppuccin-mocha = builtins.readFile ( + __misc__.catppuccin-bat + "/Catppuccin-mocha.tmTheme" + ); + }; + }) + ]; + + options.__profiles__ = with lib; { + catppuccin-mocha.enable = + mkEnableOption + "Whether to enable the catppuccino-mocha theme"; + }; +} diff --git a/nixos/homeProfiles/presets/bat.nix b/nixos/homeProfiles/presets/bat.nix new file mode 100644 index 0000000..d28a311 --- /dev/null +++ b/nixos/homeProfiles/presets/bat.nix @@ -0,0 +1,11 @@ +let + inherit (moduleArgs) pkgs; +in +{ + imports = [ POS.homeModules.programs.bat ]; + programs.bat = { + enable = true; + __profiles__.catppuccin-mocha.enable = true; + extraPackages = with pkgs.bat-extras; [ batman ]; + }; +}