summaryrefslogtreecommitdiff
path: root/modules/desktop.nix
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2021-03-07 15:11:56 -0500
committerKjetil Orbekk <kj@orbekk.com>2021-03-07 15:11:56 -0500
commit78529ae2641e8645ee3459753819d0ecff655d86 (patch)
tree03f2f8e25ad0decd0f6dcd0a65664a8f7a90796a /modules/desktop.nix
parent46e1d2a1552d4aaad676faf49cb0582515d62c86 (diff)
Refactor configs into modules
Diffstat (limited to 'modules/desktop.nix')
-rw-r--r--modules/desktop.nix113
1 files changed, 113 insertions, 0 deletions
diff --git a/modules/desktop.nix b/modules/desktop.nix
new file mode 100644
index 0000000..e348d77
--- /dev/null
+++ b/modules/desktop.nix
@@ -0,0 +1,113 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.orbekk.desktop;
+in
+{
+ options = {
+ orbekk.desktop = {
+ enable = lib.mkEnableOption "Enable standard desktop config";
+ };
+ };
+
+ config = lib.mkIf cfg.enable {
+ orbekk.yubikey.enable = lib.mkDefault true;
+
+ location.latitude = 40.0;
+ location.longitude = -74.0;
+
+ sound.enable = true;
+
+ hardware = {
+ opengl = {
+ enable = true;
+ driSupport32Bit = true;
+ extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
+ };
+
+ bluetooth.enable = true;
+ pulseaudio = {
+ enable = true;
+ support32Bit = true;
+ package = pkgs.pulseaudioFull;
+ zeroconf.discovery.enable = true;
+ zeroconf.publish.enable = true;
+ tcp.enable = true;
+ tcp.anonymousClients.allowAll = true;
+ };
+ };
+
+ fonts = {
+ enableDefaultFonts = true;
+ fonts = with pkgs; [ fira-code dejavu_fonts steamPackages.steam-fonts wqy_microhei ];
+ fontconfig = {
+ defaultFonts = {
+ sansSerif = [ "Noto Sans" "WenQuanYi Micro Hei" ];
+ serif = [ "Noto Serif" "WenQuanYi Micro Hei-14" ];
+ emoji = [ "Noto Color Emoji" ];
+ monospace = [ "DejaVu Sans Mono" "WenQuanYi Micro Hei Mono" ];
+ };
+ };
+ };
+
+ environment.systemPackages = with pkgs; [
+ chromium
+ dmenu
+ emacs
+ firefox
+ haskellPackages.xmobar
+ pavucontrol
+ rxvt_unicode-with-plugins
+ sshfsFuse
+ trayer
+ (conky.override { pulseSupport = true; })
+ xbindkeys
+ xorg.xbacklight
+ xorg.xev
+ xscreensaver
+ xsel # used by urxvt clipboard
+ xss-lock
+ networkmanagerapplet
+ imagemagick
+ dzen2
+ rofi
+ autorandr
+ ];
+
+ i18n.inputMethod = {
+ enabled = "fcitx";
+ fcitx.engines = with pkgs.fcitx-engines; [cloudpinyin];
+ };
+
+ services = {
+ avahi.enable = true;
+
+ xserver = {
+ enable = true;
+ layout = "us";
+ # xkbVariant = "dvorak";
+ xkbOptions = "caps:ctrl_modifier";
+
+ # desktopManager.plasma5 = {
+ # enable = true;
+ # };
+
+ windowManager.xmonad = {
+ enable = true;
+ enableContribAndExtras = true;
+ extraPackages = hpkgs: [ hpkgs.xmobar hpkgs.split ];
+ };
+
+ displayManager.lightdm = {
+ enable = true;
+ };
+
+ libinput.enable = true;
+ };
+
+ redshift = {
+ enable = true;
+ extraOptions = ["-r"];
+ };
+ };
+ };
+}