From ce905cacf2e75efce9891c62afeecc5721a9dada Mon Sep 17 00:00:00 2001 From: Julien Malka Date: Tue, 14 Dec 2021 21:40:47 +0100 Subject: [PATCH 1/3] Start of new hmgr module --- modules/hmgr/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 modules/hmgr/default.nix diff --git a/modules/hmgr/default.nix b/modules/hmgr/default.nix new file mode 100644 index 0000000..33fbf9a --- /dev/null +++ b/modules/hmgr/default.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, ... }: +let + cfg = options.luj.hmgr; +in with lib; +{ + options.luj.hmgr = mkOption { + description = ""; + type = with types; attrsOf (submodule { + enable = mkEnableOption "enable hmngr for some user"; + }); + }; + + config = lib.mapAttrs (name: value: test) cfg; +} From 254d8b90dd662bdaa63185cfcfccb3346d16f952 Mon Sep 17 00:00:00 2001 From: Julien Malka Date: Thu, 16 Dec 2021 16:48:03 +0100 Subject: [PATCH 2/3] Working hmgr module --- machines/lisa.nix | 19 +++++++++++++------ machines/newton.nix | 16 ++++++---------- modules/hmgr/default.nix | 33 +++++++++++++++++++++++++-------- 3 files changed, 44 insertions(+), 24 deletions(-) diff --git a/machines/lisa.nix b/machines/lisa.nix index b8fcd3d..91d487d 100644 --- a/machines/lisa.nix +++ b/machines/lisa.nix @@ -13,15 +13,22 @@ boot.initrd.kernelModules = [ ]; boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; - home-manager.users.julien = { - home.username = "julien"; - home.homeDirectory = "/home/julien"; - home.stateVersion = "21.11"; - imports = [ ../home-manager-modules/mails/default.nix ../home-manager-modules/neovim/default.nix ../home-manager-modules/git/default.nix ]; +# home-manager.users.julien = { + # home.username = "julien"; + # home.homeDirectory = "/home/julien"; + # home.stateVersion = "21.11"; + #imports = [ ../home-manager-modules/mails/default.nix ../home-manager-modules/neovim/default.nix ../home-manager-modules/git/default.nix ]; + #luj.programs.neovim.enable = true; + # luj.programs.git.enable = true; + + # }; + luj.hmgr.julien = { luj.programs.neovim.enable = true; luj.programs.git.enable = true; - }; + }; + + fileSystems."/" = { diff --git a/machines/newton.nix b/machines/newton.nix index 2441449..7eba21d 100644 --- a/machines/newton.nix +++ b/machines/newton.nix @@ -4,20 +4,17 @@ let in { - home-manager.users.julien = { - home.username = "julien"; - home.homeDirectory = "/home/julien"; - home.stateVersion = "21.11"; - imports = [ ../home-manager-modules/mails/default.nix ../home-manager-modules/neovim/default.nix ../home-manager-modules/git/default.nix ]; + + luj.hmgr.julien = { + luj.programs.neovim.enable = true; + luj.programs.git.enable = true; luj.emails = { enable = true; backend.enable = true; }; - - luj.programs.neovim.enable = true; - luj.programs.git.enable = true; - }; + + boot.loader.grub.enable = true; boot.loader.grub.version = 2; boot.supportedFilesystems = [ "zfs" ]; @@ -75,7 +72,6 @@ in - # Define a user account. Don't forget to set a password with ‘passwd’. # Open ports in the firewall. diff --git a/modules/hmgr/default.nix b/modules/hmgr/default.nix index 33fbf9a..5d3b534 100644 --- a/modules/hmgr/default.nix +++ b/modules/hmgr/default.nix @@ -1,14 +1,31 @@ { config, pkgs, lib, ... }: let - cfg = options.luj.hmgr; -in with lib; + cfg = config.luj.hmgr; +in +with lib; { options.luj.hmgr = mkOption { - description = ""; - type = with types; attrsOf (submodule { - enable = mkEnableOption "enable hmngr for some user"; - }); + type = with types; attrsOf anything; }; - config = lib.mapAttrs (name: value: test) cfg; -} + + config = { + home-manager.users = + lib.mapAttrs + (name: value: + { + imports = [ ../../home-manager-modules/git/default.nix ../../home-manager-modules/neovim/default.nix ]; + home.username = "${name}"; + home.homeDirectory = "/home/${name}"; + home.stateVersion = "21.11"; + } // value) + cfg; + }; +} + + + + + + + From d112fc7141f3a48690f77fd1b59cc6c9fa93312f Mon Sep 17 00:00:00 2001 From: Julien Malka Date: Thu, 16 Dec 2021 17:17:30 +0100 Subject: [PATCH 3/3] Improved hmgr --- flake.nix | 8 +------- modules/hmgr/default.nix | 9 +-------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/flake.nix b/flake.nix index 390770a..ae7a38a 100644 --- a/flake.nix +++ b/flake.nix @@ -19,7 +19,7 @@ outputs = { self, home-manager, nixpkgs, neovim-nightly-overlay, nur, ... }@inputs: let utils = import ./utils.nix { inherit nixpkgs home-manager inputs; }; - pkgs = import nixpkgs {}; + pkgs = import nixpkgs { }; in with utils; { @@ -31,12 +31,6 @@ (builtins.attrNames (builtins.readDir ./modules))); nixosConfigurations = builtins.mapAttrs (name: value: (mkMachine name value self.nixosModules)) (importConfig ./machines); - - #legacyPackages."x86_64-linux"."mosh" = import ./packages/mosh/default.nix; - }; - - - } diff --git a/modules/hmgr/default.nix b/modules/hmgr/default.nix index 5d3b534..220ec6b 100644 --- a/modules/hmgr/default.nix +++ b/modules/hmgr/default.nix @@ -8,13 +8,12 @@ with lib; type = with types; attrsOf anything; }; - config = { home-manager.users = lib.mapAttrs (name: value: { - imports = [ ../../home-manager-modules/git/default.nix ../../home-manager-modules/neovim/default.nix ]; + imports = with builtins; map (x: ../../home-manager-modules + "/${x}/default.nix") (attrNames (readDir ../../home-manager-modules)); home.username = "${name}"; home.homeDirectory = "/home/${name}"; home.stateVersion = "21.11"; @@ -23,9 +22,3 @@ with lib; }; } - - - - - -