blob: 51566ffd3f1605437618dcc20190e64c6356670e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
{ pkgs, unfreePkgs, 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 {
vuizvui.system.kernel.bfq.enable = true;
boot.cleanTmpDir = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
environment.systemPackages = [
pkgs.file
pkgs.gajim
pkgs.gimp
pkgs.git
pkgs.htop
pkgs.inkscape
(unfreeAndNonDistributablePkgs.kdeApplications.ark.override {
unfreeEnableUnrar = true;
inherit (unfreePkgs) unrar;
})
pkgs.kdeApplications.gwenview
pkgs.kdeApplications.kaddressbook
pkgs.kdeApplications.kate
pkgs.kdeApplications.kdepim-addons
pkgs.kdeApplications.kleopatra
pkgs.kdeApplications.kmail
pkgs.kdeApplications.kontact
pkgs.kdeApplications.korganizer
pkgs.kdeApplications.okular
pkgs.libreoffice
pkgs.mpv
pkgs.skanlite
pkgs.thunderbird
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;
services.printing.drivers = [
pkgs.gutenprint
unfreeAndNonDistributablePkgs.hplipWithPlugin
];
# For MTP and other stuff.
services.gnome3.gvfs.enable = true;
# 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.default = "plasma5";
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.opengl.s3tcSupport = true;
hardware.opengl.driSupport32Bit = true;
hardware.pulseaudio.enable = true;
hardware.pulseaudio.package = pkgs.pulseaudioFull;
sound.enable = true;
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;
};
}
|