diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..e965eec --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,5 @@ +creation_rules: + - path_regex: secrets/[^/]+\.(yaml|json|env|ini|txt)$ + key_groups: + - pgp: + - "B19E3F4A2D806AB4793FDF2FC73D37CBED7BFC77" diff --git a/flake.lock b/flake.lock index 66bc416..6db104c 100644 --- a/flake.lock +++ b/flake.lock @@ -900,6 +900,7 @@ "nixpkgs": "nixpkgs", "nur": "nur", "nvf": "nvf", + "sops-nix": "sops-nix", "systems": "systems_3" } }, @@ -977,6 +978,26 @@ "type": "github" } }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750119275, + "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index 83f53c8..fa21bc1 100644 --- a/flake.nix +++ b/flake.nix @@ -71,6 +71,11 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; + + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ { @@ -111,7 +116,7 @@ lanzaboote.nixosModules.lanzaboote disko.nixosModules.disko chaotic.nixosModules.default - { nixpkgs.overlays = overlays; } + {nixpkgs.overlays = overlays;} { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; @@ -128,21 +133,22 @@ customHomeManagerConfiguration = { name, - system - }: home-manager.lib.homeManagerConfiguration rec { - pkgs = import nixpkgs { - inherit overlays system; + system, + }: + home-manager.lib.homeManagerConfiguration rec { + pkgs = import nixpkgs { + inherit overlays system; + }; + + modules = + home-modules + ++ [ + {nix.package = pkgs.nix;} + ./hosts/${name}/home.nix + ]; + + extraSpecialArgs = inputs; }; - - modules = - home-modules - ++ [ - { nix.package = pkgs.nix; } - ./hosts/${name}/home.nix - ]; - - extraSpecialArgs = inputs; - }; in { ##################################################################### @@ -171,8 +177,14 @@ ##################################################################### ##################################################################### homeConfigurations = { - perso-home = customHomeManagerConfiguration { name = "perso-home"; system = "x86_64-linux"; }; - pro-home = customHomeManagerConfiguration { name = "pro-home"; system = "x86_64-linux"; }; + perso-home = customHomeManagerConfiguration { + name = "perso-home"; + system = "x86_64-linux"; + }; + pro-home = customHomeManagerConfiguration { + name = "pro-home"; + system = "x86_64-linux"; + }; }; } ##################################################################### @@ -188,6 +200,7 @@ default = pkgs.mkShell { packages = with pkgs; [ nixd + sops ]; }; }; diff --git a/modules/home/editors/neovim.nix b/modules/home/editors/neovim.nix index 647aef6..c105d5b 100644 --- a/modules/home/editors/neovim.nix +++ b/modules/home/editors/neovim.nix @@ -191,7 +191,7 @@ in { }; notes = { - obsidian.enable = true; + obsidian.enable = false; neorg.enable = false; orgmode.enable = false; mind-nvim.enable = true; @@ -228,13 +228,26 @@ in { fastaction.enable = true; }; - # assistant = { - # chatgpt.enable = false; - # copilot = { - # enable = false; - # cmp.enable = true; - # }; - # }; + assistant = { + avante-nvim = { + enable = true; + setupOpts = { + auto_suggestions_provider = "mistral_devstral"; + provider = "mistral_devstral"; + providers = { + mistral_devstral = { + __inherited_from = "openai"; + api_key_name = "MISTRAL_API_KEY"; + endpoint = "https://api.mistral.ai/v1/"; + model = "devstral-small-latest"; + extra_request_body = { + max_tokens = 32768; + }; + }; + }; + }; + }; + }; session = { nvim-session-manager.enable = false; diff --git a/secrets/ai.env b/secrets/ai.env new file mode 100644 index 0000000..a4d0fa4 --- /dev/null +++ b/secrets/ai.env @@ -0,0 +1,8 @@ +MISTRAL_API_KEY=ENC[AES256_GCM,data:CfMdet8epmcrNyFrOCvDehBWzTWOZfydxMpNDYBaLpEvQw==,iv:cu25Q4+5x6ewYxQsM0hr+AbX2m7vjpmwwEpIE50BnL8=,tag:t6KojwxjeIW33NlREKDGfA==,type:str] +sops_lastmodified=2025-06-26T13:08:18Z +sops_mac=ENC[AES256_GCM,data:jN4nkUKnEDDzeeFa7zAlBJIDQgYun6nTocwyaVdUZ0vICVHkOS4tEPn5/zAMC69WOMSmgR9S2segXzpapssOTbw48aH4W9xOBTr9gdNUpurOaq7nwvzoo8v0kUUjycC+iVnQOmOKcIe0chZTjrMMeEH0D/BNUcBIwxRQI60wNyI=,iv:t/hmzGHTpLRrx3PW08uggNc23jwdh9fw71RHJq6feHM=,tag:YIyspCSDIuqpvlZYEBsk7Q==,type:str] +sops_pgp__list_0__map_created_at=2025-06-26T13:07:43Z +sops_pgp__list_0__map_enc=-----BEGIN PGP MESSAGE-----\n\nhQIMA1Ns3cJaRR/oARAA8ALWOQ4qRmVY6BdrIOpRFI3Dws8F6Nq/6vWo3P4opnic\n3h2oobvWSxLaijPQrDHeN11mS3O4oIUdj69TPJuHzcbFV8PeI0OE64pm660VmlOr\nXdJ36w3aSxe1tK+pa281hhcAGn8TmGwi1EhYuzwXGQz/Pu2EHIqEfWtEVZMifs3J\npqvxvsJySvLo2jiedJLp3h0Uj92j5u33SxgfgjAQxYiwA2WXUzOOVKERYc90LRDQ\nOOKZq1/X1s3CWOzP03zR1seHl0Xnz+R+gbV7F/1s6DFyFkmAgBaE2rJfeVrxfeMx\nGo9y/9FOvsHzw9VGPyZfRoTyph4+WZNtvyyGtnKutm7eZ/N6MTavwNza/UkFEv09\nHbORrG3cdbcBvY1M62LOk8nfgr5qCeEOHN4jsd+9Wt9P/896B8ixsCSo7M/h74ml\nn2VEEKY9PhXyejzd9zwDpet/BhMGOH9NEmgrm/N9pVuIh3LoHdOxK86bJYXK6Xz/\nNH3IW0pZBJZIcGhsXxQ/w9CO4M1S3we0stHo7rVo8Gp6L9mx13+xWc31BZsvac+4\nE3evNc3Id6Tr8N6Rhd+mS0EmwYAPCw8BBWrEpk8V/6ghjNtx8iEvchk+lFeYeRa3\nV55CGmeAZpiiSekB8mXhK5CPtRh52vDnHpXv5yyTZYqKFVYk9u2GL5DIm0KVPTTS\nVgF3TfyikcacCnEdbJKSn/V+r5qWUXXbbtNGxawQcXafUNSbyvgrU0my3lrqhnGp\nJhYkSUB0ManRofRcmVqGcEs/whnV4LaX5d7ql8tKWP/7iYVBBm1T\n=TGKA\n-----END PGP MESSAGE----- +sops_pgp__list_0__map_fp=B19E3F4A2D806AB4793FDF2FC73D37CBED7BFC77 +sops_unencrypted_suffix=_unencrypted +sops_version=3.10.2