summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules2
-rw-r--r--test-vm.nix2
-rw-r--r--xmonad/.xmonad/xmobar.hs54
-rw-r--r--xmonad/.xmonad/xmonad.hs167
m---------zsh/.zsh/pure (renamed from zsh/zsh/pure)0
-rw-r--r--zsh/dot-zshrc4
6 files changed, 228 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules
index aadd10a..2874323 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,5 +2,5 @@
path = zgen
url = https://github.com/tarjoilija/zgen.git
[submodule "zsh/zsh/pure"]
- path = zsh/zsh/pure
+ path = zsh/.zsh/pure
url = https://github.com/sindresorhus/pure.git
diff --git a/test-vm.nix b/test-vm.nix
index 9e7afe0..359e081 100644
--- a/test-vm.nix
+++ b/test-vm.nix
@@ -56,6 +56,8 @@ in
cd ~orbekk
cp -r ${dotfiles} dotfiles
# git clone ${dotfiles} dotfiles
+ cd dotfiles
+ ./setup.sh
'';
serviceConfig = {
User = "orbekk";
diff --git a/xmonad/.xmonad/xmobar.hs b/xmonad/.xmonad/xmobar.hs
new file mode 100644
index 0000000..e719488
--- /dev/null
+++ b/xmonad/.xmonad/xmobar.hs
@@ -0,0 +1,54 @@
+Config { font = "xft:Source Code Pro:size=8:bold:antialias=true" -- "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
+ , lowerOnStart = True
+ , overrideRedirect = True
+ , persistent = False
+ , bgColor = "black"
+ , fgColor = "grey"
+ , position = TopP 0 100 -- TopW L 95
+ , commands = [
+ -- Run Weather "EGPF" ["-t","<skyCondition> <tempC>°C","-L","64","-H","77","--normal","green","--high","red","--low","lightblue"] 36000
+ Run Weather "KNYC"
+ ["-t", "<fc=lightblue>NYC</fc> <tempC>°C <skyCondition> <rh>%"
+ , "-L", "15", "-H", "25", "--normal", "green"
+ , "--high", "red", "--low", "lightblue"] 36000
+ , Run MPD ["-t",
+ "<artist> - <title> <track>/<plength> <statei> [<flags>]",
+ "--", "-P", ">>", "-Z", "|", "-S", "><"] 30
+ , Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
+ , Run Volume "default" "Master" [
+ "-t", "♪ <volume> <status>"] 10
+ , Run Brightness ["-t", "☼<percent>%"] 10
+ -- , Run Memory ["-t","Mem: <usedratio>%"] 600
+ -- , Run Swap [] 10
+ , Run Date "%a %b %_d <fc=darkorange>%H:%M:%S</fc>" "date" 10
+ , Run DiskU [("/", "<fc=#eeeeee>/</fc> <used>/<size>")]
+ ["-L", "20", "-H", "50", "-m", "1", "-p", "3"] 1000
+ , Run StdinReader
+ -- , Run DynNetwork [
+ -- "--template" , "<dev>: <tx>kB/s|<rx>kB/s"
+ -- , "--Low" , "1000" -- units: kB/s
+ -- , "--High" , "5000" -- units: kB/s
+ -- , "--low" , "green"
+ -- , "--normal" , "orange"
+ -- , "--high" , "red"
+ -- ] 100
+ , Run BatteryP ["BAT0"] [
+ "--template" , "⚡ <acstatus>"
+ , "--Low" , "10" -- units: %
+ , "--High" , "80" -- units: %
+ , "--low" , "darkred"
+ , "--normal" , "darkorange"
+ , "--high" , "darkgreen"
+ , "--" -- battery specific options
+ -- discharging status
+ , "-o" , "<left>% (<timeleft>)"
+ -- AC "on" status
+ , "-O" , "<fc=#ee9a00>Charging</fc>"
+ -- charged status
+ , "-i" , "<fc=#00ff00>Charged</fc>"
+ ] 50
+ ]
+ , sepChar = "%"
+ , alignSep = "}{"
+ , template = "%StdinReader% }{ %mpd% %default:Master% %bright% %battery% %disku% %date% %KNYC%"
+ }
diff --git a/xmonad/.xmonad/xmonad.hs b/xmonad/.xmonad/xmonad.hs
new file mode 100644
index 0000000..b8989c8
--- /dev/null
+++ b/xmonad/.xmonad/xmonad.hs
@@ -0,0 +1,167 @@
+import System.Posix.Unistd (nodeName, getSystemID)
+import System.Posix.Env (setEnv)
+import XMonad
+import XMonad.Actions.CycleWS
+import XMonad.Config.Kde
+import XMonad.Config.Desktop
+import XMonad.Hooks.DynamicLog
+import XMonad.Hooks.ManageDocks
+import XMonad.Hooks.InsertPosition
+import XMonad.Util.Run (spawnPipe)
+import XMonad.Layout
+import XMonad.Layout.OnHost
+import XMonad.Layout.NoBorders
+import XMonad.Layout.LayoutScreens
+import XMonad.Layout.TwoPane
+import System.IO
+import qualified XMonad.StackSet as W
+import qualified Data.Map as M
+import System.Exit
+import XMonad.Hooks.EwmhDesktops
+import Control.Applicative ((<$>), pure)
+import XMonad.Hooks.SetWMName
+import XMonad.Hooks.ManageHelpers
+import Data.List.Split
+import Control.Monad
+
+main = do
+ host <- (head . splitOn "." . nodeName) <$> getSystemID
+ setEnv "HOST" host True
+ -- config <- xmobar (myConfig host)
+ let config = myConfig host
+ xmonad config
+
+layoutScreensHost = "unused" -- orange
+
+myConfig host =
+ (docks . ewmh) $ kdeConfig
+ { layoutHook = smartBorders $ myLayout
+ , keys = myKeys
+ , modMask = mod4Mask
+ , terminal = "urxvt"
+ , borderWidth = 2
+ , focusedBorderColor = "#ff0000"
+ , normalBorderColor = "#777778"
+ , workspaces = pure <$> "\"<>PYFAOEUI"
+ , manageHook = manageHook kdeConfig <+> insertPosition Below Newer <+> (isDialog --> doF W.shiftMaster <+> doF W.swapDown)
+ }
+ where myLayout = onHost layoutScreensHost (verticalTiled ||| horizontalTiled ||| Full) $
+ layoutHook desktopConfig
+ verticalTiled = Mirror (Tall 1 (5/100) (2/3))
+ horizontalTiled = Tall 0 (5/100) (2/3)
+
+muteCommand = "pactl set-sink-mute @DEFAULT_SINK@ toggle"
+increaseVolumeCommand = "sh -c \"pactl set-sink-mute 0 false ; pactl set-sink-volume @DEFAULT_SINK@ +5%\""
+decreaseVolumeCommand = "sh -c \"pactl set-sink-mute 0 false ; pactl set-sink-volume @DEFAULT_SINK@ -5%\""
+
+myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
+
+ -- launch a terminal
+ [ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
+
+ -- launch dmenu
+ , ((modm, xK_d ), spawn "dmenu_run")
+
+ -- close focused window
+ , ((modm .|. shiftMask, xK_c ), kill)
+
+ -- Rotate through the available layout algorithms
+ , ((modm, xK_space ), sendMessage NextLayout)
+
+ -- Reset the layouts on the current workspace to default
+ , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
+
+ -- Resize viewed windows to the correct size
+ , ((modm, xK_n ), refresh)
+
+ -- Move focus to the next window
+ -- , ((modm, xK_Tab ), windows W.focusDown)
+
+ -- Move focus to the next window
+ , ((modm, xK_j ), windows W.focusDown)
+
+ -- Move focus to the previous window
+ , ((modm, xK_k ), windows W.focusUp )
+
+ -- Move focus to the master window
+ , ((modm, xK_m ), windows W.focusMaster )
+
+ -- Swap the focused window and the master window
+ , ((modm, xK_Return), windows W.swapMaster)
+
+ -- Swap the focused window with the next window
+ , ((modm .|. shiftMask, xK_j ), windows W.swapDown )
+
+ -- Swap the focused window with the previous window
+ , ((modm .|. shiftMask, xK_k ), windows W.swapUp )
+
+ -- Shrink the master area
+ , ((modm, xK_h ), sendMessage Shrink)
+
+ -- Expand the master area
+ , ((modm, xK_l ), sendMessage Expand)
+
+ -- Push window back into tiling
+ , ((modm, xK_t ), withFocused $ windows . W.sink)
+
+ -- Next monitor
+ , ((modm , xK_Tab ), nextScreen)
+ , ((modm .|. shiftMask, xK_Tab ), swapNextScreen)
+
+ -- Increment the number of windows in the master area
+ -- , ((modm , xK_comma ), sendMessage (IncMasterN 1))
+ , ((modm , xK_semicolon ), sendMessage (IncMasterN 1))
+ , ((modm , xK_q ), sendMessage (IncMasterN (-1)))
+
+ , ((modm , xK_w ), spawn muteCommand)
+ , ((modm , xK_v ), spawn decreaseVolumeCommand)
+ , ((modm , xK_z ), spawn increaseVolumeCommand)
+
+ , ((modm , xK_s ), (layoutScreens 2 (TwoPane 0.5 0.5)))
+ , ((modm .|. shiftMask, xK_s ), rescreen)
+
+ -- This is redundant because it's added by the statusBar function.
+ , ((modm , xK_b ), sendMessage ToggleStruts)
+
+ -- Quit xmonad
+ -- , ((modm .|. shiftMask, xK_q ), io (exitWith ExitSuccess))
+
+ -- Restart xmonad
+ -- , ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart")
+
+ -- Lock screen
+ , ((modm .|. shiftMask, xK_z), spawn "mate-screensaver-command --lock")
+ ]
+ ++
+
+ --
+ -- mod-[1..9], Switch to workspace N
+ -- mod-shift-[1..9], Move client to workspace N
+ --
+ -- [((m .|. modm, k), windows $ f i)
+ -- | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
+ -- , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
+ -- ++
+
+ [((m .|. modm, k), windows $ f i)
+ | (i, k) <- zip (XMonad.workspaces conf) [
+ xK_apostrophe
+ , xK_comma
+ , xK_period
+ , xK_p
+ , xK_y
+ , xK_f
+ , xK_a
+ , xK_o
+ , xK_e
+ , xK_u
+ , xK_i]
+ , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
+ -- ++
+ --
+ -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
+ -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
+ --
+ -- [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f))
+ -- | (key, sc) <- zip [xK_semicolon, xK_q, xK_r] [0..]
+ -- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
diff --git a/zsh/zsh/pure b/zsh/.zsh/pure
-Subproject dfc8062c64df8821eaec7d741c75f3cee20d37e
+Subproject dfc8062c64df8821eaec7d741c75f3cee20d37e
diff --git a/zsh/dot-zshrc b/zsh/dot-zshrc
index be02a33..bc1bb37 100644
--- a/zsh/dot-zshrc
+++ b/zsh/dot-zshrc
@@ -3,6 +3,8 @@
bindkey -e
+fpath+=$HOME/.zsh/pure
+
autoload -Uz compinit; compinit
autoload -Uz promptinit; promptinit
@@ -11,3 +13,5 @@ zstyle ':completion::complete:*' gain-privileges 1
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
setopt append_history share_history histignorealldups
+
+prompt pure