diff --git a/hosts/nixos/configuration.nix b/hosts/nixos/configuration.nix index ce65c38..c8e9b2d 100644 --- a/hosts/nixos/configuration.nix +++ b/hosts/nixos/configuration.nix @@ -81,7 +81,6 @@ neovim mangohud lm_sensors - nbfc-linux ]; # Enable nixd to see nixpkgs path @@ -114,18 +113,6 @@ }; }; - # Install nbfc-linux - systemd.services.nbfc_service = { - enable = false; - description = "NoteBook FanControl Service"; - serviceConfig.Type = "simple"; - path = [pkgs.kmod]; - - script = "${pkgs.nbfc-linux}/bin/nbfc_service --config-file '/home/crony/.config/nbfc.json'"; - - wantedBy = ["multi-user.target"]; - }; - # Allow for wireguard traffic networking.firewall = { # if packets are still dropped, they will show up in dmesg diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 4231d1d..629e212 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,5 +1,14 @@ {lib, ...}: { - imports = [./bluetooth.nix ./nvidia.nix ./plasma.nix ./disable-hibernation.nix ./gaming.nix ./zsh.nix ./stylix.nix]; + imports = [ + ./bluetooth.nix + ./nvidia.nix + ./plasma.nix + ./disable-hibernation.nix + ./gaming.nix + ./zsh.nix + ./stylix.nix + ./nbfc.nix + ]; crony.bluetooth.enable = lib.mkDefault true; crony.nvidia.enable = lib.mkDefault true; @@ -8,4 +17,5 @@ crony.gaming.enable = lib.mkDefault true; crony.zsh.enable = lib.mkDefault true; crony.stylix.enable = lib.mkDefault true; + crony.nbfc.enable = lib.mkDefault true; } diff --git a/modules/nixos/nbfc.nix b/modules/nixos/nbfc.nix new file mode 100644 index 0000000..e439f7d --- /dev/null +++ b/modules/nixos/nbfc.nix @@ -0,0 +1,29 @@ +{ + config, + lib, + pkgs, + ... +}: { + options = { + crony.nbfc.enable = lib.mkEnableOption "enable nbfc and set it up for my laptop"; + }; + + config = lib.mkIf config.crony.nbfc.enable { + # Install nbfc-linux + environment.systemPackages = with pkgs; [ + nbfc-linux + ]; + + # Setup nbfc package + systemd.services.nbfc_service = { + enable = false; + description = "NoteBook FanControl Service"; + serviceConfig.Type = "simple"; + path = [pkgs.kmod]; + + script = "${pkgs.nbfc-linux}/bin/nbfc_service --config-file '/home/crony/.config/nbfc.json'"; + + wantedBy = ["multi-user.target"]; + }; + }; +}