diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2020-10-17 14:46:30 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2020-10-17 14:46:30 -0400 |
commit | 6a00e216d21bf953b9a8d8d505f131edd65a27de (patch) | |
tree | 54ae4eb262697e596573f68764d41aa0fb00fe6f | |
parent | 58e37fc28b5907cd3cf360f55710f69c8beeb954 (diff) |
stow --no-folding doesn"t work with --dotfiles
-rw-r--r-- | .gitmodules | 2 | ||||
-rw-r--r-- | test-vm.nix | 2 | ||||
-rw-r--r-- | xmonad/.xmonad/xmobar.hs | 54 | ||||
-rw-r--r-- | xmonad/.xmonad/xmonad.hs | 167 | ||||
m--------- | zsh/.zsh/pure (renamed from zsh/zsh/pure) | 0 | ||||
-rw-r--r-- | zsh/dot-zshrc | 4 |
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 |