about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2017-09-07 06:34:30 +0200
committeraszlig <aszlig@redmoonstudios.org>2017-09-07 06:45:42 +0200
commit4d870ead213f469a98798d7664c87298a004d626 (patch)
tree52b1becaae20599d6c13439ed79224d3f55f0641 /modules
parente49eca5c0c9c27352825c455d3e1b8a938245755 (diff)
machines: Unify most options for brawndo and tyree
Both machines are using Plasma along with a few common KDE applications,
so let's actually be more aggressive about deduplicating the options,
because after all whenever these machines start to deviate more from
each other, we can still either override those options or move them out.

I've also cleaned up a few packages, so instead of having mpv *and* vlc
we now have mpv and bomi for both machines. The latter is mostly about
figuring out whether it's actually a good GUI video player, as it is
basically a front-end for mpv.

With this unification this means that some packages which are generally
useful, such as okular and gwenview are now not only available to tyree
but brawndo as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @dwenola, @BrokkoliBerta
Diffstat (limited to 'modules')
-rw-r--r--modules/user/aszlig/profiles/managed.nix66
1 files changed, 65 insertions, 1 deletions
diff --git a/modules/user/aszlig/profiles/managed.nix b/modules/user/aszlig/profiles/managed.nix
index 1287604b..5c348b0b 100644
--- a/modules/user/aszlig/profiles/managed.nix
+++ b/modules/user/aszlig/profiles/managed.nix
@@ -8,6 +8,7 @@ let
 in {
   options.vuizvui.user.aszlig.profiles.managed = {
     enable = mkEnableOption "common profile for aszlig's managed machines";
+
     mainUser = mkOption {
       example = "foobar";
       description = ''
@@ -19,7 +20,37 @@ in {
   config = mkIf cfg.enable {
     vuizvui.system.kernel.bfq.enable = true;
 
-    environment.systemPackages = [ pkgs.simple-scan ];
+    boot.loader.systemd-boot.enable = true;
+    boot.loader.efi.canTouchEfiVariables = true;
+
+    environment.systemPackages = [
+      pkgs.bomi
+      pkgs.chromium
+      pkgs.file
+      pkgs.gimp
+      pkgs.git
+      pkgs.htop
+      pkgs.inkscape
+      pkgs.kdeApplications.gwenview
+      pkgs.kdeApplications.kaddressbook
+      pkgs.kdeApplications.kate
+      pkgs.kdeApplications.kleopatra
+      pkgs.kdeApplications.kmail
+      pkgs.kdeApplications.kmix
+      pkgs.kdeApplications.korganizer
+      pkgs.kdeApplications.okular
+      pkgs.libreoffice
+      pkgs.mpv
+      pkgs.simple-scan
+      pkgs.thunderbird
+      pkgs.vuizvui.aszlig.gajim
+      pkgs.vuizvui.aszlig.vim
+      pkgs.wine
+      pkgs.youtubeDL
+      unfreeAndNonDistributablePkgs.skype
+    ];
+
+    i18n.consoleUseXkbConfig = true;
 
     # Printing for the most common printers among the managed machines.
     services.printing.enable = true;
@@ -28,16 +59,49 @@ in {
       unfreeAndNonDistributablePkgs.hplipWithPlugin
     ];
 
+    # Plasma desktop with German keyboard layout
+    services.xserver.enable = true;
+    services.xserver.layout = "de";
+    services.xserver.xkbOptions = lib.mkOverride 900 "eurosign:e";
+    services.xserver.displayManager.sddm.enable = true;
+    services.xserver.desktopManager.plasma5.enable = true;
+    services.xserver.desktopManager.xterm.enable = false;
+
     # And also most common scanners are also HP ones.
     hardware.sane.enable = true;
     hardware.sane.extraBackends = [
       unfreeAndNonDistributablePkgs.hplipWithPlugin
     ];
 
+    hardware.cpu.intel.updateMicrocode = true;
+    hardware.opengl.s3tcSupport = true;
+    hardware.opengl.driSupport32Bit = true;
+    hardware.pulseaudio.enable = true;
+    hardware.pulseaudio.package = pkgs.pulseaudioFull;
+
+    networking.firewall.enable = false;
+    networking.networkmanager.enable = true;
+
+    nix.autoOptimiseStore = true;
+    nix.buildCores = 0;
+    nix.readOnlyStore = true;
+    nix.useSandbox = true;
+
+    nixpkgs.config.chromium.enablePepperFlash = true;
+    nixpkgs.config.pulseaudio = true;
+
+    programs.bash.enableCompletion = true;
+
+    services.tlp.enable = true;
+
+    time.timeZone = "Europe/Berlin";
+
     users.users.${mainUser} = {
       isNormalUser = true;
       uid = 1000;
       extraGroups = [ "networkmanager" "scanner" "video" "wheel" ];
     };
+
+    vuizvui.enableGlobalNixpkgsConfig = true;
   };
 }