From e530968875494ce26e9f3809ac3dda0ff632b63a Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sat, 8 Jun 2019 20:20:03 -0700 Subject: [PATCH 1/5] [NixOS] Use bumblebee on blade --- nixos/machines/dfinity-blade15.nix | 46 ++++++++++++++++-------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/nixos/machines/dfinity-blade15.nix b/nixos/machines/dfinity-blade15.nix index 6cc4818a..07dca23e 100644 --- a/nixos/machines/dfinity-blade15.nix +++ b/nixos/machines/dfinity-blade15.nix @@ -4,12 +4,14 @@ { config, lib, pkgs, ... }: { - imports = - [ + imports = [ + ../configuration.nix ../extra.nix ../dfinity.nix - ]; + ]; + + hardware.bumblebee.enable = true; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; boot.kernelModules = [ "kvm-intel" ]; @@ -20,29 +22,29 @@ services.xserver.libinput.enable = true; - fileSystems."/" = - { device = "/dev/disk/by-uuid/58218a04-3ba1-4295-86bb-ada59f75e3b6"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/58218a04-3ba1-4295-86bb-ada59f75e3b6"; + fsType = "ext4"; + }; boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/8142784e-45c6-4a2b-91f1-09df741ac00f"; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/36E1-BE93"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/36E1-BE93"; + fsType = "vfat"; + }; - systemd.services.resume-fix = { - description = "Fixes acpi immediate resume after suspend"; - wantedBy = [ "multi-user.target" "post-resume.target" ]; - after = [ "multi-user.target" "post-resume.target" ]; - script = '' - if ${pkgs.gnugrep}/bin/grep -q '\bXHC\b.*\benabled\b' /proc/acpi/wakeup; then - echo XHC > /proc/acpi/wakeup - fi - ''; - serviceConfig.Type = "oneshot"; - }; + systemd.services.resume-fix = { + description = "Fixes acpi immediate resume after suspend"; + wantedBy = [ "multi-user.target" "post-resume.target" ]; + after = [ "multi-user.target" "post-resume.target" ]; + script = '' + if ${pkgs.gnugrep}/bin/grep -q '\bXHC\b.*\benabled\b' /proc/acpi/wakeup; then + echo XHC > /proc/acpi/wakeup + fi + ''; + serviceConfig.Type = "oneshot"; + }; swapDevices = [ ]; From e9b08e8304f6f5bd23a8b5b0a45d39ff2ca27b9f Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 10 Jun 2019 08:11:50 -0700 Subject: [PATCH 2/5] [NixOS] Add all-hies and cachix --- nixos/configuration.nix | 9 ++++++++- .../{dfinity-blade15.nix => ivanm-dfinity-razer.nix} | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) rename nixos/machines/{dfinity-blade15.nix => ivanm-dfinity-razer.nix} (98%) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index fa30e586..bfb83838 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -15,6 +15,7 @@ let virtualenvwrapper ]; python-with-my-packages = pkgs.python3.withPackages my-python-packages; + all-hies = import (fetchTarball "https://github.com/infinisil/all-hies/tarball/master") {}; taffySource = pkgs.lib.sourceByRegex ../dotfiles/config/taffybar [ "taffybar.hs" "imalison-taffybar.cabal" ]; @@ -84,6 +85,7 @@ in }; }; + xdg.menus.enable = true; environment.systemPackages = with pkgs; [ # Applications @@ -121,7 +123,7 @@ in plasma5.breeze-qt5 gnome-breeze - # Desktop + # Haskell Desktop (haskellPackages.callCabal2nix "imalison-taffybar" taffySource { }) (haskellPackages.callCabal2nix "imalison-xmonad" xmonadSource { }) (ntiHaskellPackages.callCabal2nix "notifications-tray-icon" notifications-tray-icon-source { }) @@ -129,6 +131,8 @@ in haskellPackages.status-notifier-item haskellPackages.xmonad + # Desktop + taffybar autorandr betterlockscreen blueman @@ -172,6 +176,8 @@ in ghc stack haskellPackages.hasktags + haskellPackages.hoogle + (all-hies.selection { selector = p: { inherit (p) ghc864; }; }) # Scala sbt @@ -247,6 +253,7 @@ in # Nix nix-prefetch-git + cachix # Miscellaneous android-udev-rules diff --git a/nixos/machines/dfinity-blade15.nix b/nixos/machines/ivanm-dfinity-razer.nix similarity index 98% rename from nixos/machines/dfinity-blade15.nix rename to nixos/machines/ivanm-dfinity-razer.nix index 07dca23e..75fcd243 100644 --- a/nixos/machines/dfinity-blade15.nix +++ b/nixos/machines/ivanm-dfinity-razer.nix @@ -9,6 +9,7 @@ ../configuration.nix ../extra.nix ../dfinity.nix + /etc/nixos/cachix.nix ]; hardware.bumblebee.enable = true; From 98c1a831e5368bb9395a1c1054090a3146a01178 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 10 Jun 2019 08:12:48 -0700 Subject: [PATCH 3/5] [taffybar] Bump version --- dotfiles/config/taffybar/taffybar | 2 +- dotfiles/config/taffybar/taffybar.hs | 2 +- dotfiles/lib/bin/taffybar | 13 ------------- 3 files changed, 2 insertions(+), 15 deletions(-) delete mode 100755 dotfiles/lib/bin/taffybar diff --git a/dotfiles/config/taffybar/taffybar b/dotfiles/config/taffybar/taffybar index 397a85cb..c1a5c9a0 160000 --- a/dotfiles/config/taffybar/taffybar +++ b/dotfiles/config/taffybar/taffybar @@ -1 +1 @@ -Subproject commit 397a85cbb712235624f402a3f1157a3c637f0aab +Subproject commit c1a5c9a0f063251b4088f484b5dafdac85d32937 diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index 63c48122..dc6122b7 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -202,7 +202,7 @@ main = do ) ] simpleTaffyConfig = selectedConfig - { centerWidgets = map (>>= buildContentsBox) [] + { centerWidgets = [] -- , endWidgets = [] -- , startWidgets = [] } diff --git a/dotfiles/lib/bin/taffybar b/dotfiles/lib/bin/taffybar deleted file mode 100755 index 3d838f78..00000000 --- a/dotfiles/lib/bin/taffybar +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env zsh -# -*- mode:sh - -cd "$HOME/.config/taffybar" -stack install - -if command_exists "imalison-taffybar"; then - imalison-taffybar "$@" -else - # Move .lib/bin to the end of PATH so that this script is not called again - add_to_path "$HOME/.lib/bin" --after - taffybar "$@" -fi From 92fb9f03c1c06a9971e5f53c01990c2cfff4f205 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 10 Jun 2019 08:13:19 -0700 Subject: [PATCH 4/5] [XMonad] Remove minimize naming of layouts --- dotfiles/config/xmonad/PagerHints.hs | 14 +++++--------- dotfiles/config/xmonad/overlay.nix | 8 ++------ dotfiles/config/xmonad/xmonad-contrib | 2 +- dotfiles/config/xmonad/xmonad.hs | 2 +- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/dotfiles/config/xmonad/PagerHints.hs b/dotfiles/config/xmonad/PagerHints.hs index 1deb7a70..4ffe2a66 100644 --- a/dotfiles/config/xmonad/PagerHints.hs +++ b/dotfiles/config/xmonad/PagerHints.hs @@ -1,8 +1,4 @@ -module PagerHints ( - -- * Usage - -- $usage - pagerHints -) where +module PagerHints where import Codec.Binary.UTF8.String (encode) import Control.Monad @@ -66,10 +62,10 @@ setVisibleWorkspaces vis = withDisplay $ \dpy -> do -- | Handle all \"Current Layout\" events received from pager widgets, and -- set the current layout accordingly. pagerHintsEventHook :: Event -> X All -pagerHintsEventHook ClientMessageEvent { - ev_message_type = mt, - ev_data = d - } = withWindowSet $ \_ -> do +pagerHintsEventHook ClientMessageEvent + { ev_message_type = mt + , ev_data = d + } = withWindowSet $ \_ -> do a <- xLayoutProp when (mt == a) $ sendLayoutMessage d return (All True) diff --git a/dotfiles/config/xmonad/overlay.nix b/dotfiles/config/xmonad/overlay.nix index 1f1cf24e..75d46de7 100644 --- a/dotfiles/config/xmonad/overlay.nix +++ b/dotfiles/config/xmonad/overlay.nix @@ -1,12 +1,8 @@ _: pkgs: rec { haskellPackages = pkgs.haskellPackages.override (old: { overrides = pkgs.lib.composeExtensions (old.overrides or (_: _: {})) (self: super: rec { - xmonad = super.xmonad.overrideAttrs (_: { - src = fetchGit ./xmonad; - }); - xmonad-contrib = super.xmonad-contrib.overrideAttrs (_: { - src = fetchGit ./xmonad-contrib; - }); + xmonad = self.callCabal2nix "xmonad" (fetchGit ./xmonad) { }; + xmonad-contrib = self.callCabal2nix "xmonad-contrib" (fetchGit ./xmonad-contrib) { }; }); }); } diff --git a/dotfiles/config/xmonad/xmonad-contrib b/dotfiles/config/xmonad/xmonad-contrib index f1039909..3239bf74 160000 --- a/dotfiles/config/xmonad/xmonad-contrib +++ b/dotfiles/config/xmonad/xmonad-contrib @@ -1 +1 @@ -Subproject commit f10399096794addfd121f014b687a0298354f410 +Subproject commit 3239bf74cf85794be2e427a3fb2518738d613866 diff --git a/dotfiles/config/xmonad/xmonad.hs b/dotfiles/config/xmonad/xmonad.hs index 8e31c8b1..093d4bc1 100644 --- a/dotfiles/config/xmonad/xmonad.hs +++ b/dotfiles/config/xmonad/xmonad.hs @@ -361,7 +361,7 @@ selectLayout = myDmenu layoutNames >>= (sendMessage . JumpToLayout) myLayoutHook = avoidStruts . - minimize . + minimizeNoDescription . boringAuto . mkToggle1 MIRROR . mkToggle1 LIMIT . From b611d8a1e2c6b4c0adf078b4c84ebe0fe10df93a Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 10 Jun 2019 14:53:41 -0700 Subject: [PATCH 5/5] Add taffybar shell nix files --- dotfiles/config/taffybar/cabal.project | 1 + dotfiles/config/taffybar/imalison-taffybar.cabal | 2 -- dotfiles/config/taffybar/shell.nix | 7 +++++++ dotfiles/config/taffybar/taffybar | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 dotfiles/config/taffybar/cabal.project create mode 100644 dotfiles/config/taffybar/shell.nix diff --git a/dotfiles/config/taffybar/cabal.project b/dotfiles/config/taffybar/cabal.project new file mode 100644 index 00000000..a066d60c --- /dev/null +++ b/dotfiles/config/taffybar/cabal.project @@ -0,0 +1 @@ +packages: . taffybar/ diff --git a/dotfiles/config/taffybar/imalison-taffybar.cabal b/dotfiles/config/taffybar/imalison-taffybar.cabal index b555f3bc..4545bae1 100644 --- a/dotfiles/config/taffybar/imalison-taffybar.cabal +++ b/dotfiles/config/taffybar/imalison-taffybar.cabal @@ -33,8 +33,6 @@ executable imalison-taffybar , taffybar>=3.2.0 , transformers , xdg-basedir - , xmonad-contrib>=0.13 - , xmonad>=0.13 default-language: Haskell2010 source-repository head diff --git a/dotfiles/config/taffybar/shell.nix b/dotfiles/config/taffybar/shell.nix new file mode 100644 index 00000000..aae7a934 --- /dev/null +++ b/dotfiles/config/taffybar/shell.nix @@ -0,0 +1,7 @@ +let + pkgs = import { overlays = [ + (import ./taffybar/overlay.nix) (import ../xmonad/overlay.nix) + ]; }; + source = pkgs.lib.sourceByRegex ./. ["taffybar.hs" "imalison-taffybar.cabal"]; + imalison-taffybar = pkgs.haskellPackages.callCabal2nix "imalison-taffybar" source { }; +in pkgs.haskellPackages.shellFor { packages = _: [imalison-taffybar pkgs.haskellPackages.taffybar]; } diff --git a/dotfiles/config/taffybar/taffybar b/dotfiles/config/taffybar/taffybar index c1a5c9a0..cb09a5d1 160000 --- a/dotfiles/config/taffybar/taffybar +++ b/dotfiles/config/taffybar/taffybar @@ -1 +1 @@ -Subproject commit c1a5c9a0f063251b4088f484b5dafdac85d32937 +Subproject commit cb09a5d1c5ee7af55c627175373fb1ea469d651e