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] } workProject = spinVimAndSt "~/relex/" candyProject = spinVimAndSt "~/candy/" projects :: [Project] projects = [ candyProject "adventOfCode" , candyProject "exercism" , workProject "ToyVault" , workProject "ansible-ci" , workProject "atlantis" , workProject "bob-the-builder" , workProject "docker-images" , workProject "gitlab-runners" , workProject "heimdall" , workProject "infra-inventory" , workProject "isengard" , workProject "kube" , workProject "mordor-ca" , workProject "mordor-dashboard" , workProject "mordor-deploy" , workProject "mordor-kvm" , workProject "mordor-nixpkgs" , workProject "mordor-ops" , workProject "mordor-the-repo-1" , workProject "mordor-the-repo-2" , workProject "mordor-the-repo-3" , workProject "mordorbooks" , workProject "muir" , workProject "nix-role" , workProject "nixpkgs" , workProject "time-tracking" , workProject "ugluk-ansible-role" , Project { projectName = "status" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawn "st" ["-f","Iosevka Samae-12","-e","sudo","speedometer.py","-r","wlan0","-t","wlan0"] } , Project { projectName = "admin" , projectDirectory = "~/admin" , projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|e ."] safeSpawn "st" ["-f","Iosevka Samae-18","-e","tmux","new","-A","-s","admin"] } , 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 = "~/vimwiki/" , projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|VimwikiMakeDiaryNote"] } ] modify :: XConfig l -> XConfig l modify conf = dynamicProjects projects conf { workspaces = [] }