1
0
Fork 0
localhost/desktop.nix

156 lines
4.5 KiB
Nix
Raw Normal View History

2019-05-31 00:02:30 +00:00
{ config, pkgs, ... }:
2019-06-21 18:58:57 +00:00
let
secrets = import ./secrets.nix;
in {
2019-05-31 00:02:30 +00:00
services.xserver.enable = true;
2019-07-21 14:55:53 +00:00
services.xserver.layout = "us,ru"; # see also home-manager.nix
services.xserver.xkbOptions = "ctrl:nocaps,grp:rctrl_toggle"; # see also home-manager.nix
2019-05-31 00:02:30 +00:00
services.xserver.windowManager.xmonad.enable = true;
services.xserver.windowManager.xmonad.enableContribAndExtras = true;
2019-07-25 06:39:31 +00:00
services.xserver.dpi = 282; # 15.6 inch, 3840x2160
2019-05-31 00:02:30 +00:00
2019-07-12 17:03:43 +00:00
services.xserver.xautolock = {
enable = true;
time = 5; # minutes
locker = "${pkgs.i3lock}/bin/i3lock -n -c 000000";
notify = 10; # seconds
notifier = "${pkgs.libnotify}/bin/notify-send \"Locking in 10 seconds\"";
extraOptions = [ "-secure" ];
};
2019-06-21 18:58:57 +00:00
services.redshift = {
enable = true;
latitude = secrets.latitude;
longitude = secrets.longitude;
};
2019-05-31 00:02:30 +00:00
programs.dconf.enable = true;
programs.light.enable = true;
2019-07-25 06:39:31 +00:00
hardware.opengl.extraPackages = [ pkgs.vaapiIntel ];
2019-05-31 00:02:30 +00:00
sound.enable = true;
hardware.pulseaudio.enable = true;
environment.variables = {
GDK_SCALE = "2";
GDK_DPI_SCALE = "0.4";
};
fonts = {
enableFontDir = true;
enableGhostscriptFonts = true;
fonts = with pkgs; [
ubuntu_font_family
];
};
environment.etc."X11/xorg.conf.d/60-trackball.conf".text = ''
Section "InputClass"
Identifier "Marble Mouse"
MatchProduct "Logitech USB Trackball"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "ButtonMapping" "3 8 1 4 5 6 7 2 2"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "9"
Option "EmulateWheelInertia" "10"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
'';
environment.etc."X11/xorg.conf.d/61-trackpoint.conf".text = ''
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
Driver "evdev"
MatchProduct "TPPS/2 Elan TrackPoint"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
Option "Device Accel Constant Deceleration" "0.5"
EndSection
'';
2019-07-29 06:09:46 +00:00
services.udev.extraHwdb = ''
keyboard:usb:*
evdev:input:*
KEYBOARD_KEY_700E7=rightctrl # Super_R -> Control_R
2019-09-07 08:24:52 +00:00
KEYBOARD_KEY_7B=leftalt # Muhenkan -> Alt_R
KEYBOARD_KEY_38=muhenkan # Alt_R -> Muhenkan
2019-07-29 06:09:46 +00:00
'';
2019-05-31 00:02:30 +00:00
services.xserver.displayManager.lightdm = {
background = "black";
greeters.mini = {
enable = true;
user = "user";
};
};
programs.chromium = {
enable = true;
extensions = [
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin
"gcbommkclmclpchllfjekcdonpmejbdp" # HTTPS Everywhere
2019-05-31 00:02:30 +00:00
"dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium
"aapbdbdomjkkjkaonfhkkikfgjllcleb" # Google Translate
"naepdomgkenhinolocfifgehidddafch" # Browserpass
];
2019-07-23 19:06:59 +00:00
extraOpts = {
DefaultBrowserSettingEnabled = true;
TranslateEnabled = false;
SpellcheckEnabled = false;
SpellCheckServiceEnabled = false;
2019-07-24 00:25:49 +00:00
PrintingEnabled = false;
2019-07-23 19:06:59 +00:00
SearchSuggestEnabled = false;
PasswordManagerEnabled = false;
2019-07-24 00:25:49 +00:00
SafeBrowsingEnabled = false;
2019-07-23 19:06:59 +00:00
AutofillAddressEnabled = false;
2019-07-24 00:25:49 +00:00
AutofillCreditCardEnabled = false;
MetricsReportingEnabled = false;
2019-07-24 00:33:55 +00:00
BuiltInDnsClientEnabled = false;
2019-07-24 00:42:10 +00:00
EnableMediaRouter = false;
PromotionalTabsEnabled = false;
2019-07-23 19:06:59 +00:00
SyncDisabled = true;
SigninAllowed = false;
AudioCaptureAllowed = false;
VideoCaptureAllowed = false;
SSLErrorOverrideAllowed = false;
AutoplayAllowed = false;
# 0 = Disable browser sign-in
BrowserSignin = 0;
DefaultSearchProviderEnabled = true;
DefaultSearchProviderSearchURL = "https://duckduckgo.com/"
+ "?kae=d&k1=-1&kc=1&kav=1&kd=-1&kh=1&q={searchTerms}";
# Do not allow any site to show desktop notifications
DefaultNotificationsSetting = 2;
# Do not allow any site to track the users' physical location
DefaultGeolocationSetting = 2;
# Block the Flash plugin
DefaultPluginsSetting = 2;
};
2019-05-31 00:02:30 +00:00
};
networking.localCommands = ''
mkdir -p /tmp/chromium && chown user:users /tmp/chromium
2019-07-18 20:09:24 +00:00
mkdir -p /tmp/downloads && chown user:users /tmp/downloads
2019-05-31 00:02:30 +00:00
'';
}