diff --git a/flake.lock b/flake.lock index 18a6a19..06bcabc 100644 --- a/flake.lock +++ b/flake.lock @@ -54,11 +54,11 @@ ] }, "locked": { - "lastModified": 1719037157, - "narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=", + "lastModified": 1719180626, + "narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=", "owner": "nix-community", "repo": "home-manager", - "rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511", + "rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb", "type": "github" }, "original": { @@ -99,12 +99,28 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1719335339, + "narHash": "sha256-YxXZckTrfSfvUlF7sFVonFyJ5CqlWQkjuhA+/2+na9Q=", + "owner": "nix-community", + "repo": "NUR", + "rev": "c019a0ab8a21c5e84a440f34ef43947a0c9ebc34", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nur": "nur" } }, "systems": { diff --git a/flake.nix b/flake.nix index 8eb11a3..e69bb9e 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nur.url = github:nix-community/NUR; home-manager = { url = "github:nix-community/home-manager"; @@ -20,6 +21,7 @@ outputs = inputs@{ nixpkgs, + nur, home-manager, agenix, nix-flatpak, @@ -41,6 +43,7 @@ ./hosts/${s.name}/configuration.nix home-manager.nixosModules.home-manager agenix.nixosModules.default + { nixpkgs.overlays = [ nur.overlay ]; } { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; diff --git a/hosts/perso-desktop/home.nix b/hosts/perso-desktop/home.nix index 6dcf755..48642dc 100644 --- a/hosts/perso-desktop/home.nix +++ b/hosts/perso-desktop/home.nix @@ -8,6 +8,7 @@ modules.home = { apps = { chromium.enable = true; + firefox.enable = true; flatpak.enable = true; jetbrainsToolbox.enable = true; kitty.enable = true; diff --git a/modules/home/apps/default.nix b/modules/home/apps/default.nix index 888257b..981aa5c 100644 --- a/modules/home/apps/default.nix +++ b/modules/home/apps/default.nix @@ -3,8 +3,9 @@ { imports = [ ./chromium + ./firefox ./flatpak ./jetbrainsToolbox ./kitty ]; -} \ No newline at end of file +} diff --git a/modules/home/apps/firefox/default.nix b/modules/home/apps/firefox/default.nix new file mode 100644 index 0000000..4ea8d76 --- /dev/null +++ b/modules/home/apps/firefox/default.nix @@ -0,0 +1,44 @@ +{ config, pkgs, lib, ... }: + +with lib; +let + cfg = config.modules.home.apps.firefox; +in +{ + options.modules.home.apps.firefox = { + enable = mkEnableOption '' + Enable firefox with my custom configurations + ''; + }; + config = mkIf cfg.enable { + programs.firefox = { + enable = true; + + nativeMessagingHosts = [ + pkgs.kdePackages.plasma-browser-integration + ]; + + profiles = { + perso = { + id = 0; + + name = "Perso"; + + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + bitwarden + floccus + plasma-integration + istilldontcareaboutcookies + darkreader + ]; + + settings = { + # Enable multi-pip + "media.videocontrols.picture-in-picture.allow-multiple" = true; + }; + }; + }; + }; + }; +}