diff options
| -rw-r--r-- | flake.lock | 24 | ||||
| -rw-r--r-- | modules/home-manager/personal/profiles.nix | 22 | ||||
| -rw-r--r-- | modules/home-manager/personal/programs/default.nix | 1 | ||||
| -rw-r--r-- | modules/home-manager/personal/programs/devenv.nix | 21 | ||||
| -rw-r--r-- | modules/nixos/personal/user.nix | 4 |
5 files changed, 50 insertions, 22 deletions
@@ -8,11 +8,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1702549996, - "narHash": "sha256-mEN+8gjWUXRxBCcixeth+jlDNuzxbpFwZNOEc4K22vw=", + "lastModified": 1703066966, + "narHash": "sha256-MbX0XYOEvAuXwi80emHKJsjo1IGQZhoKKnEp2uzgNx4=", "owner": "cachix", "repo": "devenv", - "rev": "e681a99ffe2d2882f413a5d771129223c838ddce", + "rev": "405a4c6a3fecfd2a7fb37cc13f4e760658e522e6", "type": "github" }, "original": { @@ -136,11 +136,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702539185, - "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", + "lastModified": 1702938738, + "narHash": "sha256-O7Vb0xC9s4Dmgxj8APEpuuMj7HsLgPbpy1UKvNVJp7o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", + "rev": "dd8e82f3b4017b8faa52c2b1897a38d53c3c26cb", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702539185, - "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", + "lastModified": 1702938738, + "narHash": "sha256-O7Vb0xC9s4Dmgxj8APEpuuMj7HsLgPbpy1UKvNVJp7o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", + "rev": "dd8e82f3b4017b8faa52c2b1897a38d53c3c26cb", "type": "github" }, "original": { @@ -216,11 +216,11 @@ }, "nur": { "locked": { - "lastModified": 1702910532, - "narHash": "sha256-pbuL3mLubyEEJMTuNKHiIuzO6A4UFRSfsq2IZWswVcw=", + "lastModified": 1703075302, + "narHash": "sha256-HrfEvMw4DPoNJ/uPS/bu1T8lUU7V3oSabfS+u6a73Og=", "owner": "nix-community", "repo": "NUR", - "rev": "5d62db8546cf2cade0992be6d7a3878f3a88a4b2", + "rev": "075964f8e9a623bb8df3e414a682b2715b9c4b6e", "type": "github" }, "original": { diff --git a/modules/home-manager/personal/profiles.nix b/modules/home-manager/personal/profiles.nix index ffb3e3c..39d3ec2 100644 --- a/modules/home-manager/personal/profiles.nix +++ b/modules/home-manager/personal/profiles.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - -let +{ + config, + lib, + pkgs, + ... +}: let cfg = config.personal.profiles; mkEnableProfileOption = name: lib.mkEnableOption "${name} profile"; in { @@ -13,13 +16,14 @@ in { config = lib.mkMerge [ (lib.mkIf cfg.dev { - home.packages = with pkgs; [ python3 ]; + home.packages = with pkgs; [python3]; programs = { alacritty.enable = lib.mkDefault config.personal.gui.enable; direnv.enable = lib.mkDefault true; emacs.enable = lib.mkDefault true; git.enable = lib.mkDefault true; }; + personal.programs.devenv.enable = true; home.shellAliases = { mkenv = '' @@ -41,7 +45,7 @@ in { }) (lib.mkIf cfg.multimedia { - home.packages = with pkgs; [ pavucontrol transmission-gtk vlc ]; + home.packages = with pkgs; [pavucontrol transmission-gtk vlc]; personal = { gui.enable = lib.mkForce true; firefox.webapps = [ @@ -51,7 +55,7 @@ in { icon = "${pkgs.personal.static.icons.netflix}"; comment = "Unlimited movies, TV shows, and more."; url = "https://www.netflix.com/fr-en/login"; - categories = [ "AudioVideo" "Video" "Player" ]; + categories = ["AudioVideo" "Video" "Player"]; } { name = "MUBI"; @@ -59,7 +63,7 @@ in { icon = "${pkgs.personal.static.icons.mubi}"; comment = "Watch hand-picked cinema."; url = "https://mubi.com"; - categories = [ "AudioVideo" "Video" "Player" ]; + categories = ["AudioVideo" "Video" "Player"]; } { name = "Deezer"; @@ -67,7 +71,7 @@ in { icon = "${pkgs.personal.static.icons.deezer}"; comment = "Listen to music online"; url = "https://deezer.com/login"; - categories = [ "AudioVideo" "Audio" "Player" "Music" ]; + categories = ["AudioVideo" "Audio" "Player" "Music"]; } ]; }; @@ -77,7 +81,7 @@ in { home.packages = with pkgs; lib.optionals (config.personal.gui.enable && config.personal.identities.personal) - [ signal-desktop ]; + [signal-desktop]; programs.thunderbird.enable = lib.mkDefault config.personal.gui.enable; programs.gpg.enable = true; services.gpg-agent.enable = true; diff --git a/modules/home-manager/personal/programs/default.nix b/modules/home-manager/personal/programs/default.nix index 8b3ba16..5050749 100644 --- a/modules/home-manager/personal/programs/default.nix +++ b/modules/home-manager/personal/programs/default.nix @@ -3,6 +3,7 @@ { imports = [ ./alacritty.nix + ./devenv.nix ./direnv.nix ./emacs.nix ./firefox diff --git a/modules/home-manager/personal/programs/devenv.nix b/modules/home-manager/personal/programs/devenv.nix new file mode 100644 index 0000000..0a93276 --- /dev/null +++ b/modules/home-manager/personal/programs/devenv.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +} @ extraArgs: let + cfg = config.personal.programs.devenv; + importedDevenv = extraArgs ? devenv; +in { + options.personal.programs.devenv.enable = lib.mkEnableOption "devenv"; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = importedDevenv; + message = "attribute devenv missing: add it in home-manager's special args, or set config.personal.devenv.enable to false"; + } + ]; + home.packages = lib.optional importedDevenv extraArgs.devenv.packages.${pkgs.system}.devenv; + }; +} diff --git a/modules/nixos/personal/user.nix b/modules/nixos/personal/user.nix index 0cb308a..78c6765 100644 --- a/modules/nixos/personal/user.nix +++ b/modules/nixos/personal/user.nix @@ -43,7 +43,9 @@ in { useGlobalPkgs = lib.mkDefault true; useUserPackages = lib.mkDefault true; # TODO fix this: only config.personal options seem to be passed (or not ?) - extraSpecialArgs.osConfig = lib.mkDefault config; + extraSpecialArgs = (extraArgs.homeSpecialArgs or {}) // { + osConfig = lib.mkDefault config; + }; }; }); } |
