xmonad-config/lib/Projects.hs
2020-06-05 10:48:19 +03:00

84 lines
3.5 KiB
Haskell

module Projects (
Projects.modify
) where
import XMonad
import XMonad.Actions.DynamicProjects
import XMonad.Util.Run
spinVimAndSt :: String -> String -> Project
spinVimAndSt dir name =
Project { projectName = name
, projectDirectory = dir <> name
, projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|e ."]
safeSpawn "st" ["-f","Iosevka Samae-18","-e","tmux","new","-A","-s",name]
}
adminProject = spinVimAndSt "~/admin/"
candyProject = spinVimAndSt "~/candy/"
workProject = spinVimAndSt "~/relex/"
projects :: [Project]
projects = [ adminProject "sam-configuration-nix"
, adminProject "cdc-config"
, candyProject "exercism"
, workProject "azure-kube-platform"
, workProject "bob-the-builder"
, workProject "docker-images"
, workProject "gitlab-runners"
, workProject "heimdall"
, workProject "infra-inventory"
, workProject "isengard"
, workProject "mordor-ca"
, workProject "mordor-dashboard"
, workProject "mordor-deploy"
, workProject "mordor-kvm"
, workProject "mordor-nixpkgs"
, workProject "mordor-ops"
, workProject "mordor-the-repo"
, workProject "mordorbooks"
, workProject "muir"
, workProject "nix-role"
, workProject "nixos-modules"
, workProject "nixpkgs"
, workProject "time-tracking"
, workProject "ugluk-ansible-role"
, Project { projectName = "status"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do
safeSpawn "st" ["-f","Iosevka Samae-12","-e","gotop"]
}
, Project { projectName = "email"
, projectDirectory = "~/mail"
, projectStartHook = Just $ do safeSpawnProg "st"
}
, Project { projectName = "frs"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg "ff-work"
}
, Project { projectName = "fre"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg "ff-eeva"
}
, Project { projectName = "network-graph"
, projectDirectory = "~/relex/catch-a-network-bug/csvplotter"
, projectStartHook = Just $ do safeSpawn "zathura" ["weekXGraph.pdf"]
safeSpawnProg "st"
}
, Project { projectName = "sound"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg "pavucontrol"
}
, Project { projectName = "daily"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg "chromium"
}
, Project { projectName = "notes"
, projectDirectory = "~/zk/"
, projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|VimwikiMakeDiaryNote"]
}
]
modify :: XConfig l -> XConfig l
modify conf = dynamicProjects projects conf
{ workspaces = [] }