diff options
author | aszlig <aszlig@redmoonstudios.org> | 2017-01-02 14:48:45 +0100 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2017-01-02 15:25:56 +0100 |
commit | 57ae89a63d1d21884861df02b5b552696353eb7a (patch) | |
tree | 2581ff4ca52492ee7b126d7eb5c411343aa11b0b | |
parent | 64daeabbb7b85f1c24156173673f8bfb9c3d5fcb (diff) |
machines/managed: Implement a preliminary profile
Currently I just needed to support HP printers and scanners among all the managed machines, so I thought it would be a good oportunity to start a common profile for end user machines. Right now there isn't that much factored out yet, but instead of copy & pasting the printer/scanner config into all three machines I'm putting it into the profile. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r-- | machines/aszlig/managed/brawndo.nix | 10 | ||||
-rw-r--r-- | machines/aszlig/managed/notsure.nix | 6 | ||||
-rw-r--r-- | machines/aszlig/managed/tyree.nix | 10 | ||||
-rw-r--r-- | modules/module-list.nix | 1 | ||||
-rw-r--r-- | modules/user/aszlig/profiles/managed.nix | 39 |
5 files changed, 49 insertions, 17 deletions
diff --git a/machines/aszlig/managed/brawndo.nix b/machines/aszlig/managed/brawndo.nix index ae7a361c..33b74be0 100644 --- a/machines/aszlig/managed/brawndo.nix +++ b/machines/aszlig/managed/brawndo.nix @@ -89,8 +89,7 @@ in { services = { deluge.enable = true; - printing.enable = true; - printing.drivers = [ pkgs.gutenprint pkgs.hplip pkgs.cups-bjnp ]; + printing.drivers = [ pkgs.cups-bjnp ]; tlp.enable = true; xserver = { @@ -110,11 +109,8 @@ in { time.timeZone = "Europe/Berlin"; - users.users.dwenola = { - isNormalUser = true; - uid = 1000; - extraGroups = [ "video" "wheel" "networkmanager" ]; - }; + vuizvui.user.aszlig.profiles.managed.enable = true; + vuizvui.user.aszlig.profiles.managed.mainUser = "dwenola"; vuizvui.user.aszlig.programs.vim.enable = true; vuizvui.enableGlobalNixpkgsConfig = true; diff --git a/machines/aszlig/managed/notsure.nix b/machines/aszlig/managed/notsure.nix index 758f3c72..7b129839 100644 --- a/machines/aszlig/managed/notsure.nix +++ b/machines/aszlig/managed/notsure.nix @@ -70,8 +70,7 @@ in { services = { deluge.enable = true; - printing.enable = true; - printing.drivers = [ pkgs.gutenprint pkgs.hplip pkgs.cups-bjnp ]; + printing.drivers = [ pkgs.cups-bjnp ]; tlp.enable = true; xserver = { @@ -88,6 +87,9 @@ in { time.timeZone = "Europe/Berlin"; + vuizvui.user.aszlig.profiles.managed.enable = true; + vuizvui.user.aszlig.profiles.managed.mainUser = "dwenola"; + vuizvui.user.aszlig.programs.vim.enable = true; vuizvui.enableGlobalNixpkgsConfig = true; } diff --git a/machines/aszlig/managed/tyree.nix b/machines/aszlig/managed/tyree.nix index d7ee1cea..27a044b5 100644 --- a/machines/aszlig/managed/tyree.nix +++ b/machines/aszlig/managed/tyree.nix @@ -67,9 +67,6 @@ services.openssh.enable = true; services.tlp.enable = true; - services.printing.enable = true; - services.printing.drivers = [ pkgs.gutenprint pkgs.hplip ]; - services.xserver.enable = true; services.xserver.layout = "de"; services.xserver.xkbOptions = "eurosign:e,caps:none"; @@ -80,11 +77,8 @@ time.timeZone = "Europe/Berlin"; - users.users.bla = { - isNormalUser = true; - uid = 1000; - extraGroups = [ "video" "wheel" "networkmanager" ]; - }; + vuizvui.user.aszlig.profiles.managed.enable = true; + vuizvui.user.aszlig.profiles.managed.mainUser = "bla"; vuizvui.hardware.t100ha.enable = true; vuizvui.user.aszlig.programs.vim.enable = true; diff --git a/modules/module-list.nix b/modules/module-list.nix index c4483938..7103436a 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -13,6 +13,7 @@ ./services/starbound.nix ./system/iso.nix ./user/aszlig/profiles/base.nix + ./user/aszlig/profiles/managed.nix ./user/aszlig/profiles/workstation ./user/aszlig/programs/gajim ./user/aszlig/programs/git diff --git a/modules/user/aszlig/profiles/managed.nix b/modules/user/aszlig/profiles/managed.nix new file mode 100644 index 00000000..4ad4d897 --- /dev/null +++ b/modules/user/aszlig/profiles/managed.nix @@ -0,0 +1,39 @@ +{ pkgs, unfreeAndNonDistributablePkgs, config, lib, ... }: + +let + inherit (lib) mkIf mkEnableOption mkOption; + cfg = config.vuizvui.user.aszlig.profiles.managed; + inherit (cfg) mainUser; + +in { + options.vuizvui.user.aszlig.profiles.managed = { + enable = mkEnableOption "common profile for aszlig's managed machines"; + mainUser = mkOption { + example = "foobar"; + description = '' + Main user account of the managed system. + ''; + }; + }; + + config = mkIf cfg.enable { + # Printing for the most common printers among the managed machines. + services.printing.enable = true; + services.printing.drivers = [ + pkgs.gutenprint + unfreeAndNonDistributablePkgs.hplipWithPlugin + ]; + + # And also most common scanners are also HP ones. + hardware.sane.enable = true; + hardware.sane.extraBackends = [ + unfreeAndNonDistributablePkgs.hplipWithPlugin + ]; + + users.users.${mainUser} = { + isNormalUser = true; + uid = 1000; + extraGroups = [ "networkmanager" "scanner" "video" "wheel" ]; + }; + }; +} |